local a="\001\000\001\001\000\002\001\000\003\001\000\004\001\000\005\002\012\001\000\006\001\000\007\001\000\008\001\000\009\001\000\010\001\000\011\001\000\012\001\000\013\001\000\014\001\000\015\001\000\016\001\000\017\002\203\001\000\018\002\001\001\000\019\001\000\020\001\000\021\001\000\022\001\000\023\001\000\024\002\011\001\000\025\001\000\026\001\000\027\001\000\028\002\253\001\000\029\001\000\030\001\000\021\002\154\001\000\031\001\000\029\001\000\032\001\000\029\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\001\000\021\001\000\041\001\000\042\001\000\043\001\000\044\001\000\045\001\000\046\001\000\029\001\000\047\001\000\048\001\000\045\001\000\049\001\000\050\001\000\051\001\000\052\001\000\053\002\043\001\000\045\001\000\054\001\000\055\001\000\056\001\000\057\001\000\058\001\000\059\002\002\001\000\060\001\000\061\001\000\030\001\000\060\001\000\062\001\000\063\001\000\064\001\000\065\001\000\030\001\000\060\002\110\001\000\066\001\000\067\001\000\068\001\000\069\002\068\001\000\070\001\000\060\001\000\071\002\095\001\000\060\002\118\001\000\072\002\187\001\000\021\002\000\001\000\073\002\037\001\000\021\001\000\074\001\000\075\002\166\001\000\030\001\000\021\001\000\076\001\000\021\001\000\077\001\000\034\001\000\078\001\000\034\001\000\079\001\000\021\001\000\080\001\000\029\001\000\081\001\000\082\001\000\083\001\000\084\001\000\085\001\000\086\002\188\001\000\087\001\000\070\001\000\060\002\177\001\000\088\001\000\029\001\000\089\002\017\001\000\021\001\000\030\001\000\087\001\000\090\001\000\082\002\097\001\000\091\001\000\034\001\000\092\001\000\087\001\000\093\002\013\001\000\094\001\000\060\001\000\095\001\000\096\001\000\097\001\000\098\001\000\099\001\000\100\001\000\101\001\000\102\001\000\103\001\000\104\001\000\105\001\000\106\001\000\107\001\000\108\001\000\107\002\074\001\000\109\001\000\110\001\000\111\001\000\107\001\000\112\001\000\113\002\108\001\000\114\001\000\115\001\000\116\001\000\117\001\000\118\002\021\001\000\119\001\000\118\001\000\119\002\168\001\000\118\001\000\120\001\000\121\001\000\122\001\000\123\001\000\119\001\000\121\001\000\122\001\000\124\001\000\125\001\000\029\001\000\119\002\175\001\000\029\002\036\001\000\119\001\000\029\002\208\001\000\119\002\184\001\000\029\001\000\126\001\000\127\001\000\121\001\000\119\001\000\121\001\000\128\002\096\001\000\129\001\000\130\001\000\029\001\000\119\001\000\131\001\000\132\001\000\133\001\000\134\002\236\001\000\135\001\000\119\001\000\135\002\123\001\000\119\001\000\135\001\000\136\001\000\137\001\000\138\001\000\139\002\245\001\000\140\001\000\029\001\000\119\001\000\141\001\000\119\002\052\001\000\029\001\000\119\001\000\142\001\000\143\001\000\121\001\000\144\001\000\145\002\026\001\000\146\001\000\147\001\000\148\002\134\001\000\149\001\000\150\001\000\151\002\005\001\000\119\001\000\151\001\000\119\002\130\001\000\151\001\000\152\001\000\021\001\000\119\001\000\029\001\000\119\001\000\029\001\000\119\001\000\153\001\000\154\001\000\021\001\000\155\001\000\156\001\000\157\001\000\158\001\000\159\001\000\060\001\000\160\001\000\151\001\000\119\001\000\151\001\000\119\001\000\151\001\000\161\001\000\162\001\000\119\001\000\162\001\000\119\001\000\162\001\000\163\001\000\164\001\000\119\001\000\029\001\000\119\001\000\029\001\000\119\002\162\001\000\165\001\000\166\001\000\167\001\000\119\001\000\029\001\000\119\001\000\168\001\000\119\001\000\029\001\000\169\001\000\170\001\000\171\001\000\129\001\000\172\001\000\029\001\000\119\001\000\075\001\000\173\002\034\001\000\174\001\000\175\001\000\176\001\000\177\001\000\119\002\065\001\000\177\001\000\119\001\000\177\001\000\178\002\230\001\000\151\001\000\119\001\000\151\001\000\119\001\000\151\001\000\179\001\000\180\002\194\001\000\119\001\000\029\001\000\119\001\000\029\001\000\119\002\053\001\000\165\001\000\181\001\000\167\001\000\119\001\000\029\001\000\119\001\000\182\001\000\119\001\000\029\002\063\001\000\183\001\000\184\001\000\171\001\000\129\001\000\185\001\000\029\002\119\001\000\119\001\000\075\001\000\186\001\000\174\001\000\187\001\000\188\001\000\135\001\000\119\001\000\135\001\000\119\001\000\135\001\000\189\001\000\190\001\000\119\001\000\190\002\115\001\000\119\001\000\190\001\000\191\001\000\180\001\000\119\001\000\029\002\168\001\000\119\002\085\001\000\029\001\000\119\001\000\165\001\000\192\001\000\193\001\000\119\001\000\029\001\000\119\001\000\182\001\000\119\001\000\029\001\000\194\001\000\195\002\150\001\000\184\001\000\171\001\000\129\001\000\196\001\000\029\002\167\001\000\119\001\000\075\002\010\001\000\197\001\000\198\002\187\001\000\199\001\000\200\001\000\201\001\000\034\001\000\202\001\000\203\001\000\204\001\000\205\001\000\206\001\000\207\002\053\001\000\208\001\000\029\001\000\030\001\000\029\001\000\030\001\000\029\001\000\030\001\000\029\002\089\001\000\209\001\000\121\001\000\210\001\000\211\001\000\212\001\000\213\002\220\001\000\119\001\000\214\002\131\001\000\119\001\000\214\001\000\215\001\000\021\001\000\216\001\000\217\001\000\135\001\000\119\001\000\135\002\229\001\000\119\001\000\135\001\000\218\002\040\003"local b="amRtfVh2jHPDm5iprPLc/Lqzqs3H0cIk3e/27/EczNFR6Pj8BgEDdBsLG4ggKSkoQjurO0CvtJ4=~h4bG~2ZWOhaiirJ0B~48mosMHEvA2extne3L7t5+j4BwZOOFgcIxwpWxU4LBhHQUJSYWCg~/7/Kxb/I2LPb5+zjxUA=~Ce/009vs7+c4xtvbARD47P5T+ikVLGM=~FRqxGicuxS47QtlHTlXtYGJpAXV3fhWFiJEpm5elPa+vuVG6yM1l1NTgeefu9Y33AQmhDhodtTg=~Hr8yNzbTREpR51hdW/tsc3cPgIWGI5aVoDeor65LvMTDX9DY2XPk5+6H+Pr+mwwQFq8gJCzDNDc=~Nj/XRkVT61xfZ/9tcnsTg4aPJ5WaozuvrbdPw8jLY9fV33fo7fOL+PkGnw4TGrMhIi7HNjxC20o=~T+VXWWL5a2tzDX98iCGTlZs1p6SoSbzAvV3Q09Fx5Onrhfj3+JkMDBCtHiMgwTQ6NdVITVLpWmE=~XGT9bXN5EX6JjSWOm6E5p6i0Tba7yGHPz9x13ufwifj+BJ0REBixGyMuxTg+QNlLUVTtYGVoAXI=~bwt9g4kfkZeTM6Wsr0e5wMVbzc3Sb+Hi64P19/yXCQsLqx0ZJ78yNTfTRklR51lgY/tucnQPgoU=~g4ojlJaeN6eqsku4vcZf0tHac9zr7of1/wKbDREWryAlKsM0NkDXRElU611eaP9uc3sThoqQJ5E=~mjGipahFtrq8WcrH0W3e2+GB8u/6lQYODqkbICK9LzM50UNDTeVWWmP5am1wDX57iiGTk5o1p6o=~vbOzu1PAwc9n2dvje+g=~goqbnpbndK+NkYicu5e1z7a3rxu66dTgAeY1~0dLc~9K21xsnBErisDxkTyuH0LN3lCAsL5/5YHyUROWU=~9P8C~GtPb7O/nONDr1uUQ3w3u9wT/YmkaIB46MIeB~Hg==~QPkBEhUNXvdUDisPDjEzfByCK1BBkV5meqI=~Qg==~Zh8nODszhERBJUmKNV1YOXFHVXhWWYCGlMg=~aHA=~jEVNXmFZqkpVclNiY15pf5KWpJem5IKNp5WdAqsCztnZ7jbv9wgLA1QBACAjCQw2NmkfPyY/KoQ=~WWNDSm51X2rHgo6Oh+B1lIWokua9x6eu0tnDzivc7PA/AgJOBQ8FJF1eZCI0QoVGRVWZkJZUZnQ=~mlBwV3BbtZOHlaeVp6qu9cP7zgrK0uPm3i/mLfMo~tQ==~zA==~0bH1t7O9wb0T~/rq6DdT9~DtcA4eYq4/X89fdIBA5X~Fg==~NP4mCA1QCRsiGx1u~SggSWR8kDlI0OXwtPkhGlUyEVqRjs3VzfseNts6c1aar6Os=~VFspLmY4c2VHig==~cCpfNH4=~PRwsNC4yOjSrYmx4ZG+uW3R0kJDTq623irn1sg/I2uHa3C3u7flBAgENVQxfGhsbHzUvgkNCTpY=~IlNaNZaU~QjerdWlricKQjJSSkZ3Ufea3spL7AbHexOPI7iLNz0T9DxYPEWIeKHEpHDoVeC0lO11YPEY7urA=~UHaFbWFzyG+eiqHnhpaYnq6wqtWs3eS/IDLy+gsOBlcT6ljz+v4JJx88UH8yRlGamZauXFCzvbc=~gGaMmd7hr6Wn5J63nP2hC8zUu8bs2SnWQTjhEBPsH/4OFhAUHBaFjVU3VVmcTD9td35lZ8CSiXw=~z3qinX62jJq9m57Fy9khKg==~4+fx~CMbQF6/KtcTvvuzN1uPeQUj5//0ZD2ZgZQ==~ysm/FvHn1ObS0dfaSeUYW/RdLikJcngoVTtaP2WZREazpU63iINjzNKCr5W0mb/znqAV0Nzc1S4=~ISAxOg==~0fDhBO5CGSMDCi41Hyp/PlJOXpZkYGhmZXGoTblikZRtoH+Pl5GVnZeZoLm51dUY8PL8z/4691Q=~TOnxUCYKLxo+G3V5GkRTjC2dNnFPU0pefVl3kXh5cd18q5aiw6gLENnV2egwxc0sAuYL9hr3UVU=~BgQj/mkHGSJFNSFPOjBDSXVEtU+4iYRkzdODsJa1msD0n6EOq8q73sgc8/3d5AgP+QRG71gpJAQ=~NRp9MX5MJ15eZphfaVdhUlVdbW91hYeBrIO0u5b3lfrNy9bi5PIuAPoI/klO6/NSKAwxHEAdd3s=~iouEj1BPRZx3bVpsWFddYM9rnuF647Svjw==~mWJga7R2dH/IgYmanZXmlamoqbyzktGt0du3z+/I6/Ho6AbYCT4KJCohL20/ODxOUUGSR5RiPXQ=~aE+AalyKinCeaZSnnqeyqAO+ysrDHLQVurzYyMcz//oRDRMK/v0MFRA5JiWPUlKXMElJZWWogII=~fHNzkWOUyZyapbGzwf2+zsTY0tjnJ97y8fIF/Nsa9hokABg4ETQ6MTFPIVKbZGJttm93iIuD1Hc=~vn97eIGTfvy1x87HyfTUreXR2+7y2Qr05hQU+ijzHjEoMTwycoQ6KJRXRHFFTV1Ru2lnlpic~7pKYnpyiqK6ssri+vMLIzszS2N7c4uju7PL4NDpAPkRKUE5UWmBeZGpwbnR6gH6EipCOlJrl6/H39fsBBwULIiMz~/7bADs8QAt4nLDE2FTkBQjtC++VjHiQrIz83M0mQSVtiW12I~FBk=~JyXiMTs2BfUAEUFV~MRdCR0xREkAcTykiITt2~TdbgXA==~VFnvDgYHFCJ8gQ==~c/tggg==~fWOOk5idVGRYXmhxwL2GuZOMi6Xg~mZKj~nm1hb4FvgYSIz4TawOvw9fr/BAkOzNYdygwR~v6fJ~0IGSnJrpoLCkqrS9DA==~yKbhpPewwsnCxBUaHyQpLjM4F/79CVE=~6vOHpp6frLoI4eHj7i/kNQ==~/gfQxc/OGw==~FfsmKzA1Oj9ESQwKCl0bTA==~HQ==~Njw=~UhhXWl8gWCp9goeMkZaboKWqr7STdX/I~7iZnNXk=~cDl9EA==~h3k=~oWJhcbU=~tqrA~ybzT1o2X5Q==~07nk6e7z+P0CB8nH0vUgJSovNDk+Q/oK/gQOF2YdSnV6f4RGRE+Rh2FaWXOu~79mz+ejCCPfRFwbgJhXvNST+RAhOElhi~9MO3xdfF19reJdowFkFGS1BVWl9kIixzeyUobA==~+w==~Jujm8RQ/RElOU1hdYhsjNDcvgEhv~HvdD+gQQV1xhZmtwdXpZ~TA0NNWBlam90eX6DiI2Sl1VfplOaaGeBvILCjNHCxw==~WidOMXMuOjozjA==~+G8=~O0ePlJmefaFwqml9eYnBj4uTkZCc7qmqqq7EvhEWGyAlKi80E/r5BU1SV1xhZmtwTzY1QYmHTI0=~VJabgWlncpV0fI2QiNllhdbZeZCSmpLwl7cICxw=~MktLU1NLyYKUm5SWwXHWe+Cdv5+5pbW0zcG5x8IhzEYwUEFIAevyCw7/ESMkHhiWT2FoYWOOk7c=~YLG0zbfXZ8ZxrIiH6sKcnvynwQbV6Lse6Pf10/ML8w0I7ftaLDlucTQgSh5DNkAyn0hbpnRYho0=~lI2PuteNe+eql8SYoLCkDry66evv2D8pSer07/HrCPz4di9BSEFDbh6DKI1wPkx2W4CIwGpioXs=~pZ3uepeajo6YmaIbBSU=~+ZeXn58Qq7evuys=~5MPL3N/XKLTVz9nk4dLc3eZfSWk=~H7qzudI4~CunxAgX9Ttrv+Onz9P12YIA=~RUno6Vf07fMMcg==~MA8XKCsjdAAgJCQUHh8ooYur~awoQERMfI44=~Vls/SZA4UVFhSFtsolt7fYhvj42TkY2nra26+w==~kUhSNzxBZrQ=~m6dYaXNxwGiBgZF4i5xz~rWl8er+Llo6ejpqiivbgAL63rsrW29XrwDLr/QT9/yovFhUhaWdrITQ0Mz9OMoUl~ymCViZmenIqdrvw=~28Xlp6S1j/S8tazI1NnT6b4KLg==~yIa7r7/EwrDD1Ba16+Hx7+pDLU31Dg4eBRgpT1QzO0xPR5gyY2BisZu7WXt9e5WPoaDeo6+m9A==~A8PA0ce4IQ==~DfOz5OHjKM399gNLNVU=~Kenm9+3e+wMQ6Vs=~FNQFAgRJ6B4UJCIddmCAGE1BUVZUQlVmjEx9enzBcpadmqObpaCuuaW+wMjIDiAKKtLr7fX1O0M=~RfT27hYdHS4=~Ulc=~c2w=~f2UlVlNVmjllZnFpe36C0bvbbYGjpObvtMC3BQ==~hpST~oLGr~rLK6~u8M=~3Zmsqu/wuMGpnxcBIePV6cgw9f0K4y1R~8deXyMXHDL7U3tri0PbxBgUDDhgSDRlrVXUmMTFGaChZVlidTWd5c3d3WoaNj4rjze2AtL+tvb0=~A7/S0BUW~F/0C4en6/fVG2PNVP1/9HyEfOTNFRIJHU0qY~M+j49vcB8u3mYA==~OEnjFBETW0H5FGweNzdATEYrX19hWmW3ocFTZ4mK0JWhmOY=~R00=~Y0lOLTVGSUGSKkhTXWZttZ+/XX+Bf5mTpaTip7Oq+A==~fz9CQ0NCLjkyrA==~hJUvYF1fp41LaXR+h47MfpeZoaH03v6mv8HJyQ8X5N3n6sze5kE=~k5uf~r5VTcXyGj5bUb6CmtbKyvrm+EPoa~tsTE~trtymq2ysJLBu7zM29oMyt7u9+f9Pd8QDQ9SY/QcLzQyGjxJR4tQXFOh~4OLv7g==~9gepx8PQFsLr4u3v/db09gYUUgMnLitubn8vHEc9VZ2HpzlNb3Cyu4CMg9E=~BQ0S~GRUa~M+z+C/5KFBEkFEdrbyVCOht6jj+Y~Ry0yERkqLSV2BzkxPkyUfp48XmBeeHKEg8GGkonX~YxooMjYOKyxGGpU=~aHkTREFDi3EoWlJfbatGfGx1zrjY~iSc0LS+gRzdHtExVVVRuZ9k=~dCtdVWJwrlt5fXjRu9t9m5ek6pe1ubQDsc7I2efg0uzu+x7VB/8MGljzKRkiDjkvR495mQ==~laM=~mlGDe4iW1G+llZ6as7W9vQMV/x/H4OLq6jA4Bf4IC+3/B2I=~w8XP~38V8rqazwf+hzMLaIgwsvtL09TdABREIVg==~6eo=~Beui1MzZ5yXW+gH+B/8JBBId8h0xKy0vRTtLSVtGooys~F9Pm5Cn1APgI+AQM9GBKahcrGydAI41GWF9YWoWK~NMP56fLtB/1c~RS9PAAEb7xoqLiszOUNOUUkqlUxgUFx1WJzAgoqXcODZ~Wu0jGhgudhxDSEdCR5k5YFGjqK2+~a1V1JidBFYQ7Tz9LZEeL~WB5FNjRORJcyaFhhXXZ4gIDG2MLiiqOlra3z+8jBy86wwsol~iTg6MlphYXKvsXV/gYl63Mbm3qKsrranxcTAz8/h4u/y2DHo/Oz4EfQ4XA==~l5c=~r2t+fMHCipN7cenT87Wnu5oCuc29yeLFCS0=~usW8~ytU=~6c+VvK2rxbsOrdna5d3v8vZFL0/h9RcYWmMoNCt5~9P79~BhETEg==~KRMz9ef72vj5E+dWDSERHTYZXT1OSkNTQJxXZmxYtXl2hHDYwuKToqiU8ai8rLjRtPgc~LS0=~RwMWFFklMCg4KDQ8JGo=~VmcHLh8dNy2DhTdQUFllX0R4eHpzftC62myAoqPprrqx/w==~bSk8On9LVk5eTlpiSragwHGHboqFoOOcrrWusNvgBA==~ihlPP0hDU1dcbHDB~gKCYXGZocGF/fnqJiZucqayS66a8o7+61fKpqrOzvdPax0UvTwABG+9eGS8WMi1IZYlLU2A5qaI=~rlZvcXl5v8eUjZeafI6W8Q==~qbI=~zbOgj56Mr6PyjcOzvLjR09vbITMdPeX+AAgITlYjHCYpCx0lgA==~35uurPHyusOroRkDI+XX68oy7QPqBgEcOV0=~6vX38Q==~BcHU0hcY4OnRxz8pSQQKEQkbGiMBbCc9JEA7VnOX~EBsYHA==~Mx09//EF5AIDHfFgGzEYNC9KZ05LU0NbbGhhcV66dYSKdtOXlKKO9uAAscDGsg/K4Mfj3vkWOg==~Nz0=~UQ0gHmMnMBgOhnCQSEdYYGpAZXVzdH5vx8+HnYSgm7b58g==~ZUtQLzdIS0OUW0pZS2VvenfBq8tpi42LpZ+xsO6zv7YE~NidFREBPT2Fib3JYsXuIh4d3j4qlwnl6g4OcqaiouKEfCSna2/XJOAIPDg7+FhEsSW0vN0QdjYY=~Rk5OlKaQsFhxc3t7wcmWj5mcfpCY8w==~nUxORm51dYbDxYmTlZ2O8Nr68rbAwsq7ycrkuCfx/v397QUAGzhc~qq0=~w3+SkNXWnqePhf3nB8m7z64W4O3s7Nz07wonSw==~172qmaiatL7Jxgal0dLd1efq7j0nR9ntDxBSWyAsI3E=~4+Px8A==~/ePQv87A2uTv7CzZ9/v2TzlZ+xkVImgVMzcygS9MRldlXlBqbHmciXiHeZOdqKXlgLamr5vGvNQ=~FwEh~Hi/25fTmAAoVElVXCSIiKzcxFkpKTEVQooysPlJ0dbuAjIPR~+uH9+BNWW2BlRGhsLzU8NFBIRFqZUm5ta3B2Z7OJlpGRhdiiqKKnrafHwsHQsxnU6tHt6AMgJUk=~/EvmHAwVblh4~ZWkJDxAMGCmN~UHuAhYpDS1xfV6g0ZnByfMaw0Fx8zdDhdYeRk52Orv8CFPolKi807PvvCwELBx4YJx0sbQEzPT8=~gTpMWUyYYl9yYrvAxcqpzZQ=~lXumq7C1fGt6aIt/zmmfj5jx2/uHpKebm6WmrwLq6PM1GyAN/Av9FyEsKWkNNC86STNDR0xcYKA=~TE9AUmRlX1nPyM+IcvDa+rPFxsCaGNHj6uPlNjtARSRITA8VHBQwKCQ6eTJOTUtQVkeTaXZxcWU=~S05uv8LUuuXq7/SyvAOjyru508kct+3d5j8pLk7aChojG2wdLjg2X4qPlJmeo6itdGNyZH6Ik5A=~bpCcoZh68+yzu8ihCdPH4eLc0h72Afz2/w/qEh4jGvx1en+EiY6TmHcuLzg4UVJHxa/PgIGbb94=~nqup7bK+tQM=~7O37+g==~BwcYyLXg1u42IEDS5ggJS1QZJRxq~GdLk8eQw+vcK+lNYXWJnbHF2VXl9M1BIKYicTaY=~LRM+Q0hNUldcYfkuIjI3NSM2R300WlVTXmhfs7mfys/U2d7j6O2mrr29ubfCztDeHOjv6PUn2vM=~4+3z3VtFZRYXMQV0PktKSjpSTWirsLW6v8TJzq2VkJak7PH2+9r+AggNtb+6vLbTx8M58gjvBQY=~4evs9UhzeH2Ch4yRll1MW01ncXx5uWqOlZKbk52YprGdtrjAwAYYAiLK4+Xt7TM7CAELDvACCmU=~Wl9p~bXU=~i0RWY1aibGl8bMXKz9TZ3uPox+s=~n4Wwtbq/xMnO05qJmIqkrrm29pHHt8AZAyOv0MrU39zN19jhNF9kaW5zeH2CSThHOVNdaGWlVno=~sWBiWoKJiZrX2Z2nqbGiBO4OBsrU1t7P7ezo9/cJChc=~xavW2+Dlp6Ww07u5xAbs"local c=218 local d=92 local e=238 local f=0 local g=5 local h=19 local i=47 local j=8 local k=22631 local VM_MinifiedLen=tonumber("00017896")or 0 local VM_ExpectedSig=tonumber("1618644354")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=2772 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")