--[[polymorphic:2779555e22]] do local PT_UqRRWY0uq={ 5, 54, 590 }; local PG_qskHCwMDTL=(PT_UqRRWY0uq[1]+PT_UqRRWY0uq[2]+PT_UqRRWY0uq[3])%3; if PG_qskHCwMDTL == 4 then PT_UqRRWY0uq[1]=PT_UqRRWY0uq[1] end end do local PS_hDxy4hC0gK="2779555e22"; local PV_IQ5GuImkJH3b=#PS_hDxy4hC0gK; if PV_IQ5GuImkJH3b < 0 then error('poly-len') end end do local PV_IQ5GuImkJH3b=46186; local PM_6J9NVDAml3Tm=((PV_IQ5GuImkJH3b*95)+139)%65535; if PM_6J9NVDAml3Tm < 0 then error('poly-2779') end end local a="\001\000\001\002\139\001\000\002\001\000\003\001\000\004\001\000\005\001\000\006\001\000\007\001\000\008\001\000\009\002\170\001\000\010\001\000\011\002\185\001\000\012\001\000\013\001\000\014\001\000\015\001\000\016\001\000\017\001\000\018\001\000\019\001\000\020\001\000\021\002\149\001\000\022\001\000\023\001\000\024\001\000\025\001\000\026\001\000\027\002\049\001\000\028\001\000\021\001\000\029\001\000\030\001\000\031\002\123\001\000\021\002\241\001\000\032\001\000\021\001\000\033\001\000\034\001\000\035\001\000\034\001\000\036\001\000\034\001\000\037\001\000\034\001\000\038\001\000\034\001\000\039\001\000\040\002\103\001\000\030\001\000\041\001\000\042\002\049\001\000\043\002\171\001\000\044\001\000\045\001\000\046\001\000\021\001\000\047\001\000\048\001\000\045\001\000\049\002\215\001\000\050\001\000\051\001\000\052\001\000\053\002\162\001\000\054\001\000\045\002\149\001\000\055\001\000\056\001\000\057\001\000\058\001\000\059\001\000\060\001\000\061\001\000\062\001\000\029\001\000\061\001\000\063\001\000\064\002\153\001\000\065\001\000\066\001\000\029\002\205\001\000\061\001\000\067\001\000\068\002\201\001\000\069\001\000\070\001\000\071\001\000\061\001\000\072\001\000\061\001\000\073\001\000\030\001\000\074\001\000\030\001\000\075\001\000\023\001\000\029\001\000\030\001\000\076\001\000\030\001\000\077\001\000\034\001\000\078\001\000\034\001\000\079\001\000\030\002\220\001\000\080\001\000\021\001\000\081\001\000\082\001\000\083\002\233\001\000\084\001\000\085\001\000\086\002\018\001\000\087\001\000\071\001\000\061\001\000\088\001\000\021\001\000\089\001\000\030\001\000\029\001\000\087\001\000\090\001\000\082\001\000\091\001\000\034\001\000\092\001\000\087\001\000\093\001\000\094\001\000\061\002\201\001\000\095\001\000\096\001\000\097\001\000\098\001\000\099\001\000\100\001\000\101\002\187\001\000\102\001\000\103\001\000\104\001\000\105\002\016\001\000\106\002\181\001\000\107\001\000\108\002\010\001\000\107\002\043\001\000\109\001\000\110\001\000\111\001\000\107\001\000\112\002\106\001\000\113\001\000\114\001\000\115\001\000\116\002\172\001\000\117\001\000\118\001\000\119\001\000\120\001\000\119\001\000\121\001\000\122\001\000\123\001\000\124\001\000\125\001\000\119\001\000\123\001\000\124\001\000\126\001\000\127\001\000\021\001\000\119\001\000\021\001\000\119\001\000\021\001\000\119\001\000\021\001\000\128\001\000\129\002\054\001\000\123\001\000\119\001\000\123\002\223\001\000\130\001\000\131\001\000\132\001\000\021\002\063\001\000\119\002\155\001\000\133\001\000\134\001\000\135\002\154\001\000\136\001\000\137\001\000\119\001\000\138\001\000\119\001\000\139\001\000\140\001\000\141\001\000\142\001\000\143\001\000\144\001\000\021\001\000\119\002\029\001\000\145\001\000\119\001\000\021\001\000\119\002\194\001\000\146\001\000\147\001\000\123\001\000\148\001\000\149\001\000\150\001\000\151\001\000\152\001\000\153\002\125\001\000\154\001\000\155\001\000\119\001\000\156\002\152\001\000\119\001\000\139\001\000\157\001\000\030\001\000\119\002\113\001\000\021\001\000\119\001\000\021\001\000\119\001\000\158\001\000\159\002\002\001\000\030\001\000\160\001\000\161\001\000\162\001\000\163\001\000\164\001\000\061\001\000\165\001\000\155\001\000\119\001\000\156\001\000\119\001\000\139\001\000\166\002\254\001\000\167\001\000\119\001\000\168\001\000\119\001\000\169\001\000\170\001\000\171\001\000\119\001\000\021\002\225\001\000\119\001\000\021\001\000\119\001\000\172\001\000\173\001\000\174\001\000\119\001\000\021\001\000\119\001\000\175\002\124\001\000\119\001\000\021\001\000\176\001\000\025\001\000\177\002\169\001\000\131\001\000\178\001\000\021\001\000\119\001\000\023\001\000\179\001\000\180\001\000\181\001\000\182\001\000\183\002\226\001\000\119\002\230\001\000\158\001\000\119\002\239\001\000\184\002\097\001\000\185\001\000\155\001\000\119\002\021\001\000\156\002\241\001\000\119\002\168\001\000\139\001\000\186\001\000\187\001\000\119\001\000\021\001\000\119\001\000\021\001\000\119\001\000\172\001\000\188\001\000\174\001\000\119\001\000\021\001\000\119\001\000\189\001\000\119\002\252\001\000\021\001\000\190\001\000\133\002\074\001\000\177\001\000\131\001\000\191\001\000\021\001\000\119\002\224\001\000\023\001\000\192\001\000\180\001\000\193\001\000\194\001\000\137\001\000\119\001\000\138\001\000\119\001\000\139\001\000\195\001\000\196\001\000\119\001\000\153\001\000\119\001\000\168\001\000\197\001\000\187\001\000\119\001\000\021\002\033\001\000\119\001\000\021\001\000\119\002\181\001\000\172\001\000\198\001\000\199\002\222\001\000\119\001\000\021\001\000\119\001\000\189\001\000\119\001\000\021\001\000\200\001\000\201\001\000\133\001\000\177\001\000\131\001\000\202\001\000\021\001\000\119\001\000\023\001\000\203\001\000\204\002\078\001\000\205\001\000\206\002\100\001\000\207\002\228\001\000\034\001\000\208\001\000\209\001\000\210\001\000\211\001\000\212\001\000\213\001\000\214\001\000\021\001\000\029\001\000\021\001\000\029\001\000\021\001\000\029\001\000\021\001\000\215\001\000\123\001\000\216\001\000\217\001\000\218\001\000\139\001\000\119\001\000\183\001\000\119\001\000\183\001\000\219\001\000\030\001\000\220\002\245\001\000\221\001\000\137\001\000\119\001\000\138\001\000\119\001\000\139\001\000\222\002\098\003"local b="ge/2KzL+KD4wCgYbLx5yZgt+RH1LU6d4vId74O7l7vy74dQi2ME6MfPX/Q8MY2I+EndJc0hcq6E=~5Sky~5c0ADgQtZh3d~8TU+Cx9iGA11bRoQRlFMWRl9a7e4hZmcmo/t7/bP84bV0d4tMZr8~8S4UCRBgDGV5REJDSAw=~1gksMTkGFBUZdxdxYHuzc6qyRIK3v7Ra6eXywcWusZs=~/QLeJi0eOgALehYcYFZtfECyTlBfjqqsvOqGiZDG4uX0Iv7G0z7aIycaNj8EdhIZHVJvdXmuSlU=~2dgPMzA0awUPFkdjanKjf0ZOv6OqpZu0uYb3lpmc0+/0+C/O0NoLJDI2ZwcLEkMcZ25fekJKu18=~3Q4lMzxqAQ0VRh1sdKJ+QUu+VaaumrGCi/aNnODS6fjDLsrS3AomLDVmPQsXQh5lc156fUq6Vlk=~JiobNT0GdxYdHVNzeXmvSFRVi6awseeAjY3D4urp3/z9yjvVICEXNDg9cw8UGU9qcXWrRk1Rh6Q=~Kxo3PgN2ExRnUm91fK5KVlmKp6+05oOIk8Kf5One+8HFOtYhJRYtNAZyCREeTmVteapBT1WGXas=~LjFnBAUNQ2JhaV96SkS7VKagl7C9vPOPmZjP8vX0K8/S0AciJSxjPQoIfxlnZFt+fUC3VFhck7Y=~OmYCChNCHmZwXnVHRbpWXKOWsriH8o6Vm87l9fgqxtPQBiIvLGI+ChN+GmRsWnZASLZSXaGSrrk=~OTxzFhYYT2xzdKtFSVaHpq6y47yBiP+f5urb+/3GN9bZIhMxNz5vCBAaS2RsdqdGRVKDp6aun4I=~PHIPFmNOa3N7qkFIVoZdrrHiuYqQ/pXn5Nrxw8o2zd8k1A==~Eh1gUX9Co3RGq1C4vOLghoju8M3G3I8i3ic6Pg==~CBQZ~HnsdR0x0SL5dhKydhOroqvn1wtHVkA==~FGBq~aldCe0hbiryTsriVk4XD49b5IcLBnDMvNAsPyg==~Yw==~dnCuU7hIr+KMia3/kc6I6IXY1N0wNPM=~cQ==~QoNWk1C/g4K/hfHrxeCH2tbfMjbt~eEY=~v7V/VFzk4OCG5ODU5cv3x8EsxNU/wBcTGG9zLnpNUV5uXVGkoF6sm5O84rLvnv/C7YTb19wzN/I=~u36Hkeeps7btzsjWi9vfnDE5BfgBKSocAxMNcx9YdkQXsqmtvXqDq6SevY2P7Zna8MbyIjQ0MAg=~Wo1X4FXo5O3AxIjImdXnMDg5~Tw==~Wg==~T+nh6ff3tf3h~s56j+Py0~W+b0rMPJxMnfmiIlyDfC~sw==~p/rA/8DWjdrdwy/1~uLn4w5bNn/sm6DcEBsQY3W89eTJHQU+iEV6hR4+1vEaTmVs=~s/iejM3j3ybw/Q==~g8ng25E=~v8vb1JswLgAIDBPIYdpmdnM2QlJPEqGvqq+9eI2omq6t55TI8/De5ezGycUOFwcXHdYXD2kFc2Q=~4pnXJzbMJT0p2zolPQk0fQ==~l5H+09Uyxj4A22U/NhEBc2dtfnp/QU61c76MRJvhnOH3stP9n9Ur0fYiPQgHDhlkaWpDR0Z5Yl8=~muUjMwLYMQk1JwYxCRUASWVCZlREXne/oqevtIqLj+WF55bpIeHYIPowJS0q0BRuemo5eUtJWaY=~IykkKT/6Nw4sHzxmdnZEUFB8fHGzR3W9ibWcueOK8Y2L7faexuHlIto00D4zYSoJDwFgE3NRS3w=~4ukC0RLTPgI9PgRwakRjDRZkokesfKOWgL2h84XCvJyHkc/fLg==~8f/H~xsk6Id4vPmljdhEfeHZopka1XIShpEOMmlQ=~7woBBRXScx0/dUtxFkJdqKeuuYSJiuPn5pmCsMn7ldMhz+zYOwY9BBdiZ2B5fXx3CHhTcaBBq7s=~+sETIzgKaHp4dA==~+wwrFSksZhdLcnNZZG9BSKaooIJehLnvsJeVj+6Z+d/Ryj45O88CJWZuc215eQtHU1OrZKVNToA=~EBAQ3yYFCHlnakscblN4oKSKiK6wlpj17sSD+dAjKSIzOD8+ARQbCigVeXUJeVkSRUG1SqhUpKY=~CM5vGTtxR20Sflmko6q1gIWGn+Pilb7qko/B5PT21MA92ynAGQslY3EfPGhLVk1Up7K3sImNjIc=~MQ5mEjwfDmZyGaZCW3+tXbe/s7qytfic6dDuy+PuJMQ7+dwjED49YjcBahN7f12jQUups4yBn1o=~ZGdhNWgTTFRZW6enca25uZFSVfKcvvTK8JH93CsmKTgHCAViZmEYLR10GkVqTFxcsr6+qqpfmVk=~3g==~JGt7dDtHV1AXqrCvsIZ9sKzv5fmX8Zrh7dLH8fw+MjoLC9sXamxobUsGU25YbHOlWo6xtpyrsoQ=~KW1GSEZeUKRrq7W7i5Caq66O55CWlcLyJtwww9HsAQMJHNNjF2pmHHJZUUKgcK1cvYCzSpedpI4=~FxNSSFx6VHlEULGqVE+S4p+i8f/6/82IKNLa08wpAQszMA8yPhl0QWx3QkBKeEpcWJuR5YOdho0=~DhVndnVxWmKxrbqJjXaoiOGS~NR9nb3d/R09XX6evt7+Hj5ef5+/3/8fP198nMTkBCREZYWlxeUFJUVmhqbG5gYmRmeHp8fm6goqSmuLq8vrC+8b8~OVZaEllkQLJxeENKe13jrr2Kmf2F3iYnNS89DwfEGxccc3fY~AQg=~CxuqY2dwsY+Qj6Vf~FDwZYGtyuVmLpJjv9Oi1~F1peaA==~ZWykTaOuqaldpA==~Y6FIdA==~bBRxeENK45nz+//Cu4rJ6t4tOi77~b0J5~f7yWlpLq5vP1us2FrY6RmOPq7fT/DxPQcz8G~e1lF~f5qRleWi+/HL09fakw==~opJf6F3w7PXIzIuSlZzn7vH46Q4fGd8=~V1qUvZOemZmZzNomI+4B/A==~Xl3g+//Ehw==~XEShqLO6vYSPliMzOfIC2Q==~qqw=~o+78or+GiZCb4uXs9/7ByGE3czY5PkMF~rvaAx8M=~6b7GjQ==~k4E=~u8PX0Jc=~g5WN~h9knmOH68w==~kdYsMSzK/AITDdPa3STVRDlSWaepobVucXhDSk1UX0ztwvyChYyXnuHo8+DK~kZ8h6TP7PSPMFjQhawk6fGIPUXdgqkh2~9j4/7fECCMrN1N8mKTA7KBKkH6iwsYe5j5mRog==~9w==~wi/zBgILHmLZICsyNTwHDj9cra9t~kfL1/MfO0dgjbHxKP09q~ztHED9UZI2B+Qw1WAVJYGh1kb3Z5QEtSVVynVMD8gw==~9xIJDR3aYAFyPQ==~wQI=~zBPa1GBwbd47AgUMFx5haLSEgXJPVlmgq7K1vNXTJS0xNO0LExQWYmIsaHR0TAlPGAAdZG92gpI=~zSApPGAFZ2NvbU5qc0aqcoG9ipmdRuf09qKEj80=~1PzHbHpxekgHSUd9QFaso6C/iLattqWJt/Xix/zOKPnYKiLUNBU2OWALciZPVVBVq2aoXKCssI8=~DyhneAJvaVBmR0pxVqChUrKsveySnOXLksnA493X0zzKMwAZKm0LOBoYfhJ7dFRVQqdzV31YobQ=~ABgeHmdse1tsV36hFYKIh4ieVZ+Xj+7k8uvxlPjmBigwKSoHH2EJDmUIFHdSX0pNWF6gVm2a4J8=~3QEvanF0SkZ+R6Zuvbk=~JREabANxdk0d~KQ07dn1AVkVETVtZvESbl5zz91g=~MRllaXJ9Hw==~NRkHQklMolFct3+Sjpfq7lM=~PXF0ERk=~AWUTTlVYrlpepopS4Z3q+f2m~CUZLVWdPWFmotFM=~FVirr7FXj5Gblbni8/GVkMrZ9tsvM87yPwXt9A==~Fad2eUCGiUo=~VKm8Vb6Slq1R6uTywbSE~XEBRuZKan+PwqrKs+MjFtrkmLCssAvk3DmAeYXERSkEDZw19qbW9sYWBjl7h4/iw~a7WIoZONlOjgm60=~dBysh5mXnu6Ow/6K7cve2Z/D6Q==~eZOElF+Z4vDuxM7M8ozwnjMxMCf9EAwVaGzR2EJRblOnq0ZqTnSTkJLmmJK39cjh083UKCDblQ==~eaSbjeDjpw==~faFPm+rhlbzHxcT7v+E=~RbuW4e2Mw/XIy48=~W6fp7fH/mr7iiOYoLDA+1T0SHB1rZ3Jtdh4NVFpVSAy2haKMjpHlnZSojLrR1tAk3tD1PAI9MPQ=~lejs8Z2Zn4g=~r7I=~q6Y=~sb4=~voA=~tc/A0JvmJCvJIffbwRpiY3FtQkFpElVbWkkNdw==~h4ia~ioCX~kJzq~nOU=~lLzKITA8xzMMZBrYPCpmGERTH2Klp7x0~Jys3KTYu/yPJZGVrdBxFSUlPXXtvtrS3qm6M5+vwp4uxz9fU0tgpKywHPCYYHBxqBDp9Q0JxNR8=~6ew3MQ7G~5T8wAMsFDhwacHp4HjgcCnBJH7Kut4qOc3pc~5SPe3xIYHxltJA==~8Qs8DNcZHAIaKAw6UFlUWl5WubeHkpato7+UULrGxMf6kOc=~wMg=~/RcIGCMdZnRySFJQdhB0Yq67hoyVv1Pm4uv+wqeukA==~/Ts2B29wdHt4PA==~yS46CG53fXgLF1ldoa9KblJ4kZWZ54Kw8v/K0NnDveczMTAn/dA=~2SMl~3Sos~JTM6~2T0rQUhBUVVUoatef7mKkZ/kjkiy~MDQE~LUd4SBNbVaRKtrC7kLRLXufl5Ju5/dfL1irC/DI3ABQbEQpoam1Kbisy~PwATFA==~OVNEVB9qqK9NpXtfRZHt55THs4aK09LX//IsPhIQOhFjYXZrFgZIW1t1G24=~DhEd~ER0c~DKsedlO2so1HT3fkmPHwvs7/ztyb~EatcrHexuoiGnObkiqSItsLM39vJnDMvNAsP8Pvd~EU6mvIOivoaMnls=~FXlngom9t1SW4PPvnV6AzNLNwJ7t~HUlfUaunuEy/k4eoluXh6Y/1wcXO2fs=~YUVzv5uNgurx5Z+8/sjb18WGJzY82ggHEWRqBTdAQUlrGlyvr0lvU3mUlZ2/ruj6xcH3sA==~eEo=~dVqmtJrj6eS3g8XJzdv2mv7kwgQIDBoxaXRoYgN9T15aSAU=~RVNR~UVdZ~SHCBnfPy8oLuyyPRl/vh3dcDDtrZYGJ7Mw==~VaA=~VHyN6f/+/o7lz9QnKjg8CQkKPWYYbHh8dExKWlazHUFv~WfPk9L/5wtDOJC4s0uzQ/hkbMXNmEy9CfkdaXgMK~WZbuxMuc0CCR~XYGvytHF/yDeIDM5OT0GCxkEKX54FlBHcDocqK6pXHpJ~peLOyMSK8tsiKzwH+ykOZSEoMy4=~qY271t3Ry+g5O9ETBjP1~WeHG3e0hMfLfNw0QKhkda3E5LRE/ZVhcqrB4frmMkJWBvYOs~veLu/CIrMSz/yw0RFWM+IgYsCkxQVKJ5obaAgY+LlpGagrHGwJ7Yz/iC5A==~kp4=~kZ8=~n+Q=~lS8gMPvGBAspAdc7IW1JQ3AWp6F/uaxZY0U=~5+j5~8vc=~6JDYORQkGGglEnRDfFJOW10afmSgWoaNWVzn4f62~+v7H~/8DM1Q==~8dXDD2sdEnpBdW8MXV91t6pXGYeCjOPhgLL//MTmkdsqKsTqzvQTEBg6JXp0EkxDbDYY~4SsXY2sfc290BE9Jph4=~xR8QYCttcBZuPGAOpK2orrKqjYub5uqBt7XPyech1MGd8A==~zPT/ZHJpckA/RF2iQqe5bFB+rprm7uL28vuL0swlnQ==~z2JqdnlBFVJZTUcY~39oOZXRABi5JpqdHqIJDrITi4VS4puibnPbEwM/Sjy4HBCQJYyA/YW55fFJWo6NcRrW5h41VSa0=~3QIOHEJLUUwfa62xtYNeQg==~MDY=~MQI=~MNh7UFFxWqxtXraMk6WYnOrwuKyQvuTb3yUz+/k4DxMUADwCLw==~NU9AUBtmpKtJoXdbQY3p45C2w/vg0t/Qg+U=~BwgUYA==~AVtMXGdysLdVrUOnTebu7/35zs31nisjyDoHOOvN~ExRnaQ==~BWkXo7+xpo6ViYOg7eWS/MnCrdLdK8E3MjwTETAib2x0FgFLWlp0Gn5kg4CIqlXmnofxwvemiA==~GxZftLVVvpBMWLTr8fT2yu3HzdksMeXJ9zMlERwkb2lGPg==~GbOktH+5gpCO5O7skqyQvszP1CLANgM0+QwIEWRozdQ+~Z2JWrbyITnaR7u+L9/v8z5XG3jQ77tL4Aik1OQINaGRzdjNSq6hEsLS5iFatl5zv8sDE0dHS9Cs=~ZUpWpIqTmZSns/X5/cvmiu6U8jQ4PA==~bBS3jI2plZni7bvk/NrZ8yYqMD7G+t7EMmFlc3kBB0ZVWaJOSkh1~fUY=~eGCDmJm14eXu+YfzzCTamPzqJtgEE98iZWd8NA==~fZeImKOu7POR6b/jiSIqKzk1Cgkx2h4ZZmwSQE1GMRs=~T1Cipg==~iuaYifH88OqLz87X3cMxAjfmBxYcOmhncURKZRegoalLeryPj6lPs1n09f2fjtLN2iDGNAE65c8=~S69V~Ve/g8Lv9wOb+jPCeND04PgI6HRtrdnoRBwVSTVqgRrSBun9S~XERP7sfE5Mkj4MozPAE+IhhiZWttOxBAREVUbn6tt764vZVQle/v68P/yNKTm4Oc5+7xPhcUNBk=~Wb2rxs3B+5gl~oYmc5OTr7ZGZ~9/XD+YnMIdssKj8/BQcfF2jcJy4xJggeZ3peTVtZp71NoKm84KiMusjW1CLY4DczOA8TztHYI9A=~+r+ngIuSlTAkPTzKGgsaaCc=~hsrS3iEp/Ss8BQov1xsaY2kPfU5DMjUfXbKsGKm0u4mFvYrlrZG/2iHVz+w5Md4IFQ7T2t0k1T8=~ns7S0yL0xDs9BAYLY95jdXVxSUVWWBlhCWptdH+SmJeY7qXvxcPG1JP3nSfNyM3ICgA+PRNpHB0=~yMvQ3vwyPzD1/MfO0dgjKttGQE5dEKejroK2fqKlU+716eOA0dPpK97L5zA++MPKzcIkOgMWens=~kcLaMDfqzvQ+MTQTDxoZ2jc+AQgTGh1ko4mChZWBnvL59/T9mekj2dw6MvgkAxIeI94VQ3R/T20=~kSvcLPc/OQg=~4+T2+A==~nTcoOMPODBMxCd8DKXVRS3irF2pu~5AP2zisOCmXfJ88oMzo9BA8WGbSogYBOno+e7Ks=~NdDJPw4FFt5gcnBASVNLT6CkY2ptdH9GSVBBq63FxszV39T++y0A2QsFDGAYEycuMTgDCg0UBW8=~PwLcARvWEAgAYxlnHGoWGWNrE2x3fkGNn+nmUq+2uYCLkpWcJQID3wsPEGMpGnJITwJmDFZ8Rkw=~9domNBpjaWQ3A0VJTVt2Gn5kQoSIjJqxme74+cfDzsnS+uktLDUDIRdgFd4hKDM6PQQPPE1YX60=~/OTByNPa3SQvNk1BXllnt6S3hUA=~PibVGRhhbw1DTEEKDRQfZmlwe2i5hIuZjI+U4uDHj/OZNAM3Kc4SDRpgBnRBej8GCRAbYmVsHUc=~BhEUam57e3QeTVFfpW1hRXNZjJCe5Kyy7cDEyfXx9+A=~89UbaGrWd0RGBA8WGQ5w"local c=222 local d=162 local e=231 local f=1 local g=7 local h=6 local i=37 local j=13 local k=50179 local VM_MinifiedLen=tonumber("00017996")or 0 local VM_ExpectedSig=tonumber("1152854663")or 0 local l,m,n=string.char,string.byte,string.reverse local o=table.concat local VM_ld=loadstring or load local VM_pcall=pcall local VM_BytecodeData=a local VM_BytecodeLen=#VM_BytecodeData local VM_DelayedCrash=false local VM_SilentFailure=false local function VM_AntiDump()local VM_AD_Mod=2147483647 local VM_AD_Env=(getfenv and getfenv(0))or _G local VM_AD_Loader=(VM_AD_Env and(VM_AD_Env.loadstring or VM_AD_Env.load))or VM_ld if type(VM_AD_Loader)~="function"then error("dump-block:loader")end local VM_AD_Debug=(VM_AD_Env and VM_AD_Env.debug)or debug local VM_AD_DebugInfo=nil if VM_AD_Debug~=nil then if type(VM_AD_Debug)~="table"then error("dump-block:debug")end VM_AD_DebugInfo=VM_AD_Debug.info or VM_AD_Debug.getinfo if VM_AD_DebugInfo~=nil and type(VM_AD_DebugInfo)~="function"then error("dump-block:debuginfo")end end if VM_AD_Env and VM_AD_Env.string and VM_AD_Env.string~=string then error("dump-block:env-string")end if VM_AD_Env and VM_AD_Env.table and VM_AD_Env.table~=table then error("dump-block:env-table")end local VM_AD_B127=m(VM_BytecodeData,1)if VM_BytecodeLen>0 and VM_AD_B127==nil then error("dump-block:bytecode")end local VM_AD_Sig=17 local function VM_AD_Mix(p,q)VM_AD_Sig=(VM_AD_Sig+((p*q)%VM_AD_Mod))%VM_AD_Mod VM_AD_Sig=((VM_AD_Sig*131)+q)%VM_AD_Mod end VM_AD_Mix(VM_BytecodeLen,257)VM_AD_Mix(#b,263)VM_AD_Mix(c,269)VM_AD_Mix(d,271)VM_AD_Mix(e,277)VM_AD_Mix(f+1,281)VM_AD_Mix(g,283)VM_AD_Mix(h,293)VM_AD_Mix(i,307)VM_AD_Mix(j,311)VM_AD_Mix(k,313)VM_AD_Mix(VM_MinifiedLen,317)if VM_AD_Sig~=VM_ExpectedSig then error("sig-mismatch")end if VM_AD_DebugInfo then local VM_AD_OK,VM_AD_Info=VM_pcall(VM_AD_DebugInfo,VM_AD_Loader,"S")if VM_AD_OK and type(VM_AD_Info)=="table"then local VM_AD_What=VM_AD_Info.what if VM_AD_What and VM_AD_What~="C"and VM_AD_What~="Lua"and VM_AD_What~="main"then error("dump-block:hook")end end end end local function VM_AntiStudio()local r,s=VM_pcall(function()return game and game.GetService and game:GetService("RunService")end)if r and s and s.IsStudio and s:IsStudio()then error("studio-block")end end local VM_AntiDumpStatus,VM_AntiDumpReason=VM_pcall(VM_AntiDump)if not VM_AntiDumpStatus then VM_AntiDumpReason=tostring(VM_AntiDumpReason or"")if VM_AntiDumpReason:find("sig-mismatch",1,true)then VM_DelayedCrash=true VM_SilentFailure=true else error("dump-block")end end VM_AntiStudio()local t=bit32 and bit32.bxor if not t then t=function(_a,_b)local _r,_m=0,1 while _a>0 or _b>0 do local _aa=_a%2 local _bb=_b%2 if _aa~=_bb then _r=_r+_m end _a=(_a-_aa)/2 _b=(_b-_bb)/2 _m=_m*2 end return _r end end local function VM_ScheduleDelayedCrash()if not VM_DelayedCrash then return end local u=(type(task)=="table"and task)or nil if u and type(u.delay)=="function"then u.delay(((d+e)%7)+5,function()error("vm-delay")end)elseif u and type(u.defer)=="function"then u.defer(function()error("vm-delay")end)end end local v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"local function w(x)x=(x or""):gsub("%s+","")x=x:gsub("[^"..v.."=]","")return(x:gsub(".",function(_x)if _x=="="then return""end local _r,_f="",(v:find(_x,1,true)-1)for _i=6,1,-1 do _r=_r..(_f%2^_i-_f%2^(_i-1)>0 and"1"or"0")end return _r end):gsub("%d%d%d?%d?%d?%d?%d?%d?",function(_x)if#_x~=8 then return""end local _c=0 for _i=1,8 do if _x:sub(_i,_i)=="1"then _c=_c+2^(8-_i)end end return l(_c)end))end local y={}local z=VM_pcall(function()if#b>0 then for _chunk in(b.."~"):gmatch("(.-)~")do y[#y+1]=_chunk end end if#y~=c then error("vm-pool")end end)if not z then error("vm-init")end local A,B={},{}local function C(D)local E=A[D]if E then return E end local F=B[D]if not F then F=w(y[D]or"")B[D]=F end local G={}local H=((D*h)+i)%256 for _i=1,#F do local _v=m(F,_i)local _drift=(e+(_i*g)+H)%256 if f==0 then _v=(_v-_drift)%256 G[_i]=l(t(_v,d))else _v=t(_v,d)G[_i]=l((_v-_drift)%256)end end local I=o(G)if((D+j)%2)==1 then I=n(I)end A[D]=I return I end local J={}local K=322 local L=1 local function M()local _i=L local _v=m(VM_BytecodeData,_i,_i)if _v==nil then error("vm-eof")end L=_i+1 return _v end local function N()local _i=L local _a,_b=m(VM_BytecodeData,_i,_i+1)if _a==nil or _b==nil then error("vm-eof")end L=_i+2 return _a*256+_b end local O={}O[1]=function()local P=N()J[#J+1]=C(P)end O[2]=function()local Q=M()K=(K+(Q*13)+7)%65535 end O[3]=function()if K~=k then error("vm-state")end local R=o(J)local S,T=VM_ld(R)if not S then if VM_SilentFailure then VM_ScheduleDelayedCrash()return nil end error(T)end local U,V=VM_pcall(S)if not U then if VM_SilentFailure then VM_ScheduleDelayedCrash()return nil end error(V)end if VM_DelayedCrash then VM_ScheduleDelayedCrash()end return V end while L<=VM_BytecodeLen do local W=M()local X=O[W]if not X then error("vm-op")end local Y,Z=VM_pcall(X)if not Y then if VM_SilentFailure then VM_ScheduleDelayedCrash()return nil end error("vm-runtime")end if Z~=nil then return Z end end if VM_SilentFailure then VM_ScheduleDelayedCrash()return nil end error("vm-end")