@wwawing/engine 3.13.0-unstable.based-on.3.12.11.p.12 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/debug/index.pug +2 -2
- package/debug/make-debug-pages.ts +4 -3
- package/debug/maps-config.ts +1 -0
- package/lib/wwa.js +246 -21
- package/package.json +35 -35
- package/lib/__tests__/wwa_util-test.d.ts +0 -1
- package/lib/json_api_client/index.d.ts +0 -12
- package/lib/load_script_file/index.d.ts +0 -6
- package/lib/wwa_camera.d.ts +0 -20
- package/lib/wwa_cgmanager.d.ts +0 -51
- package/lib/wwa_data.d.ts +0 -591
- package/lib/wwa_encryption.d.ts +0 -4
- package/lib/wwa_estimate_battle.d.ts +0 -14
- package/lib/wwa_expression/__tests__/value-assign-operation.d.ts +0 -1
- package/lib/wwa_expression/eval.d.ts +0 -5
- package/lib/wwa_expression/index.d.ts +0 -11
- package/lib/wwa_expression/parsers.d.ts +0 -3
- package/lib/wwa_expression/regexp.d.ts +0 -11
- package/lib/wwa_expression/typedef.d.ts +0 -57
- package/lib/wwa_expression/value-assign-operation.d.ts +0 -22
- package/lib/wwa_expression2/acorn.d.ts +0 -111
- package/lib/wwa_expression2/converter.d.ts +0 -4
- package/lib/wwa_expression2/eval.d.ts +0 -59
- package/lib/wwa_expression2/index.d.ts +0 -4
- package/lib/wwa_expression2/wwa.d.ts +0 -144
- package/lib/wwa_inject_html.d.ts +0 -2
- package/lib/wwa_input.d.ts +0 -140
- package/lib/wwa_item_menu.d.ts +0 -20
- package/lib/wwa_main.d.ts +0 -384
- package/lib/wwa_message.d.ts +0 -241
- package/lib/wwa_monster.d.ts +0 -21
- package/lib/wwa_motion.d.ts +0 -29
- package/lib/wwa_parts_player.d.ts +0 -173
- package/lib/wwa_password_window.d.ts +0 -28
- package/lib/wwa_play_time.d.ts +0 -8
- package/lib/wwa_save/WWACompress.d.ts +0 -36
- package/lib/wwa_save/WWASave.d.ts +0 -27
- package/lib/wwa_save/WWASaveData.d.ts +0 -20
- package/lib/wwa_save/WWASaveDataDB.d.ts +0 -5
- package/lib/wwa_save/WWASaveDataDBList.d.ts +0 -31
- package/lib/wwa_save/WWASaveDataList.d.ts +0 -6
- package/lib/wwa_save/WWASaveDataLog.d.ts +0 -3
- package/lib/wwa_save/WWASaveDataLogList.d.ts +0 -14
- package/lib/wwa_save/common/definitions.d.ts +0 -11
- package/lib/wwa_save/common/index.d.ts +0 -2
- package/lib/wwa_save/common/mapDataRevisionKey.d.ts +0 -1
- package/lib/wwa_save/index.d.ts +0 -6
- package/lib/wwa_save/migrators/index.d.ts +0 -2
- package/lib/wwa_save/migrators/migrate-gameover-policy.d.ts +0 -2
- package/lib/wwa_sound.d.ts +0 -26
- package/lib/wwa_util.d.ts +0 -14
- package/lib/wwa_vardump/api.d.ts +0 -8
- package/lib/wwa_vardump/index.d.ts +0 -9
- package/lib/wwa_vardump/named-user-variable/api.d.ts +0 -1
- package/lib/wwa_vardump/named-user-variable/index.d.ts +0 -1
- package/lib/wwa_vardump/numbered-user-variable/api.d.ts +0 -3
- package/lib/wwa_vardump/numbered-user-variable/index.d.ts +0 -1
- package/lib/wwa_vardump/user-variable/user-variable-card/index.d.ts +0 -10
- package/lib/wwa_vardump/user-variable/user-variable-label/index.d.ts +0 -3
- package/lib/wwa_vardump/user-variable/user-variable-list/index.d.ts +0 -14
- package/lib/wwa_vardump/user-variable/user-variable-list-section/header/index.d.ts +0 -13
- package/lib/wwa_vardump/user-variable/user-variable-list-section/header/information/index.d.ts +0 -3
- package/lib/wwa_vardump/user-variable/user-variable-list-section/index.d.ts +0 -8
package/lib/wwa.js
CHANGED
|
@@ -1,21 +1,246 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/!function(){var t={452:function(t,e,s){var a;t.exports=(a=s(359),s(139),s(174),s(844),s(951),function(){var t=a,e=t.lib.BlockCipher,s=t.algo,i=[],r=[],n=[],o=[],h=[],c=[],_=[],l=[],u=[],d=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var s=0,a=0;for(e=0;e<256;e++){var p=a^a<<1^a<<2^a<<3^a<<4;p=p>>>8^255&p^99,i[s]=p,r[p]=s;var E=t[s],m=t[E],g=t[m],w=257*t[p]^16843008*p;n[s]=w<<24|w>>>8,o[s]=w<<16|w>>>16,h[s]=w<<8|w>>>24,c[s]=w,w=16843009*g^65537*m^257*E^16843008*s,_[p]=w<<24|w>>>8,l[p]=w<<16|w>>>16,u[p]=w<<8|w>>>24,d[p]=w,s?(s=E^t[t[t[g^E]]],a^=t[t[a]]):s=a=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],E=s.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,s=t.sigBytes/4,a=4*((this._nRounds=s+6)+1),r=this._keySchedule=[],n=0;n<a;n++)n<s?r[n]=e[n]:(c=r[n-1],n%s?s>6&&n%s==4&&(c=i[c>>>24]<<24|i[c>>>16&255]<<16|i[c>>>8&255]<<8|i[255&c]):(c=i[(c=c<<8|c>>>24)>>>24]<<24|i[c>>>16&255]<<16|i[c>>>8&255]<<8|i[255&c],c^=p[n/s|0]<<24),r[n]=r[n-s]^c);for(var o=this._invKeySchedule=[],h=0;h<a;h++){if(n=a-h,h%4)var c=r[n];else c=r[n-4];o[h]=h<4||n<=4?c:_[i[c>>>24]]^l[i[c>>>16&255]]^u[i[c>>>8&255]]^d[i[255&c]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,n,o,h,c,i)},decryptBlock:function(t,e){var s=t[e+1];t[e+1]=t[e+3],t[e+3]=s,this._doCryptBlock(t,e,this._invKeySchedule,_,l,u,d,r),s=t[e+1],t[e+1]=t[e+3],t[e+3]=s},_doCryptBlock:function(t,e,s,a,i,r,n,o){for(var h=this._nRounds,c=t[e]^s[0],_=t[e+1]^s[1],l=t[e+2]^s[2],u=t[e+3]^s[3],d=4,p=1;p<h;p++){var E=a[c>>>24]^i[_>>>16&255]^r[l>>>8&255]^n[255&u]^s[d++],m=a[_>>>24]^i[l>>>16&255]^r[u>>>8&255]^n[255&c]^s[d++],g=a[l>>>24]^i[u>>>16&255]^r[c>>>8&255]^n[255&_]^s[d++],w=a[u>>>24]^i[c>>>16&255]^r[_>>>8&255]^n[255&l]^s[d++];c=E,_=m,l=g,u=w}E=(o[c>>>24]<<24|o[_>>>16&255]<<16|o[l>>>8&255]<<8|o[255&u])^s[d++],m=(o[_>>>24]<<24|o[l>>>16&255]<<16|o[u>>>8&255]<<8|o[255&c])^s[d++],g=(o[l>>>24]<<24|o[u>>>16&255]<<16|o[c>>>8&255]<<8|o[255&_])^s[d++],w=(o[u>>>24]<<24|o[c>>>16&255]<<16|o[_>>>8&255]<<8|o[255&l])^s[d++],t[e]=E,t[e+1]=m,t[e+2]=g,t[e+3]=w},keySize:8});t.AES=e._createHelper(E)}(),a.AES)},466:function(t,e,s){var a;t.exports=(a=s(359),s(139),s(174),s(844),s(951),function(){var t=a,e=t.lib.BlockCipher,s=t.algo;const i=16,r=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],n=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function h(t,e){let s=e>>24&255,a=e>>16&255,i=e>>8&255,r=255&e,n=t.sbox[0][s]+t.sbox[1][a];return n^=t.sbox[2][i],n+=t.sbox[3][r],n}function c(t,e,s){let a,r=e,n=s;for(let e=0;e<i;++e)r^=t.pbox[e],n=h(t,r)^n,a=r,r=n,n=a;return a=r,r=n,n=a,n^=t.pbox[i],r^=t.pbox[i+1],{left:r,right:n}}function _(t,e,s){let a,r=e,n=s;for(let e=i+1;e>1;--e)r^=t.pbox[e],n=h(t,r)^n,a=r,r=n,n=a;return a=r,r=n,n=a,n^=t.pbox[1],r^=t.pbox[0],{left:r,right:n}}function l(t,e,s){for(let e=0;e<4;e++){t.sbox[e]=[];for(let s=0;s<256;s++)t.sbox[e][s]=n[e][s]}let a=0;for(let n=0;n<i+2;n++)t.pbox[n]=r[n]^e[a],a++,a>=s&&(a=0);let o=0,h=0,_=0;for(let e=0;e<i+2;e+=2)_=c(t,o,h),o=_.left,h=_.right,t.pbox[e]=o,t.pbox[e+1]=h;for(let e=0;e<4;e++)for(let s=0;s<256;s+=2)_=c(t,o,h),o=_.left,h=_.right,t.sbox[e][s]=o,t.sbox[e][s+1]=h;return!0}var u=s.Blowfish=e.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var t=this._keyPriorReset=this._key,e=t.words,s=t.sigBytes/4;l(o,e,s)}},encryptBlock:function(t,e){var s=c(o,t[e],t[e+1]);t[e]=s.left,t[e+1]=s.right},decryptBlock:function(t,e){var s=_(o,t[e],t[e+1]);t[e]=s.left,t[e+1]=s.right},blockSize:2,keySize:4,ivSize:2});t.Blowfish=e._createHelper(u)}(),a.Blowfish)},951:function(t,e,s){var a;t.exports=(a=s(359),s(844),void(a.lib.Cipher||function(t){var e=a,s=e.lib,i=s.Base,r=s.WordArray,n=s.BufferedBlockAlgorithm,o=e.enc,h=(o.Utf8,o.Base64),c=e.algo.EvpKDF,_=s.Cipher=n.extend({cfg:i.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,s){this.cfg=this.cfg.extend(s),this._xformMode=t,this._key=e,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?f:g}return function(e){return{encrypt:function(s,a,i){return t(a).encrypt(e,s,a,i)},decrypt:function(s,a,i){return t(a).decrypt(e,s,a,i)}}}}()}),l=(s.StreamCipher=_.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),u=s.BlockCipherMode=i.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),d=l.CBC=function(){var e=u.extend();function s(e,s,a){var i,r=this._iv;r?(i=r,this._iv=t):i=this._prevBlock;for(var n=0;n<a;n++)e[s+n]^=i[n]}return e.Encryptor=e.extend({processBlock:function(t,e){var a=this._cipher,i=a.blockSize;s.call(this,t,e,i),a.encryptBlock(t,e),this._prevBlock=t.slice(e,e+i)}}),e.Decryptor=e.extend({processBlock:function(t,e){var a=this._cipher,i=a.blockSize,r=t.slice(e,e+i);a.decryptBlock(t,e),s.call(this,t,e,i),this._prevBlock=r}}),e}(),p=(e.pad={}).Pkcs7={pad:function(t,e){for(var s=4*e,a=s-t.sigBytes%s,i=a<<24|a<<16|a<<8|a,n=[],o=0;o<a;o+=4)n.push(i);var h=r.create(n,a);t.concat(h)},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},E=(s.BlockCipher=_.extend({cfg:_.cfg.extend({mode:d,padding:p}),reset:function(){var t;_.reset.call(this);var e=this.cfg,s=e.iv,a=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=a.createEncryptor:(t=a.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,s&&s.words):(this._mode=t.call(a,this,s&&s.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4}),s.CipherParams=i.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),m=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,s=t.salt;return(s?r.create([1398893684,1701076831]).concat(s).concat(e):e).toString(h)},parse:function(t){var e,s=h.parse(t),a=s.words;return 1398893684==a[0]&&1701076831==a[1]&&(e=r.create(a.slice(2,4)),a.splice(0,4),s.sigBytes-=16),E.create({ciphertext:s,salt:e})}},g=s.SerializableCipher=i.extend({cfg:i.extend({format:m}),encrypt:function(t,e,s,a){a=this.cfg.extend(a);var i=t.createEncryptor(s,a),r=i.finalize(e),n=i.cfg;return E.create({ciphertext:r,key:s,iv:n.iv,algorithm:t,mode:n.mode,padding:n.padding,blockSize:t.blockSize,formatter:a.format})},decrypt:function(t,e,s,a){return a=this.cfg.extend(a),e=this._parse(e,a.format),t.createDecryptor(s,a).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),w=(e.kdf={}).OpenSSL={execute:function(t,e,s,a,i){if(a||(a=r.random(8)),i)n=c.create({keySize:e+s,hasher:i}).compute(t,a);else var n=c.create({keySize:e+s}).compute(t,a);var o=r.create(n.words.slice(e),4*s);return n.sigBytes=4*e,E.create({key:n,iv:o,salt:a})}},f=s.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:w}),encrypt:function(t,e,s,a){var i=(a=this.cfg.extend(a)).kdf.execute(s,t.keySize,t.ivSize,a.salt,a.hasher);a.iv=i.iv;var r=g.encrypt.call(this,t,e,i.key,a);return r.mixIn(i),r},decrypt:function(t,e,s,a){a=this.cfg.extend(a),e=this._parse(e,a.format);var i=a.kdf.execute(s,t.keySize,t.ivSize,e.salt,a.hasher);return a.iv=i.iv,g.decrypt.call(this,t,e,i.key,a)}})}()))},359:function(t,e,s){var a;t.exports=(a=a||function(t,e){var a;if("undefined"!=typeof window&&window.crypto&&(a=window.crypto),"undefined"!=typeof self&&self.crypto&&(a=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(a=globalThis.crypto),!a&&"undefined"!=typeof window&&window.msCrypto&&(a=window.msCrypto),!a&&void 0!==s.g&&s.g.crypto&&(a=s.g.crypto),!a)try{a=s(633)}catch(t){}var i=function(){if(a){if("function"==typeof a.getRandomValues)try{return a.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof a.randomBytes)try{return a.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},r=Object.create||function(){function t(){}return function(e){var s;return t.prototype=e,s=new t,t.prototype=null,s}}(),n={},o=n.lib={},h=o.Base={extend:function(t){var e=r(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},c=o.WordArray=h.extend({init:function(t,s){t=this.words=t||[],this.sigBytes=s!=e?s:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,s=t.words,a=this.sigBytes,i=t.sigBytes;if(this.clamp(),a%4)for(var r=0;r<i;r++){var n=s[r>>>2]>>>24-r%4*8&255;e[a+r>>>2]|=n<<24-(a+r)%4*8}else for(var o=0;o<i;o+=4)e[a+o>>>2]=s[o>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,s=this.sigBytes;e[s>>>2]&=4294967295<<32-s%4*8,e.length=t.ceil(s/4)},clone:function(){var t=h.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],s=0;s<t;s+=4)e.push(i());return new c.init(e,t)}}),_=n.enc={},l=_.Hex={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],i=0;i<s;i++){var r=e[i>>>2]>>>24-i%4*8&255;a.push((r>>>4).toString(16)),a.push((15&r).toString(16))}return a.join("")},parse:function(t){for(var e=t.length,s=[],a=0;a<e;a+=2)s[a>>>3]|=parseInt(t.substr(a,2),16)<<24-a%8*4;return new c.init(s,e/2)}},u=_.Latin1={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],i=0;i<s;i++){var r=e[i>>>2]>>>24-i%4*8&255;a.push(String.fromCharCode(r))}return a.join("")},parse:function(t){for(var e=t.length,s=[],a=0;a<e;a++)s[a>>>2]|=(255&t.charCodeAt(a))<<24-a%4*8;return new c.init(s,e)}},d=_.Utf8={stringify:function(t){try{return decodeURIComponent(escape(u.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return u.parse(unescape(encodeURIComponent(t)))}},p=o.BufferedBlockAlgorithm=h.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var s,a=this._data,i=a.words,r=a.sigBytes,n=this.blockSize,o=r/(4*n),h=(o=e?t.ceil(o):t.max((0|o)-this._minBufferSize,0))*n,_=t.min(4*h,r);if(h){for(var l=0;l<h;l+=n)this._doProcessBlock(i,l);s=i.splice(0,h),a.sigBytes-=_}return new c.init(s,_)},clone:function(){var t=h.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0}),E=(o.Hasher=p.extend({cfg:h.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,s){return new t.init(s).finalize(e)}},_createHmacHelper:function(t){return function(e,s){return new E.HMAC.init(t,s).finalize(e)}}}),n.algo={});return n}(Math),a)},139:function(t,e,s){var a;t.exports=(a=s(359),function(){var t=a,e=t.lib.WordArray;function s(t,s,a){for(var i=[],r=0,n=0;n<s;n++)if(n%4){var o=a[t.charCodeAt(n-1)]<<n%4*2|a[t.charCodeAt(n)]>>>6-n%4*2;i[r>>>2]|=o<<24-r%4*8,r++}return e.create(i,r)}t.enc.Base64={stringify:function(t){var e=t.words,s=t.sigBytes,a=this._map;t.clamp();for(var i=[],r=0;r<s;r+=3)for(var n=(e[r>>>2]>>>24-r%4*8&255)<<16|(e[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|e[r+2>>>2]>>>24-(r+2)%4*8&255,o=0;o<4&&r+.75*o<s;o++)i.push(a.charAt(n>>>6*(3-o)&63));var h=a.charAt(64);if(h)for(;i.length%4;)i.push(h);return i.join("")},parse:function(t){var e=t.length,a=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var r=0;r<a.length;r++)i[a.charCodeAt(r)]=r}var n=a.charAt(64);if(n){var o=t.indexOf(n);-1!==o&&(e=o)}return s(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),a.enc.Base64)},950:function(t,e,s){var a;t.exports=(a=s(359),function(){var t=a,e=t.lib.WordArray;function s(t,s,a){for(var i=[],r=0,n=0;n<s;n++)if(n%4){var o=a[t.charCodeAt(n-1)]<<n%4*2|a[t.charCodeAt(n)]>>>6-n%4*2;i[r>>>2]|=o<<24-r%4*8,r++}return e.create(i,r)}t.enc.Base64url={stringify:function(t,e){void 0===e&&(e=!0);var s=t.words,a=t.sigBytes,i=e?this._safe_map:this._map;t.clamp();for(var r=[],n=0;n<a;n+=3)for(var o=(s[n>>>2]>>>24-n%4*8&255)<<16|(s[n+1>>>2]>>>24-(n+1)%4*8&255)<<8|s[n+2>>>2]>>>24-(n+2)%4*8&255,h=0;h<4&&n+.75*h<a;h++)r.push(i.charAt(o>>>6*(3-h)&63));var c=i.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join("")},parse:function(t,e){void 0===e&&(e=!0);var a=t.length,i=e?this._safe_map:this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var n=0;n<i.length;n++)r[i.charCodeAt(n)]=n}var o=i.charAt(64);if(o){var h=t.indexOf(o);-1!==h&&(a=h)}return s(t,a,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),a.enc.Base64url)},164:function(t,e,s){var a;t.exports=(a=s(359),function(){var t=a,e=t.lib.WordArray,s=t.enc;function i(t){return t<<8&4278255360|t>>>8&16711935}s.Utf16=s.Utf16BE={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],i=0;i<s;i+=2){var r=e[i>>>2]>>>16-i%4*8&65535;a.push(String.fromCharCode(r))}return a.join("")},parse:function(t){for(var s=t.length,a=[],i=0;i<s;i++)a[i>>>1]|=t.charCodeAt(i)<<16-i%2*16;return e.create(a,2*s)}},s.Utf16LE={stringify:function(t){for(var e=t.words,s=t.sigBytes,a=[],r=0;r<s;r+=2){var n=i(e[r>>>2]>>>16-r%4*8&65535);a.push(String.fromCharCode(n))}return a.join("")},parse:function(t){for(var s=t.length,a=[],r=0;r<s;r++)a[r>>>1]|=i(t.charCodeAt(r)<<16-r%2*16);return e.create(a,2*s)}}}(),a.enc.Utf16)},844:function(t,e,s){var a,i,r,n,o,h,c,_;t.exports=(_=s(359),s(637),s(423),i=(a=_).lib,r=i.Base,n=i.WordArray,o=a.algo,h=o.MD5,c=o.EvpKDF=r.extend({cfg:r.extend({keySize:4,hasher:h,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var s,a=this.cfg,i=a.hasher.create(),r=n.create(),o=r.words,h=a.keySize,c=a.iterations;o.length<h;){s&&i.update(s),s=i.update(t).finalize(e),i.reset();for(var _=1;_<c;_++)s=i.finalize(s),i.reset();r.concat(s)}return r.sigBytes=4*h,r}}),a.EvpKDF=function(t,e,s){return c.create(s).compute(t,e)},_.EvpKDF)},333:function(t,e,s){var a,i,r,n;t.exports=(n=s(359),s(951),i=(a=n).lib.CipherParams,r=a.enc.Hex,a.format.Hex={stringify:function(t){return t.ciphertext.toString(r)},parse:function(t){var e=r.parse(t);return i.create({ciphertext:e})}},n.format.Hex)},423:function(t,e,s){var a,i,r,n;t.exports=(a=s(359),r=(i=a).lib.Base,n=i.enc.Utf8,void(i.algo.HMAC=r.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=n.parse(e));var s=t.blockSize,a=4*s;e.sigBytes>a&&(e=t.finalize(e)),e.clamp();for(var i=this._oKey=e.clone(),r=this._iKey=e.clone(),o=i.words,h=r.words,c=0;c<s;c++)o[c]^=1549556828,h[c]^=909522486;i.sigBytes=r.sigBytes=a,this.reset()},reset:function(){var t=this._hasher;t.reset(),t.update(this._iKey)},update:function(t){return this._hasher.update(t),this},finalize:function(t){var e=this._hasher,s=e.finalize(t);return e.reset(),e.finalize(this._oKey.clone().concat(s))}})))},23:function(t,e,s){var a;t.exports=(a=s(359),s(467),s(816),s(164),s(139),s(950),s(174),s(637),s(93),s(640),s(834),s(716),s(140),s(293),s(423),s(414),s(844),s(951),s(173),s(782),s(655),s(957),s(129),s(994),s(236),s(476),s(921),s(181),s(333),s(452),s(567),s(830),s(480),s(730),s(466),a)},816:function(t,e,s){var a;t.exports=(a=s(359),function(){if("function"==typeof ArrayBuffer){var t=a.lib.WordArray,e=t.init,s=t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var s=t.byteLength,a=[],i=0;i<s;i++)a[i>>>2]|=t[i]<<24-i%4*8;e.call(this,a,s)}else e.apply(this,arguments)};s.prototype=t}}(),a.lib.WordArray)},174:function(t,e,s){var a;t.exports=(a=s(359),function(t){var e=a,s=e.lib,i=s.WordArray,r=s.Hasher,n=e.algo,o=[];!function(){for(var e=0;e<64;e++)o[e]=4294967296*t.abs(t.sin(e+1))|0}();var h=n.MD5=r.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var s=0;s<16;s++){var a=e+s,i=t[a];t[a]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var r=this._hash.words,n=t[e+0],h=t[e+1],d=t[e+2],p=t[e+3],E=t[e+4],m=t[e+5],g=t[e+6],w=t[e+7],f=t[e+8],v=t[e+9],S=t[e+10],A=t[e+11],y=t[e+12],T=t[e+13],I=t[e+14],C=t[e+15],D=r[0],O=r[1],N=r[2],P=r[3];D=c(D,O,N,P,n,7,o[0]),P=c(P,D,O,N,h,12,o[1]),N=c(N,P,D,O,d,17,o[2]),O=c(O,N,P,D,p,22,o[3]),D=c(D,O,N,P,E,7,o[4]),P=c(P,D,O,N,m,12,o[5]),N=c(N,P,D,O,g,17,o[6]),O=c(O,N,P,D,w,22,o[7]),D=c(D,O,N,P,f,7,o[8]),P=c(P,D,O,N,v,12,o[9]),N=c(N,P,D,O,S,17,o[10]),O=c(O,N,P,D,A,22,o[11]),D=c(D,O,N,P,y,7,o[12]),P=c(P,D,O,N,T,12,o[13]),N=c(N,P,D,O,I,17,o[14]),D=_(D,O=c(O,N,P,D,C,22,o[15]),N,P,h,5,o[16]),P=_(P,D,O,N,g,9,o[17]),N=_(N,P,D,O,A,14,o[18]),O=_(O,N,P,D,n,20,o[19]),D=_(D,O,N,P,m,5,o[20]),P=_(P,D,O,N,S,9,o[21]),N=_(N,P,D,O,C,14,o[22]),O=_(O,N,P,D,E,20,o[23]),D=_(D,O,N,P,v,5,o[24]),P=_(P,D,O,N,I,9,o[25]),N=_(N,P,D,O,p,14,o[26]),O=_(O,N,P,D,f,20,o[27]),D=_(D,O,N,P,T,5,o[28]),P=_(P,D,O,N,d,9,o[29]),N=_(N,P,D,O,w,14,o[30]),D=l(D,O=_(O,N,P,D,y,20,o[31]),N,P,m,4,o[32]),P=l(P,D,O,N,f,11,o[33]),N=l(N,P,D,O,A,16,o[34]),O=l(O,N,P,D,I,23,o[35]),D=l(D,O,N,P,h,4,o[36]),P=l(P,D,O,N,E,11,o[37]),N=l(N,P,D,O,w,16,o[38]),O=l(O,N,P,D,S,23,o[39]),D=l(D,O,N,P,T,4,o[40]),P=l(P,D,O,N,n,11,o[41]),N=l(N,P,D,O,p,16,o[42]),O=l(O,N,P,D,g,23,o[43]),D=l(D,O,N,P,v,4,o[44]),P=l(P,D,O,N,y,11,o[45]),N=l(N,P,D,O,C,16,o[46]),D=u(D,O=l(O,N,P,D,d,23,o[47]),N,P,n,6,o[48]),P=u(P,D,O,N,w,10,o[49]),N=u(N,P,D,O,I,15,o[50]),O=u(O,N,P,D,m,21,o[51]),D=u(D,O,N,P,y,6,o[52]),P=u(P,D,O,N,p,10,o[53]),N=u(N,P,D,O,S,15,o[54]),O=u(O,N,P,D,h,21,o[55]),D=u(D,O,N,P,f,6,o[56]),P=u(P,D,O,N,C,10,o[57]),N=u(N,P,D,O,g,15,o[58]),O=u(O,N,P,D,T,21,o[59]),D=u(D,O,N,P,E,6,o[60]),P=u(P,D,O,N,A,10,o[61]),N=u(N,P,D,O,d,15,o[62]),O=u(O,N,P,D,v,21,o[63]),r[0]=r[0]+D|0,r[1]=r[1]+O|0,r[2]=r[2]+N|0,r[3]=r[3]+P|0},_doFinalize:function(){var e=this._data,s=e.words,a=8*this._nDataBytes,i=8*e.sigBytes;s[i>>>5]|=128<<24-i%32;var r=t.floor(a/4294967296),n=a;s[15+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),s[14+(i+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(s.length+1),this._process();for(var o=this._hash,h=o.words,c=0;c<4;c++){var _=h[c];h[c]=16711935&(_<<8|_>>>24)|4278255360&(_<<24|_>>>8)}return o},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}});function c(t,e,s,a,i,r,n){var o=t+(e&s|~e&a)+i+n;return(o<<r|o>>>32-r)+e}function _(t,e,s,a,i,r,n){var o=t+(e&a|s&~a)+i+n;return(o<<r|o>>>32-r)+e}function l(t,e,s,a,i,r,n){var o=t+(e^s^a)+i+n;return(o<<r|o>>>32-r)+e}function u(t,e,s,a,i,r,n){var o=t+(s^(e|~a))+i+n;return(o<<r|o>>>32-r)+e}e.MD5=r._createHelper(h),e.HmacMD5=r._createHmacHelper(h)}(Math),a.MD5)},173:function(t,e,s){var a;t.exports=(a=s(359),s(951),a.mode.CFB=function(){var t=a.lib.BlockCipherMode.extend();function e(t,e,s,a){var i,r=this._iv;r?(i=r.slice(0),this._iv=void 0):i=this._prevBlock,a.encryptBlock(i,0);for(var n=0;n<s;n++)t[e+n]^=i[n]}return t.Encryptor=t.extend({processBlock:function(t,s){var a=this._cipher,i=a.blockSize;e.call(this,t,s,i,a),this._prevBlock=t.slice(s,s+i)}}),t.Decryptor=t.extend({processBlock:function(t,s){var a=this._cipher,i=a.blockSize,r=t.slice(s,s+i);e.call(this,t,s,i,a),this._prevBlock=r}}),t}(),a.mode.CFB)},655:function(t,e,s){var a;t.exports=(a=s(359),s(951),
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function(t){var e=a,s=e.lib,i=s.WordArray,r=s.Hasher,n=e.algo,o=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),h=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),c=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),_=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),l=i.create([0,1518500249,1859775393,2400959708,2840853838]),u=i.create([1352829926,1548603684,1836072691,2053994217,0]),d=n.RIPEMD160=r.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var s=0;s<16;s++){var a=e+s,i=t[a];t[a]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var r,n,d,v,S,A,y,T,I,C,D,O=this._hash.words,N=l.words,P=u.words,M=o.words,x=h.words,b=c.words,L=_.words;for(A=r=O[0],y=n=O[1],T=d=O[2],I=v=O[3],C=S=O[4],s=0;s<80;s+=1)D=r+t[e+M[s]]|0,D+=s<16?p(n,d,v)+N[0]:s<32?E(n,d,v)+N[1]:s<48?m(n,d,v)+N[2]:s<64?g(n,d,v)+N[3]:w(n,d,v)+N[4],D=(D=f(D|=0,b[s]))+S|0,r=S,S=v,v=f(d,10),d=n,n=D,D=A+t[e+x[s]]|0,D+=s<16?w(y,T,I)+P[0]:s<32?g(y,T,I)+P[1]:s<48?m(y,T,I)+P[2]:s<64?E(y,T,I)+P[3]:p(y,T,I)+P[4],D=(D=f(D|=0,L[s]))+C|0,A=C,C=I,I=f(T,10),T=y,y=D;D=O[1]+d+I|0,O[1]=O[2]+v+C|0,O[2]=O[3]+S+A|0,O[3]=O[4]+r+y|0,O[4]=O[0]+n+T|0,O[0]=D},_doFinalize:function(){var t=this._data,e=t.words,s=8*this._nDataBytes,a=8*t.sigBytes;e[a>>>5]|=128<<24-a%32,e[14+(a+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),t.sigBytes=4*(e.length+1),this._process();for(var i=this._hash,r=i.words,n=0;n<5;n++){var o=r[n];r[n]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}return i},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}});function p(t,e,s){return t^e^s}function E(t,e,s){return t&e|~t&s}function m(t,e,s){return(t|~e)^s}function g(t,e,s){return t&s|e&~s}function w(t,e,s){return t^(e|~s)}function f(t,e){return t<<e|t>>>32-e}e.RIPEMD160=r._createHelper(d),e.HmacRIPEMD160=r._createHmacHelper(d)}(Math),a.RIPEMD160)},637:function(t,e,s){var a,i,r,n,o,h,c,_;t.exports=(_=s(359),i=(a=_).lib,r=i.WordArray,n=i.Hasher,o=a.algo,h=[],c=o.SHA1=n.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var s=this._hash.words,a=s[0],i=s[1],r=s[2],n=s[3],o=s[4],c=0;c<80;c++){if(c<16)h[c]=0|t[e+c];else{var _=h[c-3]^h[c-8]^h[c-14]^h[c-16];h[c]=_<<1|_>>>31}var l=(a<<5|a>>>27)+o+h[c];l+=c<20?1518500249+(i&r|~i&n):c<40?1859775393+(i^r^n):c<60?(i&r|i&n|r&n)-1894007588:(i^r^n)-899497514,o=n,n=r,r=i<<30|i>>>2,i=a,a=l}s[0]=s[0]+a|0,s[1]=s[1]+i|0,s[2]=s[2]+r|0,s[3]=s[3]+n|0,s[4]=s[4]+o|0},_doFinalize:function(){var t=this._data,e=t.words,s=8*this._nDataBytes,a=8*t.sigBytes;return e[a>>>5]|=128<<24-a%32,e[14+(a+64>>>9<<4)]=Math.floor(s/4294967296),e[15+(a+64>>>9<<4)]=s,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),a.SHA1=n._createHelper(c),a.HmacSHA1=n._createHmacHelper(c),_.SHA1)},640:function(t,e,s){var a,i,r,n,o,h;t.exports=(h=s(359),s(93),i=(a=h).lib.WordArray,r=a.algo,n=r.SHA256,o=r.SHA224=n.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=n._doFinalize.call(this);return t.sigBytes-=4,t}}),a.SHA224=n._createHelper(o),a.HmacSHA224=n._createHmacHelper(o),h.SHA224)},93:function(t,e,s){var a;t.exports=(a=s(359),function(t){var e=a,s=e.lib,i=s.WordArray,r=s.Hasher,n=e.algo,o=[],h=[];!function(){function e(e){for(var s=t.sqrt(e),a=2;a<=s;a++)if(!(e%a))return!1;return!0}function s(t){return 4294967296*(t-(0|t))|0}for(var a=2,i=0;i<64;)e(a)&&(i<8&&(o[i]=s(t.pow(a,.5))),h[i]=s(t.pow(a,1/3)),i++),a++}();var c=[],_=n.SHA256=r.extend({_doReset:function(){this._hash=new i.init(o.slice(0))},_doProcessBlock:function(t,e){for(var s=this._hash.words,a=s[0],i=s[1],r=s[2],n=s[3],o=s[4],_=s[5],l=s[6],u=s[7],d=0;d<64;d++){if(d<16)c[d]=0|t[e+d];else{var p=c[d-15],E=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,m=c[d-2],g=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;c[d]=E+c[d-7]+g+c[d-16]}var w=a&i^a&r^i&r,f=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),v=u+((o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25))+(o&_^~o&l)+h[d]+c[d];u=l,l=_,_=o,o=n+v|0,n=r,r=i,i=a,a=v+(f+w)|0}s[0]=s[0]+a|0,s[1]=s[1]+i|0,s[2]=s[2]+r|0,s[3]=s[3]+n|0,s[4]=s[4]+o|0,s[5]=s[5]+_|0,s[6]=s[6]+l|0,s[7]=s[7]+u|0},_doFinalize:function(){var e=this._data,s=e.words,a=8*this._nDataBytes,i=8*e.sigBytes;return s[i>>>5]|=128<<24-i%32,s[14+(i+64>>>9<<4)]=t.floor(a/4294967296),s[15+(i+64>>>9<<4)]=a,e.sigBytes=4*s.length,this._process(),this._hash},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=r._createHelper(_),e.HmacSHA256=r._createHmacHelper(_)}(Math),a.SHA256)},140:function(t,e,s){var a;t.exports=(a=s(359),s(467),function(t){var e=a,s=e.lib,i=s.WordArray,r=s.Hasher,n=e.x64.Word,o=e.algo,h=[],c=[],_=[];!function(){for(var t=1,e=0,s=0;s<24;s++){h[t+5*e]=(s+1)*(s+2)/2%64;var a=(2*t+3*e)%5;t=e%5,e=a}for(t=0;t<5;t++)for(e=0;e<5;e++)c[t+5*e]=e+(2*t+3*e)%5*5;for(var i=1,r=0;r<24;r++){for(var o=0,l=0,u=0;u<7;u++){if(1&i){var d=(1<<u)-1;d<32?l^=1<<d:o^=1<<d-32}128&i?i=i<<1^113:i<<=1}_[r]=n.create(o,l)}}();var l=[];!function(){for(var t=0;t<25;t++)l[t]=n.create()}();var u=o.SHA3=r.extend({cfg:r.cfg.extend({outputLength:512}),_doReset:function(){for(var t=this._state=[],e=0;e<25;e++)t[e]=new n.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(t,e){for(var s=this._state,a=this.blockSize/2,i=0;i<a;i++){var r=t[e+2*i],n=t[e+2*i+1];r=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),n=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),(O=s[i]).high^=n,O.low^=r}for(var o=0;o<24;o++){for(var u=0;u<5;u++){for(var d=0,p=0,E=0;E<5;E++)d^=(O=s[u+5*E]).high,p^=O.low;var m=l[u];m.high=d,m.low=p}for(u=0;u<5;u++){var g=l[(u+4)%5],w=l[(u+1)%5],f=w.high,v=w.low;for(d=g.high^(f<<1|v>>>31),p=g.low^(v<<1|f>>>31),E=0;E<5;E++)(O=s[u+5*E]).high^=d,O.low^=p}for(var S=1;S<25;S++){var A=(O=s[S]).high,y=O.low,T=h[S];T<32?(d=A<<T|y>>>32-T,p=y<<T|A>>>32-T):(d=y<<T-32|A>>>64-T,p=A<<T-32|y>>>64-T);var I=l[c[S]];I.high=d,I.low=p}var C=l[0],D=s[0];for(C.high=D.high,C.low=D.low,u=0;u<5;u++)for(E=0;E<5;E++){var O=s[S=u+5*E],N=l[S],P=l[(u+1)%5+5*E],M=l[(u+2)%5+5*E];O.high=N.high^~P.high&M.high,O.low=N.low^~P.low&M.low}O=s[0];var x=_[o];O.high^=x.high,O.low^=x.low}},_doFinalize:function(){var e=this._data,s=e.words,a=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;s[a>>>5]|=1<<24-a%32,s[(t.ceil((a+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*s.length,this._process();for(var n=this._state,o=this.cfg.outputLength/8,h=o/8,c=[],_=0;_<h;_++){var l=n[_],u=l.high,d=l.low;u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),c.push(d),c.push(u)}return new i.init(c,o)},clone:function(){for(var t=r.clone.call(this),e=t._state=this._state.slice(0),s=0;s<25;s++)e[s]=e[s].clone();return t}});e.SHA3=r._createHelper(u),e.HmacSHA3=r._createHmacHelper(u)}(Math),a.SHA3)},716:function(t,e,s){var a,i,r,n,o,h,c,_;t.exports=(_=s(359),s(467),s(834),i=(a=_).x64,r=i.Word,n=i.WordArray,o=a.algo,h=o.SHA512,c=o.SHA384=h.extend({_doReset:function(){this._hash=new n.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var t=h._doFinalize.call(this);return t.sigBytes-=16,t}}),a.SHA384=h._createHelper(c),a.HmacSHA384=h._createHmacHelper(c),_.SHA384)},834:function(t,e,s){var a;t.exports=(a=s(359),s(467),function(){var t=a,e=t.lib.Hasher,s=t.x64,i=s.Word,r=s.WordArray,n=t.algo;function o(){return i.create.apply(i,arguments)}var h=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],c=[];!function(){for(var t=0;t<80;t++)c[t]=o()}();var _=n.SHA512=e.extend({_doReset:function(){this._hash=new r.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var s=this._hash.words,a=s[0],i=s[1],r=s[2],n=s[3],o=s[4],_=s[5],l=s[6],u=s[7],d=a.high,p=a.low,E=i.high,m=i.low,g=r.high,w=r.low,f=n.high,v=n.low,S=o.high,A=o.low,y=_.high,T=_.low,I=l.high,C=l.low,D=u.high,O=u.low,N=d,P=p,M=E,x=m,b=g,L=w,R=f,B=v,U=S,k=A,W=y,V=T,F=I,Y=C,G=D,H=O,K=0;K<80;K++){var j,X,J=c[K];if(K<16)X=J.high=0|t[e+2*K],j=J.low=0|t[e+2*K+1];else{var $=c[K-15],Z=$.high,q=$.low,z=(Z>>>1|q<<31)^(Z>>>8|q<<24)^Z>>>7,Q=(q>>>1|Z<<31)^(q>>>8|Z<<24)^(q>>>7|Z<<25),tt=c[K-2],et=tt.high,st=tt.low,at=(et>>>19|st<<13)^(et<<3|st>>>29)^et>>>6,it=(st>>>19|et<<13)^(st<<3|et>>>29)^(st>>>6|et<<26),rt=c[K-7],nt=rt.high,ot=rt.low,ht=c[K-16],ct=ht.high,_t=ht.low;X=(X=(X=z+nt+((j=Q+ot)>>>0<Q>>>0?1:0))+at+((j+=it)>>>0<it>>>0?1:0))+ct+((j+=_t)>>>0<_t>>>0?1:0),J.high=X,J.low=j}var lt,ut=U&W^~U&F,dt=k&V^~k&Y,pt=N&M^N&b^M&b,Et=P&x^P&L^x&L,mt=(N>>>28|P<<4)^(N<<30|P>>>2)^(N<<25|P>>>7),gt=(P>>>28|N<<4)^(P<<30|N>>>2)^(P<<25|N>>>7),wt=(U>>>14|k<<18)^(U>>>18|k<<14)^(U<<23|k>>>9),ft=(k>>>14|U<<18)^(k>>>18|U<<14)^(k<<23|U>>>9),vt=h[K],St=vt.high,At=vt.low,yt=G+wt+((lt=H+ft)>>>0<H>>>0?1:0),Tt=gt+Et;G=F,H=Y,F=W,Y=V,W=U,V=k,U=R+(yt=(yt=(yt=yt+ut+((lt+=dt)>>>0<dt>>>0?1:0))+St+((lt+=At)>>>0<At>>>0?1:0))+X+((lt+=j)>>>0<j>>>0?1:0))+((k=B+lt|0)>>>0<B>>>0?1:0)|0,R=b,B=L,b=M,L=x,M=N,x=P,N=yt+(mt+pt+(Tt>>>0<gt>>>0?1:0))+((P=lt+Tt|0)>>>0<lt>>>0?1:0)|0}p=a.low=p+P,a.high=d+N+(p>>>0<P>>>0?1:0),m=i.low=m+x,i.high=E+M+(m>>>0<x>>>0?1:0),w=r.low=w+L,r.high=g+b+(w>>>0<L>>>0?1:0),v=n.low=v+B,n.high=f+R+(v>>>0<B>>>0?1:0),A=o.low=A+k,o.high=S+U+(A>>>0<k>>>0?1:0),T=_.low=T+V,_.high=y+W+(T>>>0<V>>>0?1:0),C=l.low=C+Y,l.high=I+F+(C>>>0<Y>>>0?1:0),O=u.low=O+H,u.high=D+G+(O>>>0<H>>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,s=8*this._nDataBytes,a=8*t.sigBytes;return e[a>>>5]|=128<<24-a%32,e[30+(a+128>>>10<<5)]=Math.floor(s/4294967296),e[31+(a+128>>>10<<5)]=s,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});t.SHA512=e._createHelper(_),t.HmacSHA512=e._createHmacHelper(_)}(),a.SHA512)},567:function(t,e,s){var a;t.exports=(a=s(359),s(139),s(174),s(844),s(951),function(){var t=a,e=t.lib,s=e.WordArray,i=e.BlockCipher,r=t.algo,n=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],o=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],c=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],_=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],l=r.DES=i.extend({_doReset:function(){for(var t=this._key.words,e=[],s=0;s<56;s++){var a=n[s]-1;e[s]=t[a>>>5]>>>31-a%32&1}for(var i=this._subKeys=[],r=0;r<16;r++){var c=i[r]=[],_=h[r];for(s=0;s<24;s++)c[s/6|0]|=e[(o[s]-1+_)%28]<<31-s%6,c[4+(s/6|0)]|=e[28+(o[s+24]-1+_)%28]<<31-s%6;for(c[0]=c[0]<<1|c[0]>>>31,s=1;s<7;s++)c[s]=c[s]>>>4*(s-1)+3;c[7]=c[7]<<5|c[7]>>>27}var l=this._invSubKeys=[];for(s=0;s<16;s++)l[s]=i[15-s]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,s){this._lBlock=t[e],this._rBlock=t[e+1],u.call(this,4,252645135),u.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),u.call(this,1,1431655765);for(var a=0;a<16;a++){for(var i=s[a],r=this._lBlock,n=this._rBlock,o=0,h=0;h<8;h++)o|=c[h][((n^i[h])&_[h])>>>0];this._lBlock=n,this._rBlock=r^o}var l=this._lBlock;this._lBlock=this._rBlock,this._rBlock=l,u.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(t,e){var s=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=s,this._lBlock^=s<<t}function d(t,e){var s=(this._rBlock>>>t^this._lBlock)&e;this._lBlock^=s,this._rBlock^=s<<t}t.DES=i._createHelper(l);var p=r.TripleDES=i.extend({_doReset:function(){var t=this._key.words;if(2!==t.length&&4!==t.length&&t.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var e=t.slice(0,2),a=t.length<4?t.slice(0,2):t.slice(2,4),i=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=l.createEncryptor(s.create(e)),this._des2=l.createEncryptor(s.create(a)),this._des3=l.createEncryptor(s.create(i))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=i._createHelper(p)}(),a.TripleDES)},467:function(t,e,s){var a;t.exports=(a=s(359),function(t){var e=a,s=e.lib,i=s.Base,r=s.WordArray,n=e.x64={};n.Word=i.extend({init:function(t,e){this.high=t,this.low=e}}),n.WordArray=i.extend({init:function(e,s){e=this.words=e||[],this.sigBytes=s!=t?s:8*e.length},toX32:function(){for(var t=this.words,e=t.length,s=[],a=0;a<e;a++){var i=t[a];s.push(i.high),s.push(i.low)}return r.create(s,this.sigBytes)},clone:function(){for(var t=i.clone.call(this),e=t.words=this.words.slice(0),s=e.length,a=0;a<s;a++)e[a]=e[a].clone();return t}})}(),a)},633:function(){},106:function(){}},e={};function s(a){var i=e[a];if(void 0!==i)return i.exports;var r=e[a]={exports:{}};return t[a].call(r.exports,r,r.exports,s),r.exports}s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,{a:e}),e},s.d=function(t,e){for(var a in e)s.o(e,a)&&!s.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";const t=Object.freeze({CONFIRM_LOAD_SOUND:{code:1,defaultText:"効果音・BGMデータをロードしますか?",mapdataParams:{messageArea:"systemMessage",index:2}},NO_MONEY:{code:101,defaultText:"所持金がたりない。",mapdataParams:{messageArea:"message",index:6}},NO_ITEM:{code:201,mapdataParams:{messageArea:"message",index:7},defaultText:"アイテムを持っていない。"},ITEM_BOX_FULL:{code:202,defaultText:"これ以上、アイテムを持てません。",mapdataParams:{messageArea:"systemMessage",index:1}},ITEM_SELECT_TUTORIAL:{code:203,defaultText:"このアイテムは%HOW_TO_USE_ITEM%ことで使用できます。\n使用できるアイテムは色枠で囲まれます。",mapdataParams:{messageArea:"systemMessage",index:0}},CONFIRM_USE_ITEM:{code:204,defaultText:"このアイテムを使用します。\nよろしいですか?",mapdataParams:{messageArea:"message",index:8}},CANNOT_DAMAGE_MONSTER:{code:301,defaultText:"相手の防御能力が高すぎる!"},BATTLE_NOT_SETTLED:{code:302,defaultText:"勝負がつかない!"},CONFIRM_ENTER_URL_GATE:{code:401,defaultText:"他のページにリンクします。\nよろしいですか?",mapdataParams:{messageArea:"message",index:5}},GAME_SPEED_CHANGED:{code:501,defaultText:"移動速度を【%GAME_SPEED_NAME%】に切り替えました。\n%HIGH_SPEED_MESSAGE%(%MAX_SPEED_INDEX%段階中%GAME_SPEED_INDEX%)\n速度を落とすには%SPEED_DOWN_BUTTON%, 速度を上げるには%SPEED_UP_BUTTON%を押してください。"},GAME_SPEED_CHANGE_DISABLED:{code:502,defaultText:"ここでは移動速度を\n変更できません。"}}),e=Object.keys(t),a=e.reduce(((t,e)=>({...t,[e]:e})),{}),i=t;function r(t){return e.some((e=>e===t))}function n(t){for(let s of e)if(i[s].code===t)return s}class o{add(t){return this.strength+=t.strength,this.defence+=t.defence,this}plus(t){return new o(this.strength+t.strength,this.defence+t.defence)}minus(t){return new o(this.strength-t.strength,this.defence-t.defence)}equals(t){return this.strength===t.strength&&this.defence===t.defence}constructor(t,e){this.strength=t,this.defence=e}}class h extends o{add(t){return t instanceof h&&(this.energy+=t.energy,this.gold+=t.gold),this.strength+=t.strength,this.defence+=t.defence,this}plus(t){return t instanceof h?new h(this.energy+t.energy,this.strength+t.strength,this.defence+t.defence,this.gold+t.gold):new h(this.energy,this.strength+t.strength,this.defence+t.defence,this.gold)}minus(t){return t instanceof h?new h(this.energy-t.energy,this.strength-t.strength,this.defence-t.defence,this.gold-t.gold):new h(this.energy,this.strength-t.strength,this.defence-t.defence,this.gold)}equals(t){return this.energy===t.energy&&this.strength===t.strength&&this.defence===t.defence&&this.gold===t.gold}calculateScore(t){return Object.keys(t.rates).reduce(((e,s)=>e+t.rates[s]*this[s]),0)}clone(){return new h(this.energy,this.strength,this.defence,this.gold)}constructor(t,e,s,a){super(e,s),this.energy=t,this.gold=a}}class c{equals(t){return this.x===t.x&&this.y===t.y}substract(t){return new c(this.x-t.x,this.y-t.y)}clone(){return new c(this.x,this.y)}convertIntoPosition(t){return new _(t,this.x,this.y,0,0)}getDirectionTo(t){return this.x<t.x?this.y>t.y?p.RIGHT_UP:this.y===t.y?p.RIGHT:p.RIGHT_DOWN:this.x===t.x?this.y>t.y?p.UP:this.y===t.y?p.NO_DIRECTION:p.DOWN:this.y>t.y?p.LEFT_UP:this.y===t.y?p.LEFT:p.LEFT_DOWN}toString(){return"("+this.x+", "+this.y+")"}constructor(t=0,e=0){this.x=t,this.y=e}}class _{getPartsCoord(){return this._partsCoord}getOffsetCoord(){return this._offsetCoord}getScreenTopPosition(){var t=Math.floor(this._partsCoord.x/(V.H_PARTS_NUM_IN_WINDOW-1))*(V.H_PARTS_NUM_IN_WINDOW-1),e=Math.floor(this._partsCoord.y/(V.V_PARTS_NUM_IN_WINDOW-1))*(V.V_PARTS_NUM_IN_WINDOW-1);return new _(this._wwa,t,e,0,0)}getDefaultCameraPosition(){var t=this.getScreenTopPosition(),e=t.getPartsCoord(),s=this._wwa.getMapWidth(),a=t.getPartsCoord().clone();return e.x===s-1&&a.x--,e.y===s-1&&a.y--,a.convertIntoPosition(this._wwa).getScreenTopPosition()}getNextJustPosition(t){if(void 0!==t){var e=this._partsCoord;return new _(this._wwa,e.x+E[t],e.y+m[t],0,0)}var s=this._partsCoord.x,a=this._partsCoord.y;return this._offsetCoord.x<0?s--:this._offsetCoord.x>0&&s++,this._offsetCoord.y<0?a--:this._offsetCoord.y>0&&a++,new _(this._wwa,s,a,0,0)}getNextFramePosition(t,e,s){var a=this._partsCoord.x,i=this._partsCoord.y,r=this._offsetCoord.x+E[t]*e,n=this._offsetCoord.y+m[t]*s;if(r<0){var o=Math.floor(Math.abs(r)/V.CHIP_SIZE);a-=o,r=(r+o*V.CHIP_SIZE)%V.CHIP_SIZE}if(n<0){var h=Math.floor(Math.abs(n)/V.CHIP_SIZE);i-=h,n=(n+h*V.CHIP_SIZE)%V.CHIP_SIZE}return r>=V.CHIP_SIZE&&(a+=Math.floor(r/V.CHIP_SIZE),r=(r+V.CHIP_SIZE)%V.CHIP_SIZE),n>=V.CHIP_SIZE&&(i+=Math.floor(n/V.CHIP_SIZE),n=(n+V.CHIP_SIZE)%V.CHIP_SIZE),new _(this._wwa,a,i,r,n)}isJustPosition(){return 0==this._offsetCoord.x&&0==this._offsetCoord.y}isScreenTopPosition(){var t=this.getScreenTopPosition();return this.equals(t)}equals(t){return this._partsCoord.equals(t.getPartsCoord())&&this._offsetCoord.equals(t.getOffsetCoord())}isInCameraRange(t,e=!1){var s=t.getPosition()._partsCoord,a=this._partsCoord.x,i=this._partsCoord.y,r=e?1:0;return s.x<=a&&a<s.x+V.H_PARTS_NUM_IN_WINDOW-r&&s.y<=i&&i<s.y+V.V_PARTS_NUM_IN_WINDOW-r}hasLocalGate(){return this._wwa.getMapTypeByPosition(this)===V.MAP_LOCALGATE||this._wwa.getObjectTypeByPosition(this)===V.OBJECT_LOCALGATE}clone(){return new _(this._wwa,this._partsCoord.x,this._partsCoord.y,this._offsetCoord.x,this._offsetCoord.y)}constructor(t,e,s,a=0,i=0){if(this._wwa=t,void 0===this._wwa)throw new Error("WWAのインスタンスが存在しません. ");var r=this._wwa.getMapWidth();if(e<0||e>=r||e>=r-1&&a>0||s<0||s>=r||s>=r-1&&i>0)throw new Error("範囲外の座標です!! parts:("+e+", "+s+"), offset:("+a+", "+i+"), mapWidth = "+r);this._partsCoord=new c(e,s),this._offsetCoord=new c(a,i)}}class l{constructor(t,e,s){this.destPos=t.clone(),this.srcPos=e.clone(),this.srcSize=s.clone()}}class u{constructor(t,e,s,a,i){this.partsIDObj=t,this.x=e,this.y=s,this.isStatic=a,this.isFighting=i}}var d,p;!function(t){t[t.GOTO_WWA=0]="GOTO_WWA",t[t.BATTLE_REPORT=1]="BATTLE_REPORT",t[t.GAME_END=2]="GAME_END"}(d||(d={})),function(t){t[t.UNUSED=0]="UNUSED",t[t.LEFT=4]="LEFT",t[t.RIGHT=6]="RIGHT",t[t.DOWN=2]="DOWN",t[t.UP=8]="UP",t[t.LEFT_DOWN=1]="LEFT_DOWN",t[t.LEFT_UP=7]="LEFT_UP",t[t.RIGHT_DOWN=3]="RIGHT_DOWN",t[t.RIGHT_UP=9]="RIGHT_UP",t[t.NO_DIRECTION=5]="NO_DIRECTION"}(p||(p={}));const E=[0,-1,0,1,-1,0,1,-1,0,1],m=[0,1,1,1,0,0,0,-1,-1,-1];var g,w,f,v,S,A,y,T,I,C,D,O,N;!function(t){t[t.YES=0]="YES",t[t.NO=1]="NO",t[t.UNSELECTED=2]="UNSELECTED"}(g||(g={})),function(t){t[t.MAP=0]="MAP",t[t.OBJECT=1]="OBJECT",t[t.CHOICE_YES=2]="CHOICE_YES",t[t.CHOICE_NO=3]="CHOICE_NO"}(w||(w={})),function(t){t[t.NORMAL=0]="NORMAL",t[t.CAN_USE=1]="CAN_USE",t[t.NOT_DISAPPEAR=2]="NOT_DISAPPEAR"}(f||(f={})),function(t){t[t.MAP=1]="MAP",t[t.OBJECT=0]="OBJECT"}(v||(v={}));class P{constructor(){var t=window.navigator.userAgent;this.os=this._getOS(t),this.browser=this.getBrowser(t),this.device=this.getDevice()}_getOS(t){return t.match(/xbox/i)?S.XBOX:t.match(/windows/i)?S.WINDOWS:t.match(/macintosh/i)?"ontouchstart"in document?S.IOS:S.MACINTOSH:t.match(/iphone|ipad|ipod/i)?S.IOS:t.match(/oculus/i)?S.OCULUS:t.match(/android/i)?S.ANDROID:t.match(/nintendo/i)?S.NINTENDO:t.match(/playstation/i)?S.PLAY_STATION:t.match(/linux/i)?S.LINUX:S.OTHERS}getBrowser(t){return t.match(/chrome/i)?y.CHROME:t.match(/firefox/i)?y.FIREFOX:t.match(/safari/i)?y.SAFARI:y.OTHERS}getDevice(){switch(this.os){case S.WINDOWS:case S.MACINTOSH:case S.LINUX:return A.PC;case S.IOS:case S.ANDROID:return A.SP;case S.OCULUS:return A.VR;case S.NINTENDO:case S.PLAY_STATION:case S.XBOX:return A.GAME}return A.OTHERS}}!function(t){t[t.WINDOWS=1]="WINDOWS",t[t.MACINTOSH=2]="MACINTOSH",t[t.LINUX=3]="LINUX",t[t.ANDROID=4]="ANDROID",t[t.IOS=5]="IOS",t[t.NINTENDO=6]="NINTENDO",t[t.PLAY_STATION=7]="PLAY_STATION",t[t.OCULUS=8]="OCULUS",t[t.XBOX=9]="XBOX",t[t.OTHERS=9999]="OTHERS"}(S||(S={})),function(t){t[t.PC=1]="PC",t[t.SP=2]="SP",t[t.VR=3]="VR",t[t.GAME=4]="GAME",t[t.OTHERS=9999]="OTHERS"}(A||(A={})),function(t){t[t.CHROME=1]="CHROME",t[t.FIREFOX=2]="FIREFOX",t[t.SAFARI=3]="SAFARI",t[t.OTHERS=9999]="OTHERS"}(y||(y={})),function(t){t[t.NONE=0]="NONE",t[t.CALL_BY_MAP_PARTS=1]="CALL_BY_MAP_PARTS",t[t.CALL_BY_OBJECT_PARTS=2]="CALL_BY_OBJECT_PARTS",t[t.CALL_BY_ITEM_USE=3]="CALL_BY_ITEM_USE",t[t.CALL_BY_QUICK_SAVE=4]="CALL_BY_QUICK_SAVE",t[t.CALL_BY_QUICK_LOAD=5]="CALL_BY_QUICK_LOAD",t[t.CALL_BY_RESTART_GAME=6]="CALL_BY_RESTART_GAME",t[t.CALL_BY_GOTO_WWA=7]="CALL_BY_GOTO_WWA",t[t.CALL_BY_PASSWORD_SAVE=8]="CALL_BY_PASSWORD_SAVE",t[t.CALL_BY_PASSWORD_LOAD=9]="CALL_BY_PASSWORD_LOAD",t[t.CALL_BY_END_GAME=10]="CALL_BY_END_GAME",t[t.CALL_BY_SUSPEND=11]="CALL_BY_SUSPEND",t[t.CALL_BY_LOG_QUICK_SAVE=12]="CALL_BY_LOG_QUICK_SAVE",t[t.CALL_BY_LOG_QUICK_LOAD=13]="CALL_BY_LOG_QUICK_LOAD"}(T||(T={})),function(t){t[t.QUICK_LOAD=0]="QUICK_LOAD",t[t.QUICK_SAVE=1]="QUICK_SAVE",t[t.RESTART_GAME=2]="RESTART_GAME",t[t.GOTO_WWA=3]="GOTO_WWA"}(I||(I={})),function(t){t[t.UP=0]="UP",t[t.DOWN=1]="DOWN"}(C||(C={})),function(t){t[t.QUICK_LOAD=0]="QUICK_LOAD",t[t.RESTART_GAME=1]="RESTART_GAME",t[t.PASSWORD=2]="PASSWORD"}(D||(D={})),function(t){t[t.STATIC=0]="STATIC",t[t.CHASE_PLAYER=1]="CHASE_PLAYER",t[t.RUN_OUT=2]="RUN_OUT",t[t.HANG_AROUND=3]="HANG_AROUND"}(O||(O={})),function(t){t[t.MODE_X=0]="MODE_X",t[t.MODE_Y=1]="MODE_Y",t[t.UNDECIDED=2]="UNDECIDED"}(N||(N={}));var M,x=["cell-load","cell-save","cell-restart","cell-gotowwa"];!function(t){t[t.UNDEFINED=0]="UNDEFINED",t[t.IMGPLAYER=1]="IMGPLAYER",t[t.IMGYESNO=2]="IMGYESNO",t[t.HPMAX=3]="HPMAX",t[t.SAVE=4]="SAVE",t[t.ITEM=5]="ITEM",t[t.DEFAULT=6]="DEFAULT",t[t.OLDMAP=7]="OLDMAP",t[t.PARTS=8]="PARTS",t[t.MOVE=9]="MOVE",t[t.MAP=10]="MAP",t[t.DIRMAP=11]="DIRMAP",t[t.IMGFRAME=12]="IMGFRAME",t[t.IMGBOM=13]="IMGBOM",t[t.DELPLAYER=14]="DELPLAYER",t[t.FACE=15]="FACE",t[t.EFFECT=16]="EFFECT",t[t.GAMEOVER=17]="GAMEOVER",t[t.IMGCLICK=18]="IMGCLICK",t[t.STATUS=19]="STATUS",t[t.EFFITEM=20]="EFFITEM",t[t.COLOR=21]="COLOR",t[t.WAIT=22]="WAIT",t[t.SOUND=23]="SOUND",t[t.JUMPGATE=24]="JUMPGATE",t[t.RECPOSITION=25]="RECPOSITION",t[t.JUMPRECPOSITION=26]="JUMPRECPOSITION",t[t.CONSOLE_LOG=27]="CONSOLE_LOG",t[t.COPY_HP_TO=28]="COPY_HP_TO",t[t.SET_HP=29]="SET_HP",t[t.COPY_HPMAX_TO=30]="COPY_HPMAX_TO",t[t.SET_HPMAX=31]="SET_HPMAX",t[t.COPY_AT_TO=32]="COPY_AT_TO",t[t.SET_AT=33]="SET_AT",t[t.COPY_DF_TO=34]="COPY_DF_TO",t[t.SET_DF=35]="SET_DF",t[t.COPY_MONEY_TO=36]="COPY_MONEY_TO",t[t.SET_MONEY=37]="SET_MONEY",t[t.COPY_STEP_COUNT_TO=38]="COPY_STEP_COUNT_TO",t[t.VAR_SET_VAL=39]="VAR_SET_VAL",t[t.VAR_SET=40]="VAR_SET",t[t.VAR_ADD=41]="VAR_ADD",t[t.VAR_SUB=42]="VAR_SUB",t[t.VAR_MUL=43]="VAR_MUL",t[t.VAR_DIV=44]="VAR_DIV",t[t.VAR_SET_RAND=45]="VAR_SET_RAND",t[t.SHOW_STR=46]="SHOW_STR",t[t.GAME_SPEED=47]="GAME_SPEED",t[t.IF=50]="IF",t[t.SET_SPEED=51]="SET_SPEED",t[t.COPY_TIME_TO=52]="COPY_TIME_TO",t[t.HIDE_STATUS=53]="HIDE_STATUS",t[t.VAR_MAP=54]="VAR_MAP",t[t.VAR_MOD=55]="VAR_MOD",t[t.NO_GAMEOVER=56]="NO_GAMEOVER",t[t.ELSE_IF=57]="ELSE_IF",t[t.ELSE=58]="ELSE",t[t.END_IF=59]="END_IF",t[t.SET=60]="SET",t[t.MAP2=61]="MAP2",t[t.SHOW_STR2=62]="SHOW_STR2",t[t.CONSOLE_LOG2=63]="CONSOLE_LOG2",t[t.DELAYBGM=64]="DELAYBGM",t[t.SYSMSG=65]="SYSMSG",t[t.GAMEPAD_BUTTON=100]="GAMEPAD_BUTTON",t[t.OLDMOVE=101]="OLDMOVE",t[t.LEGACY_IF=10050]="LEGACY_IF"}(M||(M={}));var b,L,R,B={"":0,$imgplayer:1,$imgyesno:2,$hpmax:3,$save:4,$item:5,$default:6,$oldmap:7,$parts:8,$move:9,$map:10,$dirmap:11,$imgframe:12,$imgbom:13,$delplayer:14,$face:15,$effect:16,$gameover:17,$imgclick:18,$status:19,$effitem:20,$color:21,$wait:22,$sound:23,$jumpgate:24,$rec_pos:25,$jump_rec_pos:26,$console_log:27,$copy_hp_to:28,$set_hp:29,$copy_hpmax_to:30,$set_hpmax:31,$copy_at_to:32,$set_at:33,$copy_df_to:34,$set_df:35,$copy_money_to:36,$set_money:37,$copy_step_count_to:38,$var_set_val:39,$var_set:40,$var_add:41,$var_sub:42,$var_mul:43,$var_div:44,$var_set_rand:45,$show_str:46,$game_speed:47,$if:50,$set_speed:51,$copy_time_to:52,$hide_status:53,$var_map:54,$var_mod:55,$no_gameover:56,$else_if:57,$else:58,$endif:59,$set:60,$map2:61,$show_str2:62,$console_log2:63,$delaybgm:64,$sysmsg:65,$gamepad_button:100,$oldmove:101};!function(t){t[t.ENERGY=0]="ENERGY",t[t.STRENGTH=1]="STRENGTH",t[t.DEFENCE=2]="DEFENCE",t[t.GOLD=3]="GOLD",t[t.MOVES=4]="MOVES"}(b||(b={})),function(t){t[t.ENERGY=0]="ENERGY",t[t.STRENGTH=1]="STRENGTH",t[t.DEFENCE=2]="DEFENCE",t[t.GOLD=3]="GOLD",t[t.WIDE_CELL_ROW=4]="WIDE_CELL_ROW",t[t.ITEM_BG=5]="ITEM_BG",t[t.MAIN_FRAME=6]="MAIN_FRAME"}(L||(L={})),function(t){t[t.DECISION=1]="DECISION",t[t.ATTACK=3]="ATTACK",t[t.BGM_LB=70]="BGM_LB",t[t.NO_SOUND=99]="NO_SOUND"}(R||(R={}));const U=[1,2,5,8,10,20],k=["超低速","低速","準低速","中速","高速","超高速"],W=["energy","strength","defence","gold"];class V{}V.WWA_HOME="http://wwajp.com",V.ITEMBOX_SIZE=12,V.MAP_ATR_MAX=60,V.OBJ_ATR_MAX=60,V.OLD_MAP_ATR_MAX=40,V.OLD_OBJ_ATR_MAX=40,V.ATR_TYPE=3,V.ATR_MODE=4,V.ATR_STRING=5,V.ATR_X=6,V.ATR_Y=7,V.ATR_X2=8,V.ATR_Y2=9,V.ATR_ENERGY=10,V.ATR_STRENGTH=11,V.ATR_DEFENCE=12,V.ATR_GOLD=13,V.ATR_ITEM=14,V.ATR_NUMBER=15,V.ATR_JUMP_X=16,V.ATR_MOVE=16,V.ATR_JUMP_Y=17,V.ATR_SOUND=19,V.ATR_APPERANCE_BASE=20,V.REL_ATR_APPERANCE_ID=0,V.REL_ATR_APPERANCE_X=1,V.REL_ATR_APPERANCE_Y=2,V.REL_ATR_APPERANCE_TYPE=3,V.REL_ATR_APPERANCE_UNIT_LENGTH=4,V.ATR_RANDOM_BASE=10,V.RANDOM_ATR_NUM=10,V.RANDOM_ITERATION_MAX=10,V.MAP_STREET=0,V.MAP_WALL=1,V.MAP_LOCALGATE=2,V.MAP_URLGATE=4,V.OBJECT_NORMAL=0,V.OBJECT_MESSAGE=1,V.OBJECT_URLGATE=2,V.OBJECT_STATUS=3,V.OBJECT_ITEM=4,V.OBJECT_DOOR=5,V.OBJECT_MONSTER=6,V.OBJECT_SCORE=11,V.OBJECT_SELL=14,V.OBJECT_BUY=15,V.OBJECT_RANDOM=16,V.OBJECT_SELECT=17,V.OBJECT_LOCALGATE=18,V.SYSTEM_MESSAGE_NUM=20,V.IMGPOS_DEFAULT_YESNO_X=3,V.IMGPOS_DEFAULT_YESNO_Y=1,V.IMGRELPOS_YESNO_YES_X=0,V.IMGRELPOS_YESNO_NO_X=1,V.IMGRELPOS_YESNO_YESP_X=2,V.IMGRELPOS_YESNO_NOP_X=3,V.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0,V.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0,V.IMGPOS_DEFAULT_FRAME_X=0,V.IMGPOS_DEFAULT_FRAME_Y=1,V.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3,V.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3,V.DEFAULT_DISABLE_SAVE=!1,V.DEFAULT_OLDMAP=!1,V.DEFAULT_OBJECT_NO_COLLAPSE=!1,V.SPLASH_SCREEN_DISP_MILLS=100,V.DEFAULT_FRAME_INTERVAL=20,V.GAMEOVER_FRAME_INTERVAL=50,V.YESNO_PRESS_DISP_FRAME_NUM=20,V.WAIT_TIME_FRAME_NUM=6,V.CHIP_SIZE=40,V.MAP_WINDOW_WIDTH=440,V.MAP_WINDOW_HEIGHT=440,V.H_PARTS_NUM_IN_WINDOW=V.MAP_WINDOW_WIDTH/V.CHIP_SIZE,V.V_PARTS_NUM_IN_WINDOW=V.MAP_WINDOW_HEIGHT/V.CHIP_SIZE,V.MIN_SPEED_INDEX=0,V.MAX_SPEED_INDEX=U.length-1,V.QUICK_BATTLE_SPEED_INDECIES=[U.length-2,U.length-1],V.ANIMATION_REP_HALF_FRAME=22,V.PLAYER_LOOKING_AROUND_START_FRAME=4*V.ANIMATION_REP_HALF_FRAME,V.RELATIVE_COORD_BIAS=1e4,V.RELATIVE_COORD_LOWER=V.RELATIVE_COORD_BIAS-1e3,V.PLAYER_COORD=V.RELATIVE_COORD_BIAS-1e3,V.LOCALGATE_PLAYER_WAIT_FRAME=5,V.STATUS_CHANGED_EFFECT_FRAME_NUM=20,V.PASSABLE_OBJECT=1,V.APPERANCE_PARTS_MIN_INDEX=0,V.APPERANCE_PARTS_MAX_INDEX=9,V.APPERANCE_PARTS_MIN_INDEX_NO=5,V.APPERANCE_PARTS_MAX_INDEX_YES=4,V.FADEOUT_SPEED=8,V.STATUS_MINUS_BORDER=3e4,V.ITEMBOX_IS_FULL=-1,V.BATTLE_INTERVAL_FRAME_NUM=10,V.BATTLE_SPEED_CHANGE_TURN_NUM=40,V.RANDOM_MOVE_ITERATION_NUM=50,V.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31=8,V.BATTLE_ESTIMATE_MONSTER_TYPE_MAX=8,V.SOUND_MAX=100,V.ITEM_BORDER_IMG_DATA_URL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAArklEQVRYR+2Y0QqAIAxFt///aENJHwxxuJUSxzeh3S7HXaNpEkly4FIRzba0GEyHeVTN7jqDWvb7V4Y1NLibZIY0NbiL5G3MZLCe / 1fn3XJgJYjB7mgg6O1VCEKwXo79JeklY62nB62kRs9BEIKkeNIDhISQEBJC4k0BBCF4D7D4cV9shf99ixdB + MrM0y3fa3zV05D45GOqhwPMGPkYlccIOEY2VKUN0UNVXxC7ADj7mDi9aFZZAAAAAElFTkSuQmCC",V.LOAD_STAGE_MAX_EXCEPT_AUDIO=7,V.WWA_STYLE_TAG_ID="wwa-additional-style",V.DEFAULT_FRAME_COLOR_R=255,V.DEFAULT_FRAME_COLOR_G=255,V.DEFAULT_FRAME_COLOR_B=255,V.DEFAULT_FRAMEOUT_COLOR_R=96,V.DEFAULT_FRAMEOUT_COLOR_G=96,V.DEFAULT_FRAMEOUT_COLOR_B=96,V.DEFAULT_STRBACK_COLOR_R=0,V.DEFAULT_STRBACK_COLOR_G=0,V.DEFAULT_STRBACK_COLOR_B=0,V.DEFAULT_STATUS_COLOR_R=0,V.DEFAULT_STATUS_COLOR_G=0,V.DEFAULT_STATUS_COLOR_B=0,V.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM=20,V.WWAP_SERVER_OLD="http://wwawing.com/wwap",V.WWAP_SERVER="https://wwaphoenix.github.io",V.WWAP_SERVER_AUDIO_DIR="audio",V.WWAP_SERVER_TITLE_IMG="cover_p.gif",V.WWAP_SERVER_LOADER_NO_WORKER="wwaload.noworker.js",V.SCREEN_WIDTH=560,V.SCREEN_HEIGHT=440,V.LOADING_FONT="Times New Roman",V.MSG_STR_WIDTH=16,V.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME=20,V.ITEMBOX_TOP_Y=140,V.USER_VAR_NUM=256,V.USER_VAR_NUM_MAX_VALUE=9007199254740991,V.USET_VAR_NUM_MIN_VALUE=-9007199254740991,V.CONTROLL_WAIT_FRAME=6,V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM=10,V.FIGHT_DRAW_TURN=40;class F{}F.QUICK_SAVE_MAX=4,F.QUICK_SAVE_THUMNAIL_WIDTH=99,F.QUICK_SAVE_THUMNAIL_HEIGHT=99,F.SAVE_INTERVAL_MOVE=200,F.INDEXEDDB_DB_NAME="WWA_WING_DB",F.INDEXEDDB_TABLE_NAME="SAVE_TABLE",F.DATE_LAST_SAVE_TEXT_COLOR="rgba(255,255,0,1)";class Y{}Y.EMPTY_LOAD="",Y.EMPTY_SAVE="",Y.PASSWORD="Password",Y.QUICK_SAVE="Quick Save",Y.QUICK_LOAD="Quick Load",Y.BATTLE_REPORT="Battle Report",Y.GAME_END="Game End",Y.GOTO_WWA="Goto WWA",Y.RESTART_GAME="Restart Game";class G{}var H;!function(t){t[t.INIT=0]="INIT",t[t.MAP_LOAD=1]="MAP_LOAD",t[t.OBJ_LOAD=2]="OBJ_LOAD",t[t.MAP_ATTR=3]="MAP_ATTR",t[t.OBJ_ATTR=4]="OBJ_ATTR",t[t.RAND_PARTS=5]="RAND_PARTS",t[t.MESSAGE=6]="MESSAGE",t[t.GAME_INIT=7]="GAME_INIT",t[t.AUDIO=8]="AUDIO",t[t.FINISH=9]="FINISH"}(H||(H={}));var K,j,X,J,$,Z,q,z,Q,tt,et,st=["ロードの準備をしています。","背景パーツを読み込んでいます。","物体パーツを読み込んでます。","背景パーツの属性を読み込んでます。","物体パーツの属性を読み込んでます。","ランダムパーツを置換しています。","メッセージを読み込んでます。","Welcome to WWA Wing!"],at=["Welcome to WWA Wing!","Now Map Data Loading .....","Now CG Data Loading .....","Now Making chara CG ....."];!function(t){t[t.LINE=30]="LINE",t[t.TITLE_X=100]="TITLE_X",t[t.TITLE_Y=70]="TITLE_Y",t[t.LOADING_X=50]="LOADING_X",t[t.LOADING_Y=140]="LOADING_Y",t[t.ERROR_X=10]="ERROR_X",t[t.ERROR_Y=180]="ERROR_Y",t[t.FOOTER_X=160]="FOOTER_X",t[t.FOOTER_Y=360]="FOOTER_Y",t[t.WORLD_Y=330]="WORLD_Y",t[t.COPYRIGHT_Y=390]="COPYRIGHT_Y"}(K||(K={})),function(t){t[t.TITLE=32]="TITLE",t[t.LOADING=22]="LOADING",t[t.FOOTER=18]="FOOTER",t[t.ERRROR=16]="ERRROR"}(j||(j={})),function(t){t[t.COLOR_FRAME=0]="COLOR_FRAME",t[t.COLOR_FRAMEOUT=1]="COLOR_FRAMEOUT",t[t.COLOR_STR=2]="COLOR_STR",t[t.COLOR_STATUS_STR=4]="COLOR_STATUS_STR"}(X||(X={})),function(t){t[t.MESSAGE_WINDOW=0]="MESSAGE_WINDOW",t[t.SIDEBAR=1]="SIDEBAR"}(J||(J={})),function(t){t[t.BITSHIFT=16]="BITSHIFT",t[t.BITMASK=65535]="BITMASK"}($||($={})),function(t){t[t.NONE=0]="NONE",t[t.KEYDOWN=1]="KEYDOWN",t[t.KEYPRESS=2]="KEYPRESS",t[t.KEYUP=3]="KEYUP",t[t.KEYPRESS_MESSAGECHANGE=4]="KEYPRESS_MESSAGECHANGE"}(Z||(Z={})),function(t){t[t.KEY_ENTER=13]="KEY_ENTER",t[t.KEY_SHIFT=16]="KEY_SHIFT",t[t.KEY_ESC=27]="KEY_ESC",t[t.KEY_SPACE=32]="KEY_SPACE",t[t.KEY_LEFT=37]="KEY_LEFT",t[t.KEY_UP=38]="KEY_UP",t[t.KEY_RIGHT=39]="KEY_RIGHT",t[t.KEY_DOWN=40]="KEY_DOWN",t[t.KEY_1=49]="KEY_1",t[t.KEY_2=50]="KEY_2",t[t.KEY_3=51]="KEY_3",t[t.KEY_A=65]="KEY_A",t[t.KEY_B=66]="KEY_B",t[t.KEY_C=67]="KEY_C",t[t.KEY_D=68]="KEY_D",t[t.KEY_E=69]="KEY_E",t[t.KEY_F=70]="KEY_F",t[t.KEY_G=71]="KEY_G",t[t.KEY_H=72]="KEY_H",t[t.KEY_I=73]="KEY_I",t[t.KEY_J=74]="KEY_J",t[t.KEY_K=75]="KEY_K",t[t.KEY_L=76]="KEY_L",t[t.KEY_M=77]="KEY_M",t[t.KEY_N=78]="KEY_N",t[t.KEY_O=79]="KEY_O",t[t.KEY_P=80]="KEY_P",t[t.KEY_Q=81]="KEY_Q",t[t.KEY_R=82]="KEY_R",t[t.KEY_S=83]="KEY_S",t[t.KEY_T=84]="KEY_T",t[t.KEY_U=85]="KEY_U",t[t.KEY_V=86]="KEY_V",t[t.KEY_W=87]="KEY_W",t[t.KEY_X=88]="KEY_X",t[t.KEY_Y=89]="KEY_Y",t[t.KEY_Z=90]="KEY_Z",t[t.KEY_F1=112]="KEY_F1",t[t.KEY_F2=113]="KEY_F2",t[t.KEY_F3=114]="KEY_F3",t[t.KEY_F4=115]="KEY_F4",t[t.KEY_F5=116]="KEY_F5",t[t.KEY_F6=117]="KEY_F6",t[t.KEY_F7=118]="KEY_F7",t[t.KEY_F8=119]="KEY_F8",t[t.KEY_F9=120]="KEY_F9",t[t.KEY_F10=121]="KEY_F10",t[t.KEY_F12=123]="KEY_F12"}(q||(q={}));class it{checkHitKey(t){var e=this.getKeyState(t);return e===Z.KEYDOWN||e===Z.KEYPRESS}getKeyState(t){return this._prevKeyState[t]?this._keyState[t]?Z.KEYPRESS:Z.KEYUP:this._keyState[t]?Z.KEYDOWN:Z.NONE}getKeyStateForControllPlayer(t){return this._prevKeyStateOnControllable[t]?this._keyState[t]?Z.KEYPRESS:Z.KEYUP:this._keyState[t]?Z.KEYDOWN:Z.NONE}getKeyStateForMessageCheck(t){return this._prevKeyState[t]?this._keyState[t]?this._keyInputContinueFrameNum[t]>=V.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM?Z.KEYPRESS_MESSAGECHANGE:Z.KEYPRESS:Z.KEYUP:this._keyState[t]?Z.KEYDOWN:Z.NONE}setPressInfo(t){this._nextKeyState[t]=!0,this._keyInputContinueFrameNum[t]=-1}setReleaseInfo(t){this._nextKeyState[t]=!1,this._keyInputContinueFrameNum[t]=-1}update(){var t;for(this._prevKeyState=this._keyState.slice(),this._keyState=this._nextKeyState.slice(),t=0;t<it.KEY_BUFFER_MAX;t++)this._keyState[t]&&this._keyInputContinueFrameNum[t]++}memorizeKeyStateOnControllableFrame(){this._prevKeyStateOnControllable=this._keyState.slice()}allClear(){var t;for(this._nextKeyState=new Array(it.KEY_BUFFER_MAX),t=0;t<it.KEY_BUFFER_MAX;t++)this._nextKeyState[t]=!1}constructor(){var t;for(this._nextKeyState=new Array(it.KEY_BUFFER_MAX),this._keyState=new Array(it.KEY_BUFFER_MAX),this._prevKeyState=new Array(it.KEY_BUFFER_MAX),this._prevKeyStateOnControllable=new Array(it.KEY_BUFFER_MAX),this._keyInputContinueFrameNum=new Array(it.KEY_BUFFER_MAX),t=0;t<it.KEY_BUFFER_MAX;t++)this._nextKeyState[t]=!1,this._keyState[t]=!1,this._prevKeyState[t]=!1,this._prevKeyStateOnControllable[t]=!1,this._keyInputContinueFrameNum[t]=0}}it.KEY_BUFFER_MAX=256,function(t){t[t.NONE=0]="NONE",t[t.MOUSEDOWN=1]="MOUSEDOWN",t[t.MOUSEPRESS=2]="MOUSEPRESS",t[t.MOUSEUP=3]="MOUSEUP"}(z||(z={})),function(t){t[t.DIR_KEY=1]="DIR_KEY"}(Q||(Q={}));class rt{checkClickMouse(t){var e;return(e=void 0!==t?this.getMouseState(t):this.getMouseState())===z.MOUSEDOWN||e===z.MOUSEPRESS}getMouseState(t){return void 0!==t&&this._inputDir!==t?z.NONE:this._prevMouseState?this._mouseState?z.MOUSEPRESS:z.MOUSEUP:this._mouseState?z.MOUSEDOWN:z.NONE}getMouseStateForControllPlayer(t){return void 0!==t&&this._inputDir!==t?z.NONE:this._prevMouseStateOnControllable?this._mouseState?z.MOUSEPRESS:z.MOUSEUP:this._mouseState?z.MOUSEDOWN:z.NONE}setPressInfo(t,e){this._nextMouseState=!0,this._inputDir=t,this._touchID=e}setReleaseInfo(){this._touchID=0,this._nextMouseState=!1}touchIDIsSetDir(){return this._touchID===Q.DIR_KEY}memorizeMouseStateOnControllableFrame(){this._prevMouseStateOnControllable=this._mouseState}update(){this._prevMouseState=this._mouseState,this._mouseState=this._nextMouseState}clear(){this._nextMouseState=!1}getTouchID(){return this._touchID}constructor(){this._prevMouseState=!1,this._mouseState=!1,this._nextMouseState=!1}}!function(t){t[t.BUTTON_INDEX_B=0]="BUTTON_INDEX_B",t[t.BUTTON_INDEX_A=1]="BUTTON_INDEX_A",t[t.BUTTON_INDEX_Y=2]="BUTTON_INDEX_Y",t[t.BUTTON_INDEX_X=3]="BUTTON_INDEX_X",t[t.BUTTON_INDEX_L=4]="BUTTON_INDEX_L",t[t.BUTTON_INDEX_R=5]="BUTTON_INDEX_R",t[t.BUTTON_INDEX_ZL=6]="BUTTON_INDEX_ZL",t[t.BUTTON_INDEX_ZR=7]="BUTTON_INDEX_ZR",t[t.BUTTON_INDEX_MINUS=8]="BUTTON_INDEX_MINUS",t[t.BUTTON_INDEX_PLUS=9]="BUTTON_INDEX_PLUS",t[t.BUTTON_INDEX_LEFT_STICK=10]="BUTTON_INDEX_LEFT_STICK",t[t.BUTTON_INDEX_RIGHT_STICK=11]="BUTTON_INDEX_RIGHT_STICK",t[t.BUTTON_CROSS_KEY_UP=12]="BUTTON_CROSS_KEY_UP",t[t.BUTTON_CROSS_KEY_DOWN=13]="BUTTON_CROSS_KEY_DOWN",t[t.BUTTON_CROSS_KEY_LEFT=14]="BUTTON_CROSS_KEY_LEFT",t[t.BUTTON_CROSS_KEY_RIGHT=15]="BUTTON_CROSS_KEY_RIGHT"}(tt||(tt={})),function(t){t[t.AXES_L_HORIZONTAL_INDEX=0]="AXES_L_HORIZONTAL_INDEX",t[t.AXES_L_VERTICAL_INDEX=1]="AXES_L_VERTICAL_INDEX",t[t.AXES_R_HORIZONTAL_INDEX=2]="AXES_R_HORIZONTAL_INDEX",t[t.AXES_R_VERTICAL_INDEX=3]="AXES_R_VERTICAL_INDEX",t[t.AXES_CROSS_KEY=9]="AXES_CROSS_KEY"}(et||(et={}));class nt{constructor(){var t;for(this.gamepad=null,this.triggers=[],t=0;t<16;t++)this.triggers[t]=!1}update(){this.gamepad=null;var t=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[];if(t&&t.length>0&&t[0]){var e=t[0];this.gamepad=e}}buttonTrigger(...t){if(!this.gamepad)return!1;var e,s,a,i,r;for(s=t.length,e=0;e<s;e++){a=t[e];var n=this.gamepad.buttons[a];if(!n)return!1;if(i="object"==typeof n?!0===n.pressed:1===n,r=this.triggers[a],this.triggers[a]=i,i&&!r)return!0}return!1}buttonPressed(...t){if(!this.gamepad)return!1;var e,s,a;for(s=t.length,e=0;e<s;e++){a=t[e];var i=this.gamepad.buttons[a];if(!i)return!1;if("object"==typeof i?!0===i.pressed:1===i)return!0}return!1}crossPressed(...t){if(!this.gamepad)return!1;var e,s;for(s=t.length,e=0;e<s;e++)switch(t[e]){case tt.BUTTON_CROSS_KEY_UP:if(this.gamepad.axes[et.AXES_L_VERTICAL_INDEX]<=-.6||this.gamepad.axes[et.AXES_R_VERTICAL_INDEX]<=-.6||-1===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_UP))return!0;break;case tt.BUTTON_CROSS_KEY_DOWN:if(this.gamepad.axes[et.AXES_L_VERTICAL_INDEX]>=.7||this.gamepad.axes[et.AXES_R_VERTICAL_INDEX]>=.7||.1===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_DOWN))return!0;break;case tt.BUTTON_CROSS_KEY_LEFT:if(this.gamepad.axes[et.AXES_L_HORIZONTAL_INDEX]<=-.7||this.gamepad.axes[et.AXES_R_HORIZONTAL_INDEX]<=-.7||.7===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_LEFT))return!0;break;case tt.BUTTON_CROSS_KEY_RIGHT:if(this.gamepad.axes[et.AXES_L_HORIZONTAL_INDEX]>.6||this.gamepad.axes[et.AXES_R_HORIZONTAL_INDEX]>.6||-.5===this.stickFloor(et.AXES_CROSS_KEY)||this.buttonPressed(tt.BUTTON_CROSS_KEY_RIGHT))return!0}return!1}vibration(t){return!!this.gamepad&&(!!this.gamepad.vibrationActuator&&void(t?this.gamepad.vibrationActuator.playEffect("dual-rumble",{startDelay:0,duration:100,weakMagnitude:1,strongMagnitude:.5}):this.gamepad.vibrationActuator.playEffect("dual-rumble",{startDelay:0,duration:100,weakMagnitude:.5,strongMagnitude:1})))}stickFloor(...t){if(!this.gamepad)return 0;var e,s,a;for(s=t.length,e=0;e<s;e++){a=t[e];var i=this.gamepad.axes[a];return"number"!=typeof i?0:Math.floor(10*i)/10}return 0}}class ot{constructor(t=0){this.lastCalculatedTimeUnixMs=Date.now(),this.lastCalculatedPlayTimeMs=t}calculateTimeMs(){const t=Date.now(),e=t-this.lastCalculatedTimeUnixMs+this.lastCalculatedPlayTimeMs;return this.lastCalculatedTimeUnixMs=t,this.lastCalculatedPlayTimeMs=e,e}calculatePlayTimeFormat(){return ot.formatPlayTimeText(this.calculateTimeMs()/1e3)}static formatPlayTimeText(t){const e=Math.floor(t);return e>=36e6?"9999:99:99":("000"+(e/60/60|0)).slice(-4)+":"+("0"+(e/60|0)%60).slice(-2)+":"+("0"+e%60).slice(-2)}}const ht=["BUTTON_ENTER","BUTTON_ESC","BUTTON_SIDEBAR","BUTTON_FAST","BUTTON_SLOW","BUTTON_LEFT","BUTTON_UP","BUTTON_RIGHT","BUTTON_DOWN"],ct=["BUTTON_LEFT","BUTTON_UP","BUTTON_RIGHT","BUTTON_DOWN"],_t=new Set(ct);class lt{constructor(t,e=!1,s=null,a=null,i=null,r=null){if(this._enabled=null!==t,this._visible=e,this._onTouchStart=i||null,this._onTouchEnd=r||null,this._availableButtons=[],this._isTouchingButtons={},this._moveButtonsElement=a,this._buttonWrapperElement=s,this._setVisible(e),this._moveButtonsElement&&(this._moveButtonsElement.style.visibility="visible"),this._buttonWrapperElement&&(this._buttonWrapperElement.style.visibility="visible"),null!==t){for(const e in t){const s=t[e];if(!s)continue;const a=e;this._availableButtons.push(a),s.setAttribute("type",e),this._isTouchingButtons[a]={prev:!1,current:!1,next:!1};const i=t=>{t.cancelable&&t.preventDefault()},r=t=>{i(t),this.allClear()};s.addEventListener("touchstart",(t=>{i(t),this.setTouchInfo(a)})),s.addEventListener("touchcancel",r),lt.isMoveButton(a)?(s.addEventListener("touchmove",this._detectMovingMoveButton.bind(this)),s.addEventListener("touchend",this.allMoveClear.bind(this))):s.addEventListener("touchend",(t=>{i(t),this.clearTouchInfo(a)}))}null!==a&&a.addEventListener("touchmove",this._detectMovingMoveButton.bind(this))}}_detectMovingMoveButton(t){t.preventDefault(),this.allMoveClear();const e=t.targetTouches.item(0);if(!this._moveButtonsElement||null===e)return;const s=this._moveButtonsElement.getBoundingClientRect(),a=document.body.getBoundingClientRect(),i=s.left-a.left+s.width/2,r=s.top-a.top+s.height/2,n=e.pageX-i,o=e.pageY-r;n>=o?n<=-o?this.setTouchInfo("BUTTON_UP"):this.setTouchInfo("BUTTON_RIGHT"):n>=-o?this.setTouchInfo("BUTTON_DOWN"):this.setTouchInfo("BUTTON_LEFT")}_setVisible(t){null!==this._moveButtonsElement&&(this._moveButtonsElement.style.display=t?"grid":"none"),null!==this._buttonWrapperElement&&(this._buttonWrapperElement.style.display=t?"grid":"none"),this._visible=t}checkTouchButton(t){if(!this._enabled)return!1;return"TOUCH"===this.getButtonState(t)}checkTouchingButton(t){if(!this._enabled)return!1;const e=this.getButtonState(t);return"TOUCH"===e||"TOUCHING"===e}getButtonState(t){const e=this._isTouchingButtons[t];if(!this._enabled||void 0===e)return"NONE";const s=e.prev,a=e.current;return s&&a?"TOUCHING":a?"TOUCH":s?"LEAVE":"NONE"}setTouchInfo(t){const e=this._isTouchingButtons[t];this._enabled&&void 0!==e&&(e.next=!0)}clearTouchInfo(t){const e=this._isTouchingButtons[t];this._enabled&&void 0!==e&&(e.next=!1)}allMoveClear(){ct.forEach((t=>{this._availableButtons.includes(t)&&this.clearTouchInfo(t)}))}allClear(){this._availableButtons.forEach((t=>{if(void 0!==t){const e=this._isTouchingButtons[t];void 0!==e&&(e.next=!1)}}))}static isMoveButton(t){return _t.has(t)}update(){this._availableButtons.forEach((t=>{var e,s;if(void 0===t)return;const a=this._isTouchingButtons[t];if(void 0!==a)switch(this._isTouchingButtons[t].prev=a.current,this._isTouchingButtons[t].current=a.next,this.getButtonState(t)){case"TOUCH":null===(e=this._onTouchStart)||void 0===e||e.call(this,t);break;case"LEAVE":null===(s=this._onTouchEnd)||void 0===s||s.call(this,t)}}))}toggleVisible(){this._setVisible(!this._visible)}}function ut(){const t=document.querySelector("meta[name='viewport']"),e=window.innerWidth,s=window.innerHeight;let a="user-scalable=no";if(e>s){a=`width=${Math.floor(e/s*456)},${a}`}else e<=s&&(a=`width=576,${a}`);null==t||t.setAttribute("content",`${a}`)}var dt=t=>document.getElementById(t),pt=t=>document.getElementsByTagName(t),Et=t=>document.querySelector(t),mt=t=>document.querySelector(t),gt=t=>document.querySelectorAll(t),wt=(t,e)=>{var s,a,i=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,r=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;return s=t-dt("wwa-wrapper").offsetLeft+i,a=e-dt("wwa-wrapper").offsetTop+r,new c(s,a)},ft=t=>t.match(/^https?:\/\//)||t.match(/^\.\.\//)?t:location.href="./"+t,vt=t=>{var e="";if(t instanceof Array){for(var s=0;s<t.length;s++)e+=vt(t[s])+"/";return e}return t+""};const St=t=>t.split("").reverse().join("");function At(t,e){if("number"!=typeof t)throw new TypeError(`${e} が数値ではありません。`);return!0}function yt(t,e){if("string"==typeof t){const s=[...t];return e&&s.length>10?`"${s.slice(0,10).join("")}…`:`"${t}"`}return String(t)}class Tt{constructor(t,e,s){this.cvs=document.createElement("canvas"),this.cvs.width=t,this.cvs.height=e,this.ctx=this.cvs.getContext("2d",{alpha:s}),this._isTransparent=s}drawCanvas(t,e,s,a,i){this.ctx.drawImage(t,V.CHIP_SIZE*e,V.CHIP_SIZE*s,V.CHIP_SIZE,V.CHIP_SIZE,a,i,V.CHIP_SIZE,V.CHIP_SIZE)}clear(){this.clearRect(0,0,this.cvs.width,this.cvs.height)}clearRectWithLowerYLimit(t){this.clearRect(0,0,this.cvs.width,t)}clearRect(t,e,s,a){this._isTransparent?this.ctx.clearRect(t,e,s,a):(this.ctx.fillStyle="#9E9E9E",this.ctx.fillRect(t,e,s,a))}}class It{_load(){this._frameCoord,this._isLoaded||(this.mapCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this.mapObjectCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this._image=new Image,this._image.addEventListener("load",(()=>{this.createFrame(),this._loadCompleteCallBack()})),this._image.addEventListener("error",(()=>{throw new Error("Image Load Failed!!\nfile name:"+this._fileName)})),this._image.src=this._fileName,this._isLoaded=!0)}createFrame(){this._frameCanvas.clear(),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y,0,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y,V.MAP_WINDOW_WIDTH-V.CHIP_SIZE,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+2,0,V.MAP_WINDOW_HEIGHT-V.CHIP_SIZE),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+2,V.MAP_WINDOW_WIDTH-V.CHIP_SIZE,V.MAP_WINDOW_HEIGHT-V.CHIP_SIZE);for(var t=1;t<V.H_PARTS_NUM_IN_WINDOW-1;t++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y,V.CHIP_SIZE*t,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y+2,V.CHIP_SIZE*t,V.MAP_WINDOW_HEIGHT-V.CHIP_SIZE);for(t=1;t<V.V_PARTS_NUM_IN_WINDOW-1;t++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+1,0,V.CHIP_SIZE*t),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+1,V.MAP_WINDOW_WIDTH-V.CHIP_SIZE,V.CHIP_SIZE*t)}updateEffects(t){var e;if(t){var s,a=t.length;for(e=0;e<a;e++){var i=t[e];(s=this._effectCanvases[e])?s.clear():s=this._effectCanvases[e]=new Tt(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!0);for(var r=0;r<V.V_PARTS_NUM_IN_WINDOW;r++)for(var n=0;n<V.H_PARTS_NUM_IN_WINDOW;n++)s.drawCanvas(this._image,i.x,i.y,n*V.CHIP_SIZE,r*V.CHIP_SIZE)}}}drawFrame(){this._ctx.drawImage(this._frameCanvas.cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE,0,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2),0,V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2)),this._ctx.drawImage(this._frameCanvas.cvs,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2),V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-1),V.CHIP_SIZE,V.CHIP_SIZE,V.CHIP_SIZE*(V.H_PARTS_NUM_IN_WINDOW-2))}drawEffect(t){var e=this._effectCanvases[t];e&&this._ctx.drawImage(e.cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW)}drawCanvas(t,e,s,a){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e,V.CHIP_SIZE,V.CHIP_SIZE,s,a,V.CHIP_SIZE,V.CHIP_SIZE)}drawCanvasWithSize(t,e,s,a,i,r){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e,V.CHIP_SIZE*s,V.CHIP_SIZE*a,i,r,V.CHIP_SIZE*s,V.CHIP_SIZE*a)}drawCanvasWithUpperYLimit(t,e,s,a,i){if(!this._isLoaded)throw new Error("No image was loaded.");var r=Math.max(0,a+V.CHIP_SIZE-i);r>=V.CHIP_SIZE||this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e,V.CHIP_SIZE,V.CHIP_SIZE-r,s,a,V.CHIP_SIZE,V.CHIP_SIZE)}copyCanvas(t,e){return(s,a,i,r,n)=>{if(!this._isLoaded)throw new Error("No image was loaded.");const o=Math.max(0,e(r,n));o>=V.CHIP_SIZE||t.ctx.drawImage(this._image,V.CHIP_SIZE*s,V.CHIP_SIZE*a+o,V.CHIP_SIZE,V.CHIP_SIZE-o,i,r+o,V.CHIP_SIZE,V.CHIP_SIZE)}}copyBackCanvasWithUpperYLimit(t,e,s,a,i){this.copyCanvas(this._backCanvas,((t,e)=>t+V.CHIP_SIZE-e))(t,e,s,a,i)}copyBackCanvasWithLowerYLimit(t,e,s,a,i){this.copyCanvas(this._backCanvas,((t,e)=>e-t))(t,e,s,a,i)}copyObjectCanvasWithUpperYLimit(t,e,s,a,i,r){this.copyCanvas(this._objectCanvases[t],((t,e)=>t+V.CHIP_SIZE-e))(e,s,a,i,r)}copyObjectCanvasWithLowerYLimit(t,e,s,a,i,r){this.copyCanvas(this._objectCanvases[t],((t,e)=>e-t))(e,s,a,i,r)}drawBackCanvas(){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._backCanvas.cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW)}drawObjectCanvas(t){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._objectCanvases[t].cvs,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,0,0,V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW)}clearBackCanvas(){this._backCanvas.clear()}clearBackCanvasWithLowerYLimit(t){this._backCanvas.clearRectWithLowerYLimit(t)}clearObjectCanvases(){var t;for(t=0;t<2;t++)this._objectCanvases[t].clear()}clearObjectCanvasesWithLowerYLimit(t){var e;for(e=0;e<2;e++)this._objectCanvases[e].clearRectWithLowerYLimit(t)}drawCanvasWithLowerYLimit(t,e,s,a,i){if(!this._isLoaded)throw new Error("No image was loaded.");var r=Math.max(0,i-a);r>=V.CHIP_SIZE||this._ctx.drawImage(this._image,V.CHIP_SIZE*t,V.CHIP_SIZE*e+r,V.CHIP_SIZE,V.CHIP_SIZE-r,s,a+r,V.CHIP_SIZE,V.CHIP_SIZE)}clearCanvas(t,e,s,a){this._ctx.clearRect(t,e,s,a)}drawBase(t,e,s,a){this._ctx.fillStyle="#9E9E9E",this._ctx.fillRect(t,e,s,a)}setFrameImage(t){this._frameCoord=t,this.createFrame()}constructor(t,e,s,a){var i;for(this._isLoaded=!1,this.mapCache=void 0,this.mapObjectCache=void 0,this.mapCacheYLimit=0,this._frameCanvas=new Tt(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!0),this._backCanvas=new Tt(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!1),this._objectCanvases=[],this._effectCanvases=[],i=0;i<2;i++)this._objectCanvases[i]=new Tt(V.CHIP_SIZE*V.V_PARTS_NUM_IN_WINDOW,V.CHIP_SIZE*V.H_PARTS_NUM_IN_WINDOW,!0);this._ctx=t,this._fileName=e,this._loadCompleteCallBack=a,this._load(),this._frameCoord=s.clone(),this.cpPartsLog=new c(0,0)}}class Ct{constructor(t){this._position=null,this.reset(t)}setPlayer(t){this._player=t}isResetting(){return this._isResetting}getPosition(){return this._position}getPreviousPosition(){return this._positionPrev}resetPreviousPosition(){this._positionPrev=null}move(t){var e=U[this._player.getSpeedIndex()];this._position=this._position.getNextFramePosition(t,e*(V.H_PARTS_NUM_IN_WINDOW-1),e*(V.V_PARTS_NUM_IN_WINDOW-1))}getTransitionStepNum(){return this._transitionStep}advanceTransitionStepNum(){return++this._transitionStep,this._transitionStep===V.V_PARTS_NUM_IN_WINDOW&&(this._isResetting=!1,this._transitionStep=0),this._transitionStep}isFinalStep(){if(!1===this._isResetting)throw new Error("リセット中ではありません。");return this._transitionStep===V.V_PARTS_NUM_IN_WINDOW-1}reset(t){this._positionPrev=this._position,this._position=t.getDefaultCameraPosition(),this._transitionStep=0,this._isResetting=!0}}class Dt{getPosition(){return this._position}constructor(t){this._position=t}}class Ot extends Dt{constructor(t){super(t)}}var Nt;!function(t){t[t.CONTROLLABLE=0]="CONTROLLABLE",t[t.MOVING=1]="MOVING",t[t.CAMERA_MOVING=2]="CAMERA_MOVING",t[t.MESSAGE_WAITING=3]="MESSAGE_WAITING",t[t.LOCALGATE_JUMPED=4]="LOCALGATE_JUMPED",t[t.BATTLE=5]="BATTLE",t[t.ESTIMATE_WINDOW_WAITING=6]="ESTIMATE_WINDOW_WAITING",t[t.PASSWORD_WINDOW_WAITING=7]="PASSWORD_WINDOW_WAITING",t[t.LOCALGATE_JUMPED_WITH_MESSAGE=8]="LOCALGATE_JUMPED_WITH_MESSAGE"}(Nt||(Nt={}));class Pt extends Ot{move(){if(this.isControllable())this.controll(this._dir);else if(this._state===Nt.CAMERA_MOVING){try{this._camera.move(this._dir)}catch(t){}this._isOnCameraStopPosition()&&(this._state=Nt.CONTROLLABLE)}else if(this._state===Nt.MOVING){try{var t=this._position.getNextFramePosition(this._dir,U[this._speedIndex],U[this._speedIndex])}catch(t){}t.isJustPosition()&&(this._state=Nt.CONTROLLABLE,this.toggleMovingImage(),this._moves++,this._isPartsEventExecuted=!1,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._wwa.callMoveUserDefineFunction()),this._position=t}}controll(t){var e,s;if(this.isControllable()){this._isPreparedForLookingAround=!1,this._dir=t;try{e=this._position.getNextFramePosition(this._dir,U[this._speedIndex],U[this._speedIndex]),s=this._position.getNextJustPosition(t)}catch(t){return}if(this._isOnCameraMovingPosition()){if(0!==this._wwa.getMapIdByPosition(s)||this._wwa.isOldMap()||this._wwa.debug)try{this._camera.move(this._dir),this._state=Nt.CAMERA_MOVING}catch(t){this._state=Nt.CONTROLLABLE}return}if(!this.canMoveTo(s))return this._wwa.getMapTypeByPosition(s)===V.MAP_WALL&&this._wwa.checkMap(s.getPartsCoord()),void this._wwa.checkObject(s.getPartsCoord());this._position=e,this._state=Nt.MOVING,this._wwa.getMapAttributeByPosition(this._position.getNextJustPosition(t),V.ATR_TYPE)!==V.MAP_LOCALGATE&&this._wwa.moveObjects(!0)}}setDir(t){this._isPreparedForLookingAround=!1,this._dir=t}canMoveTo(t){if(null===t)return!1;if(this._wwa.debug)return!0;this._wwa.getMapWidth(),t.getPartsCoord(),t.getOffsetCoord();return!(0===this._wwa.getMapIdByPosition(t)&&!this._wwa.isOldMap())&&(this._wwa.getMapTypeByPosition(t)!==V.MAP_WALL&&(0===this._wwa.getObjectIdByPosition(t)||(this._wwa.getObjectTypeByPosition(t)===V.OBJECT_NORMAL&&this._wwa.getObjectAttributeByPosition(t,V.ATR_MODE)===V.PASSABLE_OBJECT||this._wwa.getObjectTypeByPosition(t)===V.OBJECT_DOOR&&this._wwa.getObjectAttributeByPosition(t,V.ATR_NUMBER)===V.PASSABLE_OBJECT&&!this.hasItem(this._wwa.getObjectAttributeByPosition(t,V.ATR_ITEM)))))}isMoving(){return this._state==Nt.MOVING||this._state==Nt.CAMERA_MOVING}_isOnCameraMovingPosition(){var t=this._camera.getPosition().getPartsCoord(),e=this.getPosition().getPartsCoord();return e.x-t.x==V.H_PARTS_NUM_IN_WINDOW-1&&this._dir===p.RIGHT||e.x===t.x&&this._dir===p.LEFT||e.y-t.y==V.V_PARTS_NUM_IN_WINDOW-1&&this._dir===p.DOWN||e.y===t.y&&this._dir===p.UP}_isOnCameraStopPosition(){var t=this._camera.getPosition().getPartsCoord(),e=this.getPosition().getPartsCoord();return e.x-t.x==V.H_PARTS_NUM_IN_WINDOW-1&&this._dir===p.LEFT||e.x===t.x&&this._dir===p.RIGHT||e.y-t.y==V.V_PARTS_NUM_IN_WINDOW-1&&this._dir===p.UP||e.y===t.y&&this._dir===p.DOWN}isControllable(){var t=this._afterMoveMacroFlag;return this._afterMoveMacroFlag=!1,this._state===Nt.CONTROLLABLE&&!this._partsAppeared&&(this._wwa.getMapTypeByPosition(this._position)!==V.MAP_LOCALGATE&&this._wwa.getMapTypeByPosition(this._position)!==V.MAP_URLGATE||!this._wwa.isPrevFrameEventExecuted())&&0===this._moveMacroWaitingRemainMoves&&0===this._moveObjectAutoExecTimer&&!t&&this._wwa.canInput()}getCopyOfItemBox(){return this._itemBox.slice()}getDir(){return this._dir}isMovingImage(){return this._isMovingImage}toggleMovingImage(){this._isMovingImage?this._isMovingImage=!1:this._isMovingImage=!0}getEnergyMax(){return this._energyMax}isJumped(){return this._state===Nt.LOCALGATE_JUMPED||this._state===Nt.LOCALGATE_JUMPED_WITH_MESSAGE}setMessageWaiting(){this._state=Nt.MESSAGE_WAITING}isWaitingMessage(){return this._state===Nt.MESSAGE_WAITING}isDelayFrame(){return this._messageDelayFrameCount>0}updateDelayFrame(){this._messageDelayFrameCount--}setDelayFrame(){this._messageDelayFrameCount=1}clearMessageWaiting(){this._state!==Nt.MESSAGE_WAITING&&this._state!==Nt.LOCALGATE_JUMPED_WITH_MESSAGE||(this._state===Nt.MESSAGE_WAITING?this._state=Nt.CONTROLLABLE:this._state===Nt.LOCALGATE_JUMPED_WITH_MESSAGE&&(this._state=Nt.LOCALGATE_JUMPED),this._isPartsEventExecuted=!0,this._isPreparedForLookingAround&&(this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME))}setEstimateWindowWating(){this._state=Nt.ESTIMATE_WINDOW_WAITING}isWaitingEstimateWindow(){return this._state===Nt.ESTIMATE_WINDOW_WAITING}clearEstimateWindowWaiting(){this._state===Nt.ESTIMATE_WINDOW_WAITING&&(this._state=Nt.CONTROLLABLE)}setPasswordWindowWating(){this._state=Nt.PASSWORD_WINDOW_WAITING}isWaitingPasswordWindow(){return this._state===Nt.PASSWORD_WINDOW_WAITING}clearPasswordWindowWaiting(){this._state===Nt.PASSWORD_WINDOW_WAITING&&(this._state=Nt.CONTROLLABLE)}isPartsEventExecuted(){return this._isPartsEventExecuted}resetEventExecutionInfo(){this._isPartsEventExecuted=!1}getLastExecPartsIDOnSamePosition(t){return t===v.MAP?this._samePosLastExecutedMapID:this._samePosLastExecutedObjID}setLastExecInfoOnSamePosition(t,e){t===v.MAP?this._samePosLastExecutedMapID=e:this._samePosLastExecutedObjID=e}processAfterJump(){this._state!==Nt.LOCALGATE_JUMPED&&this._state!==Nt.LOCALGATE_JUMPED_WITH_MESSAGE||0==--this._jumpWaitFramesRemain&&(this._state=this._state===Nt.LOCALGATE_JUMPED?Nt.CONTROLLABLE:Nt.MESSAGE_WAITING)}jumpTo(t){var e=this._camera.getPosition();this.getPosition();return!this._position.equals(t)&&(this._position=t,t.isInCameraRange(this._camera,!0)||this._camera.reset(t),this._state=this._state===Nt.MESSAGE_WAITING?Nt.LOCALGATE_JUMPED_WITH_MESSAGE:Nt.LOCALGATE_JUMPED,this._jumpWaitFramesRemain=V.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,t.hasLocalGate()?this._dir=p.DOWN:t.getPartsCoord().y<=this._wwa.getMapWidth()-2&&t.getNextJustPosition(p.DOWN).hasLocalGate()?this._dir=p.UP:t.getPartsCoord().y>=1&&t.getNextJustPosition(p.UP).hasLocalGate()?this._dir=p.DOWN:t.getPartsCoord().x<=this._wwa.getMapWidth()-2&&t.getNextJustPosition(p.RIGHT).hasLocalGate()?this._dir=p.LEFT:t.getPartsCoord().x>=1&&t.getNextJustPosition(p.LEFT).hasLocalGate()?this._dir=p.RIGHT:this._dir=p.DOWN,this._camera.getPosition().equals(e)||(this._isPreparedForLookingAround=!0,this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME),this._wwa.callJumpGateUserDefineFunction(),!0)}systemJumpTo(t){this._position=t,this._camera.reset(t),this._camera.resetPreviousPosition(),this._state=Nt.LOCALGATE_JUMPED,this._jumpWaitFramesRemain=V.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._dir=p.DOWN,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME}addStatusAll(t){return this._status.add(t),this.isDead()&&(this._status.energy=0),0!==this._energyMax&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),this._status}setEnergyMax(t){return this._energyMax=t,0!==t&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),t}setEnergy(t){return this._status.energy=t,this.isDead()&&(this._status.energy=0),0!==this._energyMax&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),t}damage(t){this._status.energy=Math.max(0,this._status.energy-t),this.isDead()&&(this._status.energy=0),0!==this._energyMax&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox()}setStrength(t){return this._status.strength=t,this.updateStatusValueBox(),t}setDefence(t){return this._status.defence=t,this.updateStatusValueBox(),t}setGold(t){return this._status.gold=t,this.updateStatusValueBox(),t}getStatus(){return this._status.plus(this._equipStatus)}getStatusWithoutEquipments(){return this._status.plus(new o(0,0))}getStatusOfEquipments(){return this._equipStatus.plus(new o(0,0))}updateStatusValueBox(){var t;const e=this._status.plus(this._equipStatus);this._energyValueElement.textContent=this._wwa.isVisibleStatus("energy")?String(e.energy):"",this._strengthValueElement.textContent=this._wwa.isVisibleStatus("strength")?String(e.strength):"",this._defenceValueElement.textContent=this._wwa.isVisibleStatus("defence")?String(e.defence):"",this._goldValueElement.textContent=this._wwa.isVisibleStatus("gold")?String(e.gold):"",null===(t=this._wwa._messageWindow)||void 0===t||t.update(),this._wwa.updateScore()}updateItemBox(t){for(let e=0;e<this._itemBoxElement.length;e++){const s=this._itemBoxElement[e],a=Et("#item"+e);if(0===this._itemBox[e]){s.style.backgroundPosition="-40px 0px",this.disposeItemEffect(e,this._itemBoxElement[e],a);continue}const i=this._wwa.getObjectCropXById(this._itemBox[e]),r=this._wwa.getObjectCropYById(this._itemBox[e]);if(!t||e!==t.insertPos-1){s.style.backgroundPosition="-"+i+"px -"+r+"px",this.disposeItemEffect(e,this._itemBoxElement[e],a);continue}const n=t.itemScreenPixelCoord.x-t.itemBoxScreenPixelCoord.x,o=t.itemScreenPixelCoord.y-t.itemBoxScreenPixelCoord.y,h=-n*V.DEFAULT_FRAME_INTERVAL/V.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME,c=0===t.overwrittenObjectId||void 0===t.overwrittenObjectId,_=c?t.itemBoxBackgroundImageCoord.x:this._wwa.getObjectCropXById(t.overwrittenObjectId),l=c?t.itemBoxBackgroundImageCoord.y:this._wwa.getObjectCropYById(t.overwrittenObjectId);s.style.left=n+"px",s.style.top=o+"px","number"==typeof this.itemEffectStartTimers[e]&&clearInterval(this.itemEffectStartTimers[e]),this.itemEffectStartTimers[e]=window.setTimeout((()=>{this.itemEffectStartTimers[e]=void 0,this.startItemEffect(e,s,a,{target:{x:i,y:r},overwritten:{x:_,y:l}},h)}),V.DEFAULT_FRAME_INTERVAL)}}startItemEffect(t,e,s,a,i){const r=s.querySelector(this.overwittenItemSelector);r&&s.removeChild(r);const n=document.createElement("div");n.classList.add(this.overwittenItemClassName),n.style.backgroundPosition="-"+a.overwritten.x+"px -"+a.overwritten.y+"px",n.style.backgroundImage=s.style.backgroundImage,s.appendChild(n),e.style.backgroundPosition="-"+a.target.x+"px -"+a.target.y+"px",e.style.transitionDuration=i+"ms",e.style.transitionProperty="left,top",e.style.transitionTimingFunction="linear",e.style.left="0",e.style.top="0",s.classList.add(this.itemTransitioningClassName),e.addEventListener("transitionend",(()=>{this.disposeItemEffect(t,e,s)}),{once:!0})}disposeItemEffect(t,e,s){"number"==typeof this.itemEffectStartTimers[t]&&(clearInterval(this.itemEffectStartTimers[t]),this.itemEffectStartTimers[t]=void 0),e.style.transitionDuration="0s",e.style.transitionProperty="",e.style.left="0",e.style.top="0",s.classList.contains(this.itemTransitioningClassName)&&s.classList.remove(this.itemTransitioningClassName);const a=s.querySelector(this.overwittenItemSelector);a&&s.removeChild(a)}isDead(){return this._status.energy<=0}addItem(t,e=0,s=!1,a){var i,r,n,o=this._wwa.getObjectAttributeById(t,V.ATR_NUMBER),h=0;if(0===e&&0!==o&&(e=o),0===e){if(0===t)return;if((i=this._getBlankItemPos())===V.ITEMBOX_IS_FULL)throw this._wwa.setEvalCalcWwaNodeEarnedItem(t,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),new Error("これ以上、アイテムを持てません。");h=this._itemBox[i-1],this._forceSetItemBox(i,t)}else if(!1===s)if(i=e,n=this._itemBox[i-1],this._wwa.getObjectAttributeById(n,V.ATR_NUMBER)!==this._wwa.getObjectAttributeById(t,V.ATR_NUMBER)){if((r=this._getBlankItemPos())===V.ITEMBOX_IS_FULL)throw this._wwa.setEvalCalcWwaNodeEarnedItem(t,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),new Error("これ以上、アイテムを持てません。");this._forceSetItemBox(r,n),this._forceSetItemBox(i,t)}else h=this._itemBox[i-1],this._forceSetItemBox(i,t);else i=e,h=this._itemBox[i-1],this._forceSetItemBox(i,t);this._updateEquipmentStatus(),this.updateItemBox(a?{insertPos:i,itemScreenPixelCoord:a.screenPixelCoord,itemBoxBackgroundImageCoord:a.itemBoxBackgroundImageCoord,itemBoxScreenPixelCoord:new c(V.MAP_WINDOW_WIDTH+(i-1)%3*V.CHIP_SIZE,V.ITEMBOX_TOP_Y+Math.floor((i-1)/3)*V.CHIP_SIZE),overwrittenObjectId:h}:void 0)}_forceSetItemBox(t,e){var s=this,i=mt("#item"+(t-1)+">.item-click-border"),r=this._wwa.getObjectAttributeById(e,V.ATR_MODE);if(this.removeItemByItemPosition(t),this._itemBox[t-1]=e,this._wwa.setEvalCalcWwaNodeEarnedItem(e,t),this._wwa.callGetItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),0!==e&&r!==f.NORMAL){const e=this._wwa.resolveSystemMessage(a.ITEM_SELECT_TUTORIAL);this._isClickableItemGot||("BLANK"!==e&&this._wwa.generatePageAndReserveExecution(e,!1,!0),this._isClickableItemGot=!0),i.style.display="block",(t=>{s._itemUsingEvent[t-1]=()=>{(s.isControllable()||s._wwa._messageWindow.isItemMenuChoice())&&(s._wwa._itemMenu.close(),s._wwa._setNextPage(),s._wwa.onselectitem(t))}})(t),i.addEventListener("click",this._itemUsingEvent[t-1])}}_getBlankItemPos(){var t;for(t=1;t<this._itemBox.length+1;t++)if(0===this._itemBox[t-1])return t;return V.ITEMBOX_IS_FULL}_updateEquipmentStatus(){var t,e=new o(0,0);for(t=0;t<V.ITEMBOX_SIZE;t++)0!==this._itemBox[t]&&(e.strength+=this._wwa.getObjectAttributeById(this._itemBox[t],V.ATR_STRENGTH),e.defence+=this._wwa.getObjectAttributeById(this._itemBox[t],V.ATR_DEFENCE));var s=e.minus(this._equipStatus);this._wwa.setStatusChangedEffect(s),this._equipStatus=e,this.updateStatusValueBox()}hasItem(t){for(var e=0;e<V.ITEMBOX_SIZE;e++)if(this._itemBox[e]===t)return!0;return!1}canUseItem(t){var e=this._itemBox[t-1];return 0!==e&&this._wwa.getObjectAttributeById(e,V.ATR_MODE)!==f.NORMAL}useItem(){var t;t=this._itemBox[this._readyToUseItemPos-1],this._wwa.getObjectAttributeById(t,V.ATR_MODE)!==f.NOT_DISAPPEAR&&this.removeItemByItemPosition(this._readyToUseItemPos);var e=dt("item"+(this._readyToUseItemPos-1));return setTimeout((()=>{e.classList.contains("onpress")&&e.classList.remove("onpress")}),V.DEFAULT_FRAME_INTERVAL),this._wwa.setEvalCalcWwaNodeEarnedItem(t,this._readyToUseItemPos-1),this._wwa.callUseItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),this._isReadyToUseItem=!1,this._readyToUseItemPos=void 0,t}canHaveMoreItems(){return this._getBlankItemPos()!==V.ITEMBOX_IS_FULL}removeItemByItemPosition(t){var e;0!==this._itemBox[t-1]&&(this._wwa.getObjectAttributeById(this._itemBox[t-1],V.ATR_MODE)!==f.NORMAL&&((e=mt("#item"+(t-1)+">.item-click-border")).removeEventListener("click",this._itemUsingEvent[t-1]),e.style.display="none"),this._itemBox[t-1]=0,this._updateEquipmentStatus(),this.updateItemBox())}removeItemByPartsID(t){var e;if(!this.hasItem(t))throw new Error("アイテムを持っていない");for(var s=0;s<V.ITEMBOX_SIZE;s++)if(this._itemBox[s]===t)return this._wwa.getObjectAttributeById(this._itemBox[s],V.ATR_MODE)!==f.NORMAL&&((e=mt("#item"+s+">.item-click-border")).removeEventListener("click",this._itemUsingEvent[s]),e.style.display="none"),this._itemBox[s]=0,this._updateEquipmentStatus(),void this.updateItemBox()}clearItemBox(){for(var t=1;t<=V.ITEMBOX_SIZE;t++)this.removeItemByItemPosition(t);this._updateEquipmentStatus(),this.updateItemBox()}hasGold(t){return this._status.gold>=t}payGold(t){if(!this.hasGold(t))throw new Error("お金が足りない");this.setGold(this._status.gold-t)}earnGold(t){this.setGold(this._status.gold+t)}setPartsAppearedFlag(){this._partsAppeared=!0}clearPartsAppearedFlag(){this._partsAppeared=!1}isPartsAppearedTime(){return!0===this._partsAppeared}startBattleWith(t){this._isPlayerTurn=!0,this._battleFrameCounter=V.BATTLE_INTERVAL_FRAME_NUM,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=t,this._state=Nt.BATTLE}isFighting(){return this._state===Nt.BATTLE}isTurn(){return this._isPlayerTurn}getTurnNum(){return this._battleTurnLength}isBattleStartFrame(){return this._battleFrameCounter===V.BATTLE_INTERVAL_FRAME_NUM&&0===this._battleTurnLength}calcBattleResultForPlayerTurn(t,e,s=!1){const a=this._wwa.callUserDefinedBattleDamageFunction("playerToEnemy",s?{playerStatus:t,enemyStatus:e}:void 0);return a||{damage:this._calcDamageDefault(t,e)}}calcBattleResultForEnemyTurn(t,e,s=!1){const a=this._wwa.callUserDefinedBattleDamageFunction("enemyToPlayer",s?{playerStatus:e,enemyStatus:t}:void 0);return a||{damage:this._calcDamageDefault(t,e)}}_calcDamageDefault(t,e){const s=t.strength-e.defence;return s>0?s:0}fight(){if(!this.isFighting())throw new Error("バトルが開始されていません。");if(0===this._battleTurnLength&&this._battleFrameCounter===V.BATTLE_INTERVAL_FRAME_NUM&&this._wwa.showMonsterWindow(),--this._battleFrameCounter>0)return;this._battleTurnLength++,this._wwa.isBattleSpeedIndexForQuickBattle(this._speedIndex)||this._battleTurnLength>V.BATTLE_SPEED_CHANGE_TURN_NUM?(1===this._battleTurnLength&&(this._wwa.playSound(R.ATTACK),this._wwa.vibration(!1)),this._battleFrameCounter=1):(this._battleFrameCounter=V.BATTLE_INTERVAL_FRAME_NUM,this._wwa.playSound(R.ATTACK),this._wwa.vibration(!0));var t=this.getStatus(),e=this._enemy.status;let s=!1;if(this._isPlayerTurn){if(1===this._battleTurnLength&&this._wwa.isUsingDefaultDamageCalcFunction()&&t.strength<=e.defence&&t.defence>=e.strength){this._enemy.battleEndProcess();const t=this._wwa.resolveSystemMessage(a.CANNOT_DAMAGE_MONSTER);return"BLANK"!==t&&this._wwa.generatePageAndReserveExecution(t,!1,!0),this._battleTurnLength=0,this._enemy=null,void(this._state=Nt.CONTROLLABLE)}const{damage:i,aborted:r}=this.calcBattleResultForPlayerTurn(t,e);this._enemy.damage(i),s=Boolean(r),this._enemy.status.energy<=0&&(this._wwa.playSound(this._wwa.getObjectAttributeById(this._enemy.partsID,V.ATR_SOUND)),this.earnGold(e.gold),this._wwa.setStatusChangedEffect(new h(0,0,0,e.gold)),0!==this._enemy.item?this._wwa.setPartsOnPosition(v.OBJECT,this._enemy.item,this._enemy.position):this._wwa.setPartsOnPosition(v.OBJECT,0,this._enemy.position),this._wwa.reserveAppearPartsInNextFrame(this._enemy.position,w.OBJECT,this._enemy.partsID),this._state=Nt.CONTROLLABLE,this._wwa.generatePageAndReserveExecution(this._enemy.message,!1,!1,this._enemy.partsID,v.OBJECT,this._enemy.position),this._enemy.battleEndProcess(),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null),null!==this._enemy&&(0===i?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0),this._isPlayerTurn=!1}else{const{damage:a,aborted:i}=this.calcBattleResultForEnemyTurn(e,t);this.damage(a),s=Boolean(i),this._status.energy<=0&&(this.setEnergy(0),this._enemy.battleEndProcess(),this._state=Nt.CONTROLLABLE,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null,this._wwa.shouldApplyGameOver({isCalledByMacro:!1})&&this._wwa.gameover()),0===a?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0,this._isPlayerTurn=!0}if(this._battleNoDamageTurnLength>V.FIGHT_DRAW_TURN||s){this._enemy.battleEndProcess();const t=this._wwa.resolveSystemMessage(a.BATTLE_NOT_SETTLED);"BLANK"!==t&&this._wwa.generatePageAndReserveExecution(t,!1,!0),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null}}readyToUseItem(t){var e;if(!this.canUseItem(t))throw new Error("アイテムがないか、アイテムが使えません。");e=this._itemBox[t-1],this._wwa.getObjectAttributeById(e,V.ATR_STRING),this._wwa.reserveAppearPartsInNextFrame(this._position.getPartsCoord(),w.OBJECT,e),this._readyToUseItemPos=t,this._isReadyToUseItem=!0}isReadyToUseItem(){return this._isReadyToUseItem}getDrawingCenterPosition(){var t=this._position.getPartsCoord(),e=this._position.getOffsetCoord(),s=this._camera.getPosition(),a=s.getPartsCoord(),i=s.getOffsetCoord(),r=(t.x-a.x)*V.CHIP_SIZE+e.x-i.x+V.CHIP_SIZE/2,n=(t.y-a.y)*V.CHIP_SIZE+e.y-i.y+V.CHIP_SIZE/2;return new c(r,n)}mainFrameCount(){this._frameCount++}getFrameCount(){return this._frameCount}setFrameCount(t){return"number"!=typeof t&&(t=0),this._frameCount=t}getMoveCount(){return this._moves}setMoveCount(t){return this._moves=t}isMoveObjectAutoExecTime(){return 0===this._moveObjectAutoExecTimer}setMoveMacroWaiting(t){t<0||(this._moveMacroWaitingRemainMoves=t,this._moveObjectAutoExecTimer=0)}resetMoveObjectAutoExecTimer(){this._moveObjectAutoExecTimer=V.CHIP_SIZE/U[this._speedIndex],this._moveMacroWaitingRemainMoves--}decrementMoveObjectAutoExecTimer(){return this._moveMacroWaitingRemainMoves>=0&&this._moveObjectAutoExecTimer>0&&(this._moveObjectAutoExecTimer--,0===this._moveMacroWaitingRemainMoves&&0===this._moveObjectAutoExecTimer&&(this._afterMoveMacroFlag=!0)),0}isWaitingMoveMacro(){return 0!==this._moveMacroWaitingRemainMoves||0!==this._moveObjectAutoExecTimer}decrementLookingAroundTimer(){return this._isPreparedForLookingAround&&this._lookingAroundTimer>0?--this._lookingAroundTimer:0}isLookingAround(){return this._isPreparedForLookingAround&&0===this._lookingAroundTimer}getSpeedIndex(){return this._speedIndex}speedUp(){return this._speedIndex=Math.min(V.MAX_SPEED_INDEX,this._speedIndex+1)}speedDown(){return this._speedIndex=Math.max(V.MIN_SPEED_INDEX,this._speedIndex-1)}setSpeedIndex(t){if(t<V.MIN_SPEED_INDEX||V.MAX_SPEED_INDEX<t)throw new Error("#set_speed の引数が異常です:"+t);return this._speedIndex=t,this._speedIndex}constructor(t,e,s,a,i,r,n){super(e),this.itemTransitioningClassName="item-transitioning",this.overwittenItemClassName="item-overwritten",this.overwittenItemSelector=`.${this.overwittenItemClassName}`,this.itemEffectStartTimers=new Array(V.ITEMBOX_SIZE),this._status=a,this._equipStatus=new o(0,0),this._itemBox=new Array(V.ITEMBOX_SIZE),this._itemBoxElement=new Array(V.ITEMBOX_SIZE),this._itemUsingEvent=new Array(V.ITEMBOX_SIZE);for(var h=0;h<this._itemBox.length;h++)this._itemBox[h]=0,this._itemBoxElement[h]=mt("#item"+h+">.item-disp");this.updateItemBox(),this._energyMax=i,this._dir=p.DOWN,this._isMovingImage=!1,this._wwa=t,this._state=Nt.CONTROLLABLE,this._camera=s,this._isPartsEventExecuted=!1,this._energyValueElement=mt("#disp-energy>.status-value-box"),this._strengthValueElement=mt("#disp-strength>.status-value-box"),this._defenceValueElement=mt("#disp-defence>.status-value-box"),this._goldValueElement=mt("#disp-gold>.status-value-box"),this._isReadyToUseItem=!1,this._isClickableItemGot=!1,this._moves=r,this._moveMacroWaitingRemainMoves=0,this._moveObjectAutoExecTimer=0,this.updateStatusValueBox(),this._partsAppeared=!1,this._afterMoveMacroFlag=!1,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=V.PLAYER_LOOKING_AROUND_START_FRAME,this._speedIndex=n,this._messageDelayFrameCount=0,this._battleNoDamageTurnLength=0}}class Mt{constructor(t,e,s,a,i,r,n){this._partsID=t,this._position=e,this._imgCoord=s,this._status=a,this._message=i,this._item=r,this._battleEndCallback=n}get partsID(){return this._partsID}get position(){return this._position}get imgCoord(){return this._imgCoord}get status(){return this._status}get message(){return this._message}get item(){return this._item}damage(t){this._status.energy=Math.max(0,this._status.energy-t)}battleEndProcess(){var t;null===(t=this._battleEndCallback)||void 0===t||t.call(this)}setStatus(t){null!==t.energy&&(this._status.energy=t.energy),null!==t.strength&&(this._status.strength=t.strength),null!==t.defence&&(this._status.defence=t.defence)}clone(){return new Mt(this._partsID,this._position.clone(),this._imgCoord.clone(),this._status.clone(),this._message,this._item,this._battleEndCallback)}}class xt{constructor(t,e,s,a,i){this._player=t,this._objectID=e,this._srcPos=s,this._destPos=a,this._dir=i,this._currentPos=this._srcPos.clone()}update(){var t=this._player.getSpeedIndex();return this._currentPos=this._currentPos.getNextFramePosition(this._dir,U[t],U[t]),this._currentPos}get isAchievedDestination(){return this._currentPos.equals(this._destPos)}get currentPosition(){return this._currentPos}get beforePosition(){return this._srcPos}get destination(){return this._destPos}get objID(){return this._objectID}}class bt{constructor(t,e){this._wwa=t,this._player=e,this.clear()}add(t,e,s,a){this._queue.push(new xt(this._player,t,e,s,a))}update(){for(var t=[],e=[],s=0;s<this._queue.length;s++)this._queue[s].update(),this._queue[s].isAchievedDestination?(t.push(this._queue[s]),this._wwa.setPartsOnPosition(v.OBJECT,0,this._queue[s].beforePosition.getPartsCoord()),this._wwa.setPartsOnPosition(v.OBJECT,this._queue[s].objID,this._queue[s].destination.getPartsCoord())):e.push(this._queue[s]);return this._queue=e,t}clear(){this._queue=[]}get objectMovingData(){return this.objectMovingData}getOffsetByBeforePartsCoord(t){var e=this._queue.filter((e=>e.beforePosition.getPartsCoord().equals(t)));return 0===e.length?null:e[0].currentPosition.getOffsetCoord()}}function Lt(t,e,s=0){if("boolean"==typeof t)return t;const a=Rt(t.left,e,s),i=Rt(t.right,e,s);return function(t,e,s){switch(t){case">":return e>s;case"<":return e<s;case">=":return e>=s;case"<=":return e<=s;case"==":return e===s;case"!=":return e!==s;default:return!1}}(t.operator,a,i)}function Rt(t,e,s=0){switch(t.type){case"HP":return e.totalStatus.energy;case"HPMAX":return e.energyMax;case"AT":return e.bareStatus.strength;case"AT_TOTAL":return e.totalStatus.strength;case"AT_ITEMS":return e.itemStatus.strength;case"DF":return e.bareStatus.defence;case"DF_TOTAL":return e.totalStatus.defence;case"DF_ITEMS":return e.itemStatus.defence;case"GD":return e.totalStatus.gold;case"STEP":return e.moveCount;case"VARIABLE":{const s=e.userVars[t.index];return At(s,`v${t.index}`)?s:0}case"MAP":return t.y<0||t.y>=e.map.length||t.x<0||t.x>=e.map[t.y].length?0:e.map[t.y][t.x];case"OBJECT":return t.y<0||t.y>=e.mapObject.length||t.x<0||t.x>=e.mapObject[t.y].length?0:e.mapObject[t.y][t.x];case"ITEM":return t.boxIndex1To12<1||t.boxIndex1To12>12?0:e.itemBox[t.boxIndex1To12-1];case"ITEM_COUNT_ALL":return e.itemBox.filter((t=>0!==t)).length;case"NUMBER":return t.rawValue;case"TIME":return e.playTime;case"X":return e.partsPosition.x;case"Y":return e.partsPosition.y;case"PX":return e.playerCoord.x;case"PY":return e.playerCoord.y;case"PDIR":return e.playerDirection;case"ID":return e.partsId;case"TYPE":return e.partsType;case"RAND":return Math.floor(Math.random()*Rt(t.argument,e));case"ITEM_COUNT":return e.itemBox.filter((s=>s===Rt(t.argument,e))).length;default:return s}}function Bt(t,e,s){switch(t){case"=":return s;case"+":case"+=":return e+s;case"-":case"-=":return e-s;case"*":case"*=":return e*s;case"/":case"/=":return 0===s?0:e/s;case"%":case"%=":return 0===s?0:e%s;default:throw new Error("未定義の演算子です")}}const Ut="-?\\d+",kt=`v\\[(${Ut})\\]`,Wt=`m\\[${Ut}\\]\\[${Ut}\\]`,Vt=`m\\[(${Ut})\\]\\[(${Ut})\\]`,Ft=`o\\[${Ut}\\]\\[${Ut}\\]`,Yt=`o\\[(${Ut})\\]\\[(${Ut})\\]`,Gt=`ITEM\\[${Ut}\\]`,Ht=`ITEM\\[(${Ut})\\]`,Kt=`${`v\\[${Ut}\\]`}|${Wt}|${Ft}|${Gt}`,jt="HP|HPMAX|AT|DF|GD|STEP|PDIR",Xt=`${Kt}|${Wt}|${Ft}|${Gt}|${jt}`,Jt=`${Ut}|${Kt}|AT_TOTAL|AT_ITEMS|DF_TOTAL|DF_ITEMS|TIME|X|Y|PX|PY|ID|TYPE|ITEM_COUNT_ALL|${jt}`,$t=`RAND\\((${Jt})\\)`,Zt=`ITEM_COUNT\\((${Jt})\\)`,qt=`${Jt}|${`${`RAND\\((?:${Jt})\\)`}|${`ITEM_COUNT\\((?:${Jt})\\)`}`}`,zt="\\+|\\-|\\*|\\/|%",Qt="^\\(",te="\\)$",ee=new RegExp(`^${Ut}$`),se=new RegExp(`^${kt}$`),ae=new RegExp(`^${Vt}$`),ie=new RegExp(`^${Yt}$`),re=new RegExp(`^${Ht}$`),ne=new RegExp(`^${$t}$`),oe=new RegExp(`${Zt}$`),he=new RegExp(`${Qt}(${Xt})=(${qt})(${zt})(${qt})${te}`),ce=new RegExp(`${Qt}(${Xt})(=|\\+=|\\-=|\\*=|\\/=|%=)(${qt})${te}`),_e=new RegExp(`^(${qt})(?:(${zt})(${qt}))?$`),le=new RegExp(`${Qt}(${qt})(>|<|<=|>=|==|!=)(${qt})${te}`);function ue(t){return"RAND"!==t.type&&"ITEM_COUNT"!==t.type}function de(t){switch(t){case"HP":case"HPMAX":case"AT":case"AT_TOTAL":case"AT_ITEMS":case"DF":case"DF_TOTAL":case"DF_ITEMS":case"GD":case"STEP":case"TIME":case"X":case"Y":case"PX":case"PY":case"PDIR":case"ID":case"TYPE":case"ITEM_COUNT_ALL":return{type:t};default:const e=t.match(se);if(e){const t=pe(e);return null===t?null:{type:"VARIABLE",index:t}}const s=t.match(ae);if(s){const t=Ee(s);return null===t?null:{type:"MAP",x:t[0],y:t[1]}}const a=t.match(ie);if(a){const t=Ee(a);return null===t?null:{type:"OBJECT",x:t[0],y:t[1]}}const i=t.match(re);if(i){const t=pe(i);return null===t?null:{type:"ITEM",boxIndex1To12:t}}if(t.match(ee)){const e=parseInt(t,10);return null===e||isNaN(e)?null:{type:"NUMBER",rawValue:e}}const r=t.match(ne);if(r){const t=r.length>=2?de(r[1]):null;return null!==t&&ue(t)?{type:"RAND",argument:t}:null}const n=t.match(oe);if(n){const t=n.length>=2?de(n[1]):null;return null!==t&&ue(t)?{type:"ITEM_COUNT",argument:t}:null}return null}}function pe(t){const e=t.length>=2?Number(t[1]):null;return null===e||isNaN(e)?null:e}function Ee(t){if(t.length<3)return null;const e=Number(t[1]),s=Number(t[2]);return isNaN(e)||isNaN(s)?null:[e,s]}function me(t,e){var s;switch(null===(s=de(e))||void 0===s?void 0:s.type){case"VARIABLE":{const s=e.match(/^v\[(\d+)\]$/),a=Number(s[1]);if(null===a||isNaN(a))throw new Error("ユーザ変数の添字のパースに失敗しました");return{assignee:"variable",index:a,rawValue:t}}case"MAP":{const s=e.match(/^m\[(\d+)\]\[(\d+)\]$/),a=Number(s[1]),i=Number(s[2]);if(null===a||null===i||isNaN(a)||isNaN(i))throw new Error("背景パーツの添字のパースに失敗しました");return{assignee:"map",x:a,y:i,rawValue:t}}case"OBJECT":{const s=e.match(/^o\[(\d+)\]\[(\d+)\]$/),a=Number(s[1]),i=Number(s[2]);if(null===a||null===i||isNaN(a)||isNaN(i))throw new Error("物体パーツの添字のパースに失敗しました");return{assignee:"mapObject",x:a,y:i,rawValue:t}}case"ITEM":{const s=e.match(/^ITEM\[(\d+)\]$/),a=Number(s[1]);if(null===a||isNaN(a))throw new Error("アイテムの添字のパースに失敗しました");return{assignee:"item",boxIndex1to12:a,rawValue:t}}case"ITEM_COUNT_ALL":case"ITEM_COUNT":throw new Error("左辺値に所持アイテム数は入れられません");case"NUMBER":throw new Error("左辺値に定数は入れられません");case"HP":return{assignee:"energy",rawValue:t};case"HPMAX":return{assignee:"energyMax",rawValue:t};case"AT":return{assignee:"strength",rawValue:t};case"AT_TOTAL":throw new Error("左辺値に合計攻撃力は入れられません");case"AT_ITEMS":throw new Error("左辺値にアイテム攻撃力は入れられません");case"DF":return{assignee:"defence",rawValue:t};case"DF_TOTAL":throw new Error("左辺値に合計防御力は入れられません");case"DF_ITEMS":throw new Error("左辺値にアイテム防御力は入れられません");case"GD":return{assignee:"gold",rawValue:t};case"STEP":return{assignee:"moveCount",rawValue:t};case"TIME":throw new Error("左辺値にプレイ時間は入れられません");case"PX":throw new Error("左辺値にプレイヤーX座標は入れられません");case"PY":throw new Error("左辺値にプレイヤーY座標は入れられません");case"X":throw new Error("左辺値にパーツX座標は入れられません");case"Y":throw new Error("左辺値にパーツY座標は入れられません");case"ID":throw new Error("左辺値にパーツ番号座標は入れられません");case"TYPE":throw new Error("左辺値にパーツ種別は入れられません");case"PDIR":return{assignee:"playerDirection",rawValue:t};case"RAND":throw new Error("左辺値に乱数は入れられません");default:throw new Error("この文字列から代入操作オブジェクトは生成できません")}}function ge(t){return t.replace(/\s/g,"")}function we(t,e,s=0){return Rt(de(t),e,s)}function fe(t,e,s=0){const a=ge(t).match(_e);if(null!==a){const t=we(a[1],e,s),i=a[3]?we(a[3],e,s):void 0,r=a[2];return r&&i?Bt(r,t,i):t}throw new Error("マクロ引数のフォーマットを満たしていません: "+t)}function ve(t){const e=ge(t).match(le);if(null===e||e.length<=3)return void console.error(`判定式が異常です: ${t}`);const s=de(e[1]),a=de(e[3]);if(s&&a)return{left:s,right:a,operator:e[2]};console.error(`判定式が異常です: ${t}`)}class Se{constructor(t,e,s,a,i,r){this.firstNode=t,this.isLastPage=e,this.showChoice=s,this.isSystemMessage=a,this.scoreOptions=i,this.extraInfo=r}}class Ae{constructor(){}}class ye extends Ae{constructor(t=[]){super(),this.branches=t}appendBranch(t){this.branches.push(t)}getLastUnconnectedBranch(){for(let t of this.branches)if(!t.next)return t}evaluateAndGetNextNode(t){for(let e of this.branches)if(!e.descriminant||Lt(e.descriminant,t()))return e.next}hasElseBranch(){return this.branches.filter((t=>Boolean(t.elseBranch))).length>=1}}class Te extends Ae{constructor(t,e,s){super(),this.macro=e,this.next=s,this.messageSegments=this.parseMessage(t),void 0===this.macro&&(this.macro=[])}isEmpty(){return this.messageSegments.reduce(((t,e)=>t&&""===e),!0)}generatePrintableMessage(){return this.messageSegments.reduce(((t,e)=>`${t}${"string"==typeof e?e:e()}`),"")}appendMessage(t,e=!1){this.messageSegments=this.messageSegments.concat(e?["\n"]:[],this.parseMessage(t))}parseMessage(t){return"string"==typeof t?[t]:t}}function Ie(t){return void 0===t||(t instanceof ye?t.branches.reduce(((t,e)=>t&&Ie(e.next)),!0):t instanceof Te?t.isEmpty()&&Ie(t.next):void 0)}const Ce=t=>t===M.SHOW_STR||t===M.SHOW_STR2||"text"===t||"normalMacro"===t;class De{constructor(t,e,s,a,i,r){this._wwa=t,this._triggerPartsID=e,this._triggerPartsType=s,this._triggerPartsPosition=a,this.macroType=i,this.macroArgs=r}isJunction(){return[M.IF,M.ELSE_IF,M.ELSE,M.END_IF].includes(this.macroType)}execute(){try{switch(this.macroType){case M.IMGPLAYER:return this._executeImgPlayerMacro(),{};case M.IMGYESNO:return this._executeImgYesNoMacro(),{};case M.HPMAX:return this._executeHPMaxMacro(),{};case M.SAVE:return this._executeSaveMacro(),{};case M.ITEM:return this._executeItemMacro(),{};case M.DEFAULT:return this._executeDefaultMacro(),{};case M.OLDMAP:return this._executeOldMapMacro(),{};case M.PARTS:return this._executePartsMacro(),{};case M.MOVE:return this._executeMoveMacro(),{};case M.MAP:return this._executeMapMacro(1),{};case M.DIRMAP:return this._executeDirMapMacro(),{};case M.IMGFRAME:return this._executeImgFrameMacro(),{};case M.IMGBOM:return this._executeImgBomMacro(),{};case M.DELPLAYER:return this._executeDelPlayerMacro(),{};case M.FACE:return this._executeFaceMacro(),{};case M.EFFECT:return this._executeEffectMacro(),{};case M.GAMEOVER:return this._executeGameOverMacro(),{};case M.IMGCLICK:return this._executeImgClickMacro(),{};case M.STATUS:{const{isGameOver:t}=this._executeStatusMacro();return{isGameOver:t}}case M.EFFITEM:return this._executeEffItemMacro(),{};case M.COLOR:return this._executeColorMacro(),{};case M.WAIT:return this._executeWaitMacro(),{};case M.SOUND:return this._executeSoundMacro(),{};case M.GAMEPAD_BUTTON:return this._executeGamePadButtonMacro(),{};case M.OLDMOVE:return this._executeOldMoveMacro(),{};case M.JUMPGATE:return this._executeJumpGateMacro(),{};case M.RECPOSITION:return this._executeRecPositionMacro(),{};case M.JUMPRECPOSITION:return this._executeJumpRecPositionMacro(),{};case M.CONSOLE_LOG:return this._executeConsoleLogMacro(1),{};case M.COPY_HP_TO:return this._executeCopyHpToMacro(),{};case M.SET_HP:{const{isGameOver:t}=this._executeSetHPMacro();return{isGameOver:t}}case M.COPY_HPMAX_TO:return this._executeCopyHpMaxToMacro(),{};case M.SET_HPMAX:return this._executeSetHpMaxMacro(),{};case M.COPY_AT_TO:return this._executeCopyAtToMacro(),{};case M.SET_AT:return this._executeSetAtMacro(),{};case M.COPY_DF_TO:return this._executeCopyDfToMacro(),{};case M.SET_DF:return this._executeSetDfMacro(),{};case M.COPY_MONEY_TO:return this._executeCopyMoneyToMacro(),{};case M.SET_MONEY:return this._executeSetMoneyMacro(),{};case M.COPY_STEP_COUNT_TO:return this._executeSetStepCountMacro(),{};case M.VAR_SET_VAL:return this._executeVarSetValMacro(),{};case M.VAR_SET:return this._executeVarSetMacro(),{};case M.VAR_ADD:return this._executeVarAddMacro(),{};case M.VAR_SUB:return this._executeVarSubMacro(),{};case M.VAR_MUL:return this._executeVarMulMacro(),{};case M.VAR_DIV:return this._executeVarDivMacro(),{};case M.VAR_MOD:return this._executeVarModMacro(),{};case M.VAR_SET_RAND:return this._executeVarSetRandMacro(),{};case M.GAME_SPEED:return this._executeGameSpeedMacro(),{};case M.SHOW_STR:case M.SHOW_STR2:case M.IF:return{};case M.LEGACY_IF:return this._executeLegacyIfMacro(),{};case M.ELSE_IF:case M.ELSE:case M.END_IF:return{};case M.SET_SPEED:return this._executeSetSpeedMacro(),{};case M.COPY_TIME_TO:return this._executeCopyTimeToMacro(),{};case M.HIDE_STATUS:return this._executeHideStatusMacro(),{};case M.VAR_MAP:return this._executeVarMapMacro(),{};case M.NO_GAMEOVER:return this._executeNoGameOverMacro(),{};case M.SET:{const{isGameOver:t}=this._executeSetMacro();return{isGameOver:t}}case M.MAP2:return this._executeMapMacro(2),{};case M.CONSOLE_LOG2:return this._executeConsoleLogMacro(2),{};case M.DELAYBGM:return this._executeDelayBgmMacro(),{};case M.SYSMSG:return this._executeSysMsgMacro(),{};default:return console.log("不明なマクロIDが実行されました:"+this.macroType),{}}}catch(t){}}_concatEmptyArgs(t){if(this.macroArgs.length<t){for(var e=new Array(t-this.macroArgs.length),s=0;s<e.length;s++)e[s]="";this.macroArgs=this.macroArgs.concat(e)}}_evaluateIntValue(t,e=0){const s=this.macroArgs[t];if(""===s)return e;const a=Number(s),i=a>=0?Math.floor(a):Math.ceil(a);return isNaN(i)?fe(s,this._wwa.generateTokenValues({id:this._triggerPartsID,type:this._triggerPartsType,position:this._triggerPartsPosition}),e):i}_executeJumpGateMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.forcedJumpGate(t,e)}_executeRecPositionMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.recUserPosition(t,e)}_executeJumpRecPositionMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.jumpRecUserPosition(t,e)}_executeConsoleLogMacro(t){this._concatEmptyArgs(1);const e=this._evaluateIntValue(0);switch(t){case 1:return void this._wwa.outputUserVar(e);case 2:return void console.log(`${this.macroArgs[0]} = ${e}`)}}_executeCopyHpToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarHP(t)}_executeCopyHpMaxToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarHPMAX(t)}_executeCopyAtToMacro(){this._concatEmptyArgs(2);const t=this._evaluateIntValue(0),e=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarAT(t,e)}_executeCopyDfToMacro(){this._concatEmptyArgs(2);const t=this._evaluateIntValue(0),e=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarDF(t,e)}_parseStatusKind(t){switch(t){case 0:default:return"all";case 1:return"bare";case 2:return"equipment"}}_executeCopyMoneyToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarMONEY(t)}_executeSetHPMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);return this._wwa.setHPUserVar(t,!0)}_executeSetHpMaxMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setHPMAXUserVar(t)}_executeSetAtMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setATUserVar(t)}_executeSetDfMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setDFUserVar(t)}_executeSetMoneyMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setMONEYUserVar(t)}_executeSetStepCountMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarStep(t)}_executeVarSetValMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserVarVal(t,e)}_executeVarSetMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValOtherUserVal(t,e)}_executeVarAddMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValAdd(t,e)}_executeVarSubMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValSub(t,e)}_executeVarMulMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValMul(t,e)}_executeVarDivMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValDiv(t,e)}_executeVarModMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setUserValMod(t,e)}_executeVarSetRandMacro(){this._concatEmptyArgs(3);const t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2,0);this._wwa.setUserValRandNum(t,e,s)}_executeGameSpeedMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.speedChangeJudge(t)}_executeLegacyIfMacro(){for(var t=new Array(11),e=0;e<10;e++)t[e]=this.macroArgs[e];this._wwa.userVarUserIf(this._triggerPartsPosition,t)}_executeSetSpeedMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setPlayerSpeedIndex(t-1)}_executeCopyTimeToMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setUserVarPlayTime(t)}_executeHideStatusMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=0!==this._evaluateIntValue(1);this._wwa.hideStatus(t,e)}_executeVarMapMacro(){this._concatEmptyArgs(4);var t=this._evaluateIntValue(0),e=this.macroArgs[1],s=this.macroArgs[2],a=this._evaluateIntValue(3,v.OBJECT);if(t<0)throw new Error("入力変数が不正です");this._wwa.varMap(this._triggerPartsPosition,e,s,t,a)}_executeImgPlayerMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setPlayerImgCoord(new c(t,e))}_executeImgYesNoMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setYesNoImgCoord(new c(t,e))}_executeHPMaxMacro(){this._concatEmptyArgs(1);var t=Math.max(0,this._evaluateIntValue(0));this._wwa.setPlayerEnergyMax(t)}_executeSaveMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.disableSave(t)}_executeItemMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);this._wwa.setPlayerGetItem(t,e)}_executeDefaultMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.setObjectNotCollapseOnPartsOnPlayer(t)}_executeOldMapMacro(){this._concatEmptyArgs(1);var t=!!this._evaluateIntValue(0);this._wwa.setOldMap(t)}_executePartsMacro(){this._concatEmptyArgs(4);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2,v.OBJECT),a=this._evaluateIntValue(3);if(s!==v.OBJECT&&s!==v.MAP)throw new Error("パーツ種別が不明です");if(0!==a&&1!==a&&(a=1),t<0||e<0)throw new Error("パーツ番号が不正です");if(s===v.OBJECT){if(t>=this._wwa.getObjectPartsNum()||e>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(t>=this._wwa.getMapPartsNum()||e>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");this._wwa.replaceParts(t,e,s,!!a)}_executeMoveMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);this._wwa.setMoveMacroWaitingToPlayer(t)}_executeMapMacro(t){this._concatEmptyArgs(4);const e=this._evaluateIntValue(0);var s=this._evaluateIntValue(3,v.OBJECT);if(e<0)throw new Error("パーツ番号が不正です");if(s===v.OBJECT){if(e>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(e>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");if(1===t){const t=this.macroArgs[1],a=this.macroArgs[2];this._wwa.appearPartsEval(this._triggerPartsPosition,t,a,e,s)}else if(2===t){const t=this._evaluateIntValue(1),a=this._evaluateIntValue(2);if(isNaN(t)||isNaN(a))throw new Error("出現先座標が不正です");this._wwa.appearPartsEval(this._triggerPartsPosition,`${t}`,`${a}`,e,s)}}_executeDirMapMacro(){this._concatEmptyArgs(3);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2,v.OBJECT);if(isNaN(t)||isNaN(e)||isNaN(s))throw new Error("引数が整数ではありません");if(t<0)throw new Error("パーツ番号が不正です");if(s===v.OBJECT){if(t>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(t>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");this._wwa.appearPartsByDirection(e,t,s)}_executeImgFrameMacro(){this._concatEmptyArgs(3);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2);if(e<0||s<0)throw new Error("座標は正でなければなりません。");if(t===L.ENERGY||t===L.STRENGTH||t===L.DEFENCE||t===L.GOLD)this._wwa.setStatusIconCoord(t,new c(e,s));else if(t===L.WIDE_CELL_ROW)this._wwa.setWideCellCoord(new c(e,s));else if(t===L.ITEM_BG)this._wwa.setItemboxBackgroundPosition({x:e,y:s});else{if(t!==L.MAIN_FRAME)throw new Error("種別が不正です。");this._wwa.setFrameCoord(new c(e,s))}}_executeImgBomMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||e<0)throw new Error("座標は正でなければなりません。");this._wwa.setBattleEffectCoord(new c(t,e))}_executeDelPlayerMacro(){this._concatEmptyArgs(1);const t=this._evaluateIntValue(0);this._wwa.setDelPlayer(!!t)}_executeFaceMacro(){this._concatEmptyArgs(6);var t,e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2),i=this._evaluateIntValue(3),r=this._evaluateIntValue(4),n=this._evaluateIntValue(5);if(e<0||s<0||a<0||i<0||r<0||n<0)throw new Error("各引数は0以上の整数でなければなりません。");t=new l(new c(e,s),new c(a,i),new c(r,n)),this._wwa.addFace(t)}_executeEffectMacro(){this._concatEmptyArgs(1);var t=this._evaluateIntValue(0);if(t<0)throw new Error("待ち時間は0以上の整数でなければなりません。");if(0!==t){for(var e=[],s=1;s<this.macroArgs.length;s+=2){var a,i=this._evaluateIntValue(s);if(i<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");if(s+1===this.macroArgs.length)throw new Error("画像のパーツ座標指定で、Y座標が指定されていません。");if((a=this._evaluateIntValue(s+1))<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");e.push(new c(i,a))}this._wwa.setEffect(t,e)}else this._wwa.stopEffect()}_executeGameOverMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||t>=this._wwa.getMapWidth()||e<0||e>=this._wwa.getMapWidth())throw new Error("マップの範囲外が指定されています!");this._wwa.setGameOverPosition(new c(t,e))}_executeImgClickMacro(){if(this._concatEmptyArgs(2),this.macroArgs.length<1)throw new Error("引数が少なすぎます");var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||e<0)throw new Error("引数が0以上の整数ではありません");this._wwa.setImgClick(new c(t,e))}_executeEffItemMacro(){if(this.macroArgs.length<1)throw new Error("引数が少なすぎます");var t=this._evaluateIntValue(0);this._wwa.updateItemEffectEnabled(!!t)}_executeStatusMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||4<t)throw new Error("ステータス種別が範囲外です。");return this._wwa.setPlayerStatus(t,e,!0)}_executeColorMacro(){this._concatEmptyArgs(4);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1),s=this._evaluateIntValue(2),a=this._evaluateIntValue(3);if(t<0||t>5)throw new Error("種別は0から5までです");if(e<0||e>255||s<0||s>255||a<0||a>255)throw new Error("色が範囲外です");this._wwa.changeStyleRule(t,e,s,a)}_executeWaitMacro(){throw new Error("Not implemented!")}_executeSoundMacro(){this._concatEmptyArgs(2);const t=parseInt(this.macroArgs[0]),e=parseInt(this.macroArgs[1]);this._wwa.playSound(t,e)}_executeGamePadButtonMacro(){this._concatEmptyArgs(2);var t=this._evaluateIntValue(0),e=this._evaluateIntValue(1);if(t<0||e<0)throw new Error("各引数は0以上の整数でなければなりません。");if(e>V.ITEMBOX_SIZE)throw new Error("アイテムボックス上限を超えた数値が指定されました。");this._wwa.setGamePadButtonItemTable(t,e)}_executeOldMoveMacro(){this._concatEmptyArgs(1);const t=!!this._evaluateIntValue(0);this._wwa.setOldMove(t)}_executeNoGameOverMacro(){this._concatEmptyArgs(1);const t=this._evaluateIntValue(0);this._wwa.setGameOverPolicy(t)}_executeSetMacro(){return this._wwa.execSetMacro(this.macroArgs[0],{triggerParts:{position:this._triggerPartsPosition,id:this._triggerPartsID,type:this._triggerPartsType}})}_executeDelayBgmMacro(){this._concatEmptyArgs(1);const t=this._evaluateIntValue(0);this._wwa.setBgmDelay(t)}_executeSysMsgMacro(){this._concatEmptyArgs(2);const t=this.resolveSystemMessageKeyFromMacroArg(this.macroArgs[0]);if(!t)throw new Error("該当するシステムメッセージの定義がありません");const e=""===this.macroArgs[1]?void 0:this.macroArgs[1].replaceAll("\\n","\n");this._wwa.overwriteSystemMessage(t,e)}resolveSystemMessageKeyFromMacroArg(t){if(r(t))return t;return n(this._evaluateIntValue(0))}}class Oe{constructor(t,e,s,a,i,r,n){this._wwa=t,this._coord=e,this._width=s,this._height=a,this._isVisible=i,this._parentElement=r,this._element=document.createElement("div"),this._element.style.position="absolute",this._element.style.borderWidth="2px",this._element.style.borderStyle="solid",t.isClassicMode()?this._element.style.borderRadius="15px":this._element.style.borderRadius="10px",this._element.classList.add("wwa-message-window"),this._element.style.zIndex=n+"",this._element.style.left=this._coord.x+"px",this._element.style.top=this._coord.y+"px",this._element.style.width=this._width+"px",this._element.style.height=this._height+"px",this._parentElement.appendChild(this._element)}update(t){}show(){this._isVisible=!0,this._element.style.display="block",this.update(),this._wwa.wwaCustomEvent("wwa_window_show",{name:this.windowName,element:this._element,text:this._element.textContent})}hide(){this._isVisible=!1,this._element.style.display="none",this.update(),this._wwa.wwaCustomEvent("wwa_window_hide",{name:this.windowName})}isVisible(){return this._isVisible}get windowName(){return"TextWindow"}}class Ne extends Oe{constructor(t,e,s,a,i,r,n){super(t,new c(e.x,e.y),s,a,i,r,201),this._cgFileName=n,this._monsterBox=document.createElement("div"),this._monsterBox.style.width=V.CHIP_SIZE+"px",this._monsterBox.style.height=V.CHIP_SIZE+"px",this._monsterBox.style.position="absolute",this._monsterBox.style.left="10px",this._monsterBox.style.top="10px",this._monsterBox.style.backgroundImage="url("+this._cgFileName.replace("(","\\(").replace(")","\\)")+")",this._monsterBox.style.backgroundPosition="0 0",this._element.appendChild(this._monsterBox),this._energyBox=document.createElement("div"),this._energyBox.style.position="absolute",this._energyBox.style.left="80px",this._energyBox.style.top="10px",this._energyBox.textContent="生命力 0",this._element.appendChild(this._energyBox),this._strengthBox=document.createElement("div"),this._strengthBox.style.position="absolute",this._strengthBox.style.left="80px",this._strengthBox.style.top="30px",this._strengthBox.textContent="攻撃力 0",this._element.appendChild(this._strengthBox),this._defenceBox=document.createElement("div"),this._defenceBox.style.position="absolute",this._defenceBox.style.left="180px",this._defenceBox.style.top="30px",this._defenceBox.textContent="防御力 0",this._element.appendChild(this._defenceBox),this._isVisible?this._element.style.display="block":this._element.style.display="none"}update(t){void 0!==t&&(this._monsterBox.style.backgroundPosition="-"+t.imgCoord.x+"px -"+t.imgCoord.y+"px",this._energyBox.textContent="生命力 "+t.status.energy,this._strengthBox.textContent="攻撃力 "+t.status.strength,this._defenceBox.textContent="防御力 "+t.status.defence)}get windowName(){return"MonsterWindow"}}class Pe extends Oe{constructor(t,e,s,a){t.isClassicMode()?(super(t,new c(2*V.CHIP_SIZE,30),7*V.CHIP_SIZE,40,s,a,202),this._element.style.borderWidth="0",this._element.style.borderRadius="4px",this._element.style.fontSize="20px",this._element.style.lineHeight="40px"):super(t,new c(e.x,e.y),340,30,s,a,202),this._element.style.textAlign="center",this._isVisible?this._element.style.display="block":this._element.style.display="none",this.update(0)}update(t){void 0!==t&&(this._element.textContent="Score: "+t)}get windowName(){return"ScoreWindow"}}var Me,xe;Pe.WINDOW_NAME="ScoreWindow",function(t){t[t.TOP=0]="TOP",t[t.CENTER=1]="CENTER",t[t.BOTTOM=2]="BOTTOM",t[t.SCORE=3]="SCORE"}(Me||(Me={}));class be{constructor(t,e,s,a,i,r,n,o,h,c){this._wwaSave=void 0,this._save_select_id=0,this._save_counter=0,this._save_close=!1;var _=this,l=r.replace("(","\\(").replace(")","\\)");switch(this._wwa=t,this._cgFileName=r,this._x=e,this._y=s,this._width=a,this._height=i,this._message="",this._isVisible=n,this._isYesno=o,this._isItemMenu=h,this._element=document.createElement("div"),this._element.id="wwa-text-message-window",this._element.classList.add("wwa-message-window"),this._msgWrapperElement=document.createElement("div"),this._msgWrapperElement.style.textAlign="left",this._msgWrapperElement.style.wordWrap="break-word",this._msgWrapperElement.style.margin=t.isClassicMode()?"8px 0 8px 16px":"0",this._msgWrapperElement.style.padding=t.isClassicMode()?"0":"7px",this._element.appendChild(this._msgWrapperElement),this._saveElement=document.createElement("div"),this._saveElement.style.padding="0",this._saveElement.style.margin="0",this._element.appendChild(this._saveElement),this._dummyElement=document.createElement("div"),this._dummyElement.style.display="none",this._dummyElement.style.padding="0",this._dummyElement.style.margin="0",this._dummyElement.style.height="55px",this._element.appendChild(this._dummyElement),this._ynWrapperElement=document.createElement("div"),this._ynWrapperElement.classList.add("wwa-yesno-wrapper"),this._element.appendChild(this._ynWrapperElement),this._parentElement=c,this._parentElement.appendChild(this._element),this._divYesElement=document.createElement("div"),this._divYesElement.classList.add("wwa-yes-button"),this._divYesElement.style.background="url("+l+")",this._divYesElement.onclick=function(){_._isInputDisable||(t.setYesNoInput(g.YES),_.update())},this._divYesElement.style.cursor="pointer",this._divNoElement=document.createElement("div"),this._divNoElement.classList.add("wwa-no-button"),this._divNoElement.style.background="url("+l+")",this._divNoElement.onclick=function(){_._isInputDisable||(t.setYesNoInput(g.NO),_.update())},this._ynWrapperElement.appendChild(this._divYesElement),this._ynWrapperElement.appendChild(this._divNoElement),_._isInputDisable=!1,t.userDevice.device){case A.SP:case A.VR:this._parentElement.classList.add("useScaleUp")}this.update()}setPosition(t,e,s,a){this._x=t,this._y=e,this._width=s,this._height=a,this.update()}setPositionByPlayerPosition(t,e,s,a,i){var r,n=a.getPartsCoord().substract(i.getPartsCoord()).y;r=t?Me.BOTTOM:e?Me.SCORE:s?Me.CENTER:n>=Math.ceil(V.V_PARTS_NUM_IN_WINDOW/2)?Me.TOP:Me.BOTTOM,this.setPositionEasy(r)}setPositionEasy(t){var e=Math.floor(this._element.clientHeight/2);return t===Me.CENTER?(this._y=V.MAP_WINDOW_HEIGHT/2-e,void this.update()):t===Me.TOP?(this._y=Math.max(20,V.MAP_WINDOW_HEIGHT/4-e)+10,void this.update()):t===Me.BOTTOM?(this._y=Math.min(V.MAP_WINDOW_HEIGHT-20-this._element.clientHeight,3*V.MAP_WINDOW_HEIGHT/4-e),void this.update()):t===Me.SCORE?(this._y=80,void this.update()):void 0}setMessage(t){this._message=t,this.update()}clear(){this._message="",this.update()}setYesNoChoice(t){return this._isInputDisable=!1,this._isYesno=t,this.update(),this._isYesno}isYesNoChoice(){return this._isYesno}isSaveChoice(){return this._isSave}setItemMenuChoice(t){return this._isInputDisable=!1,this._isItemMenu=t,this.update(),this._isItemMenu}isItemMenuChoice(){return this._isItemMenu}setInputDisable(){this._isInputDisable=!0}isInputDisable(){return this._isInputDisable}show(){this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}isVisible(){return this._isVisible}isWideChar(t){return null!==t.match(/^[^\x01-\x7E\xA1-\xDF]+$/)}createClassicTextElement(t){var e=document.createElement("span");let s=0,a="";for(let r=0;r<t.length||0!=s;r++)if(this.isWideChar(t.charAt(r))?s+=2:s+=1,a+=t.charAt(r),s+1>2*V.MSG_STR_WIDTH){"。"!==t.charAt(r+1)&&"、"!==t.charAt(r+1)||(a+=t.charAt(r+1),r++);var i=document.createElement("span");i.style.display="inline-block",i.style.width="100%",i.textContent=a,e.appendChild(i),s=0,a=""}return e}update(){var t=this._wwa.getYesNoImgCoord();this._isYesno?(this._wwa.getYesNoState()===g.YES?(this._divYesElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_YESP_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_NO_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"):this._wwa.getYesNoState()===g.NO?(this._divYesElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_YES_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_NOP_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"):(this._divYesElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_YES_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(t.x+V.IMGRELPOS_YESNO_NO_X)*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"),this._ynWrapperElement.style.display="block"):this._ynWrapperElement.style.display="none",this._msgWrapperElement.textContent="";var e=this._message.split("\n");e.forEach(((t,s)=>{let a;this._wwa.isClassicMode()?a=this.createClassicTextElement(t):(a=document.createElement("span"),a.textContent=e[s]),this._msgWrapperElement.appendChild(a),this._msgWrapperElement.appendChild(document.createElement("br"))})),this._isVisible?(this._element.style.left=this._x+"px",this._element.style.top=this._y+"px"):(this._element.style.left="-999999px",this._element.style.top="-999999px"),this._isSave?this._saveElement.style.display="block":this._saveElement.style.display="none",this._element.style.width=this._width+"px",this._element.style.minHeight=this._height+"px"}setWWASave(t){this._wwaSave=t}createSaveDom(){var t,e,s,a,i,r,n,o,h,c,_;e=document.createElement("div"),c=(o=document.getElementById("disp-energy")).style.backgroundPosition,_=o.style.backgroundImage;for(var l=this._wwaSave.list.length,u=0;u<l;u++)t=this._wwaSave.list[u],(s=document.createElement("div")).classList.add("savedata"),s.setAttribute("save_id",u),s.addEventListener("click",(t=>{this.setSaveID(0|t.currentTarget.getAttribute("save_id")),this._save_close=!0,t.preventDefault()})),(a=document.createElement("div")).classList.add("ss"),s.appendChild(a),(i=document.createElement("div")).classList.add("wide-cell-row"),i.style.backgroundPosition=c,i.style.backgroundImage=_,s.appendChild(i),e.appendChild(s),t.flag&&(a.appendChild(t.cvs),(r=document.createElement("span")).textContent=t.getDateText(),t.isLastSaveData()&&(r.style.color=F.DATE_LAST_SAVE_TEXT_COLOR),a.appendChild(r),(n=document.createElement("div")).classList.add("status-icon"),n.style.backgroundImage=_,n.style.backgroundPosition="-120px -80px",i.appendChild(n),(h=document.createElement("div")).classList.add("status-value-box"),h.textContent=t.getStatusEnergy(),i.appendChild(h));this._saveElement.textContent="",this._saveElement.appendChild(e),this.setSaveID(this._save_select_id),this._isSave=!0,this._save_counter=0,this._save_close=!1}deleteSaveDom(){this._saveElement.textContent="",this._isSave=!1}setSaveID(t){this._save_select_id=t;for(var e,s=document.querySelectorAll(".savedata"),a=s.length,i=0;i<a;i++)e=s[i],t===i?e.classList.add("select"):e.classList.remove("select")}save(t,e){return this._wwaSave.save(t,e,this._save_select_id)}load(){return this._wwaSave.load(this._save_select_id)}saveUpdate(){this._save_counter>0&&this._save_counter--}isSaveClose(){return this._save_close}cursor_wait(){this._save_counter=V.CONTROLL_WAIT_FRAME}saveControll(t){if(!(this._save_counter>0||this._isInputDisable)){switch(t){case p.DOWN:this._save_select_id-=2,this.cursor_wait();break;case p.UP:this._save_select_id+=2,this.cursor_wait();break;case p.LEFT:this._save_select_id--,this.cursor_wait();break;case p.RIGHT:this._save_select_id++,this.cursor_wait()}this.setSaveID((this._save_select_id+F.QUICK_SAVE_MAX)%F.QUICK_SAVE_MAX)}}get windowName(){return"MessageWindow"}}class Le{constructor(t,e,s){this.id=t,this.imgFileName=e,this.parent=s,this.elem=document.createElement("div"),this.elem.classList.add("est"),this.elem.setAttribute("id","wwa-est-"+t),this.imgElem=document.createElement("div"),this.imgElem.classList.add("est-img-wrapper"),this.imgElem.style.backgroundImage="url("+this.imgFileName.replace("(","\\(").replace(")","\\)")+")",this.statusElem=document.createElement("div"),this.statusElem.classList.add("est-status-wrapper"),this.energyElem=document.createElement("div"),this.energyElem.classList.add("est-energy"),this.energyDispElem=document.createElement("span"),this.energyDispElem.classList.add("est-energy-disp"),this.energyElem.appendChild(this.energyDispElem),this.statusElem.appendChild(this.energyElem),this.strengthElem=document.createElement("div"),this.strengthElem.classList.add("est-strength"),this.strengthDispElem=document.createElement("span"),this.strengthDispElem.classList.add("est-strength-disp"),this.strengthElem.appendChild(this.strengthDispElem),this.statusElem.appendChild(this.strengthElem),this.defenceElem=document.createElement("div"),this.defenceElem.classList.add("est-defence"),this.defenceDispElem=document.createElement("span"),this.defenceDispElem.classList.add("est-defence-disp"),this.defenceElem.appendChild(this.defenceDispElem),this.statusElem.appendChild(this.defenceElem),this.damageElem=document.createElement("div"),this.damageElem.classList.add("est-damage"),this.damageDispElem=document.createElement("span"),this.damageDispElem.classList.add("est-damage-disp"),this.damageElem.appendChild(this.damageDispElem),this.statusElem.appendChild(this.damageElem),this.elem.appendChild(this.imgElem),this.elem.appendChild(this.statusElem)}hide(){this.elem.style.display="none"}show(){this.elem.style.display="block"}setResult(t,e,s){this.imgElem.style.backgroundPosition="-"+t.x+"px -"+t.y+"px",this.energyDispElem.textContent="生命力 "+e.energy,this.strengthDispElem.textContent="攻撃力 "+e.strength,this.defenceDispElem.textContent="防御力 "+e.defence,s.cannotDamageMonster?this.damageDispElem.textContent="攻撃無効":s.noSettled?this.damageDispElem.textContent="勝負がつきません":s.isOverMaxTurn?this.damageDispElem.textContent="長期戦が予想されます":this.damageDispElem.textContent="予測ダメージ "+s.estimatedDamage}}class Re{constructor(t,e,s){var a;this._wwa=t,this._imgFileName=e,this._parent=s,this._element=document.createElement("div"),this._element.setAttribute("id","wwa-battle-estimate"),this._element.style.display="none",this._edes=[];for(var i=0;i<V.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;i++)a=new Le(i,this._imgFileName,this._element),this._edes.push(a),this._element.appendChild(a.elem);this._element.addEventListener("click",(()=>{this._wwa.hideBattleEstimateWindow()})),this._parent.appendChild(this._element)}update(t,e,s,a,i){for(let r=0;r<V.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;r++){if(r>=e.length){this._edes[r].hide();continue}const n=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_X),o=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_Y),_=new c(n,o),l=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_ENERGY),u=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_STRENGTH),d=this._wwa.getObjectAttributeById(e[r].partsID,V.ATR_DEFENCE),p=new h(l,u,d,0),E=Be(t,e[r],s,a,i);this._edes[r].setResult(_,p,E),this._edes[r].show()}}show(){this._element.style.display="block"}hide(){this._element.style.display="none"}}function Be(t,e,s,a,i){const r=e.clone(),n=t.clone();let o=0,h=0,c=0;const _=t.energy;if(i&&n.strength<=r.status.defence&&n.defence>=r.status.strength)return{cannotDamageMonster:!0,estimatedDamage:0};for(;;){h++;const t=s(n,r);if(r.status.energy-=t.damage,0===t.damage?c++:c=0,r.status.energy<=0)return{estimatedDamage:o};if(c>V.FIGHT_DRAW_TURN||t.aborted)return{noSettled:(_<=0||n.energy>0)&&r.status.energy>0,estimatedDamage:o};if(h>2e4)return{isOverMaxTurn:!0,estimatedDamage:0};h++;const e=a(r,n),i=Math.max(e.damage,0);if(0===i?c++:c=0,o+=i,n.energy=Math.max(n.energy-i,0),c>V.FIGHT_DRAW_TURN||e.aborted)return{noSettled:(_<=0||n.energy>0)&&r.status.energy>0,estimatedDamage:o};if(h>2e4)return{isOverMaxTurn:!0,estimatedDamage:0}}}!function(t){t[t.SAVE=0]="SAVE",t[t.LOAD=1]="LOAD"}(xe||(xe={}));class Ue{constructor(t,e,s){this._wwa=t,this._parent=e,this._isDisallowLoadOldSave=s,this.COPIED_MESSAGE_DISPLAY_MS=1e3,this._element=document.createElement("div"),this._element.setAttribute("id","wwa-password-window"),this._element.style.display="none",this._descriptionElement=document.createElement("div"),this._descriptionElement.classList.add("wwa-password-description"),this._passwordBoxElement=document.createElement("textarea"),this._passwordBoxElement.setAttribute("cols","50"),this._passwordBoxElement.setAttribute("rows","16"),this._passwordBoxElement.addEventListener("focus",(t=>{this._passwordBoxElement.select()})),this._buttonWrapperElement=document.createElement("div"),this._buttonWrapperElement.classList.add("wwa-password-submit"),this._okButtonElement=document.createElement("button"),this._okButtonElement.textContent="OK",this._okButtonElement.addEventListener("click",(()=>{this._wwa.hidePasswordWindow()})),this._cancelButtonElement=document.createElement("button"),this._cancelButtonElement.textContent="キャンセル",this._cancelButtonElement.addEventListener("click",(()=>{this._wwa.hidePasswordWindow(!0)})),this._copyButtonElement=document.createElement("button"),this._copyButtonElement.textContent="コピー",this._copyButtonElement.addEventListener("click",(async()=>{await navigator.clipboard.writeText(this.password),this._copyButtonElement.textContent="コピーしました",this._copyButtonElement.disabled=!0,setTimeout((()=>{this._copyButtonElement&&(this._copyButtonElement.textContent="コピー",this._copyButtonElement.disabled=!1)}),this.COPIED_MESSAGE_DISPLAY_MS)})),this._buttonWrapperElement.appendChild(this._okButtonElement),this._buttonWrapperElement.appendChild(this._cancelButtonElement),this._buttonWrapperElement.appendChild(this._copyButtonElement),this._mode=xe.LOAD,this._element.appendChild(this._descriptionElement),this._element.appendChild(this._passwordBoxElement),this._element.appendChild(this._buttonWrapperElement),this._parent.appendChild(this._element),this.update()}get mode(){return this._mode}set mode(t){this._mode=t,t===xe.LOAD&&(this.password="")}get password(){return this._passwordBoxElement.value}set password(t){this._passwordBoxElement.value=t}show(t){void 0!==t&&(this.mode=t),this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}update(){var t="";if(this._mode===xe.LOAD){t=`下のボックスに前回のプレイで取得した\n復帰用パスワードを貼り付けてください。\nJava 版 WWA で取得したパスワードはご利用になれません。\n作成者が ${this._isDisallowLoadOldSave?"マップの内容":"ワールド名 か マップの暗証番号"} を変更した場合は\nそれ以前に取得したパスワードは使えなくなります。`;try{this._passwordBoxElement.removeAttribute("readonly")}catch(t){}this._cancelButtonElement.style.display="inline",this._copyButtonElement.style.display="none"}else t="下記テキストがデータ復帰用のパスワードになっています。\nコピーしてメモ帳などのテキストエディタに貼り付けて\n保存してください。",this._passwordBoxElement.setAttribute("readonly","readonly"),this._cancelButtonElement.style.display="none",this._copyButtonElement.style.display="inline";var e=t.split("\n");this._descriptionElement.textContent="";for(var s=0;s<e.length;s++){var a=document.createElement("span");a.textContent=e[s],this._descriptionElement.appendChild(a),this._descriptionElement.appendChild(document.createElement("br"))}this._isVisible?this._element.style.display="block":this._element.style.display="none"}}function ke(){return"ontouchstart"in window&&"ontouchend"in window&&"ontouchmove"in window}function We(t,e,s){var a=document.createElement("style");a.type="text/css",a.setAttribute("id",V.WWA_STYLE_TAG_ID),pt("head")[0].appendChild(a),t.innerHTML=function(t,e){return`\n <canvas id="wwa-map" class="wwa-canvas" width="440" height="440">\n このブラウザは、Canvas要素をサポートしていません。\n </canvas>\n <canvas id="wwa-map-sub" class="wwa-canvas" width="440" height="440"></canvas>\n <div id="wwa-sidebar">\n <div class="wide-cell-row" id="disp-energy"><div class="status-icon"></div><div class="status-value-box">0</div></div>\n <div class="wide-cell-row" id="disp-strength"><div class="status-icon"></div><div class="status-value-box"> 0 </div></div>\n <div class="wide-cell-row" id="disp-defence"><div class="status-icon"></div><div class="status-value-box">0</div></div>\n <div class="wide-cell-row" id="disp-gold"><div class="status-icon"></div><div class="status-value-box">0</div></div>\n <div class="item-cell" id="item0"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item1"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item2"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item3"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item4"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item5"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item6"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item7"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item8"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item9"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item10"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="item-cell" id="item11"><div class="item-click-border"></div><div class="item-disp"></div></div>\n <div class="wide-cell-row" id="cell-load">Password</div><div class="wide-button" id="button-load"></div>\n <div class="wide-cell-row" id="cell-save">Quick Save</div><div class="wide-button" id="button-save"></div>\n <div class="wide-cell-row" id="cell-restart">Restart Game</div><div class="wide-button" id="button-restart"></div>\n <div class="wide-cell-row" id="cell-gotowwa">Goto WWA</div><div class="wide-button" id="button-gotowwa"></div>\n </div>\n <div id="wwa-controller"></div>\n <div id="wwa-fader"></div>\n${t?'\n <div id="wwa-cover">\n <div id="unstable-version-warning"></div>\n <div id="version"></div>\n <div id="progress-message-container">開始しています...</div>\n <div id="progress-bar-bg"></div>\n <div id="progress-bar" class="progress-bar"></div>\n <div id="progress-bar-audio" class="progress-bar"></div>\n <div id="progress-disp">---</div>\n </div>\n ':`\n <div id="wwa-cover">\n <canvas id="progress-panel" width="${V.SCREEN_WIDTH}" height="${V.SCREEN_HEIGHT}"></canvas>\n </div>`}\n${e?'\n <div id="wwa-virtualpad-left">\n <button class="wwa-virtualpad__button" id="wwa-up-button"></button>\n <button class="wwa-virtualpad__button" id="wwa-left-button"></button>\n <button class="wwa-virtualpad__button" id="wwa-right-button"></button>\n <button class="wwa-virtualpad__button" id="wwa-down-button"></button>\n <div class="wwa-virtualpad__hole"></div>\n </div>\n <div id="wwa-virtualpad-right">\n <button class="wwa-virtualpad__button" id="wwa-slow-button">I</button>\n <button class="wwa-virtualpad__button" id="wwa-fast-button">P</button>\n <button class="wwa-virtualpad__button" id="wwa-enter-button">Y</button>\n <button class="wwa-virtualpad__button" id="wwa-esc-button">N</button>\n </div>':""}\n`}(null!==e,s),null!==e&&(dt("wwa-cover").style.backgroundImage=`url(${e})`,dt("wwa-cover").style.backgroundRepeat="no-repeat",dt("wwa-cover").style.backgroundPosition="0 0")}class Ve{update(){this.counter>0&&this.counter--}cursor_wait(){this.counter=V.CONTROLL_WAIT_FRAME}allClear(){this.col=0,this.row=0,this.counter=0}controll(t){if(!(this.counter>0))switch(t){case p.DOWN:this.row<Ve.ROW_MAX-1&&(this.row++,this.openView(),this.cursor_wait());break;case p.UP:this.row>0&&(this.row--,this.openView(),this.cursor_wait());break;case p.LEFT:this.col>0&&(this.col--,this.openView(),this.cursor_wait());break;case p.RIGHT:this.col<Ve.COL_MAX-1&&(this.col++,this.openView(),this.cursor_wait())}}ok(){this.close();var t=null;(t=mt(Ve.CLICK_DOM_QUERY_TABLE[this.row][this.col])).classList.contains("item-click-border")||this.allClear();var e=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});return t.dispatchEvent(e)}ng(){this.close()}close(){var t,e,s=null;for(t=0;t<Ve.COL_MAX;t++)for(e=0;e<Ve.ROW_MAX;e++)(s=dt(Ve.DOM_ID_TABLE[e][t])).classList.contains("onpress")&&s.classList.remove("onpress")}openView(){this.close();dt(Ve.DOM_ID_TABLE[this.row][this.col]).classList.add("onpress")}init(){this.allClear(),this.openView()}constructor(){this.allClear()}}Ve.ROW_MAX=8,Ve.COL_MAX=3,Ve.DOM_ID_TABLE=[["item0","item1","item2"],["item3","item4","item5"],["item6","item7","item8"],["item9","item10","item11"],["cell-load","cell-load","cell-load"],["cell-save","cell-save","cell-save"],["cell-restart","cell-restart","cell-restart"],["cell-gotowwa","cell-gotowwa","cell-gotowwa"]],Ve.CLICK_DOM_QUERY_TABLE=[["#item0 .item-click-border","#item1 .item-click-border","#item2 .item-click-border"],["#item3 .item-click-border","#item4 .item-click-border","#item5 .item-click-border"],["#item6 .item-click-border","#item7 .item-click-border","#item8 .item-click-border"],["#item9 .item-click-border","#item10 .item-click-border","#item11 .item-click-border"],["#button-load","#button-load","#button-load"],["#button-save","#button-save","#button-save"],["#button-restart","#button-restart","#button-restart"],["#button-gotowwa"," #button-gotowwa","#button-gotowwa"]];var Fe=s(23);function Ye(t){return`^ /${231*t+8310}P+>A[]`}function Ge(t){return(0,Fe.MD5)(t).toString()}const He=Object.freeze({MAP:"map",MAP_OBJECT:"mapObject",SYSTEM_MESSAGE:"systemMessage",USER_VAR:"userVar"}),Ke=Object.freeze({mapAttribute:!0,objectAttribute:!0,message:!0});class je{static compress(t){var e,s,a={};for(e in t)if(!Ke[e]){switch(typeof(s=t[e])){case"number":case"string":case"boolean":if(this._restartData[e]===s&&"worldName"!==e)continue;break;case"object":if(null===s){if(this._restartData[e]===s)continue}else if(void 0===(s=this.compressObject(e,s,this._restartData[e])))continue;break;case"undefined":break;case"function":continue}a[e]=s}return a}static compressObject(t,e,s){var a,i,r,n;switch(t){case He.MAP:case He.MAP_OBJECT:var o,h,c,_,l,u,d,p,E,m,g,w,f,v;for(l in a={},E={},p={},e)for(_ in i=e[l],r=s[l],n={},h=-1,i)(d=i[_])!==r[_]&&(n[_]=d,void 0===E[d]&&(E[d]={}),void 0===(g=E[d])[l]&&(g[l]=[]),(f=g[l]).push(Number(_)));for(w in E)for(l in g=E[w],void 0===p[w]&&(p[w]={}),m=p[w],void 0===a[w]&&(a[w]=[]),h=-1,g)1===(f=g[l]).length?(void 0===m[u=f[0]]&&(m[u]=[]),(v=m[u]).push(Number(l))):(c=(o=Number(l))-h-1,h=o,a[w].push(this.getCompressArray(f),c));for(w in p)for(_ in d=Number(w),h=-1,m=p[w])v=m[_],c=(o=Number(_))-h-1,h=o,1===v.length?a[w].push(c,v[0]):a[w].push(c,this.getCompressArray(v));var S=[];for(w in h=-1,a)c=(o=Number(w))-h-1,h=o,S.push(c,a[w]);return this._usingByteFlag&&JSON.stringify(S).length>=this._mapByteLength?this.compressMapAllObject(e,s,this._firstRandomMapObjectUtf8Table[t]):S;case He.SYSTEM_MESSAGE:var A;for(t in a={},e)A=e[t],s[t]!==A&&(a[t]=A);break;case He.USER_VAR:return this.compressUserVars(e);default:return e}if(0!==Object.keys(a).length)return a}static compressUserVars(t){return t.map(((t,e)=>[e,t])).filter((([t,e])=>0!==e))}static compressMapAllObject(t,e,s){var a,i,r,n,o,h,c,_,l,u,d,p,E,m,g,w,f=this._restartData.mapWidth,v=new Uint8Array(this._mapByteLength),S=-1;for(r=0,n=0,h=0,c=0,g=0,d=[],m={},l=[],u=[],i=0;i<f;i++)for(a=0;a<f;a++)(_=t[i][a])!==e[i][a]&&(-1===S&&(S=n),v[n]=v[n]|1<<r,h=n,void 0===m[_]&&(m[_]=new Je(_,g++)),m[_].count++),8===++r&&(r=0,n++);for(o in m)d[m[o].index]=m[o];for(p in d.sort(this.idSort),E={},d)E[_=d[p].id]=Number(p),l[p]=_;for(i=0;i<f;i++)for(a=0;a<f;a++)(_=t[i][a])!==e[i][a]&&(u[c++]=E[_]);if(s){for(w=v.length,S=-1,h=0,n=0;n<w;n++)v[n]=v[n]&~s[n],0!==v[n]&&(-1===S&&(S=n),h=n);-1===S&&(S=0,h=0)}return[S,v.subarray(S,h+1),l,this.indexListCompress(u,l.length)]}static indexListCompress(t,e){var s,a,i,r,n,o,h=[];for(r=t.length,a=0,s=0;s<r;s++){for(n=t[s],o=0,i=s+1;i<r&&n===t[i];i++)o++,s=i;switch(o){case 0:h[a++]=n;break;case 1:h[a++]=n,h[a++]=n;break;default:h[a++]=n,h[a++]=e+o}}return h}static idSort(t,e){return e.count-t.count}static getCompressArray(t){var e,s,a,i,r,n,o,h,c=[];for(e=-1,r=t.length,n=0,i=0;i<r;i++){for(s=(a=t[i])-e,o=0,h=i;h<r-1&&t[h]+1===t[h+1];)h++,o++;o<this.MIN_LOOP_COUNT?c[n++]=s:(i=h,a+=o,c[n++]=0,c[n++]=s,c[n++]=o-this.MIN_LOOP_COUNT),e=a}return c}static getDecompressArray(t){var e,s,a,i,r,n,o,h=[];for(e=-1,r=t.length,i=0,o=0;i<r;i++)if(0===(s=t[i])){for(n=(a=e+(s=t[++i]))+t[++i]+this.MIN_LOOP_COUNT;a<=n;a++)h[o++]=a;e=n}else a=e+s,h[o++]=a,e=a;return h}static decompress(t){var e,s,a;for(s in e=JSON.parse(JSON.stringify(this._restartData)),t){switch(typeof(a=t[s])){case"number":case"string":case"boolean":case"undefined":break;case"object":null!==a&&(a=this.decompressObject(s,a,e[s]));break;case"function":continue}e[s]=a}return[e,{isWorldNameEmpty:void 0===t.worldName}]}static decompressObject(t,e,s){var a;switch(t){case He.MAP:case He.MAP_OBJECT:var i,r,n,o,h,c,_,l;a={},r=-1;var u,d,p=e;if(4===(l=p.length)&&"number"==typeof p[0]&&(p[1]instanceof Uint8Array||p[1]instanceof Array)&&p[2]instanceof Array&&p[3]instanceof Array)return this.decompressAllMapObject(p,s,this._firstRandomMapObjectUtf8Table[t]),s;for(_=0;_<l;_+=2)r=i=r+Number(p[_])+1,h=i,a[i]=p[_+1];for(c in a){for(h=Number(c),l=(p=a[c]).length,u=[],d=[],_=0;_<l;_+=2){var E=p[_],m=p[_+1];E instanceof Array&&(E=this.getDecompressArray(E)),m instanceof Array&&(m=this.getDecompressArray(m)),"object"==typeof E?u.push({x:E,y:m}):d.push({x:E,y:m})}var g;for(g in r=-1,u)if(r=i=r+Number(u[g].y)+1,E=u[g].x,o=String(i),E instanceof Array)for(l=(p=E).length,_=0;_<l;_++)n=String(p[_]),s[o][n]=h;else n=String(E),s[o][n]=h;for(g in r=-1,d)if(r=i=r+Number(d[g].x)+1,m=d[g].y,n=String(i),m instanceof Array)for(l=(p=m).length,_=0;_<l;_++)s[o=String(p[_])][n]=h;else s[o=String(m)][n]=h}return s;case He.USER_VAR:return this.decompressUserVars(e);case He.SYSTEM_MESSAGE:default:if(s);else{if(!e)return;s=s instanceof Array?[]:{}}for(t in e)s[t]=e[t];return s}}static decompressUserVars(t){return t.reduce(((t,[e,s])=>(t[e]=s,t)),this.generateEmptyUserVars())}static generateEmptyUserVars(){const t=new Array(V.USER_VAR_NUM);for(let e=0;e<V.USER_VAR_NUM;e++)t[e]=0;return t}static decompressAllMapObject(t,e,s){var a,i,r,n,o,h,c,_,l,u,d,p=this._restartData.mapWidth,E=new Uint8Array(this._mapByteLength);d=t[0],n=t[2],i=t[3];var m=t[1];if(E.set(m,d),s)for(g=E.length,l=0;l<g;l++)E[l]=E[l]|s[l];r=[];var g,w,f,v,S,A,y=n.length;for(g=i.length,w=0,f=0;w<g;w++){if((o=i[w])>=y)for(v=o-y,S=0;S<v;S++)r[f++]=A;else r[f++]=o;A=o}for(_=0,l=0,u=0,h=0,g=E.length,l=0;l<g;l++)for(_=0;_<8;_++){if(0!=(E[l]&1<<_)){if(void 0===(o=r[h++]))return!1;a=n[o],c=u%p,e[u/p|0][c]=a}u++}return!0}static setRestartData(t,e){this._restartData=t,this._mapByteLength=Math.ceil(t.mapWidth*t.mapWidth/8),this._firstRandomMapObjectUtf8Table[He.MAP_OBJECT]=this.getChangedUint8Array(e[He.MAP_OBJECT],t[He.MAP_OBJECT])}static getChangedUint8Array(t,e){var s,a,i,r,n=this._restartData.mapWidth,o=new Uint8Array(this._mapByteLength),h=-1;for(i=0,r=0,a=0;a<n;a++)for(s=0;s<n;s++)t[a][s]!==e[a][s]&&(-1===h&&(h=r),o[r]=o[r]|1<<i),8===++i&&(i=0,r++);return o}static getStartWWAData(t){if(!t)return this._restartData;try{var e=JSON.parse(t)}catch(t){return this._restartData}var s;if(e)try{if([s]=this.decompress(e),s)return s}catch(t){}return this._restartData}static usingByte(t){this._usingByteFlag=t}}je._usingByteFlag=!1,je.MIN_LOOP_COUNT=3,je._restartData=void 0,je._mapByteLength=0,je._firstRandomMapObjectUtf8Table=new class{};var Xe=je;class Je{constructor(t,e){this.id=0,this.index=0,this.count=0,this.id=t,this.index=e}}class $e{constructor(t,e){this._id=0,this.flag=!1,this.date=void 0,this.cvs=void 0,this.ctx=void 0,this.quickSaveData=void 0,this._id=t,this._parent=e,this.cvs=document.createElement("canvas"),this.cvs.width=F.QUICK_SAVE_THUMNAIL_WIDTH,this.cvs.height=F.QUICK_SAVE_THUMNAIL_HEIGHT,this.ctx=this.cvs.getContext("2d",{alpha:!1})}showQickLoad(){dt("cell-load").textContent=Y.QUICK_LOAD}save(t,e){return this._statusEnergy=e.statusEnergy,this.ctx.clearRect(0,0,this.cvs.width,this.cvs.height),this.ctx.drawImage(t,0,0,t.width,t.height,0,0,this.cvs.width,this.cvs.height),this.quickSaveData=e,this.flag=!0,this.date=new Date,this.showQickLoad(),!0}getStatusEnergy(){return this.flag?this._statusEnergy:-1}load(){return this.quickSaveData}saveDataSet(t,e,s){try{this.quickSaveData=e,this._statusEnergy=e.statusEnergy,this.date=s,this.flag=!0;var a=document.createElement("img");a.src=t,a.addEventListener("load",(()=>{this.flag=!0,this.ctx.drawImage(a,0,0,a.width,a.height,0,0,this.cvs.width,this.cvs.height)})),this.showQickLoad()}catch(t){}}getDateText(){let t,e,s,a,i,r;return this.date?(t=this.date.getFullYear(),e=this.date.getMonth()+1,s=this.date.getDate(),a=this.date.getHours(),i=this.date.getMinutes(),r=this.date.getSeconds(),t=("000"+t).slice(-4),e=("0"+e).slice(-2),s=("0"+s).slice(-2),a=("0"+a).slice(-2),i=("0"+i).slice(-2),r=("0"+r).slice(-2),t+"/"+e+"/"+s+" "+a+":"+i+":"+r):""}isLastSaveData(){return this===this._parent.getLastSaveData()}}class Ze extends $e{save(t,e){var s=super.save.apply(this,arguments);return this._parent.dbUpdateSaveData(this._id,t,e,this.date),s}}class qe extends Array{constructor(){super(),Object.setPrototypeOf(this,Object.create(qe.prototype))}hasSaveData(){for(var t=0;t<F.QUICK_SAVE_MAX;t++)if(this[t].flag)return!0;return!1}getLastSaveData(){for(var t,e,s=0;s<F.QUICK_SAVE_MAX;s++)(e=this[s]).flag&&(t?e.date&&t.date&&e.date.getTime()>t.date.getTime()&&(t=e):t=e);return t}}const ze=t=>{return"boolean"!=typeof(e=t).isGameOverDisabled?e:!0===e.isGameOverDisabled?{...e,isGameOverDisabled:void 0,gameOverPolicy:"never"}:!1===e.isGameOverDisabled?{...e,isGameOverDisabled:void 0,gameOverPolicy:"default"}:e;var e};class Qe extends qe{constructor(t,e,s=Qe.prototype){super(),this.IDBTransaction={READ_ONLY:"readonly",READ_WRITE:"readwrite",VERSION_CHANGE:"versionchangetransaction"},this.keyPath=["id","url"],Object.setPrototypeOf(this,Object.create(s));for(var a=0;a<F.QUICK_SAVE_MAX;a++)this[a]=new Ze(a,this);this.onCheckLoadingSaveData=t,this.onCompleteLoadingSaveData=e,this.createDataBase(),this.selectSaveData()}indexDBOpen(){return indexedDB.open(F.INDEXEDDB_DB_NAME,201205201)}createDataBase(){try{var t=this.indexDBOpen();t.onupgradeneeded=e=>{var s=t.result,a={keyPath:this.keyPath};s.objectStoreNames.contains(F.INDEXEDDB_TABLE_NAME)||s.createObjectStore(F.INDEXEDDB_TABLE_NAME,a).createIndex("url","url",{unique:!1})},t.onsuccess=Qe.doNotAnything,t.onerror=Qe.doNotAnything,t.onblocked=Qe.doNotAnything}catch(t){}}getObjectStore(t){const e=t;try{var s=e.transaction(F.INDEXEDDB_TABLE_NAME,this.IDBTransaction.READ_WRITE).objectStore(F.INDEXEDDB_TABLE_NAME)}catch(t){return}return s}makeSaveDataItem(t,e,s,a){return{url:location.href,id:t,hash:rs.checkOriginalMapString,image:e.toDataURL(),data:s,date:a,worldName:rs.worldName,mapDataRevisionKey:rs.mapDataRevisionKey}}getSaveDataResult(t,e){const s=t.index("url"),a=IDBKeyRange.only(location.href),i=s.getAll(a);i.onsuccess=()=>{e(i.result)}}dbUpdateSaveData(t,e,s,a){const i=this.indexDBOpen();i.onupgradeneeded=Qe.doNotAnything,i.onsuccess=()=>{const r=this.getObjectStore(i.result),n=Xe.compress(s),o=this.makeSaveDataItem(t,e,n,a);this.selectDatas[t]=o;const h=r.put(o);h.onsuccess=Qe.doNotAnything,h.onerror=Qe.doNotAnything},i.onerror=Qe.doNotAnything,i.onblocked=Qe.doNotAnything}dbDeleteSaveData(t){const e=this.indexDBOpen();e.onupgradeneeded=Qe.doNotAnything,e.onsuccess=()=>{const s=this.getObjectStore(e.result);t.forEach((t=>{s.delete([t,location.href])}))},e.onerror=Qe.doNotAnything,e.onblocked=Qe.doNotAnything}selectSaveData(){const t=this.indexDBOpen();t.onupgradeneeded=Qe.doNotAnything,t.onsuccess=()=>{const e=this.getObjectStore(t.result);this.selectDatas=[];this.getSaveDataResult(e,(t=>{var e,s,a;let i=[];for(s=t.length,e=0;e<s;e++){var r=t[e];try{a={id:r.id,hash:r.hash,data:r.data,date:r.date,image:r.image,worldName:r.worldName,mapDataRevisionKey:r.mapDataRevisionKey}}catch(t){continue}const s=this.onCheckLoadingSaveData(a.worldName,a.hash,a.mapDataRevisionKey);if(null!==s){i.push({id:a.id,cause:s});continue}if(!this[a.id])continue;const n=ze(Xe.decompress(a.data)[0]);this[a.id].saveDataSet(a.image,n,a.date)}i.length>0&&this.dbDeleteSaveData(i.map((t=>t.id)));const n=i.map((t=>t.cause)).filter(((t,e,s)=>s.indexOf(t)===e));this.onCompleteLoadingSaveData(n)}))},t.onerror=Qe.doNotAnything,t.onblocked=Qe.doNotAnything}}Qe.doNotAnything=()=>{};var ts,es=Qe;class ss extends $e{}class as extends qe{constructor(){super(),this._saveNo=0,this._lastAutoSaveMove=0,this._autoInterval=F.SAVE_INTERVAL_MOVE,Object.setPrototypeOf(this,Object.create(as.prototype));for(var t=0;t<F.QUICK_SAVE_MAX;t++)this[t]=new ss(t,this);this._saveNo=0,this._lastAutoSaveMove=0}resumeStart(){this._lastAutoSaveMove=-1}setPlayer(t){this._lastAutoSaveMove=t.getMoveCount()}isAutoSaveFrame(t){if(0===this._autoInterval)return!1;var e=t.getMoveCount();return!(this._lastAutoSaveMove>=e)&&(e%this._autoInterval==0&&(this._lastAutoSaveMove=e,!0))}autoSave(t,e){this[this._saveNo].save(t,e),this._saveNo++,this._saveNo=this._saveNo%F.QUICK_SAVE_MAX}setAutoSaveInterval(t){t<0?console.warn(`オートセーブの歩数 (${t}) に負の値が設定されています。`):this._autoInterval=0|t}}function is(t,e){return(0,Fe.MD5)(t+e).toString()}class rs{constructor(t,e,s,a,i){rs.checkOriginalMapString=t.checkOriginalMapString,rs.worldName=e,rs.mapDataRevisionKey=is(e,s),this._wwaDBSaveList=new es(a,i),this._wwaLogSaveList=new as,this.selectDBSaveDataList()}resumeStart(){this._wwaLogSaveList.resumeStart()}isAutoSaveFrame(t){return this._wwaLogSaveList.isAutoSaveFrame(t)}autoSave(t,e){this._wwaLogSaveList.autoSave(t,e)}selectDBSaveDataList(){this.list=this._wwaDBSaveList}selectLogSaveDataList(){this.list=this._wwaLogSaveList}save(t,e,s){var a=this.list[s];return!!a&&a.save(t,e)}load(t){var e=this.list[t];return e?e.load():null}hasSaveData(){return this.list.hasSaveData()}setAutoSaveInterval(t){return this._wwaLogSaveList.setAutoSaveInterval(t)}getFirstSaveChoiceCallInfo(t){return t?T.CALL_BY_PASSWORD_LOAD:this._wwaDBSaveList.hasSaveData()?T.CALL_BY_QUICK_LOAD:this._wwaLogSaveList.hasSaveData()?T.CALL_BY_LOG_QUICK_LOAD:T.CALL_BY_PASSWORD_LOAD}getSecondSaveChoiceCallInfo(t){return this.list===this._wwaDBSaveList&&this._wwaLogSaveList.hasSaveData()?T.CALL_BY_LOG_QUICK_LOAD:t?T.CALL_BY_PASSWORD_LOAD:T.NONE}gameStart(t,e){this._wwaLogSaveList.setPlayer(e),this.quickSaveButtonUpdate(t)}quickSaveButtonUpdate(t){t.disableSaveFlag?dt("cell-save").textContent=Y.EMPTY_SAVE:dt("cell-save").textContent=Y.QUICK_SAVE}}!function(t){t.UNMATCHED_WORLD_NAME="UNMATCHED_WORLD_NAME",t.UNMATCHED_WORLD_PASS_NUMBER="UNMATCHED_WORLD_PASS_NUMBER",t.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA="DISALLOW_OLD_REVISION_WORLD_SAVE_DATA"}(ts||(ts={}));class ns{constructor(t,e,s,a){this.id=t,this.fileName=e,this.audioContext=s,this.audioGain=a,this.disposeBufferSource=t=>{try{t.stop(),t.disconnect(this.audioGain),t.buffer=null}catch(t){}t.onended=null},this.audioContext=s,this.audioGain=a,this.audioBuffer=null,this.bufferSources=[],this.isLoaded=!1,this.delayBgmTimeoutId=null,this.load()}async fetchSoundFile(){try{return await fetch(this.fileName)}catch(t){return void console.warn(`サウンド ${this.id} 番の音声ファイルの取得失敗 (fetch)`)}}async getArrayBuffer(t){try{return await t.arrayBuffer()}catch(t){return void console.warn(`サウンド ${this.id} 番の音声ファイルの取得失敗 (arrayBuffer)`)}}async load(t=0){if(t>=10)return console.log(`サウンド ${this.id} 番の音声ファイルの取得失敗 (最大リトライ回数超過)`),void(this.isExceededMaxRetryCount=!0);const e=await this.fetchSoundFile();if(!e)return void this.retry(t);if(0!==e.status&&200!==e.status)return console.warn(`サウンド ${this.id} 番の音声ファイルが見つかりません! HTTPエラー番号: ${e.status}`),void this.cancelLoad();const s=await this.getArrayBuffer(e);s?this.audioContext.decodeAudioData(s,(e=>{if(0===e.length)return console.log(`サウンド ${this.id} 番の音声ファイルのバッファサイズが 0 です `),void this.retry(t);this.setData(e)})):this.retry(t)}retry(t){window.setTimeout((async()=>{await this.load(t+1)}),100)}setData(t){this.audioBuffer=t,this.isLoaded=!0}cancelLoad(){this.audioBuffer=null,this.isLoaded=!0}play(t=0){const e=this.audioContext.createBufferSource();this.bufferSources.push(e),e.buffer=this.audioBuffer,this.isBgm()&&(e.loop=!0),e.connect(this.audioGain);let s=e.duration;(!isFinite(s)||s<0||"number"!=typeof s)&&(s=0),e.onended=()=>{const t=this.bufferSources.indexOf(e);-1!==t&&this.bufferSources.splice(t,1),this.disposeBufferSource(e)},this.delayBgmTimeoutId=window.setTimeout((()=>{this.delayBgmTimeoutId=null,e.start()}),t),this.audioGain.connect(this.audioContext.destination)}pause(){null!==this.delayBgmTimeoutId&&(window.clearTimeout(this.delayBgmTimeoutId),this.delayBgmTimeoutId=null),this.bufferSources.forEach(this.disposeBufferSource),this.bufferSources.length=0}isBgm(){return this.id>=R.BGM_LB}hasData(){return null!==this.audioBuffer}isPlaying(){return this.hasData()||null!==this.delayBgmTimeoutId}isLoading(){return!this.isLoaded}isError(){return this.isExceededMaxRetryCount||this.isLoaded&&null===this.audioBuffer}}const os=(t,e)=>{const s=new Array(t);for(let t=0;t<s.length;t++)s[t]=new Array(e);return s},hs=t=>(t%=256)>=128?t-256:t;var cs,_s,ls;function us(t,e){const s=function(t){return t[cs.CHECK]+256*t[cs.CHECK+1]}(t),a=function(t,e){let s=0;if(t[cs.VERSION]>=29){for(let a=2;a<e;a++)s+=hs(t[a])*(a%8+1);s=s%65536&65535}return s}(t,e);if(s!==a)throw new Error("マップデータが壊れているようです。\n チェックサムの値は"+s+"ですが、実際の和は"+a+"でした。")}!function(t){t[t.CHECK=0]="CHECK",t[t.VERSION=2]="VERSION",t[t.OLD_MAP_COUNT=3]="OLD_MAP_COUNT",t[t.OLD_OBJ_COUNT=4]="OLD_OBJ_COUNT",t[t.OLD_PLAYER_X=5]="OLD_PLAYER_X",t[t.OLD_PLAYER_Y=6]="OLD_PLAYER_Y",t[t.STATUS_ENERGY=10]="STATUS_ENERGY",t[t.STATUS_STRENGTH=12]="STATUS_STRENGTH",t[t.STATUS_DEFENCE=14]="STATUS_DEFENCE",t[t.STATUS_GOLD=16]="STATUS_GOLD",t[t.OLD_GAMEOVER_X=18]="OLD_GAMEOVER_X",t[t.OLD_GAMEOVER_Y=19]="OLD_GAMEOVER_Y",t[t.OLD_ITEMBOX_TOP=20]="OLD_ITEMBOX_TOP",t[t.STATUS_ENERGY_MAX=32]="STATUS_ENERGY_MAX",t[t.MAP_COUNT=34]="MAP_COUNT",t[t.OBJ_COUNT=36]="OBJ_COUNT",t[t.PLAYER_X=38]="PLAYER_X",t[t.PLAYER_Y=40]="PLAYER_Y",t[t.GAMEOVER_X=42]="GAMEOVER_X",t[t.GAMEOVER_Y=44]="GAMEOVER_Y",t[t.MAP_SIZE=46]="MAP_SIZE",t[t.MESSAGE_NUM=48]="MESSAGE_NUM",t[t.ITEMBOX_TOP=60]="ITEMBOX_TOP",t[t.MAPDATA_TOP=90]="MAPDATA_TOP",t[t.OLD_MAPDATA_TOP=100]="OLD_MAPDATA_TOP"}(cs||(cs={}));class ds{}ds.ITEMBOX_SIZE=12,ds.MAP_ATR_MAX=60,ds.OBJ_ATR_MAX=60,ds.OLD_MAP_ATR_MAX=40,ds.OLD_OBJ_ATR_MAX=40,ds.ATR_CROP1=1,ds.ATR_CROP2=2,ds.ATR_TYPE=3,ds.ATR_JUMP_X=16,ds.ATR_JUMP_Y=17,ds.MAP_LOCALGATE=2,ds.OBJECT_LOCALGATE=18,ds.SYSTEM_MESSAGE_NUM=20,ds.IMGPOS_DEFAULT_YESNO_X=3,ds.IMGPOS_DEFAULT_YESNO_Y=1,ds.IMGPOS_DEFAULT_PLAYER_X=2,ds.IMGPOS_DEFAULT_PLAYER_Y=0,ds.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0,ds.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0,ds.IMGPOS_DEFAULT_STATUS_X=3,ds.IMGPOS_DEFAULT_STATUS_Y=2,ds.IMGRELPOS_ENERGY_ICON_X=0,ds.IMGRELPOS_STRENGTH_ICON_X=1,ds.IMGRELPOS_DEFENCE_ICON_X=2,ds.IMGRELPOS_GOLD_ICON_X=3,ds.IMGPOS_DEFAULT_WIDE_CELL_X=4,ds.IMGPOS_DEFAULT_WIDE_CELL_Y=3,ds.IMGPOS_DEFAULT_ITEMBOX_X=1,ds.IMGPOS_DEFAULT_ITEMBOX_Y=2,ds.IMGPOS_DEFAULT_FRAME_X=0,ds.IMGPOS_DEFAULT_FRAME_Y=1,ds.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3,ds.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3,ds.DEFAULT_DISABLE_SAVE=!1,ds.DEFAULT_OLDMAP=!1,ds.DEFAULT_OBJECT_NO_COLLAPSE=!1,ds.DEFAULT_FRAME_COLOR_R=255,ds.DEFAULT_FRAME_COLOR_G=255,ds.DEFAULT_FRAME_COLOR_B=255,ds.DEFAULT_FRAMEOUT_COLOR_R=96,ds.DEFAULT_FRAMEOUT_COLOR_G=96,ds.DEFAULT_FRAMEOUT_COLOR_B=96,ds.DEFAULT_STR_COLOR_R=0,ds.DEFAULT_STR_COLOR_G=0,ds.DEFAULT_STR_COLOR_B=0,ds.DEFAULT_STATUS_COLOR_R=0,ds.DEFAULT_STATUS_COLOR_G=0,ds.DEFAULT_STATUS_COLOR_B=0,ds.DEFAULT_MOVES=0,ds.DEFAULT_SPEED_INDEX=3,ds.USER_VAR_NUM=256;!function(t){t[t.MAP=1]="MAP",t[t.OBJECT=0]="OBJECT"}(_s||(_s={})),function(t){t[t.INIT=0]="INIT",t[t.MAP_LOAD=1]="MAP_LOAD",t[t.OBJ_LOAD=2]="OBJ_LOAD",t[t.MAP_ATTR=3]="MAP_ATTR",t[t.OBJ_ATTR=4]="OBJ_ATTR",t[t.RAND_PARTS=5]="RAND_PARTS",t[t.MESSAGE=6]="MESSAGE"}(ls||(ls={}));class ps{constructor(t,e,s){this.byteMapData=t,this.eventEmitter=s,us(t,e),this.wwaData={version:void 0,gameoverX:void 0,gameoverY:void 0,playerX:void 0,playerY:void 0,mapPartsMax:void 0,objPartsMax:void 0,isOldMap:void 0,isOldMove:void 0,statusEnergyMax:void 0,statusEnergy:void 0,statusStrength:void 0,statusDefence:void 0,statusGold:void 0,itemBox:void 0,mapWidth:void 0,messageNum:void 0,map:void 0,mapObject:void 0,mapCompressed:void 0,mapObjectCompressed:void 0,mapAttribute:void 0,objectAttribute:void 0,worldPassword:void 0,message:void 0,worldName:void 0,worldPassNumber:void 0,charCGName:void 0,mapCGName:void 0,systemMessage:void 0,moves:void 0,yesnoImgPosX:void 0,yesnoImgPosY:void 0,playerImgPosX:void 0,playerImgPosY:void 0,clickableItemSignImgPosX:void 0,clickableItemSignImgPosY:void 0,disableSaveFlag:void 0,compatibleForOldMapFlag:void 0,objectNoCollapseDefaultFlag:void 0,delPlayerFlag:void 0,bgm:void 0,effectCoords:void 0,effectWaits:void 0,imgStatusEnergyX:void 0,imgStatusEnergyY:void 0,imgStatusStrengthX:void 0,imgStatusStrengthY:void 0,imgStatusDefenceX:void 0,imgStatusDefenceY:void 0,imgStatusGoldX:void 0,imgStatusGoldY:void 0,imgWideCellX:void 0,imgWideCellY:void 0,imgItemboxX:void 0,imgItemboxY:void 0,imgFrameX:void 0,imgFrameY:void 0,imgBattleEffectX:void 0,imgBattleEffectY:void 0,imgClickX:void 0,imgClickY:void 0,frameColorR:void 0,frameColorG:void 0,frameColorB:void 0,frameOutColorR:void 0,frameOutColorG:void 0,frameOutColorB:void 0,fontColorR:void 0,fontColorG:void 0,fontColorB:void 0,statusColorR:void 0,statusColorG:void 0,statusColorB:void 0,checkOriginalMapString:void 0,checkString:void 0,isItemEffectEnabled:void 0,frameCount:void 0,gamePadButtonItemTable:void 0,userVar:void 0,userNamedVar:void 0,permitChangeGameSpeed:void 0,gameSpeedIndex:void 0,playTime:void 0,isVisibleStatusEnergy:void 0,isVisibleStatusStrength:void 0,isVisibleStatusDefence:void 0,isVisibleStatusGold:void 0,isGameOverDisabled:void 0,gameOverPolicy:"default",bgmDelayDurationMs:void 0,customSystemMessages:{}}}extractAllData(){var t,e;return this.wwaData.version=this.byteMapData[cs.VERSION],this._extractInitialParameters(),this.wwaData.version>=29?this.currentPosition=cs.MAPDATA_TOP:this.currentPosition=cs.OLD_MAPDATA_TOP,this.wwaData.map=this._getFieldDataFromBits(_s.MAP,this.wwaData.mapPartsMax).concat(),this.wwaData.mapObject=this._getFieldDataFromBits(_s.OBJECT,this.wwaData.objPartsMax).concat(),t=this.wwaData.version>29?ds.MAP_ATR_MAX:ds.OLD_MAP_ATR_MAX,e=this.wwaData.version>29?ds.OBJ_ATR_MAX:ds.OLD_OBJ_ATR_MAX,this.wwaData.mapAttribute=this._getPartsDataFromBits(_s.MAP,this.wwaData.mapPartsMax,t).concat(),this.wwaData.objectAttribute=this._getPartsDataFromBits(_s.OBJECT,this.wwaData.objPartsMax,e).concat(),this.wwaData.version<=29&&(this._convertAttributeV2toV3(_s.MAP),this._convertAttributeV2toV3(_s.OBJECT)),this._replaceAllRandomObjects(),this.wwaData}_convertAttributeV2toV3(t){var e,s,a;if(t==_s.MAP)e=this.wwaData.mapPartsMax,s=this.wwaData.mapAttribute,a=ds.MAP_LOCALGATE;else{if(t!=_s.OBJECT)throw new Error("謎のパーツ種別が指定されました");e=this.wwaData.objPartsMax,s=this.wwaData.objectAttribute,a=ds.OBJECT_LOCALGATE}for(var i=0;i<e;i++){for(var r=9;r>=0;r--){var n=255&s[i][20+2*r],o=s[i][20+2*r]>>8,h=255&s[i][20+2*r+1],c=s[i][20+2*r+1]>>8;250===h?h=9e3:h>100&&(h+=9840),250===c?c=9e3:c>100&&(c+=9840),s[i][20+4*r]=n,s[i][20+4*r+3]=o,s[i][20+4*r+1]=h,s[i][20+4*r+2]=c}s[i][ds.ATR_TYPE]===a&&(s[i][ds.ATR_JUMP_X]>100&&(s[i][ds.ATR_JUMP_X]+=9840),s[i][ds.ATR_JUMP_Y]>100&&(s[i][ds.ATR_JUMP_Y]+=9840))}}_get1ByteNumber(t){return this.byteMapData[t]}_get2BytesNumber(t){return this.byteMapData[t]+256*this.byteMapData[t+1]}_extractInitialParameters(){this.wwaData.version>29?(this.wwaData.gameoverX=this._get2BytesNumber(cs.GAMEOVER_X),this.wwaData.gameoverY=this._get2BytesNumber(cs.GAMEOVER_Y),this.wwaData.playerX=this._get2BytesNumber(cs.PLAYER_X),this.wwaData.playerY=this._get2BytesNumber(cs.PLAYER_Y),this.wwaData.mapPartsMax=this._get2BytesNumber(cs.MAP_COUNT),this.wwaData.objPartsMax=this._get2BytesNumber(cs.OBJ_COUNT),this.wwaData.isOldMap=!1):(this.wwaData.gameoverX=this._get1ByteNumber(cs.OLD_GAMEOVER_X),this.wwaData.gameoverY=this._get1ByteNumber(cs.OLD_GAMEOVER_Y),this.wwaData.playerX=this._get1ByteNumber(cs.OLD_PLAYER_X),this.wwaData.playerY=this._get1ByteNumber(cs.OLD_PLAYER_Y),this.wwaData.mapPartsMax=this._get1ByteNumber(cs.OLD_MAP_COUNT),this.wwaData.objPartsMax=this._get1ByteNumber(cs.OLD_OBJ_COUNT),this.wwaData.isOldMap=!0),this.wwaData.statusEnergyMax=this._get2BytesNumber(cs.STATUS_ENERGY_MAX),this.wwaData.statusEnergy=this._get2BytesNumber(cs.STATUS_ENERGY),this.wwaData.statusStrength=this._get2BytesNumber(cs.STATUS_STRENGTH),this.wwaData.statusDefence=this._get2BytesNumber(cs.STATUS_DEFENCE),this.wwaData.statusGold=this._get2BytesNumber(cs.STATUS_GOLD),this._extractInitialItemData(),this.wwaData.mapWidth=this._get2BytesNumber(cs.MAP_SIZE),this.wwaData.messageNum=this._get2BytesNumber(cs.MESSAGE_NUM),this.wwaData.version<28?this.wwaData.mapWidth=71:this.wwaData.version<=29&&(this.wwaData.mapWidth=101)}_extractInitialItemData(){const t=this.wwaData.version>29?cs.ITEMBOX_TOP:cs.OLD_ITEMBOX_TOP;this.wwaData.itemBox=new Array(ds.ITEMBOX_SIZE);for(let e=0;e<ds.ITEMBOX_SIZE;e++)this.wwaData.itemBox[e]=this._get1ByteNumber(t+e)}_getFieldDataFromBits(t,e){var s,a,i;for(i=os(this.wwaData.mapWidth,this.wwaData.mapWidth),s=0;s<this.wwaData.mapWidth;s++)for(a=0;a<this.wwaData.mapWidth;a++)this.wwaData.version>29?(i[s][a]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2):(i[s][a]=this._get1ByteNumber(this.currentPosition),this.currentPosition+=1),(s*this.wwaData.mapWidth+a)%200==0&&this.emitProgress(s*this.wwaData.mapWidth+a,this.wwaData.mapWidth*this.wwaData.mapWidth,t===_s.MAP?ls.MAP_LOAD:ls.OBJ_LOAD),i[s][a]>=e&&(i[s][a]=0);return this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,t===_s.MAP?ls.MAP_LOAD:ls.OBJ_LOAD),i}_getPartsDataFromBits(t,e,s){var a,i,r;for(r=os(e,s),a=0;a<e;a++)for(i=0;i<s;i++)(a*this.wwaData.mapWidth+i)%200==0&&this.emitProgress(a*s+i,e*s,t===_s.MAP?ls.MAP_ATTR:ls.OBJ_ATTR),i!==ds.ATR_CROP1&&i!==ds.ATR_CROP2?(r[a][i]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2):(r[a][i]=0,this.currentPosition+=2);return this.emitProgress(e*s,e*s,t===_s.MAP?ls.MAP_ATTR:ls.OBJ_ATTR),r}_replaceAllRandomObjects(){this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,ls.RAND_PARTS)}emitProgress(t,e,s){this.eventEmitter.dispatch("progress",{current:t,total:e,stage:s})}}class Es{constructor(t,e,s,a){this.wwaData=t,this.compressedMapData=e,this.startPosition=s,this.eventEmitter=a,this.OLDVER_MESSAGE_MAX=400}load(){const t=this.wwaData;this.currentPos=this.startPosition,t.version>=30&&(t.worldPassword=this.getMessageFromData()),t.version<=29&&(t.messageNum=this.OLDVER_MESSAGE_MAX),t.message=new Array(t.messageNum);for(let e=0;e<t.message.length;e++)t.message[e]=this.getMessageFromData(),e%200==0&&this.eventEmitter.dispatch("progress",{current:e,total:t.message.length,stage:ls.MESSAGE});for(;t.messageNum<10;)t.message.push(""),t.messageNum++;this.eventEmitter.dispatch("progress",{current:t.message.length,total:t.message.length,stage:ls.MESSAGE}),t.worldName=this.getMessageFromData(),t.version<=29?t.worldPassword=this.getMessageFromData():this.getMessageFromData(),""===t.worldPassword?t.worldPassNumber=0:t.version>=29?t.worldPassNumber=(parseInt(t.worldPassword)/10-1197)/17-2357:t.worldPassNumber=parseInt(t.worldPassword),t.charCGName=this.getMessageFromData(),t.mapCGName=this.getMessageFromData(),t.systemMessage=new Array(ds.SYSTEM_MESSAGE_NUM);for(let e=0;e<ds.SYSTEM_MESSAGE_NUM;e++)t.version>=30?t.systemMessage[e]=this.getMessageFromData():t.systemMessage[e]="";return t.yesnoImgPosX=ds.IMGPOS_DEFAULT_YESNO_X,t.yesnoImgPosY=ds.IMGPOS_DEFAULT_YESNO_Y,t.playerImgPosX=ds.IMGPOS_DEFAULT_PLAYER_X,t.playerImgPosY=ds.IMGPOS_DEFAULT_PLAYER_Y,t.clickableItemSignImgPosX=ds.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X,t.clickableItemSignImgPosY=ds.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y,t.disableSaveFlag=ds.DEFAULT_DISABLE_SAVE,t.isOldMap=ds.DEFAULT_OLDMAP,t.isOldMove=t.version<31,t.objectNoCollapseDefaultFlag=ds.DEFAULT_OBJECT_NO_COLLAPSE,t.delPlayerFlag=!1,t.bgm=0,t.effectCoords=[],t.effectWaits=0,t.imgStatusEnergyX=ds.IMGPOS_DEFAULT_STATUS_X+ds.IMGRELPOS_ENERGY_ICON_X,t.imgStatusEnergyY=ds.IMGPOS_DEFAULT_STATUS_Y,t.imgStatusStrengthX=ds.IMGPOS_DEFAULT_STATUS_X+ds.IMGRELPOS_STRENGTH_ICON_X,t.imgStatusStrengthY=ds.IMGPOS_DEFAULT_STATUS_Y,t.imgStatusDefenceX=ds.IMGPOS_DEFAULT_STATUS_X+ds.IMGRELPOS_DEFENCE_ICON_X,t.imgStatusDefenceY=ds.IMGPOS_DEFAULT_STATUS_Y,t.imgStatusGoldX=ds.IMGPOS_DEFAULT_STATUS_X+ds.IMGRELPOS_GOLD_ICON_X,t.imgStatusGoldY=ds.IMGPOS_DEFAULT_STATUS_Y,t.imgWideCellX=ds.IMGPOS_DEFAULT_WIDE_CELL_X,t.imgWideCellY=ds.IMGPOS_DEFAULT_WIDE_CELL_Y,t.imgItemboxX=ds.IMGPOS_DEFAULT_ITEMBOX_X,t.imgItemboxY=ds.IMGPOS_DEFAULT_ITEMBOX_Y,t.imgFrameX=ds.IMGPOS_DEFAULT_FRAME_X,t.imgFrameY=ds.IMGPOS_DEFAULT_FRAME_Y,t.imgBattleEffectX=ds.IMGPOS_DEFAULT_BATTLE_EFFECT_X,t.imgBattleEffectY=ds.IMGPOS_DEFAULT_BATTLE_EFFECT_Y,t.imgClickX=0,t.imgClickY=0,t.frameColorR=ds.DEFAULT_FRAME_COLOR_R,t.frameColorG=ds.DEFAULT_FRAME_COLOR_G,t.frameColorB=ds.DEFAULT_FRAME_COLOR_B,t.frameOutColorR=ds.DEFAULT_FRAMEOUT_COLOR_R,t.frameOutColorG=ds.DEFAULT_FRAMEOUT_COLOR_G,t.frameOutColorB=ds.DEFAULT_FRAMEOUT_COLOR_B,t.fontColorR=ds.DEFAULT_STR_COLOR_R,t.fontColorG=ds.DEFAULT_STR_COLOR_G,t.fontColorB=ds.DEFAULT_STR_COLOR_B,t.statusColorR=ds.DEFAULT_STATUS_COLOR_R,t.statusColorG=ds.DEFAULT_STATUS_COLOR_G,t.statusColorB=ds.DEFAULT_STATUS_COLOR_B,t.moves=ds.DEFAULT_MOVES,t.gameSpeedIndex=ds.DEFAULT_SPEED_INDEX,t.permitChangeGameSpeed=!0,t.userVar=Array.from({length:ds.USER_VAR_NUM}).map((()=>0)),t.userNamedVar=[],t.playTime=0,t.isVisibleStatusEnergy=!0,t.isVisibleStatusStrength=!0,t.isVisibleStatusDefence=!0,t.isVisibleStatusGold=!0,t.gameOverPolicy="default",t.bgmDelayDurationMs=0,t}getMessageFromData(){let t="",e=0;for(e=0;e<1500&&(0!=this.compressedMapData[this.currentPos+2*e]||0!=this.compressedMapData[this.currentPos+2*e+1]);e++)t+=String.fromCharCode((this.compressedMapData[this.currentPos+2*e+1]<<8)+this.compressedMapData[this.currentPos+2*e]);return this.currentPos+=2*e+2,t}}class ms{constructor(){}}class gs extends ms{constructor(t){super(),this.uri=t}static async fetch(t){try{return await fetch(t)}catch(e){throw new Error(`マップデータ 「${t}」の読み込みに失敗しました。\n 通信環境の良いところで再度お試しください。\n ローカルテストの場合は、ブラウザが対応していない可能性があります。`)}}static handleError(t,e){const s=`HTTPステータスコードは ${e.status} です。`;switch(e.status){case 200:case 304:return;case 403:throw new Error(`マップデータ「${t}」を読み取る権限がないようです。\n 管理者の方へ: マップデータのパーミッションを確認してください。\n ${s}`);case 404:throw new Error(`マップデータ「${t}」が見つかりませんでした。\n ${s}`);default:throw new Error(`マップデータ「${t}」の読み込みに失敗しました。\n ${s}`)}}async request(){const t=await gs.fetch(this.uri);gs.handleError(this.uri,t);return await t.arrayBuffer()}}var ws=s(106),fs=s.n(ws);class vs extends ms{constructor(t){super(),this.fileName=t}async request(){return new Promise(((t,e)=>{fs().readFile(this.fileName,((s,a)=>{s&&e(s),t(a.buffer)}))}))}}class Ss{constructor(t,e){this.fileName=t,this.eventEmitter=e}async requestAndLoadMapData(){const t=(e=this.fileName,"undefined"!=typeof window?new gs(e):new vs(e));var e;try{const e=await t.request();if(!e)return void this.eventEmitter.dispatch("error",{name:"マップデータ取得に失敗しました",message:"mapdata is empty"});const s=this.loadMapData(e);this.eventEmitter.dispatch("mapData",s)}catch(t){const e=t.name||"",s=t.message||"";this.eventEmitter.dispatch("error",{name:e,message:s})}}loadMapData(t){try{const e=new Uint8Array(t),{byteMapData:s,byteMapLength:a,compressedEndPosition:i}=function(t){let e,s,a=new Uint8Array(t.length);for(e=0,s=0;e<t.length&&(0!==t[e]||0!==t[e+1]||0!==t[e+2]);e++){if(a[s++]=t[e],t[e]===t[e+1]){const i=t[e+2];for(let r=0;r<i;r++)a[s++]=t[e];e+=2}if(s+255>=a.length){var i=new Uint8Array(a.length+65e3);i.set(a),a=i}}return console.log("EXTRACT DATA = "+s+" "+e),{byteMapData:a,byteMapLength:s,compressedEndPosition:e+3}}(e),r=new ps(s,a,this.eventEmitter).extractAllData();return new Es(r,e,i,this.eventEmitter).load()}catch(t){throw t}}}class As{constructor(t){this.target=null!=t?t:document.createElement("div")}dispatch(t,e){const s=new CustomEvent(t,{detail:e});this.target.dispatchEvent(s)}addListener(t,e){const s=t=>e(t.detail);return this.target.addEventListener(t,s),s}removeListener(t,e){this.target.removeEventListener(t,e)}}const ys=async t=>fetch(t).then((e=>200===e.status||304===e.status?{kind:"data",data:e}:{kind:"httpError",errorMessage:`ファイル ${t} が読み込めませんでした。ステータスコード: ${e.status}`})).catch((e=>({kind:"connectionError",errorMessage:`ファイル ${t} が読み込めませんでした。通信状態がいい場所で再度お試しください。`}))).then((async t=>"data"===t.kind?{kind:"data",data:await t.data.json()}:t)).catch((e=>({kind:"brokenJson",errorMessage:`ファイル ${t} が壊れています。`})));var Ts={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},Is="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Cs={5:Is,"5module":Is+" export import",6:Is+" const class extends export import super"},Ds=/^in(stanceof)?$/,Os="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ns="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",Ps=new RegExp("["+Os+"]"),Ms=new RegExp("["+Os+Ns+"]");Os=Ns=null;var xs=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],bs=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Ls(t,e){for(var s=65536,a=0;a<e.length;a+=2){if((s+=e[a])>t)return!1;if((s+=e[a+1])>=t)return!0}}function Rs(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&Ps.test(String.fromCharCode(t)):!1!==e&&Ls(t,xs)))}function Bs(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&Ms.test(String.fromCharCode(t)):!1!==e&&(Ls(t,xs)||Ls(t,bs)))))}var Us=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function ks(t,e){return new Us(t,{beforeExpr:!0,binop:e})}var Ws={beforeExpr:!0},Vs={startsExpr:!0},Fs={};function Ys(t,e){return void 0===e&&(e={}),e.keyword=t,Fs[t]=new Us(t,e)}var Gs={num:new Us("num",Vs),regexp:new Us("regexp",Vs),string:new Us("string",Vs),name:new Us("name",Vs),eof:new Us("eof"),bracketL:new Us("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Us("]"),braceL:new Us("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Us("}"),parenL:new Us("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Us(")"),comma:new Us(",",Ws),semi:new Us(";",Ws),colon:new Us(":",Ws),dot:new Us("."),question:new Us("?",Ws),questionDot:new Us("?."),arrow:new Us("=>",Ws),template:new Us("template"),invalidTemplate:new Us("invalidTemplate"),ellipsis:new Us("...",Ws),backQuote:new Us("`",Vs),dollarBraceL:new Us("${",{beforeExpr:!0,startsExpr:!0}),eq:new Us("=",{beforeExpr:!0,isAssign:!0}),assign:new Us("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Us("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Us("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:ks("||",1),logicalAND:ks("&&",2),bitwiseOR:ks("|",3),bitwiseXOR:ks("^",4),bitwiseAND:ks("&",5),equality:ks("==/!=/===/!==",6),relational:ks("</>/<=/>=",7),bitShift:ks("<</>>/>>>",8),plusMin:new Us("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:ks("%",10),star:ks("*",10),slash:ks("/",10),starstar:new Us("**",{beforeExpr:!0}),coalesce:ks("??",1),_break:Ys("break"),_case:Ys("case",Ws),_catch:Ys("catch"),_continue:Ys("continue"),_debugger:Ys("debugger"),_default:Ys("default",Ws),_do:Ys("do",{isLoop:!0,beforeExpr:!0}),_else:Ys("else",Ws),_finally:Ys("finally"),_for:Ys("for",{isLoop:!0}),_function:Ys("function",Vs),_if:Ys("if"),_return:Ys("return",Ws),_switch:Ys("switch"),_throw:Ys("throw",Ws),_try:Ys("try"),_var:Ys("var"),_const:Ys("const"),_while:Ys("while",{isLoop:!0}),_with:Ys("with"),_new:Ys("new",{beforeExpr:!0,startsExpr:!0}),_this:Ys("this",Vs),_super:Ys("super",Vs),_class:Ys("class",Vs),_extends:Ys("extends",Ws),_export:Ys("export"),_import:Ys("import",Vs),_null:Ys("null",Vs),_true:Ys("true",Vs),_false:Ys("false",Vs),_in:Ys("in",{beforeExpr:!0,binop:7}),_instanceof:Ys("instanceof",{beforeExpr:!0,binop:7}),_typeof:Ys("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Ys("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Ys("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Hs=/\r\n?|\n|\u2028|\u2029/,Ks=new RegExp(Hs.source,"g");function js(t,e){return 10===t||13===t||!e&&(8232===t||8233===t)}var Xs=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Js=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,$s=Object.prototype,Zs=$s.hasOwnProperty,qs=$s.toString;function zs(t,e){return Zs.call(t,e)}var Qs=Array.isArray||function(t){return"[object Array]"===qs.call(t)};function ta(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var ea=function(t,e){this.line=t,this.column=e};ea.prototype.offset=function(t){return new ea(this.line,this.column+t)};var sa=function(t,e,s){this.start=e,this.end=s,null!==t.sourceFile&&(this.source=t.sourceFile)};function aa(t,e){for(var s=1,a=0;;){Ks.lastIndex=a;var i=Ks.exec(t);if(!(i&&i.index<e))return new ea(s,e-a);++s,a=i.index+i[0].length}}var ia={ecmaVersion:10,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1};function ra(t){var e={};for(var s in ia)e[s]=t&&zs(t,s)?t[s]:ia[s];if(e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),Qs(e.onToken)){var a=e.onToken;e.onToken=function(t){return a.push(t)}}return Qs(e.onComment)&&(e.onComment=function(t,e){return function(s,a,i,r,n,o){var h={type:s?"Block":"Line",value:a,start:i,end:r};t.locations&&(h.loc=new sa(this,n,o)),t.ranges&&(h.range=[i,r]),e.push(h)}}(e,e.onComment)),e}function na(t,e){return 2|(t?4:0)|(e?8:0)}var oa=function(t,e,s){this.options=t=ra(t),this.sourceFile=t.sourceFile,this.keywords=ta(Cs[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var a="";if(!0!==t.allowReserved){for(var i=t.ecmaVersion;!(a=Ts[i]);i--);"module"===t.sourceType&&(a+=" await")}this.reservedWords=ta(a);var r=(a?a+" ":"")+Ts.strict;this.reservedWordsStrict=ta(r),this.reservedWordsStrictBind=ta(r+" "+Ts.strictBind),this.input=String(e),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf("\n",s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(Hs).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=Gs.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},ha={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};oa.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},ha.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},ha.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},ha.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},ha.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},ha.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},ha.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},oa.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},oa.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var s=this,a=0;a<t.length;a++)s=t[a](s);return s},oa.parse=function(t,e){return new this(e,t).parse()},oa.parseExpressionAt=function(t,e,s){var a=new this(s,t,e);return a.nextToken(),a.parseExpression()},oa.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(oa.prototype,ha);var ca=oa.prototype,_a=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;function la(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}ca.strictDirective=function(t){for(;;){Js.lastIndex=t,t+=Js.exec(this.input)[0].length;var e=_a.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){Js.lastIndex=t+e[0].length;var s=Js.exec(this.input),a=s.index+s[0].length,i=this.input.charAt(a);return";"===i||"}"===i||Hs.test(s[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(i)||"!"===i&&"="===this.input.charAt(a+1))}t+=e[0].length,Js.lastIndex=t,t+=Js.exec(this.input)[0].length,";"===this.input[t]&&t++}},ca.eat=function(t){return this.type===t&&(this.next(),!0)},ca.isContextual=function(t){return this.type===Gs.name&&this.value===t&&!this.containsEsc},ca.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},ca.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},ca.canInsertSemicolon=function(){return this.type===Gs.eof||this.type===Gs.braceR||Hs.test(this.input.slice(this.lastTokEnd,this.start))},ca.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ca.semicolon=function(){this.eat(Gs.semi)||this.insertSemicolon()||this.unexpected()},ca.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},ca.expect=function(t){this.eat(t)||this.unexpected()},ca.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")},ca.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var s=e?t.parenthesizedAssign:t.parenthesizedBind;s>-1&&this.raiseRecoverable(s,"Parenthesized pattern")}},ca.checkExpressionErrors=function(t,e){if(!t)return!1;var s=t.shorthandAssign,a=t.doubleProto;if(!e)return s>=0||a>=0;s>=0&&this.raise(s,"Shorthand property assignments are valid only in destructuring patterns"),a>=0&&this.raiseRecoverable(a,"Redefinition of __proto__ property")},ca.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},ca.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var ua=oa.prototype;ua.parseTopLevel=function(t){var e={};for(t.body||(t.body=[]);this.type!==Gs.eof;){var s=this.parseStatement(null,!0,e);t.body.push(s)}if(this.inModule)for(var a=0,i=Object.keys(this.undefinedExports);a<i.length;a+=1){var r=i[a];this.raiseRecoverable(this.undefinedExports[r].start,"Export '"+r+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var da={kind:"loop"},pa={kind:"switch"};ua.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;Js.lastIndex=this.pos;var e=Js.exec(this.input),s=this.pos+e[0].length,a=this.input.charCodeAt(s);if(91===a)return!0;if(t)return!1;if(123===a)return!0;if(Rs(a,!0)){for(var i=s+1;Bs(this.input.charCodeAt(i),!0);)++i;var r=this.input.slice(s,i);if(!Ds.test(r))return!0}return!1},ua.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Js.lastIndex=this.pos;var t=Js.exec(this.input),e=this.pos+t[0].length;return!(Hs.test(this.input.slice(this.pos,e))||"function"!==this.input.slice(e,e+8)||e+8!==this.input.length&&Bs(this.input.charAt(e+8)))},ua.parseStatement=function(t,e,s){var a,i=this.type,r=this.startNode();switch(this.isLet(t)&&(i=Gs._var,a="let"),i){case Gs._break:case Gs._continue:return this.parseBreakContinueStatement(r,i.keyword);case Gs._debugger:return this.parseDebuggerStatement(r);case Gs._do:return this.parseDoStatement(r);case Gs._for:return this.parseForStatement(r);case Gs._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(r,!1,!t);case Gs._class:return t&&this.unexpected(),this.parseClass(r,!0);case Gs._if:return this.parseIfStatement(r);case Gs._return:return this.parseReturnStatement(r);case Gs._switch:return this.parseSwitchStatement(r);case Gs._throw:return this.parseThrowStatement(r);case Gs._try:return this.parseTryStatement(r);case Gs._const:case Gs._var:return a=a||this.value,t&&"var"!==a&&this.unexpected(),this.parseVarStatement(r,a);case Gs._while:return this.parseWhileStatement(r);case Gs._with:return this.parseWithStatement(r);case Gs.braceL:return this.parseBlock(!0,r);case Gs.semi:return this.parseEmptyStatement(r);case Gs._export:case Gs._import:if(this.options.ecmaVersion>10&&i===Gs._import){Js.lastIndex=this.pos;var n=Js.exec(this.input),o=this.pos+n[0].length,h=this.input.charCodeAt(o);if(40===h||46===h)return this.parseExpressionStatement(r,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),i===Gs._import?this.parseImport(r):this.parseExport(r,s);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(r,!0,!t);var c=this.value,_=this.parseExpression();return i===Gs.name&&"Identifier"===_.type&&this.eat(Gs.colon)?this.parseLabeledStatement(r,c,_,t):this.parseExpressionStatement(r,_)}},ua.parseBreakContinueStatement=function(t,e){var s="break"===e;this.next(),this.eat(Gs.semi)||this.insertSemicolon()?t.label=null:this.type!==Gs.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var a=0;a<this.labels.length;++a){var i=this.labels[a];if(null==t.label||i.name===t.label.name){if(null!=i.kind&&(s||"loop"===i.kind))break;if(t.label&&s)break}}return a===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,s?"BreakStatement":"ContinueStatement")},ua.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},ua.parseDoStatement=function(t){return this.next(),this.labels.push(da),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(Gs._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(Gs.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},ua.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(da),this.enterScope(0),this.expect(Gs.parenL),this.type===Gs.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var s=this.isLet();if(this.type===Gs._var||this.type===Gs._const||s){var a=this.startNode(),i=s?"let":this.value;return this.next(),this.parseVar(a,!0,i),this.finishNode(a,"VariableDeclaration"),(this.type===Gs._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===a.declarations.length?(this.options.ecmaVersion>=9&&(this.type===Gs._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,a)):(e>-1&&this.unexpected(e),this.parseFor(t,a))}var r=new la,n=this.parseExpression(!0,r);return this.type===Gs._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===Gs._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(n,!1,r),this.checkLVal(n),this.parseForIn(t,n)):(this.checkExpressionErrors(r,!0),e>-1&&this.unexpected(e),this.parseFor(t,n))},ua.parseFunctionStatement=function(t,e,s){return this.next(),this.parseFunction(t,ma|(s?0:ga),!1,e)},ua.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(Gs._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},ua.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(Gs.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},ua.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(Gs.braceL),this.labels.push(pa),this.enterScope(0);for(var s=!1;this.type!==Gs.braceR;)if(this.type===Gs._case||this.type===Gs._default){var a=this.type===Gs._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),a?e.test=this.parseExpression():(s&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),s=!0,e.test=null),this.expect(Gs.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},ua.parseThrowStatement=function(t){return this.next(),Hs.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var Ea=[];ua.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===Gs._catch){var e=this.startNode();if(this.next(),this.eat(Gs.parenL)){e.param=this.parseBindingAtom();var s="Identifier"===e.param.type;this.enterScope(s?32:0),this.checkLVal(e.param,s?4:2),this.expect(Gs.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0);e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(Gs._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},ua.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},ua.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(da),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},ua.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},ua.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},ua.parseLabeledStatement=function(t,e,s,a){for(var i=0,r=this.labels;i<r.length;i+=1){r[i].name===e&&this.raise(s.start,"Label '"+e+"' is already declared")}for(var n=this.type.isLoop?"loop":this.type===Gs._switch?"switch":null,o=this.labels.length-1;o>=0;o--){var h=this.labels[o];if(h.statementStart!==t.start)break;h.statementStart=this.start,h.kind=n}return this.labels.push({name:e,kind:n,statementStart:this.start}),t.body=this.parseStatement(a?-1===a.indexOf("label")?a+"label":a:"label"),this.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")},ua.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},ua.parseBlock=function(t,e,s){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(Gs.braceL),t&&this.enterScope(0);this.type!==Gs.braceR;){var a=this.parseStatement(null);e.body.push(a)}return s&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},ua.parseFor=function(t,e){return t.init=e,this.expect(Gs.semi),t.test=this.type===Gs.semi?null:this.parseExpression(),this.expect(Gs.semi),t.update=this.type===Gs.parenR?null:this.parseExpression(),this.expect(Gs.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},ua.parseForIn=function(t,e){var s=this.type===Gs._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!s||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)?this.raise(e.start,(s?"for-in":"for-of")+" loop variable declaration may not have an initializer"):"AssignmentPattern"===e.type&&this.raise(e.start,"Invalid left-hand side in for-loop"),t.left=e,t.right=s?this.parseExpression():this.parseMaybeAssign(),this.expect(Gs.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")},ua.parseVar=function(t,e,s){for(t.declarations=[],t.kind=s;;){var a=this.startNode();if(this.parseVarId(a,s),this.eat(Gs.eq)?a.init=this.parseMaybeAssign(e):"const"!==s||this.type===Gs._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===a.id.type||e&&(this.type===Gs._in||this.isContextual("of"))?a.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(a,"VariableDeclarator")),!this.eat(Gs.comma))break}return t},ua.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"var"===e?1:2,!1)};var ma=1,ga=2;ua.parseFunction=function(t,e,s,a){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!a)&&(this.type===Gs.star&&e&ga&&this.unexpected(),t.generator=this.eat(Gs.star)),this.options.ecmaVersion>=8&&(t.async=!!a),e&ma&&(t.id=4&e&&this.type!==Gs.name?null:this.parseIdent(),!t.id||e&ga||this.checkLVal(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(na(t.async,t.generator)),e&ma||(t.id=this.type===Gs.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,s,!1),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(t,e&ma?"FunctionDeclaration":"FunctionExpression")},ua.parseFunctionParams=function(t){this.expect(Gs.parenL),t.params=this.parseBindingList(Gs.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},ua.parseClass=function(t,e){this.next();var s=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var a=this.startNode(),i=!1;for(a.body=[],this.expect(Gs.braceL);this.type!==Gs.braceR;){var r=this.parseClassElement(null!==t.superClass);r&&(a.body.push(r),"MethodDefinition"===r.type&&"constructor"===r.kind&&(i&&this.raise(r.start,"Duplicate constructor in the same class"),i=!0))}return this.strict=s,this.next(),t.body=this.finishNode(a,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},ua.parseClassElement=function(t){var e=this;if(this.eat(Gs.semi))return null;var s=this.startNode(),a=function(t,a){void 0===a&&(a=!1);var i=e.start,r=e.startLoc;return!!e.eatContextual(t)&&(!(e.type===Gs.parenL||a&&e.canInsertSemicolon())||(s.key&&e.unexpected(),s.computed=!1,s.key=e.startNodeAt(i,r),s.key.name=t,e.finishNode(s.key,"Identifier"),!1))};s.kind="method",s.static=a("static");var i=this.eat(Gs.star),r=!1;i||(this.options.ecmaVersion>=8&&a("async",!0)?(r=!0,i=this.options.ecmaVersion>=9&&this.eat(Gs.star)):a("get")?s.kind="get":a("set")&&(s.kind="set")),s.key||this.parsePropertyName(s);var n=s.key,o=!1;return s.computed||s.static||!("Identifier"===n.type&&"constructor"===n.name||"Literal"===n.type&&"constructor"===n.value)?s.static&&"Identifier"===n.type&&"prototype"===n.name&&this.raise(n.start,"Classes may not have a static property named prototype"):("method"!==s.kind&&this.raise(n.start,"Constructor can't have get/set modifier"),i&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method"),s.kind="constructor",o=t),this.parseClassMethod(s,i,r,o),"get"===s.kind&&0!==s.value.params.length&&this.raiseRecoverable(s.value.start,"getter should have no params"),"set"===s.kind&&1!==s.value.params.length&&this.raiseRecoverable(s.value.start,"setter should have exactly one param"),"set"===s.kind&&"RestElement"===s.value.params[0].type&&this.raiseRecoverable(s.value.params[0].start,"Setter cannot use rest params"),s},ua.parseClassMethod=function(t,e,s,a){return t.value=this.parseMethod(e,s,a),this.finishNode(t,"MethodDefinition")},ua.parseClassId=function(t,e){this.type===Gs.name?(t.id=this.parseIdent(),e&&this.checkLVal(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},ua.parseClassSuper=function(t){t.superClass=this.eat(Gs._extends)?this.parseExprSubscripts():null},ua.parseExport=function(t,e){if(this.next(),this.eat(Gs.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseIdent(!0),this.checkExport(e,t.exported.name,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==Gs.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(Gs._default)){var s;if(this.checkExport(e,"default",this.lastTokStart),this.type===Gs._function||(s=this.isAsyncFunction())){var a=this.startNode();this.next(),s&&this.next(),t.declaration=this.parseFunction(a,4|ma,!1,s)}else if(this.type===Gs._class){var i=this.startNode();t.declaration=this.parseClass(i,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(null),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==Gs.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var r=0,n=t.specifiers;r<n.length;r+=1){var o=n[r];this.checkUnreserved(o.local),this.checkLocalExport(o.local)}t.source=null}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},ua.checkExport=function(t,e,s){t&&(zs(t,e)&&this.raiseRecoverable(s,"Duplicate export '"+e+"'"),t[e]=!0)},ua.checkPatternExport=function(t,e){var s=e.type;if("Identifier"===s)this.checkExport(t,e.name,e.start);else if("ObjectPattern"===s)for(var a=0,i=e.properties;a<i.length;a+=1){var r=i[a];this.checkPatternExport(t,r)}else if("ArrayPattern"===s)for(var n=0,o=e.elements;n<o.length;n+=1){var h=o[n];h&&this.checkPatternExport(t,h)}else"Property"===s?this.checkPatternExport(t,e.value):"AssignmentPattern"===s?this.checkPatternExport(t,e.left):"RestElement"===s?this.checkPatternExport(t,e.argument):"ParenthesizedExpression"===s&&this.checkPatternExport(t,e.expression)},ua.checkVariableExport=function(t,e){if(t)for(var s=0,a=e;s<a.length;s+=1){var i=a[s];this.checkPatternExport(t,i.id)}},ua.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},ua.parseExportSpecifiers=function(t){var e=[],s=!0;for(this.expect(Gs.braceL);!this.eat(Gs.braceR);){if(s)s=!1;else if(this.expect(Gs.comma),this.afterTrailingComma(Gs.braceR))break;var a=this.startNode();a.local=this.parseIdent(!0),a.exported=this.eatContextual("as")?this.parseIdent(!0):a.local,this.checkExport(t,a.exported.name,a.exported.start),e.push(this.finishNode(a,"ExportSpecifier"))}return e},ua.parseImport=function(t){return this.next(),this.type===Gs.string?(t.specifiers=Ea,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===Gs.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},ua.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===Gs.name){var s=this.startNode();if(s.local=this.parseIdent(),this.checkLVal(s.local,2),t.push(this.finishNode(s,"ImportDefaultSpecifier")),!this.eat(Gs.comma))return t}if(this.type===Gs.star){var a=this.startNode();return this.next(),this.expectContextual("as"),a.local=this.parseIdent(),this.checkLVal(a.local,2),t.push(this.finishNode(a,"ImportNamespaceSpecifier")),t}for(this.expect(Gs.braceL);!this.eat(Gs.braceR);){if(e)e=!1;else if(this.expect(Gs.comma),this.afterTrailingComma(Gs.braceR))break;var i=this.startNode();i.imported=this.parseIdent(!0),this.eatContextual("as")?i.local=this.parseIdent():(this.checkUnreserved(i.imported),i.local=i.imported),this.checkLVal(i.local,2),t.push(this.finishNode(i,"ImportSpecifier"))}return t},ua.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},ua.isDirectiveCandidate=function(t){return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var wa=oa.prototype;wa.toAssignable=function(t,e,s){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",s&&this.checkPatternErrors(s,!0);for(var a=0,i=t.properties;a<i.length;a+=1){var r=i[a];this.toAssignable(r,e),"RestElement"!==r.type||"ArrayPattern"!==r.argument.type&&"ObjectPattern"!==r.argument.type||this.raise(r.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",s&&this.checkPatternErrors(s,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);case"AssignmentPattern":break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,s);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else s&&this.checkPatternErrors(s,!0);return t},wa.toAssignableList=function(t,e){for(var s=t.length,a=0;a<s;a++){var i=t[a];i&&this.toAssignable(i,e)}if(s){var r=t[s-1];6===this.options.ecmaVersion&&e&&r&&"RestElement"===r.type&&"Identifier"!==r.argument.type&&this.unexpected(r.argument.start)}return t},wa.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},wa.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==Gs.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},wa.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case Gs.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(Gs.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case Gs.braceL:return this.parseObj(!0)}return this.parseIdent()},wa.parseBindingList=function(t,e,s){for(var a=[],i=!0;!this.eat(t);)if(i?i=!1:this.expect(Gs.comma),e&&this.type===Gs.comma)a.push(null);else{if(s&&this.afterTrailingComma(t))break;if(this.type===Gs.ellipsis){var r=this.parseRestBinding();this.parseBindingListItem(r),a.push(r),this.type===Gs.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}var n=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(n),a.push(n)}return a},wa.parseBindingListItem=function(t){return t},wa.parseMaybeDefault=function(t,e,s){if(s=s||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(Gs.eq))return s;var a=this.startNodeAt(t,e);return a.left=s,a.right=this.parseMaybeAssign(),this.finishNode(a,"AssignmentPattern")},wa.checkLVal=function(t,e,s){switch(void 0===e&&(e=0),t.type){case"Identifier":2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(e?"Binding ":"Assigning to ")+t.name+" in strict mode"),s&&(zs(s,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),s[t.name]=!0),0!==e&&5!==e&&this.declareName(t.name,e,t.start);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":e&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ObjectPattern":for(var a=0,i=t.properties;a<i.length;a+=1){var r=i[a];this.checkLVal(r,e,s)}break;case"Property":this.checkLVal(t.value,e,s);break;case"ArrayPattern":for(var n=0,o=t.elements;n<o.length;n+=1){var h=o[n];h&&this.checkLVal(h,e,s)}break;case"AssignmentPattern":this.checkLVal(t.left,e,s);break;case"RestElement":this.checkLVal(t.argument,e,s);break;case"ParenthesizedExpression":this.checkLVal(t.expression,e,s);break;default:this.raise(t.start,(e?"Binding":"Assigning to")+" rvalue")}};var fa=oa.prototype;fa.checkPropClash=function(t,e,s){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var a,i=t.key;switch(i.type){case"Identifier":a=i.name;break;case"Literal":a=String(i.value);break;default:return}var r=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===a&&"init"===r&&(e.proto&&(s?s.doubleProto<0&&(s.doubleProto=i.start):this.raiseRecoverable(i.start,"Redefinition of __proto__ property")),e.proto=!0);else{var n=e[a="$"+a];if(n)("init"===r?this.strict&&n.init||n.get||n.set:n.init||n[r])&&this.raiseRecoverable(i.start,"Redefinition of property");else n=e[a]={init:!1,get:!1,set:!1};n[r]=!0}}},fa.parseExpression=function(t,e){var s=this.start,a=this.startLoc,i=this.parseMaybeAssign(t,e);if(this.type===Gs.comma){var r=this.startNodeAt(s,a);for(r.expressions=[i];this.eat(Gs.comma);)r.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(r,"SequenceExpression")}return i},fa.parseMaybeAssign=function(t,e,s){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var a=!1,i=-1,r=-1;e?(i=e.parenthesizedAssign,r=e.trailingComma,e.parenthesizedAssign=e.trailingComma=-1):(e=new la,a=!0);var n=this.start,o=this.startLoc;this.type!==Gs.parenL&&this.type!==Gs.name||(this.potentialArrowAt=this.start);var h=this.parseMaybeConditional(t,e);if(s&&(h=s.call(this,h,n,o)),this.type.isAssign){var c=this.startNodeAt(n,o);return c.operator=this.value,c.left=this.type===Gs.eq?this.toAssignable(h,!1,e):h,a||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=c.left.start&&(e.shorthandAssign=-1),this.checkLVal(h),this.next(),c.right=this.parseMaybeAssign(t),this.finishNode(c,"AssignmentExpression")}return a&&this.checkExpressionErrors(e,!0),i>-1&&(e.parenthesizedAssign=i),r>-1&&(e.trailingComma=r),h},fa.parseMaybeConditional=function(t,e){var s=this.start,a=this.startLoc,i=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return i;if(this.eat(Gs.question)){var r=this.startNodeAt(s,a);return r.test=i,r.consequent=this.parseMaybeAssign(),this.expect(Gs.colon),r.alternate=this.parseMaybeAssign(t),this.finishNode(r,"ConditionalExpression")}return i},fa.parseExprOps=function(t,e){var s=this.start,a=this.startLoc,i=this.parseMaybeUnary(e,!1);return this.checkExpressionErrors(e)||i.start===s&&"ArrowFunctionExpression"===i.type?i:this.parseExprOp(i,s,a,-1,t)},fa.parseExprOp=function(t,e,s,a,i){var r=this.type.binop;if(null!=r&&(!i||this.type!==Gs._in)&&r>a){var n=this.type===Gs.logicalOR||this.type===Gs.logicalAND,o=this.type===Gs.coalesce;o&&(r=Gs.logicalAND.binop);var h=this.value;this.next();var c=this.start,_=this.startLoc,l=this.parseExprOp(this.parseMaybeUnary(null,!1),c,_,r,i),u=this.buildBinary(e,s,t,l,h,n||o);return(n&&this.type===Gs.coalesce||o&&(this.type===Gs.logicalOR||this.type===Gs.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(u,e,s,a,i)}return t},fa.buildBinary=function(t,e,s,a,i,r){var n=this.startNodeAt(t,e);return n.left=s,n.operator=i,n.right=a,this.finishNode(n,r?"LogicalExpression":"BinaryExpression")},fa.parseMaybeUnary=function(t,e){var s,a=this.start,i=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))s=this.parseAwait(),e=!0;else if(this.type.prefix){var r=this.startNode(),n=this.type===Gs.incDec;r.operator=this.value,r.prefix=!0,this.next(),r.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),n?this.checkLVal(r.argument):this.strict&&"delete"===r.operator&&"Identifier"===r.argument.type?this.raiseRecoverable(r.start,"Deleting local variable in strict mode"):e=!0,s=this.finishNode(r,n?"UpdateExpression":"UnaryExpression")}else{if(s=this.parseExprSubscripts(t),this.checkExpressionErrors(t))return s;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(a,i);o.operator=this.value,o.prefix=!1,o.argument=s,this.checkLVal(s),this.next(),s=this.finishNode(o,"UpdateExpression")}}return!e&&this.eat(Gs.starstar)?this.buildBinary(a,i,s,this.parseMaybeUnary(null,!1),"**",!1):s},fa.parseExprSubscripts=function(t){var e=this.start,s=this.startLoc,a=this.parseExprAtom(t);if("ArrowFunctionExpression"===a.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return a;var i=this.parseSubscripts(a,e,s);return t&&"MemberExpression"===i.type&&(t.parenthesizedAssign>=i.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=i.start&&(t.parenthesizedBind=-1)),i},fa.parseSubscripts=function(t,e,s,a){for(var i=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&this.potentialArrowAt===t.start,r=!1;;){var n=this.parseSubscript(t,e,s,a,i,r);if(n.optional&&(r=!0),n===t||"ArrowFunctionExpression"===n.type){if(r){var o=this.startNodeAt(e,s);o.expression=n,n=this.finishNode(o,"ChainExpression")}return n}t=n}},fa.parseSubscript=function(t,e,s,a,i,r){var n=this.options.ecmaVersion>=11,o=n&&this.eat(Gs.questionDot);a&&o&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var h=this.eat(Gs.bracketL);if(h||o&&this.type!==Gs.parenL&&this.type!==Gs.backQuote||this.eat(Gs.dot)){var c=this.startNodeAt(e,s);c.object=t,c.property=h?this.parseExpression():this.parseIdent("never"!==this.options.allowReserved),c.computed=!!h,h&&this.expect(Gs.bracketR),n&&(c.optional=o),t=this.finishNode(c,"MemberExpression")}else if(!a&&this.eat(Gs.parenL)){var _=new la,l=this.yieldPos,u=this.awaitPos,d=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var p=this.parseExprList(Gs.parenR,this.options.ecmaVersion>=8,!1,_);if(i&&!o&&!this.canInsertSemicolon()&&this.eat(Gs.arrow))return this.checkPatternErrors(_,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=l,this.awaitPos=u,this.awaitIdentPos=d,this.parseArrowExpression(this.startNodeAt(e,s),p,!0);this.checkExpressionErrors(_,!0),this.yieldPos=l||this.yieldPos,this.awaitPos=u||this.awaitPos,this.awaitIdentPos=d||this.awaitIdentPos;var E=this.startNodeAt(e,s);E.callee=t,E.arguments=p,n&&(E.optional=o),t=this.finishNode(E,"CallExpression")}else if(this.type===Gs.backQuote){(o||r)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var m=this.startNodeAt(e,s);m.tag=t,m.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(m,"TaggedTemplateExpression")}return t},fa.parseExprAtom=function(t){this.type===Gs.slash&&this.readRegexp();var e,s=this.potentialArrowAt===this.start;switch(this.type){case Gs._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),e=this.startNode(),this.next(),this.type!==Gs.parenL||this.allowDirectSuper||this.raise(e.start,"super() call outside constructor of a subclass"),this.type!==Gs.dot&&this.type!==Gs.bracketL&&this.type!==Gs.parenL&&this.unexpected(),this.finishNode(e,"Super");case Gs._this:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case Gs.name:var a=this.start,i=this.startLoc,r=this.containsEsc,n=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!r&&"async"===n.name&&!this.canInsertSemicolon()&&this.eat(Gs._function))return this.parseFunction(this.startNodeAt(a,i),0,!1,!0);if(s&&!this.canInsertSemicolon()){if(this.eat(Gs.arrow))return this.parseArrowExpression(this.startNodeAt(a,i),[n],!1);if(this.options.ecmaVersion>=8&&"async"===n.name&&this.type===Gs.name&&!r)return n=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(Gs.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,i),[n],!0)}return n;case Gs.regexp:var o=this.value;return(e=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},e;case Gs.num:case Gs.string:return this.parseLiteral(this.value);case Gs._null:case Gs._true:case Gs._false:return(e=this.startNode()).value=this.type===Gs._null?null:this.type===Gs._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case Gs.parenL:var h=this.start,c=this.parseParenAndDistinguishExpression(s);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),c;case Gs.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(Gs.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case Gs.braceL:return this.parseObj(!1,t);case Gs._function:return e=this.startNode(),this.next(),this.parseFunction(e,0);case Gs._class:return this.parseClass(this.startNode(),!1);case Gs._new:return this.parseNew();case Gs.backQuote:return this.parseTemplate();case Gs._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},fa.parseExprImport=function(){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var e=this.parseIdent(!0);switch(this.type){case Gs.parenL:return this.parseDynamicImport(t);case Gs.dot:return t.meta=e,this.parseImportMeta(t);default:this.unexpected()}},fa.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(Gs.parenR)){var e=this.start;this.eat(Gs.comma)&&this.eat(Gs.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},fa.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"!==this.options.sourceType&&this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},fa.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},fa.parseParenExpression=function(){this.expect(Gs.parenL);var t=this.parseExpression();return this.expect(Gs.parenR),t},fa.parseParenAndDistinguishExpression=function(t){var e,s=this.start,a=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var r,n=this.start,o=this.startLoc,h=[],c=!0,_=!1,l=new la,u=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==Gs.parenR;){if(c?c=!1:this.expect(Gs.comma),i&&this.afterTrailingComma(Gs.parenR,!0)){_=!0;break}if(this.type===Gs.ellipsis){r=this.start,h.push(this.parseParenItem(this.parseRestBinding())),this.type===Gs.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}h.push(this.parseMaybeAssign(!1,l,this.parseParenItem))}var p=this.start,E=this.startLoc;if(this.expect(Gs.parenR),t&&!this.canInsertSemicolon()&&this.eat(Gs.arrow))return this.checkPatternErrors(l,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=u,this.awaitPos=d,this.parseParenArrowList(s,a,h);h.length&&!_||this.unexpected(this.lastTokStart),r&&this.unexpected(r),this.checkExpressionErrors(l,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=d||this.awaitPos,h.length>1?((e=this.startNodeAt(n,o)).expressions=h,this.finishNodeAt(e,"SequenceExpression",p,E)):e=h[0]}else e=this.parseParenExpression();if(this.options.preserveParens){var m=this.startNodeAt(s,a);return m.expression=e,this.finishNode(m,"ParenthesizedExpression")}return e},fa.parseParenItem=function(t){return t},fa.parseParenArrowList=function(t,e,s){return this.parseArrowExpression(this.startNodeAt(t,e),s)};var va=[];fa.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(Gs.dot)){t.meta=e;var s=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),s&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(t.start,"'new.target' can only be used in functions"),this.finishNode(t,"MetaProperty")}var a=this.start,i=this.startLoc,r=this.type===Gs._import;return t.callee=this.parseSubscripts(this.parseExprAtom(),a,i,!0),r&&"ImportExpression"===t.callee.type&&this.raise(a,"Cannot use new with import()"),this.eat(Gs.parenL)?t.arguments=this.parseExprList(Gs.parenR,this.options.ecmaVersion>=8,!1):t.arguments=va,this.finishNode(t,"NewExpression")},fa.parseTemplateElement=function(t){var e=t.isTagged,s=this.startNode();return this.type===Gs.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),s.value={raw:this.value,cooked:null}):s.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),s.tail=this.type===Gs.backQuote,this.finishNode(s,"TemplateElement")},fa.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var s=this.startNode();this.next(),s.expressions=[];var a=this.parseTemplateElement({isTagged:e});for(s.quasis=[a];!a.tail;)this.type===Gs.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(Gs.dollarBraceL),s.expressions.push(this.parseExpression()),this.expect(Gs.braceR),s.quasis.push(a=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(s,"TemplateLiteral")},fa.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===Gs.name||this.type===Gs.num||this.type===Gs.string||this.type===Gs.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===Gs.star)&&!Hs.test(this.input.slice(this.lastTokEnd,this.start))},fa.parseObj=function(t,e){var s=this.startNode(),a=!0,i={};for(s.properties=[],this.next();!this.eat(Gs.braceR);){if(a)a=!1;else if(this.expect(Gs.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(Gs.braceR))break;var r=this.parseProperty(t,e);t||this.checkPropClash(r,i,e),s.properties.push(r)}return this.finishNode(s,t?"ObjectPattern":"ObjectExpression")},fa.parseProperty=function(t,e){var s,a,i,r,n=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(Gs.ellipsis))return t?(n.argument=this.parseIdent(!1),this.type===Gs.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(n,"RestElement")):(this.type===Gs.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),n.argument=this.parseMaybeAssign(!1,e),this.type===Gs.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(n,"SpreadElement"));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(t||e)&&(i=this.start,r=this.startLoc),t||(s=this.eat(Gs.star)));var o=this.containsEsc;return this.parsePropertyName(n),!t&&!o&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(n)?(a=!0,s=this.options.ecmaVersion>=9&&this.eat(Gs.star),this.parsePropertyName(n,e)):a=!1,this.parsePropertyValue(n,t,s,a,i,r,e,o),this.finishNode(n,"Property")},fa.parsePropertyValue=function(t,e,s,a,i,r,n,o){if((s||a)&&this.type===Gs.colon&&this.unexpected(),this.eat(Gs.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,n),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===Gs.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(s,a);else if(e||o||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===Gs.comma||this.type===Gs.braceR||this.type===Gs.eq)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((s||a)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=i),t.kind="init",e?t.value=this.parseMaybeDefault(i,r,t.key):this.type===Gs.eq&&n?(n.shorthandAssign<0&&(n.shorthandAssign=this.start),t.value=this.parseMaybeDefault(i,r,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected();else{(s||a)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var h="get"===t.kind?0:1;if(t.value.params.length!==h){var c=t.value.start;"get"===t.kind?this.raiseRecoverable(c,"getter should have no params"):this.raiseRecoverable(c,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},fa.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(Gs.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(Gs.bracketR),t.key;t.computed=!1}return t.key=this.type===Gs.num||this.type===Gs.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},fa.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},fa.parseMethod=function(t,e,s){var a=this.startNode(),i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.initFunction(a),this.options.ecmaVersion>=6&&(a.generator=t),this.options.ecmaVersion>=8&&(a.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|na(e,a.generator)|(s?128:0)),this.expect(Gs.parenL),a.params=this.parseBindingList(Gs.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(a,!1,!0),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(a,"FunctionExpression")},fa.parseArrowExpression=function(t,e,s){var a=this.yieldPos,i=this.awaitPos,r=this.awaitIdentPos;return this.enterScope(16|na(s,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!s),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1),this.yieldPos=a,this.awaitPos=i,this.awaitIdentPos=r,this.finishNode(t,"ArrowFunctionExpression")},fa.parseFunctionBody=function(t,e,s){var a=e&&this.type!==Gs.braceL,i=this.strict,r=!1;if(a)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var n=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);i&&!n||(r=this.strictDirective(this.end))&&n&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(t,!i&&!r&&!e&&!s&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLVal(t.id,5),t.body=this.parseBlock(!1,void 0,r&&!i),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=o}this.exitScope()},fa.isSimpleParamList=function(t){for(var e=0,s=t;e<s.length;e+=1){if("Identifier"!==s[e].type)return!1}return!0},fa.checkParams=function(t,e){for(var s={},a=0,i=t.params;a<i.length;a+=1){var r=i[a];this.checkLVal(r,1,e?null:s)}},fa.parseExprList=function(t,e,s,a){for(var i=[],r=!0;!this.eat(t);){if(r)r=!1;else if(this.expect(Gs.comma),e&&this.afterTrailingComma(t))break;var n=void 0;s&&this.type===Gs.comma?n=null:this.type===Gs.ellipsis?(n=this.parseSpread(a),a&&this.type===Gs.comma&&a.trailingComma<0&&(a.trailingComma=this.start)):n=this.parseMaybeAssign(!1,a),i.push(n)}return i},fa.checkUnreserved=function(t){var e=t.start,s=t.end,a=t.name;(this.inGenerator&&"yield"===a&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===a&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.keywords.test(a)&&this.raise(e,"Unexpected keyword '"+a+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,s).indexOf("\\"))||(this.strict?this.reservedWordsStrict:this.reservedWords).test(a)&&(this.inAsync||"await"!==a||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+a+"' is reserved"))},fa.parseIdent=function(t,e){var s=this.startNode();return this.type===Gs.name?s.name=this.value:this.type.keyword?(s.name=this.type.keyword,"class"!==s.name&&"function"!==s.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),this.next(!!t),this.finishNode(s,"Identifier"),t||(this.checkUnreserved(s),"await"!==s.name||this.awaitIdentPos||(this.awaitIdentPos=s.start)),s},fa.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===Gs.semi||this.canInsertSemicolon()||this.type!==Gs.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(Gs.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},fa.parseAwait=function(){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!1),this.finishNode(t,"AwaitExpression")};var Sa=oa.prototype;Sa.raise=function(t,e){var s=aa(this.input,t);e+=" ("+s.line+":"+s.column+")";var a=new SyntaxError(e);throw a.pos=t,a.loc=s,a.raisedAt=this.pos,a},Sa.raiseRecoverable=Sa.raise,Sa.curPosition=function(){if(this.options.locations)return new ea(this.curLine,this.pos-this.lineStart)};var Aa=oa.prototype,ya=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[]};Aa.enterScope=function(t){this.scopeStack.push(new ya(t))},Aa.exitScope=function(){this.scopeStack.pop()},Aa.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},Aa.declareName=function(t,e,s){var a=!1;if(2===e){var i=this.currentScope();a=i.lexical.indexOf(t)>-1||i.functions.indexOf(t)>-1||i.var.indexOf(t)>-1,i.lexical.push(t),this.inModule&&1&i.flags&&delete this.undefinedExports[t]}else if(4===e){this.currentScope().lexical.push(t)}else if(3===e){var r=this.currentScope();a=this.treatFunctionsAsVar?r.lexical.indexOf(t)>-1:r.lexical.indexOf(t)>-1||r.var.indexOf(t)>-1,r.functions.push(t)}else for(var n=this.scopeStack.length-1;n>=0;--n){var o=this.scopeStack[n];if(o.lexical.indexOf(t)>-1&&!(32&o.flags&&o.lexical[0]===t)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(t)>-1){a=!0;break}if(o.var.push(t),this.inModule&&1&o.flags&&delete this.undefinedExports[t],3&o.flags)break}a&&this.raiseRecoverable(s,"Identifier '"+t+"' has already been declared")},Aa.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},Aa.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Aa.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(3&e.flags)return e}},Aa.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(3&e.flags&&!(16&e.flags))return e}};var Ta=function(t,e,s){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new sa(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},Ia=oa.prototype;function Ca(t,e,s,a){return t.type=e,t.end=s,this.options.locations&&(t.loc.end=a),this.options.ranges&&(t.range[1]=s),t}Ia.startNode=function(){return new Ta(this,this.start,this.startLoc)},Ia.startNodeAt=function(t,e){return new Ta(this,t,e)},Ia.finishNode=function(t,e){return Ca.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},Ia.finishNodeAt=function(t,e,s,a){return Ca.call(this,t,e,s,a)};var Da=function(t,e,s,a,i){this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=a,this.generator=!!i},Oa={b_stat:new Da("{",!1),b_expr:new Da("{",!0),b_tmpl:new Da("${",!1),p_stat:new Da("(",!1),p_expr:new Da("(",!0),q_tmpl:new Da("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new Da("function",!1),f_expr:new Da("function",!0),f_expr_gen:new Da("function",!0,!1,null,!0),f_gen:new Da("function",!1,!1,null,!0)},Na=oa.prototype;Na.initialContext=function(){return[Oa.b_stat]},Na.braceIsBlock=function(t){var e=this.curContext();return e===Oa.f_expr||e===Oa.f_stat||(t!==Gs.colon||e!==Oa.b_stat&&e!==Oa.b_expr?t===Gs._return||t===Gs.name&&this.exprAllowed?Hs.test(this.input.slice(this.lastTokEnd,this.start)):t===Gs._else||t===Gs.semi||t===Gs.eof||t===Gs.parenR||t===Gs.arrow||(t===Gs.braceL?e===Oa.b_stat:t!==Gs._var&&t!==Gs._const&&t!==Gs.name&&!this.exprAllowed):!e.isExpr)},Na.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},Na.updateContext=function(t){var e,s=this.type;s.keyword&&t===Gs.dot?this.exprAllowed=!1:(e=s.updateContext)?e.call(this,t):this.exprAllowed=s.beforeExpr},Gs.parenR.updateContext=Gs.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===Oa.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},Gs.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?Oa.b_stat:Oa.b_expr),this.exprAllowed=!0},Gs.dollarBraceL.updateContext=function(){this.context.push(Oa.b_tmpl),this.exprAllowed=!0},Gs.parenL.updateContext=function(t){var e=t===Gs._if||t===Gs._for||t===Gs._with||t===Gs._while;this.context.push(e?Oa.p_stat:Oa.p_expr),this.exprAllowed=!0},Gs.incDec.updateContext=function(){},Gs._function.updateContext=Gs._class.updateContext=function(t){!t.beforeExpr||t===Gs.semi||t===Gs._else||t===Gs._return&&Hs.test(this.input.slice(this.lastTokEnd,this.start))||(t===Gs.colon||t===Gs.braceL)&&this.curContext()===Oa.b_stat?this.context.push(Oa.f_stat):this.context.push(Oa.f_expr),this.exprAllowed=!1},Gs.backQuote.updateContext=function(){this.curContext()===Oa.q_tmpl?this.context.pop():this.context.push(Oa.q_tmpl),this.exprAllowed=!1},Gs.star.updateContext=function(t){if(t===Gs._function){var e=this.context.length-1;this.context[e]===Oa.f_expr?this.context[e]=Oa.f_expr_gen:this.context[e]=Oa.f_gen}this.exprAllowed=!0},Gs.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==Gs.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var Pa="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Ma=Pa+" Extended_Pictographic",xa={9:Pa,10:Ma,11:Ma},ba="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",La="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Ra=La+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Ba={9:La,10:Ra,11:Ra+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"},Ua={};function ka(t){var e=Ua[t]={binary:ta(xa[t]+" "+ba),nonBinary:{General_Category:ta(ba),Script:ta(Ba[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}ka(9),ka(10),ka(11);var Wa=oa.prototype,Va=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.unicodeProperties=Ua[t.options.ecmaVersion>=11?11:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Fa(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function Ya(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function Ga(t){return t>=65&&t<=90||t>=97&&t<=122}function Ha(t){return Ga(t)||95===t}function Ka(t){return Ha(t)||ja(t)}function ja(t){return t>=48&&t<=57}function Xa(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Ja(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function $a(t){return t>=48&&t<=55}Va.prototype.reset=function(t,e,s){var a=-1!==s.indexOf("u");this.start=0|t,this.source=e+"",this.flags=s,this.switchU=a&&this.parser.options.ecmaVersion>=6,this.switchN=a&&this.parser.options.ecmaVersion>=9},Va.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},Va.prototype.at=function(t,e){void 0===e&&(e=!1);var s=this.source,a=s.length;if(t>=a)return-1;var i=s.charCodeAt(t);if(!e&&!this.switchU||i<=55295||i>=57344||t+1>=a)return i;var r=s.charCodeAt(t+1);return r>=56320&&r<=57343?(i<<10)+r-56613888:i},Va.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var s=this.source,a=s.length;if(t>=a)return a;var i,r=s.charCodeAt(t);return!e&&!this.switchU||r<=55295||r>=57344||t+1>=a||(i=s.charCodeAt(t+1))<56320||i>57343?t+1:t+2},Va.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},Va.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},Va.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},Va.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Wa.validateRegExpFlags=function(t){for(var e=t.validFlags,s=t.flags,a=0;a<s.length;a++){var i=s.charAt(a);-1===e.indexOf(i)&&this.raise(t.start,"Invalid regular expression flag"),s.indexOf(i,a+1)>-1&&this.raise(t.start,"Duplicate regular expression flag")}},Wa.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},Wa.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,s=t.backReferenceNames;e<s.length;e+=1){var a=s[e];-1===t.groupNames.indexOf(a)&&t.raise("Invalid named capture referenced")}},Wa.regexp_disjunction=function(t){for(this.regexp_alternative(t);t.eat(124);)this.regexp_alternative(t);this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},Wa.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},Wa.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},Wa.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var s=!1;if(this.options.ecmaVersion>=9&&(s=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!s,!0}return t.pos=e,!1},Wa.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},Wa.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},Wa.regexp_eatBracedQuantifier=function(t,e){var s=t.pos;if(t.eat(123)){var a=0,i=-1;if(this.regexp_eatDecimalDigits(t)&&(a=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue),t.eat(125)))return-1!==i&&i<a&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=s}return!1},Wa.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},Wa.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},Wa.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)&&t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}t.pos=e}return!1},Wa.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},Wa.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},Wa.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},Wa.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Ya(e)&&(t.lastIntValue=e,t.advance(),!0)},Wa.regexp_eatPatternCharacters=function(t){for(var e=t.pos,s=0;-1!==(s=t.current())&&!Ya(s);)t.advance();return t.pos!==e},Wa.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},Wa.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},Wa.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},Wa.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Fa(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Fa(t.lastIntValue);return!0}return!1},Wa.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,a=t.current(s);return t.advance(s),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(a=t.lastIntValue),function(t){return Rs(t,!0)||36===t||95===t}(a)?(t.lastIntValue=a,!0):(t.pos=e,!1)},Wa.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,a=t.current(s);return t.advance(s),92===a&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(a=t.lastIntValue),function(t){return Bs(t,!0)||36===t||95===t||8204===t||8205===t}(a)?(t.lastIntValue=a,!0):(t.pos=e,!1)},Wa.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},Wa.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var s=t.lastIntValue;if(t.switchU)return s>t.maxBackReference&&(t.maxBackReference=s),!0;if(s<=t.numCapturingParens)return!0;t.pos=e}return!1},Wa.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},Wa.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},Wa.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},Wa.regexp_eatZero=function(t){return 48===t.current()&&!ja(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},Wa.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},Wa.regexp_eatControlLetter=function(t){var e=t.current();return!!Ga(e)&&(t.lastIntValue=e%32,t.advance(),!0)},Wa.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var s,a=t.pos,i=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var r=t.lastIntValue;if(i&&r>=55296&&r<=56319){var n=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var o=t.lastIntValue;if(o>=56320&&o<=57343)return t.lastIntValue=1024*(r-55296)+(o-56320)+65536,!0}t.pos=n,t.lastIntValue=r}return!0}if(i&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((s=t.lastIntValue)>=0&&s<=1114111))return!0;i&&t.raise("Invalid unicode escape"),t.pos=a}return!1},Wa.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},Wa.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},Wa.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},Wa.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var s=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var a=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,s,a),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,i),!0}return!1},Wa.regexp_validateUnicodePropertyNameAndValue=function(t,e,s){zs(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(s)||t.raise("Invalid property value")},Wa.regexp_validateUnicodePropertyNameOrValue=function(t,e){t.unicodeProperties.binary.test(e)||t.raise("Invalid property name")},Wa.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";Ha(e=t.current());)t.lastStringValue+=Fa(e),t.advance();return""!==t.lastStringValue},Wa.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";Ka(e=t.current());)t.lastStringValue+=Fa(e),t.advance();return""!==t.lastStringValue},Wa.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},Wa.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},Wa.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var s=t.lastIntValue;!t.switchU||-1!==e&&-1!==s||t.raise("Invalid character class"),-1!==e&&-1!==s&&e>s&&t.raise("Range out of order in character class")}}},Wa.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var s=t.current();(99===s||$a(s))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var a=t.current();return 93!==a&&(t.lastIntValue=a,t.advance(),!0)},Wa.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},Wa.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!ja(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},Wa.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},Wa.regexp_eatDecimalDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;ja(s=t.current());)t.lastIntValue=10*t.lastIntValue+(s-48),t.advance();return t.pos!==e},Wa.regexp_eatHexDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;Xa(s=t.current());)t.lastIntValue=16*t.lastIntValue+Ja(s),t.advance();return t.pos!==e},Wa.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var s=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*s+t.lastIntValue:t.lastIntValue=8*e+s}else t.lastIntValue=e;return!0}return!1},Wa.regexp_eatOctalDigit=function(t){var e=t.current();return $a(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},Wa.regexp_eatFixedHexDigits=function(t,e){var s=t.pos;t.lastIntValue=0;for(var a=0;a<e;++a){var i=t.current();if(!Xa(i))return t.pos=s,!1;t.lastIntValue=16*t.lastIntValue+Ja(i),t.advance()}return!0};var Za=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new sa(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},qa=oa.prototype;function za(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}function Qa(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}qa.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Za(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},qa.getToken=function(){return this.next(),new Za(this)},"undefined"!=typeof Symbol&&(qa[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===Gs.eof,value:e}}}}),qa.curContext=function(){return this.context[this.context.length-1]},qa.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(Gs.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},qa.readToken=function(t){return Rs(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},qa.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.pos+1)-56613888},qa.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),s=this.pos,a=this.input.indexOf("*/",this.pos+=2);if(-1===a&&this.raise(this.pos-2,"Unterminated comment"),this.pos=a+2,this.options.locations)for(Ks.lastIndex=s;(t=Ks.exec(this.input))&&t.index<this.pos;)++this.curLine,this.lineStart=t.index+t[0].length;this.options.onComment&&this.options.onComment(!0,this.input.slice(s+2,a),s,this.pos,e,this.curPosition())},qa.skipLineComment=function(t){for(var e=this.pos,s=this.options.onComment&&this.curPosition(),a=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!js(a);)a=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,s,this.curPosition())},qa.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&Xs.test(String.fromCharCode(t))))break t;++this.pos}}},qa.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var s=this.type;this.type=t,this.value=e,this.updateContext(s)},qa.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(Gs.ellipsis)):(++this.pos,this.finishToken(Gs.dot))},qa.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(Gs.assign,2):this.finishOp(Gs.slash,1)},qa.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),s=1,a=42===t?Gs.star:Gs.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++s,a=Gs.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(Gs.assign,s+1):this.finishOp(a,s)},qa.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);if(e===t){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Gs.assign,3);return this.finishOp(124===t?Gs.logicalOR:Gs.logicalAND,2)}return 61===e?this.finishOp(Gs.assign,2):this.finishOp(124===t?Gs.bitwiseOR:Gs.bitwiseAND,1)},qa.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(Gs.assign,2):this.finishOp(Gs.bitwiseXOR,1)},qa.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!Hs.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(Gs.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(Gs.assign,2):this.finishOp(Gs.plusMin,1)},qa.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),s=1;return e===t?(s=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+s)?this.finishOp(Gs.assign,s+1):this.finishOp(Gs.bitShift,s)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(s=2),this.finishOp(Gs.relational,s)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},qa.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(Gs.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(Gs.arrow)):this.finishOp(61===t?Gs.eq:Gs.prefix,1)},qa.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var s=this.input.charCodeAt(this.pos+2);if(s<48||s>57)return this.finishOp(Gs.questionDot,2)}if(63===e){if(t>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Gs.assign,3);return this.finishOp(Gs.coalesce,2)}}return this.finishOp(Gs.question,1)},qa.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(Gs.parenL);case 41:return++this.pos,this.finishToken(Gs.parenR);case 59:return++this.pos,this.finishToken(Gs.semi);case 44:return++this.pos,this.finishToken(Gs.comma);case 91:return++this.pos,this.finishToken(Gs.bracketL);case 93:return++this.pos,this.finishToken(Gs.bracketR);case 123:return++this.pos,this.finishToken(Gs.braceL);case 125:return++this.pos,this.finishToken(Gs.braceR);case 58:return++this.pos,this.finishToken(Gs.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(Gs.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(Gs.prefix,1)}this.raise(this.pos,"Unexpected character '"+Qa(t)+"'")},qa.finishOp=function(t,e){var s=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,s)},qa.readRegexp=function(){for(var t,e,s=this.pos;;){this.pos>=this.input.length&&this.raise(s,"Unterminated regular expression");var a=this.input.charAt(this.pos);if(Hs.test(a)&&this.raise(s,"Unterminated regular expression"),t)t=!1;else{if("["===a)e=!0;else if("]"===a&&e)e=!1;else if("/"===a&&!e)break;t="\\"===a}++this.pos}var i=this.input.slice(s,this.pos);++this.pos;var r=this.pos,n=this.readWord1();this.containsEsc&&this.unexpected(r);var o=this.regexpState||(this.regexpState=new Va(this));o.reset(s,i,n),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var h=null;try{h=new RegExp(i,n)}catch(t){}return this.finishToken(Gs.regexp,{pattern:i,flags:n,value:h})},qa.readInt=function(t,e,s){for(var a=this.options.ecmaVersion>=12&&void 0===e,i=s&&48===this.input.charCodeAt(this.pos),r=this.pos,n=0,o=0,h=0,c=null==e?1/0:e;h<c;++h,++this.pos){var _=this.input.charCodeAt(this.pos),l=void 0;if(a&&95===_)i&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===o&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===h&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),o=_;else{if((l=_>=97?_-97+10:_>=65?_-65+10:_>=48&&_<=57?_-48:1/0)>=t)break;o=_,n=n*t+l}}return a&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===r||null!=e&&this.pos-r!==e?null:n},qa.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var s=this.readInt(t);return null==s&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(s=za(this.input.slice(e,this.pos)),++this.pos):Rs(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Gs.num,s)},qa.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var s=this.pos-e>=2&&48===this.input.charCodeAt(e);s&&this.strict&&this.raise(e,"Invalid number");var a=this.input.charCodeAt(this.pos);if(!s&&!t&&this.options.ecmaVersion>=11&&110===a){var i=za(this.input.slice(e,this.pos));return++this.pos,Rs(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Gs.num,i)}s&&/[89]/.test(this.input.slice(e,this.pos))&&(s=!1),46!==a||s||(++this.pos,this.readInt(10),a=this.input.charCodeAt(this.pos)),69!==a&&101!==a||s||(43!==(a=this.input.charCodeAt(++this.pos))&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),Rs(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r,n=(r=this.input.slice(e,this.pos),s?parseInt(r,8):parseFloat(r.replace(/_/g,"")));return this.finishToken(Gs.num,n)},qa.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},qa.readString=function(t){for(var e="",s=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var a=this.input.charCodeAt(this.pos);if(a===t)break;92===a?(e+=this.input.slice(s,this.pos),e+=this.readEscapedChar(!1),s=this.pos):(js(a,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(s,this.pos++),this.finishToken(Gs.string,e)};var ti={};qa.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==ti)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},qa.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw ti;this.raise(t,e)},qa.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var s=this.input.charCodeAt(this.pos);if(96===s||36===s&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==Gs.template&&this.type!==Gs.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(Gs.template,t)):36===s?(this.pos+=2,this.finishToken(Gs.dollarBraceL)):(++this.pos,this.finishToken(Gs.backQuote));if(92===s)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(js(s)){switch(t+=this.input.slice(e,this.pos),++this.pos,s){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(s)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},qa.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(Gs.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},qa.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Qa(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(t){var s=this.pos-1;return this.invalidStringToken(s,"Invalid escape sequence in template string"),null}default:if(e>=48&&e<=55){var a=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(a,8);return i>255&&(a=a.slice(0,-1),i=parseInt(a,8)),this.pos+=a.length-1,e=this.input.charCodeAt(this.pos),"0"===a&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-a.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(i)}return js(e)?"":String.fromCharCode(e)}},qa.readHexChar=function(t){var e=this.pos,s=this.readInt(16,t);return null===s&&this.invalidStringToken(e,"Bad character escape sequence"),s},qa.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,s=this.pos,a=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(Bs(i,a))this.pos+=i<=65535?1:2;else{if(92!==i)break;this.containsEsc=!0,t+=this.input.slice(s,this.pos);var r=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var n=this.readCodePoint();(e?Rs:Bs)(n,a)||this.invalidStringToken(r,"Invalid Unicode escape"),t+=Qa(n),s=this.pos}e=!1}return t+this.input.slice(s,this.pos)},qa.readWord=function(){var t=this.readWord1(),e=Gs.name;return this.keywords.test(t)&&(e=Fs[t]),this.finishToken(e,t)};function ei(t){return e=t,s={ecmaVersion:2020},oa.parse(e,s);var e,s}function si(t){return["Array1D","Array2D","Literal","Symbol","UnaryOperation","BinaryOperation","Random","CallDefinedFunction","AnyFunction","ConditionalExpression"].includes(t.type)}function ai(t){switch(t.type){case"Program":return function(t){if(1!==t.body.length)throw new Error("bodyが1以外の場合評価できません。");return ai(t.body[0])}(t);case"ExpressionStatement":return function(t){return ai(t.expression)}(t);case"AssignmentExpression":return function(t){const e=ai(t.left),s=ai(t.right);if(!si(s))throw new Error("値以外を代入式の右辺に設定できません");switch(t.operator){case"=":case"+=":case"-=":case"*=":case"/=":if("Array2D"===e.type){if("m"===e.name||"o"===e.name)return{type:"PartsAssignment",partsKind:"m"===e.name?"map":"object",destinationX:e.index0,destinationY:e.index1,value:s,operator:t.operator};throw new Error("想定していない記号が2次元配列ででてきました")}if("Array1D"===e.type){if("ITEM"===e.name)return{type:"ItemAssignment",itemBoxPosition1to12:e.index0,value:s,operator:t.operator};if("v"===e.name)return{type:"UserVariableAssignment",index:e.index0,value:s,operator:t.operator};throw new Error("")}if("Symbol"===e.type){if("m"===e.name||"o"===e.name||"v"===e.name||"ITEM"===e.name)throw new Error("このシンボルには代入できません");if("AT_TOTAL"===e.name)throw new Error('"装備品込みの攻撃力(AT_TOTAL)への代入はできません。"');if("DF_TOTAL"===e.name)throw new Error('"装備品込みの防御力(DF_TOTAL)への代入はできません。"');if("ENEMY_HP"===e.name||"ENEMY_AT"===e.name||"ENEMY_DF"===e.name||"ENEMY_GD"===e.name)throw new Error("敵ステータス (ENEMY_HP, ENEMY_AT, ENEMY_DF, ENEMY_GD) への代入はできません。");return{type:"SpecialParameterAssignment",kind:e.name,value:s,operator:t.operator}}throw"Literal"===e.type?new Error("数値には代入できません"):new Error("代入できません");default:throw new Error("想定していないオペレーターです")}}(t);case"MemberExpression":return function(t){const e=ai(t.object),s=ai(t.property);if("Symbol"===e.type){if("v"!==e.name&&"m"!==e.name&&"o"!==e.name&&"ITEM"!==e.name)throw new Error("このシンボルは配列にできません");if("Literal"===s.type||"Symbol"===s.type||"BinaryOperation"===s.type||"Array1D"===s.type)return{type:"Array1D",name:e.name,index0:s};throw new Error("WWAでは存在しない構文です")}if("Array1D"===e.type){if("ITEM"===e.name||"v"===e.name)throw new Error("この配列は2次元以上にはできません。");if("Literal"===s.type||"Symbol"===s.type||"BinaryOperation"===s.type||"Array1D"===s.type)return{type:"Array2D",name:e.name,index0:e.index0,index1:s};throw new Error("WWAでは存在しない構文です")}}(t);case"UnaryExpression":return function(t){const e=ai(t.argument);if(!["+","-","!"].includes(t.operator))throw new Error("未定義の演算子です :"+t.operator);if(!si(e))throw new Error("単項演算子が適用できません");return{type:"UnaryOperation",operator:t.operator,argument:e}}(t);case"BinaryExpression":return function(t){const e=ai(t.left),s=ai(t.right);if(!si(e)||!si(s))throw new Error("左辺または右辺が評価不能です");switch(t.operator){case"+":case"-":case"*":case"/":case"%":case">":case"<":case">=":case"<=":case"==":case"!=":return{type:"BinaryOperation",operator:t.operator,left:e,right:s};default:throw new Error("未定義の演算子です :"+t.operator)}}(t);case"Identifier":return function(t){switch(t.name){case"m":case"o":case"ITEM":case"X":case"Y":case"PX":case"PY":case"v":case"HP":case"HPMAX":case"AT":case"AT_TOTAL":case"DF":case"DF_TOTAL":case"GD":case"STEP":case"TIME":case"PDIR":case"i":case"j":case"k":case"LOOPLIMIT":case"ITEM_ID":case"ITEM_POS":case"ENEMY_HP":case"ENEMY_AT":case"ENEMY_DF":return{type:"Symbol",name:t.name};default:throw new Error("未定義のシンボルです :\n"+t.name)}}(t);case"Literal":return function(t){return{type:"Literal",value:t.value}}(t);case"CallExpression":return function(t){const e=t.callee.name;switch(e){case"RAND":return function(t){if(t.length<1)throw new Error("RAND関数には引数が必要です。");return{type:"Random",value:ai(t[0])}}(t.arguments);case"JUMPGATE":return function(t){if(t.length<2)throw new Error("RAND関数には引数が2つ必要です。");const e={x:t[0],y:t[1]};return{type:"Jumpgate",x:ai(e.x),y:ai(e.y)}}(t.arguments);case"MSG":case"MESSAGE":return{type:"Msg",value:ai(t.arguments[0])};case"SOUND":case"SAVE":case"LOG":case"ABLE_CHANGE_SPEED":case"SET_SPEED":case"CHANGE_GAMEOVER_POS":case"DEL_PLAYER":case"RESTART_GAME":case"URL_JUMPGATE":case"HIDE_STATUS":case"PARTS":case"FACE":case"EFFECT":case"CHANGE_PLAYER_IMAGE":case"HAS_ITEM":case"REMOVE_ITEM":case"MOVE":case"IS_PLAYER_WAITING_MESSAGE":case"GET_UNIXTIME":case"GET_DATE_YEAR":case"GET_DATE_MONTH":case"GET_DATE_DAY":case"GET_DATE_HOUR":case"GET_DATE_MINUTES":case"GET_DATE_SECONDS":case"GET_DATE_MILLISECONDS":case"GET_DATE_WEEKDAY":case"CHANGE_SYSMSG":case"SHOW_USER_DEF_VAR":case"ABS":case"GET_GAMEOVER_POS_X":case"GET_GAMEOVER_POS_Y":case"ABORT_BATTLE":return function(t,e){return{type:"AnyFunction",functionName:e,value:t.map((t=>ai(t)))}}(t.arguments,e);default:return{type:"CallDefinedFunction",functionName:e}}}(t);case"IfStatement":return function(t){const e=ai(t.consequent),s=ai(t.test);return{type:"IfStatement",consequent:e,test:s,alternate:t.alternate?ai(t.alternate):void 0}}(t);case"BlockStatement":return function(t){return{type:"BlockStatement",value:t.body.map((t=>ai(t)))}}(t);case"FunctionDeclaration":return function(t){return{type:"DefinedFunction",functionName:t.id.name,body:ai(t.body)}}(t);case"ForStatement":return function(t){const e=t.body.body.map((t=>ai(t)));return{type:"ForStatement",body:e,init:ai(t.init),test:ai(t.test),update:ai(t.update)}}(t);case"BreakStatement":return function(t){return{type:"Break",label:t.label}}(t);case"ReturnStatement":return function(t){return{type:"Return",argument:ai(t.argument)}}(t);case"ContinueStatement":return function(t){return{type:"Continue",label:t.label}}(t);case"UpdateExpression":return function(t){return{type:"UpdateExpression",operator:t.operator,argument:ai(t.argument)}}(t);case"LogicalExpression":return function(t){return{type:"LogicalExpression",operator:t.operator,left:ai(t.left),right:ai(t.right)}}(t);case"TemplateLiteral":return function(t){return{type:"TemplateLiteral",expressions:t.expressions.map((t=>ai(t))),quasis:t.quasis.map((t=>ai(t)))}}(t);case"TemplateElement":return function(t){return{type:"TemplateElement",value:t.value}}(t);case"ConditionalExpression":return function(t){const e=ai(t.consequent),s=ai(t.alternate),a=ai(t.test);return{type:"ConditionalExpression",consequent:e,test:a,alternate:s}}(t);default:throw console.log(t),new Error("未定義の AST ノードです :"+t.type)}}oa.acorn={Parser:oa,version:"7.4.1",defaultOptions:ia,Position:ea,SourceLocation:sa,getLineInfo:aa,Node:Ta,TokenType:Us,tokTypes:Gs,keywordTypes:Fs,TokContext:Da,tokContexts:Oa,isIdentifierChar:Bs,isIdentifierStart:Rs,Token:Za,isNewLine:js,lineBreak:Hs,lineBreakG:Ks,nonASCIIwhitespace:Xs};class ii{constructor(t){this.wwa=t,this.loop_limit=1e5,this.state={}}setEarnedItem(t,e){this.state={...this.state,earnedItem:{partsId:t,itemPos:e}}}clearEarnedItem(){this.state={...this.state,earnedItem:void 0}}setBattleDamageCalculationMode(t){this.state={...this.state,battleDamageCalculation:{estimatingParams:t}}}clearBattleDamageCalculationMode(){this.state={...this.state,battleDamageCalculation:void 0}}evalWwaNodes(t){return this.evalWwaNode({type:"BlockStatement",value:t})}evalWwaNode(t){if("BlockStatement"===t.type&&Array.isArray(t.value)&&0===t.value.length)return;return new ri(this).evalWwaNode(t)}updateLoopLimit(t){this.loop_limit=t}}class ri{constructor(t){this.generator=t,this.for_id={i:null,j:null,k:null,loopCount:0,break_flag:!1,continue_flag:!1}}evalWwaNodes(t){let e;return t.forEach((t=>{e=this.evalWwaNode(t)})),e}evalWwaNode(t){if(!this.for_id.break_flag&&!this.for_id.continue_flag)try{switch(t.type){case"UnaryOperation":return this.evalUnaryOperation(t);case"BinaryOperation":return this.evalBinaryOperation(t);case"Symbol":return this.evalSymbol(t);case"Array1D":return this.evalArray1D(t);case"Array2D":return this.evalArray2D(t);case"Literal":return this.evalNumber(t);case"UserVariableAssignment":return this.evalSetUserVariable(t);case"SpecialParameterAssignment":return this.evalSetSpecialParameter(t);case"Random":return this.evalRandom(t);case"Jumpgate":return this.evalJumpgate(t);case"Msg":return this.evalMessage(t);case"ItemAssignment":return this.itemAssignment(t);case"IfStatement":return this.ifStatement(t);case"BlockStatement":return this.blockStatement(t);case"PartsAssignment":return this.partsAssignment(t);case"ForStatement":return this.forStateMent(t);case"AnyFunction":return this.evalAnyFunction(t);case"CallDefinedFunction":return this.callDefinedFunction(t);case"Break":return this.breakStatement(t);case"Return":throw new ni(this.returnStatement(t));case"Continue":return this.contunueStatment(t);case"UpdateExpression":return this.updateExpression(t);case"LogicalExpression":return this.logicalExpression(t);case"TemplateLiteral":return this.convertTemplateLiteral(t);case"ConditionalExpression":return this.convertConditionalExpression(t);default:throw console.log(t),new Error("未定義または未実装のノードです")}}catch(t){if(t instanceof ni)return t.value;throw t}}callDefinedFunction(t){const e=this.generator.wwa.getUserScript(t.functionName);if(null===e)throw new Error(`未定義の関数が呼び出されました: ${t.functionName}`);return this.evalWwaNode(e)}updateExpression(t){if("Symbol"!==t.argument.type)throw console.log(t),new Error("node.argument.typeがSymbolではありません。:"+t.argument.type);{const e=this.evalSymbol(t.argument),s=(()=>{switch(t.operator){case"++":return e+1;case"--":return e-1;default:throw new Error("想定外のOperatorが渡されました :"+t.operator)}})(),a={type:"SpecialParameterAssignment",kind:t.argument.name,value:{type:"Literal",value:s}};this.evalSetSpecialParameter(a)}}logicalExpression(t){const e=this.evalWwaNode(t.left),s=this.evalWwaNode(t.right);switch(t.operator){case"||":return e||s;case"&&":return e&&s;default:throw new Error("存在しない論理式です!: "+t.operator)}}convertTemplateLiteral(t){const e=t.expressions.map((t=>this.evalWwaNode(t))),s=t.quasis.map((t=>t.value.cooked));let a="";return s.forEach(((t,s)=>{a+=t,e[s]&&(a+=e[s])})),a}contunueStatment(t){this.for_id.continue_flag=!0}breakStatement(t){this.for_id.break_flag=!0}returnStatement(t){return this.evalWwaNode(t.argument)}forStateMent(t){const e=t.init;for((()=>{switch(e.kind){case"i":if(null!==this.for_id.i)throw new Error("iの値が既に外側のforループで使われています。");break;case"j":if(null!==this.for_id.j)throw new Error("jの値が既に外側のforループで使われています。");break;case"k":if(null!==this.for_id.k)throw new Error("kの値が既に外側のforループで使われています。");break;default:throw new Error("予想外の変数がfor文内で使用されました :"+e.kind)}this.evalWwaNode(t.init)})();this.evalWwaNode(t.test);this.evalWwaNode(t.update)){if(this.for_id.loopCount++,this.for_id.loopCount>this.generator.loop_limit)throw new Error("処理回数が多すぎます!\n上限値は LOOPLIMIT で変えられます。");if(this.for_id.break_flag)break;if(!this.evalWwaNode(t.test))break;this.evalWwaNodes(t.body),this.for_id.continue_flag=!1}switch(this.for_id.break_flag=!1,e.kind){case"i":this.for_id.i=null;break;case"j":this.for_id.j=null;break;case"k":this.for_id.k=null}}_checkArgsLength(t,e){if(e.value.length<t)throw new Error(`関数 ${e.functionName} の引数が不足しています!`)}evalAnyFunction(t){const e=this.generator.wwa.getGameStatus();switch(t.functionName){case"SOUND":{this._checkArgsLength(1,t);const e=this.evalWwaNode(t.value[0]);return this.generator.wwa.playSound(e),e}case"SAVE":{this._checkArgsLength(1,t);const e=Boolean(this.evalWwaNode(t.value[0]));return this.generator.wwa.disableSave(e),e}case"LOG":{this._checkArgsLength(1,t);const e=this.evalWwaNode(t.value[0]);return void console.log(e)}case"ABLE_CHANGE_SPEED":{this._checkArgsLength(1,t);const e=Boolean(this.evalWwaNode(t.value[0]));return this.generator.wwa.speedChangeJudge(e),e}case"SET_SPEED":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));return void this.generator.wwa.setPlayerSpeedIndex(e)}case"CHANGE_GAMEOVER_POS":{this._checkArgsLength(2,t);const e={x:Number(this.evalWwaNode(t.value[0])),y:Number(this.evalWwaNode(t.value[1]))};if(e.x<0||e.x>=this.generator.wwa.getMapWidth()||e.y<0||e.y>this.generator.wwa.getMapWidth())throw new Error("マップの範囲外が指定されています!");return void this.generator.wwa.setGameOverPosition(new c(e.x,e.y))}case"DEL_PLAYER":{this._checkArgsLength(1,t);const e=Boolean(this.evalWwaNode(t.value[0]));return void this.generator.wwa.setDelPlayer(e)}case"RESTART_GAME":return void this.generator.wwa.restartGame();case"URL_JUMPGATE":throw new Error("URL_JUMPGATE 関数は調整中のためご利用になれません");case"HIDE_STATUS":{this._checkArgsLength(2,t);const e=Number(this.evalWwaNode(t.value[0])),s=Boolean(this.evalWwaNode(t.value[1]));return void this.generator.wwa.hideStatus(e,s)}case"PARTS":{this._checkArgsLength(2,t);const e=Number(this.evalWwaNode(t.value[0])),s=Number(this.evalWwaNode(t.value[1]));let a=t.value[2]?Number(this.evalWwaNode(t.value[2])):0,i=!t.value[3]||Boolean(this.evalWwaNode(t.value[3]));const r=[v.OBJECT,v.MAP];if(e<0||s<0)throw new Error("パーツ番号が不正です");if(!r.includes(a))throw new Error("パーツ種別が不明です");return void this.generator.wwa.replaceParts(e,s,a,i)}case"FACE":{this._checkArgsLength(6,t);const e=Number(this.evalWwaNode(t.value[0])),s=Number(this.evalWwaNode(t.value[1])),a=Number(this.evalWwaNode(t.value[2])),i=Number(this.evalWwaNode(t.value[3])),r=Number(this.evalWwaNode(t.value[4])),n=Number(this.evalWwaNode(t.value[5]));if(e<0||s<0||a<0||i<0||r<0||n<0)throw new Error("各引数は0以上の整数でなければなりません。");return void this.generator.wwa.addFace(new l(new c(e,s),new c(a,i),new c(r,n)))}case"EFFECT":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));if(e<0)throw new Error("待ち時間は0以上の整数でなければなりません。");if(0===e)return void this.generator.wwa.stopEffect();const s=[];for(let e=1;e<t.value.length;e+=2){const a=Number(this.evalWwaNode(t.value[e]));if(a<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");if(e+1===t.value.length)throw new Error("画像のパーツ座標指定で、Y座標が指定されていません。");const i=Number(this.evalWwaNode(t.value[e+1]));if(i<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");s.push(new c(a,i))}return void this.generator.wwa.setEffect(e,s)}case"CHANGE_PLAYER_IMAGE":{this._checkArgsLength(2,t);const e=Number(this.evalWwaNode(t.value[0])),s=Number(this.evalWwaNode(t.value[1])),a=new c(e,s);return void this.generator.wwa.setPlayerImgCoord(a)}case"HAS_ITEM":{this._checkArgsLength(1,t);const s=Number(this.evalWwaNode(t.value[0]));return e.itemBox.includes(s)}case"REMOVE_ITEM":{this._checkArgsLength(1,t);const s=Number(this.evalWwaNode(t.value[0])),a=!!t.value[1]&&1===this.evalWwaNode(t.value[1]);let i=0;for(let t=0;t<e.itemBox.length;t++)if(s===e.itemBox[t]&&(this.generator.wwa.setPlayerGetItem(t+1,0),i++,!a))return i;return i}case"MOVE":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));if(e<=0||e>9)throw Error("MOVEの移動先は2/4/6/8で指定してください!");return this.generator.wwa.movePlayer(e),this.generator.wwa.movePlayer(e),0}case"IS_PLAYER_WAITING_MESSAGE":return this.generator.wwa.isPlayerWaitingMessage();case"GET_UNIXTIME":return Math.floor((new Date).getTime()/1e3);case"GET_DATE_YEAR":return(new Date).getFullYear();case"GET_DATE_MONTH":return(new Date).getMonth()+1;case"GET_DATE_DAY":return(new Date).getDate();case"GET_DATE_HOUR":return(new Date).getHours();case"GET_DATE_MINUTES":return(new Date).getMinutes();case"GET_DATE_SECONDS":return(new Date).getSeconds();case"GET_DATE_MILLISECONDS":return(new Date).getMilliseconds();case"GET_DATE_WEEKDAY":return(new Date).getDay();case"SHOW_USER_DEF_VAR":return void console.log(this.generator.wwa.getAllUserNameVar());case"CHANGE_SYSMSG":{this._checkArgsLength(1,t);const e=this.evalWwaNode(t.value[0]),s=t.value.length>=2?this.evalWwaNode(t.value[1]):void 0,a=this.resolveSystemMessageKeyFromMacroArg(e);if(!a)throw new Error("このIDのシステムメッセージは未定義です。");if("number"==typeof s||"string"==typeof s||"boolean"==typeof s)this.generator.wwa.overwriteSystemMessage(a,String(s));else{if(null!=s)throw new Error("この値は文字列に変換できないため、システムメッセージを表示できません。");this.generator.wwa.overwriteSystemMessage(a,void 0)}}break;case"ABS":{this._checkArgsLength(1,t);const e=Number(this.evalWwaNode(t.value[0]));return Math.abs(e)}case"GET_GAMEOVER_POS_X":return this.generator.wwa.getGemeOverPosition().x;case"GET_GAMEOVER_POS_Y":return this.generator.wwa.getGemeOverPosition().y;case"ABORT_BATTLE":return this.generator.state.battleDamageCalculation&&(this.generator.state.battleDamageCalculation.aborted=!0),0;default:throw new Error("未定義の関数が指定されました: "+t.functionName)}}resolveSystemMessageKeyFromMacroArg(t){return"string"==typeof t?r(t)?t:void 0:"number"==typeof t?n(t):void 0}partsAssignment(t){const e=this.generator.wwa.getGameStatus(),s=this.evalWwaNode(t.destinationX),a=this.evalWwaNode(t.destinationY),i=this.evalWwaNode(t.value),r="map"===t.partsKind?v.MAP:v.OBJECT;this.generator.wwa.appearPartsEval(e.playerCoord,s,a,i,r)}blockStatement(t){return this.evalWwaNodes(t.value)}ifStatement(t){return this.evalWwaNode(t.test)?this.evalWwaNode(t.consequent):t.alternate?this.evalWwaNode(t.alternate):void 0}convertConditionalExpression(t){const e=this.evalWwaNode(t.test)?t.consequent:t.alternate;return this.evalWwaNode(e)}itemAssignment(t){const e=this.evalWwaNode(t.itemBoxPosition1to12),s=this.evalWwaNode(t.value);this.generator.wwa.setPlayerGetItem(e,s)}evalMessage(t){const e=this.evalWwaNode(t.value),s=isNaN(e)?e:e.toString();this.generator.wwa.reserveMessageDisplayWhenShouldOpen(s)}evalJumpgate(t){const e=this.evalWwaNode(t.x),s=this.evalWwaNode(t.y);if(isNaN(e)||isNaN(s))throw new Error(`飛び先の値が数値になっていません。 x=${e} / y=${s}`);this.generator.wwa.forcedJumpGate(e,s)}evalRandom(t){const e=this.evalWwaNode(t.value);return Math.floor(Math.random()*e)}evalSetSpecialParameter(t){const e=this.evalWwaNode(t.value);if(!this.generator.wwa||isNaN(e))return e;const s=this.evalSymbol({type:"Symbol",name:t.kind}),a=(()=>{switch(t.operator){case"+=":return s+e;case"-=":return s-e;case"*=":return s*e;case"/=":return s/e;default:return e}})();switch(t.kind){case"PX":return this.generator.wwa.jumpSpecifiedXPos(a),a;case"PY":return this.generator.wwa.jumpSpecifiedYPos(a),a;case"AT":return this.generator.wwa.setPlayerStatus(b.STRENGTH,a,!1),a;case"DF":return this.generator.wwa.setPlayerStatus(b.DEFENCE,a,!1),a;case"GD":return this.generator.wwa.setPlayerStatus(b.GOLD,a,!1),a;case"HP":return this.generator.wwa.setPlayerStatus(b.ENERGY,a,!1),a;case"HPMAX":return this.generator.wwa.setPlayerEnergyMax(a),a;case"i":return this.for_id.i=this.evalWwaNode(t.value),this.for_id.i;case"j":return this.for_id.j=this.evalWwaNode(t.value),this.for_id.j;case"k":return this.for_id.k=this.evalWwaNode(t.value),this.for_id.k;case"LOOPLIMIT":{const e=this.evalWwaNode(t.value);return this.generator.updateLoopLimit(e),e}default:return void console.error("未実装の要素です: "+t.kind)}}evalSetUserVariable(t){const e=this.evalWwaNode(t.value);if(!this.generator.wwa)return e;const s=this.evalWwaNode(t.index);return this.generator.wwa.setUserVar(s,e,t.operator),e}evalUnaryOperation(t){switch(t.operator){case"+":return this.evalWwaNode(t.argument);case"-":return-this.evalWwaNode(t.argument);case"!":return!this.evalWwaNode(t.argument);default:throw new Error("存在しない単項演算子です")}}evalBinaryOperation(t){const e=this.evalWwaNode(t.left),s=this.evalWwaNode(t.right);switch(t.operator){case"+":return e+s;case"-":return e-s;case"*":return e*s;case"/":return 0===s?0:Math.floor(e/s);case"%":return 0===s?0:e%s;case">":return e>s;case">=":return e>=s;case"<":return e<s;case"<=":return e<=s;case"==":return e==s;case"!=":return e!=s;default:throw new Error("存在しない単項演算子です")}}evalSymbol(t){var e,s,a,i,r,n,o,h,c,_,l,u,d,p,E,m,g,w,f,v,S,A,y,T,I,C,D,O;const N=this.generator.wwa.getGameStatus(),P=this.generator.wwa.getEnemyStatus();switch(t.name){case"X":case"Y":return 0;case"PX":return N.playerCoord.x;case"PY":return N.playerCoord.y;case"AT":return N.bareStatus.strength;case"AT_TOTAL":return null!==(a=null===(s=null===(e=this.generator.state.battleDamageCalculation)||void 0===e?void 0:e.estimatingParams)||void 0===s?void 0:s.playerStatus.strength)&&void 0!==a?a:N.totalStatus.strength;case"DF":return N.bareStatus.defence;case"DF_TOTAL":return null!==(n=null===(r=null===(i=this.generator.state.battleDamageCalculation)||void 0===i?void 0:i.estimatingParams)||void 0===r?void 0:r.playerStatus.defence)&&void 0!==n?n:N.totalStatus.defence;case"GD":return null!==(c=null===(h=null===(o=this.generator.state.battleDamageCalculation)||void 0===o?void 0:o.estimatingParams)||void 0===h?void 0:h.playerStatus.gold)&&void 0!==c?c:N.totalStatus.gold;case"HP":return null!==(u=null===(l=null===(_=this.generator.state.battleDamageCalculation)||void 0===_?void 0:_.estimatingParams)||void 0===l?void 0:l.playerStatus.energy)&&void 0!==u?u:N.totalStatus.energy;case"HPMAX":return N.energyMax;case"STEP":return N.moveCount;case"TIME":return N.playTime;case"PDIR":return N.playerDirection;case"i":return this.for_id.i;case"j":return this.for_id.j;case"k":return this.for_id.k;case"LOOPLIMIT":return this.generator.loop_limit;case"ITEM_ID":return null!==(p=null===(d=this.generator.state.earnedItem)||void 0===d?void 0:d.partsId)&&void 0!==p?p:-1;case"ITEM_POS":return null!==(m=null===(E=this.generator.state.earnedItem)||void 0===E?void 0:E.itemPos)&&void 0!==m?m:-1;case"ENEMY_HP":return null!==(f=null===(w=null===(g=this.generator.state.battleDamageCalculation)||void 0===g?void 0:g.estimatingParams)||void 0===w?void 0:w.enemyStatus.energy)&&void 0!==f?f:"number"==typeof P?-1:P.energy;case"ENEMY_AT":return null!==(A=null===(S=null===(v=this.generator.state.battleDamageCalculation)||void 0===v?void 0:v.estimatingParams)||void 0===S?void 0:S.enemyStatus.strength)&&void 0!==A?A:"number"==typeof P?-1:P.strength;case"ENEMY_DF":return null!==(I=null===(T=null===(y=this.generator.state.battleDamageCalculation)||void 0===y?void 0:y.estimatingParams)||void 0===T?void 0:T.enemyStatus.defence)&&void 0!==I?I:"number"==typeof P?-1:P.defence;case"ENEMY_GD":return null!==(O=null===(D=null===(C=this.generator.state.battleDamageCalculation)||void 0===C?void 0:C.estimatingParams)||void 0===D?void 0:D.enemyStatus.gold)&&void 0!==O?O:"number"==typeof P?-1:P.gold;default:throw new Error("このシンボルは取得できません")}}evalArray1D(t){const e=this.evalWwaNode(t.index0);if("number"!=typeof e){if("v"===t.name)return this.generator.wwa.getUserNameVar(e);throw new Error("このシンボルは取得できません")}const s=this.generator.wwa.getGameStatus();switch(t.name){case"v":return this.generator.wwa.getUserVar(e);case"ITEM":if(void 0===s.itemBox[e])throw new Error("ITEMの添字に想定外の値が入っています。: "+e);return s.itemBox[e];default:throw new Error("このシンボルは取得できません")}}evalArray2D(t){switch(t.name){case"m":case"o":const e=this.evalWwaNode(t.index0),s=this.evalWwaNode(t.index1),a="o"===t.name?v.OBJECT:v.MAP;return this.generator.wwa.getPartsID(new c(e,s),a);default:throw new Error("このシンボルは取得できません")}}evalNumber(t){return t.value}}class ni{constructor(t){this.value=t}}const oi="user-variable-label";const hi="-",ci="user-variable-card";function _i({index:t,value:e}){const s=document.createElement("div");return s.classList.add(ci),s.dataset.varIndex=String(t),s.appendChild(function(t){const e=document.createElement("div");e.classList.add("index"),e.textContent=String(t),"string"==typeof t&&e.setAttribute("title",t);return e.appendChild(function(){const t=document.createElement("div");return t.textContent="-",t.setAttribute("aria-hidden","true"),t.classList.add(oi),t}()),e}(t)),s.appendChild(function(t){const e=document.createElement("div");e.classList.add("value"),"string"==typeof t&&e.setAttribute("title",yt(t));return li(e,t),e}(e)),s}function li(t,e){t.textContent=void 0===e?hi:yt(e)}const ui="user-variable-list";function di({index:t,value:e}){const s=document.createElement("li");return s.appendChild(_i({index:t,value:e})),s}function pi(t,{index:e,value:s}){t.appendChild(di({index:e,value:s}))}const Ei="information";function mi(t,e,s=!1){t.textContent=`${s?"【エラー】":""}${e}`}function gi({heading:t,contentVisibilityToggleButton:e,information:s}){const a=document.createElement("header");return a.appendChild(function({heading:t,contentVisibilityToggleButton:e}){const s=document.createElement("div");s.classList.add("heading-area");const a=document.createElement("h2");a.textContent=t.text,s.appendChild(a);const i=document.createElement("button");i.classList.add("content-visibility-toggle-button"),wi(i,!0),e.onClick&&i.addEventListener("click",e.onClick.bind(i));return s.appendChild(i),s}({heading:t,contentVisibilityToggleButton:e})),s&&a.appendChild(function(){const t=document.createElement("p");return t.classList.add(Ei),mi(t,"強調されている番号にカーソルを乗せると説明が表示されます。"),t}()),a}function wi(t,e){t.textContent=e?"▲隠す":"▼表示"}const fi="user-variable-list-section";function vi({kind:t}){const e=document.createElement("section");e.classList.add(fi),e.dataset.kind=t;const s=function({kind:t}){const e=document.createElement("ul");return e.classList.add(ui),"numbered"===t&&Array.from({length:V.USER_VAR_NUM}).map(((t,e)=>di({index:e}))).forEach((t=>e.appendChild(t))),e}({kind:t}),a=gi({heading:{text:"named"===t?"名前つき変数一覧":"変数一覧"},information:"numbered"===t?{}:void 0,contentVisibilityToggleButton:{onClick:t=>{const e=a.querySelector(`.${Ei}`);"true"===s.getAttribute("aria-hidden")?function(t,e,s){t.removeAttribute("aria-hidden"),e instanceof HTMLElement&&e.removeAttribute("aria-hidden");s instanceof HTMLElement&&wi(s,!0)}(s,e,t.target):function(t,e,s){t.setAttribute("aria-hidden","true"),e instanceof HTMLElement&&e.setAttribute("aria-hidden","true");s instanceof HTMLElement&&wi(s,!1)}(s,e,t.target)}}});return e.appendChild(a),e.appendChild(s),e}function Si(t,e){t instanceof HTMLElement&&Array.from({length:V.USER_VAR_NUM}).map(((s,a)=>{const i=function(t,e){return t.querySelector(`${Ii(e)} > .value`)}(t,a);i instanceof HTMLElement&&li(i,e[a])}))}function Ai(t,e){t&&Array.from({length:V.USER_VAR_NUM}).map(((s,a)=>{const i=e[a];if(!i)return;const r=function(t,e){return t.querySelector(`${Ii(e)} > .index`)}(t,a);if(!(r instanceof HTMLElement))return;const n=r.querySelector(`.${oi}`);n instanceof HTMLElement&&(function(t,e){t.textContent=e}(n,i),function(t,e){t.dataset.labelledVarIndex="true",t.addEventListener("mouseover",(()=>e.removeAttribute("aria-hidden"))),t.addEventListener("mouseleave",(()=>e.setAttribute("aria-hidden","true")))}(r,n))}))}function yi(t,e,s=!1){if(!t)return;const a=function(t){return t.querySelector(`.${Ti} > header > .${Ei}`)}(t);a instanceof HTMLElement&&mi(a,e,s)}const Ti=`.${fi}[data-kind="numbered"]`;function Ii(t){return`${Ti} > .${ui} > li > .${ci}[data-var-index="${CSS.escape(String(t))}"]`}function Ci(t,e){if(!(t instanceof HTMLElement))return;const s=function(t){return new Set([...t.querySelectorAll(Oi)].map((t=>t instanceof HTMLElement?t.dataset.varIndex:void 0)).filter(Boolean))}(t),a=Pi(t);if(a instanceof HTMLElement){for(const[i,r]of e){const e=xi(t,i);s.delete(i),e instanceof HTMLElement?li(e,r):pi(a,{index:i,value:r})}for(const e of s){const s=Mi(t,e).parentElement;s instanceof HTMLLIElement&&Pi(t).removeChild(s)}}}const Di=`.${fi}[data-kind="named"]`,Oi=`${Di} > .${ui} > li > .${ci}`;function Ni(t){return`${Oi}[data-var-index="${CSS.escape(t)}"]`}function Pi(t){return t.querySelector(`${Di} > .${ui}`)}function Mi(t,e){return t.querySelector(Ni(e))}function xi(t,e){return t.querySelector(`${Ni(e)} > .value`)}const bi="wwa-vardump-wrapper";let Li;function Ri(t,e,s){var a=new G;return a.current=t,a.total=e,a.stage=s,a}class Bi{constructor(t,e=!1,s,i,r,n,o="",l=!1,u=null,E,m,w=!1,f=null){var v;this._useSuspend=!1,this._useLookingAround=!0,this._isDisallowLoadOldSave=!1,this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._windowCloseWaitingJumpGateRequest=void 0,this._debugConsoleElement=void 0,this.audioExtension="",this.soundLoadedCheckTimer=void 0,this._playTimeCalculator=void 0,this.userDefinedFunctions={},this.convertWwaNodes=t=>function(t){if("Program"===t.type)return t.body.map((t=>ai(t)));return[ai(t)]}(ei(t)),this.mainCaller=()=>this._main(),this.soundCheckCaller=()=>this.checkAllSoundLoaded(),this._checkTurnKeyPressed=()=>this._keyStore.checkHitKey(q.KEY_ESC)||this._keyStore.checkHitKey(q.KEY_SHIFT)||this._keyStore.checkHitKey(q.KEY_N),this._saveDataList=[],this.wwaCustomEventEmitter=new As(dt("wwa-wrapper")),window.addEventListener("click",(t=>{this._isActive=!1})),dt("wwa-wrapper").addEventListener("click",(t=>{t.stopPropagation(),this._isActive=!0})),this._isActive=!0,null===s?(this._hasTitleImg=!1,this._cvsCover=dt("progress-panel"),(v=this._cvsCover.getContext("2d")).fillStyle="rgb(0, 0, 0)"):this._hasTitleImg=!0;try{this._hasTitleImg?(dt("unstable-version-warning").textContent="この WWA Wing は [不安定版] です。",dt("version").textContent="WWA Wing Ver.3.13.0-unstable.based-on.3.12.11.p.12"):this._setLoadingMessage(v,0)}catch(t){}this._dumpElement=u;const C=window.AudioContext||window.webkitAudioContext;C&&(this.audioContext=new C,this.audioGain=this.audioContext.createGain(),this.audioGain.gain.setValueAtTime(1,this.audioContext.currentTime));var D=new Audio;"no"!==D.canPlayType("audio/mpeg")&&""!==D.canPlayType("audio/mpeg")?this.audioExtension="mp3":this.audioExtension="m4a",this.userDevice=new P,this._isURLGateEnable=e,this._isClassicModeEnable=i,this._mainCallCounter=0,this._animationCounter=0,this._statusPressCounter=new h(0,0,0,0),o?"/"!==o[o.length-1]&&(o+="/"):o="./audio/",this._audioDirectory=o,this._bottomButtonType=n?d.GOTO_WWA:d.BATTLE_REPORT;var O=(new Date).getTime();if(!!location.href.match(/^file/))if(this.userDevice.device===A.GAME){if(this.userDevice.os===S.NINTENDO)V.BATTLE_INTERVAL_FRAME_NUM=5;this._bottomButtonType=d.GAME_END}else alert("【警告】直接HTMLファイルを開いているようです。\nこのプログラムは正常に動作しない可能性があります。\nマップデータの確認を行う場合には同梱の「wwa-server.exe」をご利用ください。\n"+(this.userDevice.browser===y.FIREFOX?"Firefoxの場合も、バージョン68以降はローカルのHTMLファイルを直接開いた場合、通常起動できないことを確認しております。":""));switch(this.userDevice.device){case A.VR:case A.GAME:this._usePassword=!1;break;default:this._usePassword=!0}switch(dt("cell-save").textContent=Y.QUICK_SAVE,this._usePassword?dt("cell-load").textContent=Y.PASSWORD:dt("cell-load").textContent=Y.EMPTY_LOAD,this._bottomButtonType){case d.GOTO_WWA:dt("cell-gotowwa").textContent=Y.GOTO_WWA;break;case d.BATTLE_REPORT:dt("cell-gotowwa").textContent=Y.BATTLE_REPORT;break;case d.GAME_END:dt("cell-gotowwa").textContent=Y.GAME_END}this._loadHandler=t=>{var e;this._wwaData=t,this._wwaData.isItemEffectEnabled=r;try{this._hasTitleImg?dt("version").textContent+=" (Map data Ver. "+Math.floor(this._wwaData.version/10)+"."+ +this._wwaData.version%10+")":this._setLoadingMessage(v,1)}catch(t){}var s=dt("wwa-wrapper").getAttribute("data-wwa-mapdata").split("/");s.pop(),s.push(this._wwaData.mapCGName),this._wwaData.mapCGName=s.join("/"),this._playTimeCalculator=new ot,this._restartData=JSON.parse(JSON.stringify(this._wwaData)),this.checkOriginalMapString=this._generateMapDataHash(this._restartData),this.initCSSRule(),this._setProgressBar(Ri(0,4,H.GAME_INIT)),this._setLoadingMessage(v,2);var i=new Image;i.src=this._wwaData.mapCGName,i.addEventListener("error",(()=>{this._setErrorMessage("画像ファイル「"+this._wwaData.mapCGName+"」が見つかりませんでした。\n管理者の方へ: データがアップロードされているか、\nパーミッションを確かめてください。",v)}));var n=this._wwaData.mapCGName.replace("(","\\(").replace(")","\\)");const o=t=>{t.style.backgroundImage="url("+n+")"};Array.prototype.forEach.call(gt("div.item-cell"),(t=>{t.style.backgroundPosition=`-${this._wwaData.imgItemboxX*V.CHIP_SIZE}px -${this._wwaData.imgItemboxY*V.CHIP_SIZE}px`,t.style.backgroundImage="url("+n+")"})),Array.prototype.forEach.call(gt("div.wide-cell-row"),(t=>{t.style.backgroundPosition="-160px -120px",t.style.backgroundImage="url("+n+")"})),Array.prototype.forEach.call(gt(".item-cell>.item-click-border"),(t=>{t.style.backgroundImage="url('"+V.ITEM_BORDER_IMG_DATA_URL+"')",t.style.backgroundPosition="0 0",t.style.display="none",t.style.cursor="pointer"})),Array.prototype.forEach.call(gt(".item-cell>.item-disp"),o),Array.prototype.forEach.call(gt("div.wide-cell-row>.status-icon"),o),this.setStatusIconCoord(L.ENERGY,new c(this._wwaData.imgStatusEnergyX,this._wwaData.imgStatusEnergyY)),this.setStatusIconCoord(L.STRENGTH,new c(this._wwaData.imgStatusStrengthX,this._wwaData.imgStatusStrengthY)),this.setStatusIconCoord(L.DEFENCE,new c(this._wwaData.imgStatusDefenceX,this._wwaData.imgStatusDefenceY)),this.setStatusIconCoord(L.GOLD,new c(this._wwaData.imgStatusGoldX,this._wwaData.imgStatusGoldY)),this._setProgressBar(Ri(1,4,H.GAME_INIT)),this._setLoadingMessage(v,3),this._mapIDTableCreate(),this._replaceAllRandomObjects();var u=(new Date).getTime();console.log("Loading Complete!"+(u-O)+"ms"),this._cvs=dt("wwa-map");var d=this._cvs.getContext("2d",{alpha:!1});d.fillStyle="rgba( 255, 255, 255, 0.5)",d.fillRect(0,0,440,440);var E=new _(this,this._wwaData.playerX,this._wwaData.playerY);this._camera=new Ct(E),this._itemMenu=new Ve;var y=new h(this._wwaData.statusEnergy,this._wwaData.statusStrength,this._wwaData.statusDefence,this._wwaData.statusGold);this._player=new Pt(this,E,this._camera,y,this._wwaData.statusEnergyMax,this._wwaData.moves,this._wwaData.gameSpeedIndex),this._userVar={numbered:Array.from({length:V.USER_VAR_NUM}).map((()=>0)),named:new Map},this._objectMovingDataManager=new bt(this,this._player),this._camera.setPlayer(this._player),this._keyStore=new it,this._mouseStore=new rt,w?(this._virtualPadButtonElements={BUTTON_ENTER:dt("wwa-enter-button"),BUTTON_ESC:dt("wwa-esc-button"),BUTTON_FAST:dt("wwa-fast-button"),BUTTON_SLOW:dt("wwa-slow-button"),BUTTON_LEFT:dt("wwa-left-button"),BUTTON_UP:dt("wwa-up-button"),BUTTON_RIGHT:dt("wwa-right-button"),BUTTON_DOWN:dt("wwa-down-button")},this._virtualPadStore=new lt(this._virtualPadButtonElements,ke(),dt("wwa-virtualpad-right"),dt("wwa-virtualpad-left"),this._setVirtualPadTouch.bind(this),this._setVirtualPadLeave.bind(this)),function(t,e){if(null===t)return;const s=document.createElement("button");s.classList.add("wwa-virtualpad-toggle-button"),s.textContent="仮想パッド表示切り替え",s.addEventListener("click",e),t.appendChild(s)}(f,(()=>{this._virtualPadStore.toggleVisible()}))):(this._virtualPadButtonElements=null,this._virtualPadStore=new lt({})),this._debugConsoleElement=function(t){if(null===t)return;const e=document.createElement("section");e.setAttribute("id","wwa-debug-console");const s=document.createElement("textarea");s.setAttribute("rows","10"),s.setAttribute("cols","60"),s.textContent='v["money"] = 100;\nv["name"] = "ヤツロウ";\nMSG(v["name"]+"「俺の所持金は"+v["money"]+"ゴールドだ」");\nSHOW_USER_DEF_VAR();';const a=t=>t.stopPropagation();s.addEventListener("keydown",a),s.addEventListener("keypress",a),s.addEventListener("keyup",a),s.classList.add("console-text-area"),e.appendChild(s);const i=document.createElement("button");return i.classList.add("script-running-button"),i.textContent="実行(X)",e.appendChild(i),t.appendChild(e),e}(dt("wwa-debug-console-area")),null===(e=this._debugConsoleElement)||void 0===e||e.querySelector(".script-running-button").addEventListener("click",(()=>{this._debugEvalString()})),this._gamePadStore=new nt,this._pages=[],this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._yesNoChoiceCallInfo=T.NONE,this._prevFrameEventExected=!1,this._isLastPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._shouldSetNextPage=!1,this._passwordLoadExecInNextFrame=!1,this._messageWindow=new be(this,50,180,340,0,this._wwaData.mapCGName,!1,!0,!1,dt("wwa-wrapper")),this._scoreWindow=new Pe(this,new c(50,50),!1,dt("wwa-wrapper")),this._wwaSave=new rs(Li,Li._wwaData.worldName,Li._wwaData.worldPassNumber,this._checkSaveDataCompatibility.bind(this),(t=>{if(t.length>0){let e="これまでに保存されていたセーブデータは、下記の理由により消えたものがあります。";t.forEach((t=>{switch(t){case ts.UNMATCHED_WORLD_NAME:e+="\n・制作者によるマップデータのワールド名の変更";break;case ts.UNMATCHED_WORLD_PASS_NUMBER:e+="\n・制作者によるマップデータの暗証番号の変更";break;case ts.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:e+="\n・制作者によるマップデータの内容変更 (マップデータ制作者の設定により、内容が変更されるとセーブデータが消去されます)"}})),alert(e)}})),this._isDisallowLoadOldSave=l,this._messageWindow.setWWASave(this._wwaSave),Xe.setRestartData(this._restartData,this._wwaData),this.clearFaces();const C=dt("wwa-wrapper").getAttribute("data-wwa-resume-savedata");if("string"==typeof C&&(this._useSuspend=!0,C)){var D=Xe.getStartWWAData(C);this._restartData!==D&&(this._applyQuickLoad(D),this._wwaSave.resumeStart())}const N=dt("wwa-wrapper").getAttribute("data-wwa-autosave");null!==N&&this._wwaSave.setAutoSaveInterval(0|Number(N));const P=dt("wwa-wrapper").getAttribute("data-wwa-looking-around");if(this._useLookingAround=!(P&&P.match(/false/i)),this._setProgressBar(Ri(2,4,H.GAME_INIT)),this._setLoadingMessage(v,4),window.addEventListener("keydown",(t=>{if(this._isActive){if(this.userDevice.os===S.NINTENDO)return t.preventDefault(),void t.stopPropagation();this._keyStore.setPressInfo(t.keyCode),t.keyCode!==q.KEY_F5?this._player.isWaitingMessage()?t.keyCode!==q.KEY_DOWN&&t.keyCode!==q.KEY_LEFT&&t.keyCode!==q.KEY_RIGHT&&t.keyCode!==q.KEY_UP&&t.keyCode!==q.KEY_SHIFT&&t.keyCode!==q.KEY_ENTER&&t.keyCode!==q.KEY_ESC&&t.keyCode!==q.KEY_SPACE||t.preventDefault():this._player.isWaitingPasswordWindow()||t.keyCode!==q.KEY_DOWN&&t.keyCode!==q.KEY_LEFT&&t.keyCode!==q.KEY_RIGHT&&t.keyCode!==q.KEY_UP&&t.keyCode!==q.KEY_SHIFT&&t.keyCode!==q.KEY_ENTER&&t.keyCode!==q.KEY_1&&t.keyCode!==q.KEY_2&&t.keyCode!==q.KEY_3&&t.keyCode!==q.KEY_A&&t.keyCode!==q.KEY_C&&t.keyCode!==q.KEY_D&&t.keyCode!==q.KEY_E&&t.keyCode!==q.KEY_M&&t.keyCode!==q.KEY_N&&t.keyCode!==q.KEY_Q&&t.keyCode!==q.KEY_S&&t.keyCode!==q.KEY_W&&t.keyCode!==q.KEY_X&&t.keyCode!==q.KEY_Y&&t.keyCode!==q.KEY_Z&&t.keyCode!==q.KEY_ESC&&t.keyCode!==q.KEY_F1&&t.keyCode!==q.KEY_F2&&t.keyCode!==q.KEY_F3&&t.keyCode!==q.KEY_F4&&t.keyCode!==q.KEY_F6&&t.keyCode!==q.KEY_F7&&t.keyCode!==q.KEY_F8&&t.keyCode!==q.KEY_F12&&t.keyCode!==q.KEY_SPACE||t.preventDefault():t.preventDefault()}})),window.addEventListener("keyup",(t=>{if(this._isActive){if(this.userDevice.os===S.NINTENDO)return t.preventDefault(),void t.stopPropagation();this._keyStore.setReleaseInfo(t.keyCode),t.keyCode===q.KEY_F5?t.preventDefault():t.keyCode!==q.KEY_DOWN&&t.keyCode!==q.KEY_LEFT&&t.keyCode!==q.KEY_RIGHT&&t.keyCode!==q.KEY_UP&&t.keyCode!==q.KEY_SHIFT&&t.keyCode!==q.KEY_ENTER&&t.keyCode!==q.KEY_1&&t.keyCode!==q.KEY_2&&t.keyCode!==q.KEY_3&&t.keyCode!==q.KEY_A&&t.keyCode!==q.KEY_C&&t.keyCode!==q.KEY_D&&t.keyCode!==q.KEY_E&&t.keyCode!==q.KEY_M&&t.keyCode!==q.KEY_N&&t.keyCode!==q.KEY_Q&&t.keyCode!==q.KEY_S&&t.keyCode!==q.KEY_W&&t.keyCode!==q.KEY_X&&t.keyCode!==q.KEY_Y&&t.keyCode!==q.KEY_Z&&t.keyCode!==q.KEY_ESC&&t.keyCode!==q.KEY_F1&&t.keyCode!==q.KEY_F3&&t.keyCode!==q.KEY_F4&&t.keyCode!==q.KEY_F6&&t.keyCode!==q.KEY_F7&&t.keyCode!==q.KEY_F8&&t.keyCode!==q.KEY_F9&&t.keyCode!==q.KEY_F12&&t.keyCode!==q.KEY_SPACE||this._player.isWaitingMessage()||this._player.isWaitingPasswordWindow()||t.preventDefault()}})),window.addEventListener("blur",(t=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()})),window.addEventListener("contextmenu",(t=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()})),window.addEventListener("help",(t=>{this._isActive&&t.preventDefault()})),this._mouseControllerElement=dt("wwa-controller"),this._mouseControllerElement.addEventListener("mousedown",(t=>{if(this._isActive&&1===t.which){if(this._mouseStore.getMouseState()!==z.NONE)return void t.preventDefault();const e=wt(t.clientX,t.clientY),s=this._player.getDrawingCenterPosition(),a=e.substract(s),i=Math.abs(a.x),r=Math.abs(a.y);let n,o=!1;if(i<V.CHIP_SIZE&&r<V.CHIP_SIZE){switch(s.x/V.CHIP_SIZE|0){case 0:o=!0,n=p.LEFT;break;case V.H_PARTS_NUM_IN_WINDOW-1:o=!0,n=p.RIGHT}switch(s.y/V.CHIP_SIZE|0){case 0:o=!0,n=p.UP;break;case V.V_PARTS_NUM_IN_WINDOW-1:o=!0,n=p.DOWN}}o||(a.y>0&&r>i?n=p.DOWN:a.y<0&&r>i?n=p.UP:a.x>0&&r<i?n=p.RIGHT:a.x<0&&r<i&&(n=p.LEFT)),this._mouseStore.setPressInfo(n,0)}})),this._mouseControllerElement.addEventListener("mouseleave",(t=>{this._mouseStore.clear()})),this._mouseControllerElement.addEventListener("mouseup",(t=>{this._isActive&&1===t.which&&(this._mouseStore.setReleaseInfo(),t.preventDefault())})),window.TouchEvent){if(this.audioContext){let t=()=>{this.audioContext.createBufferSource().start(0),this._mouseControllerElement.removeEventListener("touchstart",t),t=null};this._mouseControllerElement.addEventListener("touchstart",t)}this._mouseControllerElement.addEventListener("touchstart",(t=>{if(!this._isActive)return;if(this._mouseStore.getMouseState()!==z.NONE)return void t.preventDefault();const e=t.changedTouches,s=e.length;for(let t=0;t<s;t++){const s=e[t],a=wt(s.clientX,s.clientY),i=this._player.getDrawingCenterPosition(),r=a.substract(i),n=Math.abs(r.x),o=Math.abs(r.y);let h,c=!1;if(n<V.CHIP_SIZE&&o<V.CHIP_SIZE){switch(i.x/V.CHIP_SIZE|0){case 0:c=!0,h=p.LEFT;break;case V.H_PARTS_NUM_IN_WINDOW-1:c=!0,h=p.RIGHT}switch(i.y/V.CHIP_SIZE|0){case 0:c=!0,h=p.UP;break;case V.V_PARTS_NUM_IN_WINDOW-1:c=!0,h=p.DOWN}}c||(r.y>0&&o>n?h=p.DOWN:r.y<0&&o>n?h=p.UP:r.x>0&&o<n?h=p.RIGHT:r.x<0&&o<n&&(h=p.LEFT)),this._mouseStore.setPressInfo(h,s.identifier)}t.cancelable&&t.preventDefault()}));const t=t=>{if(this._isActive)for(let e=0;e<t.changedTouches.length;e++)if(this._mouseStore.getTouchID()===t.changedTouches[e].identifier){this._mouseStore.setReleaseInfo(),t.preventDefault();break}};this._mouseControllerElement.addEventListener("touchend",t),this._mouseControllerElement.addEventListener("touchcancel",t)}dt("button-load").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.QUICK_LOAD)})),dt("button-save").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.QUICK_SAVE)})),dt("button-restart").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.RESTART_GAME)})),dt("button-gotowwa").addEventListener("click",(()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(I.GOTO_WWA,!1,!1)})),Array.prototype.forEach.call(gt(".wide-cell-row"),(t=>{t.addEventListener("click",(()=>{this._displayHelp()}))})),this._frameCoord=new c(V.IMGPOS_DEFAULT_FRAME_X,V.IMGPOS_DEFAULT_YESNO_Y),this._battleEffectCoord=new c(V.IMGPOS_DEFAULT_BATTLE_EFFECT_X,V.IMGPOS_DEFAULT_BATTLE_EFFECT_Y),this._battleEstimateWindow=new Re(this,this._wwaData.mapCGName,dt("wwa-wrapper")),this._passwordWindow=new Ue(this,dt("wwa-wrapper"),l),this._monsterWindow=new Ne(this,new c(50,180),340,60,!1,dt("wwa-wrapper"),this._wwaData.mapCGName),this._setProgressBar(Ri(3,4,H.GAME_INIT)),this._isLoadedSound=!1,this._temporaryInputDisable=!1,this._paintSkipByDoorOpen=!1,this._clearFacesInNextFrame=!1,this._useConsole=!1,this.wwaCustomEvent("wwa_startup"),this._cgManager=new It(d,this._wwaData.mapCGName,this._frameCoord,(()=>{this._isSkippedSoundMessage=!0;const t=()=>{switch(this.userDevice.device){case A.PC:this.generatePageAndReserveExecution("ゲームを開始します。\n画面をクリックしてください。",!1,!0);break;case A.SP:this.generatePageAndReserveExecution("ゲームを開始します。\n画面にふれてください。",!1,!0)}},e=this.resolveSystemMessage(a.CONFIRM_LOAD_SOUND);if("ON"===e)return this._isLoadedSound=!0,t(),this._setLoadingMessage(v,H.AUDIO),this.loadSound(),void window.requestAnimationFrame(this.soundCheckCaller);if("OFF"===e)return this._isLoadedSound=!1,t(),void this.openGameWindow();if(this._isSkippedSoundMessage=!1,this._hasTitleImg||v.clearRect(0,0,V.SCREEN_WIDTH,V.SCREEN_HEIGHT),this._usePassword){let t=e;m&&(t+='\n\n※変数表示が有効になっています。\n公開前に必ずHTMLファイル内の\n data-wwa-display-user-vars="true" \nを消してください。'),this._messageWindow.setMessage(t),this._messageWindow.show(),this._setProgressBar(Ri(4,4,H.GAME_INIT));var s=setInterval((()=>{this._keyStore.update(),this._gamePadStore.update(),this._virtualPadStore.update(),this._yesNoJudgeInNextFrame===g.UNSELECTED&&(this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_Y)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this._yesNoJudgeInNextFrame=g.YES:(this._keyStore.getKeyState(q.KEY_N)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_ESC)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&(this._yesNoJudgeInNextFrame=g.NO)),this._yesNoJudgeInNextFrame===g.YES?(clearInterval(s),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout((()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._isLoadedSound=!0,this._setLoadingMessage(v,H.AUDIO),this.loadSound(),window.requestAnimationFrame(this.soundCheckCaller)}),V.YESNO_PRESS_DISP_FRAME_NUM*V.DEFAULT_FRAME_INTERVAL)):this._yesNoJudgeInNextFrame===g.NO&&(clearInterval(s),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout((()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._isLoadedSound=!1,this.openGameWindow()}),V.YESNO_PRESS_DISP_FRAME_NUM*V.DEFAULT_FRAME_INTERVAL))}),V.DEFAULT_FRAME_INTERVAL)}else clearInterval(s),this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=g.UNSELECTED,this._yesNoJudgeInNextFrame=g.UNSELECTED,this._isLoadedSound=!0,this.loadSound(),window.requestAnimationFrame(this.soundCheckCaller)})),this.wwaCustomEvent("wwa_start")};const N=new As;N.addListener("mapData",(t=>this._loadHandler(t))),N.addListener("progress",(t=>this._setProgressBar(t))),N.addListener("error",(t=>this._setErrorMessage("下記のエラーが発生しました。: \n"+t.message,v)));new Ss(t,N).requestAndLoadMapData().then((async()=>{if(this._canDisplayUserVars=m,this._userVarNameList=[],this._canDisplayUserVars){this._inlineUserVarViewer={topUserVarIndex:{named:0,numbered:0},isVisible:!1,kind:"numbered"};const t=await(E?ys(E):{kind:"noFileSpecified",errorMessage:"data-wwa-user-var-names-file 属性に、変数の説明を記したファイル名を書くことで、その説明を表示できます。詳しくはマニュアルをご覧ください。"});this.setUserVarStatus(t,E)}})),(async()=>{const t=await ys("./script/script_file_list.json");let e=[];console.log(t),"data"===(null==t?void 0:t.kind)&&Array.isArray(t.data)&&t.data.map((t=>{e.push((async t=>{try{const e=await fetch(t);return 200===e.status||304===e.status?{kind:"data",data:await new Response(e.body).text()}:{kind:"httpError",errorMessage:`ファイル ${t} が読み込めませんでした。ステータスコード: ${e.status}`}}catch(t){return{kind:"otherError",errorMessage:t.message}}})(t))}));(await Promise.all(e)).forEach((t=>{try{this.setUsertScript(t)}catch(t){console.error(t.message)}}));const s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_WWA_START;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s)})(),this.evalCalcWwaNodeGenerator=new ii(this)}setEvalCalcWwaNodeEarnedItem(t,e){this.evalCalcWwaNodeGenerator.setEarnedItem(t,e)}clearEvalCalcWwaNodeEarnedItem(){this.evalCalcWwaNodeGenerator.clearEarnedItem()}callGetItemUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callGetItemFullUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM_FULL;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callUseItemUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_USE_ITEM;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callJumpGateUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_JUMPGATE;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}callUserDefinedBattleDamageFunction(t,e){const s=this.getUserDefinedDamageFunctionNode(t);if(s){this.evalCalcWwaNodeGenerator.setBattleDamageCalculationMode(e);try{const e=this.evalCalcWwaNodeGenerator.evalWwaNode(s),a=this.evalCalcWwaNodeGenerator.state.battleDamageCalculation.aborted;return this.evalCalcWwaNodeGenerator.clearBattleDamageCalculationMode(),"number"==typeof e?{damage:this.toAssignableValue(e),aborted:a}:(console.warn(`${t} のダメージ計算結果が数値になりませんでした。(結果: ${e})。このターンのダメージは無効になります。`),{damage:0,aborted:a})}catch(e){return console.warn(`${t} のダメージ計算中にエラーが発生しました。このターンのダメージは無効になります。`),console.warn(e),{damage:0,hasError:!0}}}}getUserDefinedDamageFunctionNode(t){var e;return null===(e=this.userDefinedFunctions)||void 0===e?void 0:e[{playerToEnemy:"CALC_PLAYER_TO_ENEMY_DAMAGE",enemyToPlayer:"CALC_ENEMY_TO_PLAYER_DAMAGE"}[t]]}callMoveUserDefineFunction(){const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_MOVE;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}getUserScript(t){return this.userDefinedFunctions&&this.userDefinedFunctions[t]||null}setUsertScript(t){if("data"!==t.kind)return void console.error(t);const e=this.convertWwaNodes(t.data);console.log(e),e.forEach((t=>{if("DefinedFunction"===t.type&&this.userDefinedFunctions){const e=t.functionName;this.userDefinedFunctions[e]=t.body}}))}setUserVarStatus(t,e){if(t)if("noFileSpecified"!==t.kind){if("data"!==t.kind)return this._userVarNameListRequestError=t,void yi(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);if(!t.data||"object"!=typeof t.data)return this._userVarNameListRequestError={kind:"notObject",errorMessage:`ユーザ変数一覧 ${e} が正しい形式で書かれていません。`},void yi(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);this._userVarNameList=this.convertUserVariableNameListToArray(t.data),Ai(this._dumpElement,this._userVarNameList)}else yi(this._dumpElement,t.errorMessage,!1)}convertUserVariableNameListToArray(t){const e=new Array(V.USER_VAR_NUM);for(let t=0;t<V.USER_VAR_NUM;t++)e[t]=void 0;return Object.keys(t).forEach((s=>{const a=parseInt(s,10);"string"!=typeof t[s]||"string"!=typeof s||isNaN(a)||a<0||a>=V.USER_VAR_NUM||(e[a]=t[s])})),e}_setProgressBar(t){this._hasTitleImg&&(t.stage<=V.LOAD_STAGE_MAX_EXCEPT_AUDIO?(dt("progress-message-container").textContent=t.stage===V.LOAD_STAGE_MAX_EXCEPT_AUDIO?"World Name: "+this._wwaData.worldName:st[t.stage],dt("progress-bar").style.width=(1*t.stage+t.current/t.total*1)/(V.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*V.MAP_WINDOW_WIDTH+"px",dt("progress-disp").textContent=((1*t.stage+t.current/t.total*1)/(V.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*100).toFixed(2)+"%"):(this._usePassword?dt("progress-message-container").textContent="効果音/BGMを読み込んでいます。(スペースキーでスキップ)":dt("progress-message-container").textContent="ゲームデータを読み込んでいます。",dt("progress-bar-audio").style.width=t.current*V.MAP_WINDOW_WIDTH/t.total+"px",dt("progress-disp").textContent=(t.current/t.total*100).toFixed(2)+"%"))}_setLoadingMessage(t,e){if(!this._hasTitleImg)if(e<=0)t.font=j.TITLE+"px "+V.LOADING_FONT,t.fillText(at[0],K.TITLE_X,K.TITLE_Y),t.font=j.FOOTER+"px "+V.LOADING_FONT,t.fillText("WWA Wing Ver.3.13.0-unstable.based-on.3.12.11.p.12",K.FOOTER_X,K.COPYRIGHT_Y);else if(e<=at.length)t.font=j.LOADING+"px "+V.LOADING_FONT,e>=2&&(t.clearRect(K.LOADING_X,K.LOADING_Y+K.LINE*(e-3),V.SCREEN_WIDTH-K.LOADING_X,K.LINE),t.fillText(at[e-1]+" Complete!",K.LOADING_X,K.LOADING_Y+K.LINE*(e-2))),e<at.length&&t.fillText(at[e],K.LOADING_X,K.LOADING_Y+K.LINE*(e-1)),1==e&&(t.font=j.FOOTER+"px "+V.LOADING_FONT,t.fillText("World Name "+this._wwaData.worldName,K.FOOTER_X,K.WORLD_Y),t.fillText(" (Map data Ver. "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10+")",K.FOOTER_X,K.WORLD_Y+K.LINE));else{var s;s=this._isSkippedSoundMessage?K.LOADING_Y+K.LINE*(at.length-1):K.FOOTER_Y,e<=H.AUDIO?t.fillText("Now Sound data Loading .....",K.LOADING_X,s):(t.clearRect(K.LOADING_X,s-K.LINE,V.SCREEN_WIDTH-K.LOADING_X,K.LINE),t.fillText("Now Sound data Loading ..... Complete!",K.LOADING_X,s))}}_setErrorMessage(t,e){this._hasTitleImg?alert(t):(e.clearRect(0,0,V.SCREEN_WIDTH,V.SCREEN_HEIGHT),e.font=j.ERRROR+"px "+V.LOADING_FONT,t.split("\n").forEach((function(t,s){e.fillText(t,K.ERROR_X,K.ERROR_Y+K.LINE*s)})))}createSoundInstance(t){if(0===t||t===R.NO_SOUND||this.sounds[t])return;const e=`${this._audioDirectory}${t}.${this.audioExtension}`;this.sounds[t]=new ns(t,e,this.audioContext,this.audioGain)}loadSound(){this.sounds=new Array(V.SOUND_MAX+1),this.createSoundInstance(R.DECISION),this.createSoundInstance(R.ATTACK);for(let t=1;t<this._wwaData.mapPartsMax;t++){const e=this._wwaData.mapAttribute[t][V.ATR_SOUND];this.createSoundInstance(e)}for(let t=1;t<this._wwaData.objPartsMax;t++){if(this._wwaData.objectAttribute[t][V.ATR_TYPE]===V.OBJECT_RANDOM)continue;const e=this._wwaData.objectAttribute[t][V.ATR_SOUND];this.createSoundInstance(e)}this._wwaData.message.forEach((t=>t.split("\n").forEach((t=>{const e=t.match(/^\$sound=(\d+)/);if(!e||e.length<2)return;const s=parseInt(e[1],10);!isNaN(s)&&0<s&&s<R.NO_SOUND&&this.createSoundInstance(s)})))),this._wwaData.bgm=0,this._soundLoadSkipFlag=!1}checkAllSoundLoaded(){let t=0,e=0;if(!this._hasTitleImg)var s=this._cvsCover.getContext("2d");this._keyStore.update(),this._keyStore.getKeyState(q.KEY_SPACE)===Z.KEYDOWN&&(this._soundLoadSkipFlag=!0);for(let s=1;s<=V.SOUND_MAX;s++){const a=this.sounds[s];void 0===a||a.isError()||(e++,a.hasData()&&t++)}if(t<e&&!this._soundLoadSkipFlag)return this._setProgressBar(Ri(t,e,H.AUDIO)),void window.requestAnimationFrame(this.soundCheckCaller);this._setProgressBar(Ri(V.SOUND_MAX,V.SOUND_MAX,H.AUDIO)),this._setLoadingMessage(s,H.FINISH),this.openGameWindow()}_setSoundLoadedCheckTimer(t){const e=this.sounds[t];e.isError()||(this.soundLoadedCheckTimer=window.setInterval((()=>{this._wwaData.bgm===t?e.hasData()?(e.play(this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=t,this._clearSoundLoadedCheckTimer()):e.isError()&&this._clearSoundLoadedCheckTimer():this._clearSoundLoadedCheckTimer()}),100))}_clearSoundLoadedCheckTimer(){this.soundLoadedCheckTimer&&(clearInterval(this.soundLoadedCheckTimer),this.soundLoadedCheckTimer=void 0)}playSound(t,e){if(!this._isLoadedSound)return void(t===R.NO_SOUND?this._wwaData.bgm=0:t>=R.BGM_LB&&(this._wwaData.bgm=t));if(t<0||t>=V.SOUND_MAX)return void console.warn("サウンド番号が範囲外です。");if(t>=R.BGM_LB&&this._wwaData.bgm===t)return;if((t===R.NO_SOUND||t>=R.BGM_LB)&&0!==this._wwaData.bgm&&(this.sounds[this._wwaData.bgm].isPlaying()&&this.sounds[this._wwaData.bgm].pause(),this._wwaData.bgm=0),0===t||t===R.NO_SOUND)return;this.sounds[t].hasData()?t>=R.BGM_LB?(this.sounds[t].play(null!=e?e:this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=t):this.sounds[t].play():t>=R.BGM_LB&&(this._wwaData.bgm=t,this._setSoundLoadedCheckTimer(t))}openGameWindow(){var t=this._player.getPosition();dt("wwa-cover").style.opacity="0",0!==this.getObjectIdByPosition(t)&&this._player.setPartsAppearedFlag();var e=dt("wwa-wrapper").getAttribute("data-wwa-resume-savedata");if("string"==typeof e&&(this._useSuspend=!0,e)){var s=Xe.getStartWWAData(e);this._restartData!==s&&(this._applyQuickLoad(s),this._wwaSave.resumeStart())}setTimeout((()=>{dt("wwa-wrapper").removeChild(dt("wwa-cover")),this._main()}),V.SPLASH_SCREEN_DISP_MILLS)}onselectitem(t){if(this._player.canUseItem(t)){dt("item"+(t-1)).classList.add("onpress"),this.playSound(R.DECISION);const i=this.resolveSystemMessage(a.CONFIRM_USE_ITEM);if("BLANK"===i){this._player.readyToUseItem(t);var e=this._player.useItem(),s=this.getObjectAttributeById(e,V.ATR_STRING);this.generatePageAndReserveExecution(this.getMessageById(s),!1,!1,e,v.OBJECT,this._player.getPosition().getPartsCoord())}else this.generatePageAndReserveExecution(i,!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_ITEM_USE,this._yesNoUseItemPos=t;return!0}return!1}onselectbutton(t,e=!1,s=!1){var a=dt(x[t]);if(this.playSound(R.DECISION),this._itemMenu.close(),a.classList.add("onpress"),t===I.QUICK_LOAD)switch(this._yesNoChoiceCallInfo=this._wwaSave.getFirstSaveChoiceCallInfo(e),this._yesNoChoiceCallInfo){case T.CALL_BY_QUICK_LOAD:case T.CALL_BY_LOG_QUICK_LOAD:var i,r="";switch(this._yesNoChoiceCallInfo){case T.CALL_BY_QUICK_LOAD:r="読み込むデータを選んでください。",this._wwaSave.selectDBSaveDataList();break;case T.CALL_BY_LOG_QUICK_LOAD:r="読み込むオートセーブを選んでください。",this._wwaSave.selectLogSaveDataList()}switch(i=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._messageWindow.createSaveDom(),i){case T.CALL_BY_LOG_QUICK_LOAD:this.generatePageAndReserveExecution(r+"\n→Noでオートセーブ復帰画面に移ります。",!0,!0);break;case T.CALL_BY_PASSWORD_LOAD:this.generatePageAndReserveExecution(r+"\n→Noでデータ復帰用パスワードの\n 入力選択ができます。",!0,!0);break;case T.NONE:this.generatePageAndReserveExecution(r,!0,!0)}break;case T.CALL_BY_PASSWORD_LOAD:this.onpasswordloadcalled()}else if(t===I.QUICK_SAVE)this._wwaData.disableSaveFlag?this.generatePageAndReserveExecution("ここではセーブ機能は\n使用できません。",!1,!0):(this._wwaSave.selectDBSaveDataList(),this._messageWindow.createSaveDom(),this._usePassword?(this.generatePageAndReserveExecution("データの一時保存先を選んでください。\n→Noでデータ復帰用パスワードの\n 表示選択ができます。",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_QUICK_SAVE):(this.generatePageAndReserveExecution("データの一時保存先を選んでください。",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_QUICK_SAVE));else if(t===I.RESTART_GAME)this.generatePageAndReserveExecution("初めからスタートしなおしますか?",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_RESTART_GAME;else if(t===I.GOTO_WWA)if(s)this._bottomButtonType!==d.GOTO_WWA&&dt(x[I.GOTO_WWA]).classList.remove("onpress"),this.generatePageAndReserveExecution("WWAの公式サイトを開きますか?",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_GOTO_WWA;else switch(this._bottomButtonType){case d.GOTO_WWA:this._yesNoChoiceCallInfo=T.CALL_BY_GOTO_WWA,this.generatePageAndReserveExecution("WWAの公式サイトを開きますか?",!0,!0);break;case d.GAME_END:this._yesNoChoiceCallInfo=T.CALL_BY_END_GAME,this.generatePageAndReserveExecution("WWAゲームを終了しますか?",!0,!0);break;case d.BATTLE_REPORT:this.launchBattleEstimateWindow()}}onpasswordloadcalled(){this._usePassword?(dt(x[I.QUICK_LOAD]).classList.add("onpress"),this.generatePageAndReserveExecution("データ復帰用のパスワードを入力しますか?",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_PASSWORD_LOAD):this.generatePageAndReserveExecution("セーブデータがありません。",!1,!0)}onpasswordsavecalled(){dt(x[I.QUICK_SAVE]).classList.add("onpress"),this._wwaData.disableSaveFlag?this.generatePageAndReserveExecution("ここではセーブ機能は\n使用できません。",!1,!0):this._useSuspend?(this.generatePageAndReserveExecution("ゲームを中断しますか?",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_SUSPEND):this._usePassword&&(this.generatePageAndReserveExecution("データ復帰用のパスワードを表示しますか?",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_PASSWORD_SAVE)}onpasssuspendsavecalled(){dt(x[I.QUICK_SAVE]).classList.add("onpress"),this._wwaData.disableSaveFlag?this.generatePageAndReserveExecution("ここではセーブ機能は\n使用できません。",!1,!0):(this.generatePageAndReserveExecution("ゲームを中断しますか?",!0,!0),this._yesNoChoiceCallInfo=T.CALL_BY_SUSPEND)}onitemmenucalled(){this.generatePageAndReserveExecution("右のメニューを選択してください。",!1,!0),this._messageWindow.setItemMenuChoice(!0),this.playSound(R.DECISION),this._itemMenu.openView()}onchangespeed(t){if(!this._wwaData.permitChangeGameSpeed){const t=this.resolveSystemMessage(a.GAME_SPEED_CHANGE_DISABLED);return void("BLANK"!==t&&this.generatePageAndReserveExecution(t,!1,!0))}switch(t){case C.UP:this._player.speedUp();break;case C.DOWN:this._player.speedDown()}const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CHANGE_SPEED;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e);const s=this.resolveSystemMessage(a.GAME_SPEED_CHANGED);"BLANK"!==s&&this.generatePageAndReserveExecution(s,!1,!0)}isBattleSpeedIndexForQuickBattle(t){return V.QUICK_BATTLE_SPEED_INDECIES.some((e=>e===t))}_executeNode(t,e){var s;if(t instanceof Te)return null===(s=t.macro)||void 0===s||s.forEach((t=>{const{isGameOver:e}=t.execute();if(e)throw new Error("ゲームオーバーのため、メッセージ・マクロの実行を打ち切ります。")})),[t,...this._executeNode(t.next,e)];if(t instanceof ye){if(!e)throw new Error("パーツ起因ページによる実行ではないため、Junctionノードの利用を想定していません。");const s=t.evaluateAndGetNextNode((()=>this.generateTokenValues(e)));return s?this._executeNode(s,e):[]}return[]}_executeNodes(t,e){try{return{isError:!1,messages:this._executeNode(t,e)}}catch(t){return{isError:!0}}}_main(){var t;this._temporaryInputDisable=!1,this._stopUpdateByLoadFlag=!1,this._keyStore.update(),this._mouseStore.update(),this._virtualPadStore.update(),this._gamePadStore.update();const e=this._reservedPartsAppearances.length>0;if(this._reservedPartsAppearances.forEach((t=>this.appearParts(t))),this._reservedPartsAppearances=[],this._waitFrame-- >0)return e&&this._drawAll(),void window.requestAnimationFrame(this.mainCaller);if(this._waitFrame=0,void 0!==this._yesNoJudgeInNextFrame&&(this._yesNoJudge=this._yesNoJudgeInNextFrame,this._yesNoJudgeInNextFrame=void 0),this._clearFacesInNextFrame&&(this.clearFaces(),this._clearFacesInNextFrame=!1),this._pages.length>0&&this._shouldSetNextPage)for(this._shouldSetNextPage=!1;this._pages.length>0;){const t=this._pages.shift(),e=this._executeNodes(t.firstNode,t.extraInfo?{position:t.extraInfo.partsPosition,type:t.extraInfo.partsType,id:t.extraInfo.partsId}:void 0);if(!0===e.isError){this._isLastPage=!1;break}void 0!==this._reservedMoveMacroTurn&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0);const s=e.messages.filter((t=>!t.isEmpty())),a=Boolean(t.scoreOptions);a&&0===s.length&&s.push(new Te("スコアを表示します。"));if(s.length>0){const e=s.map((t=>t.generatePrintableMessage())).join("\n");this._messageWindow.setMessage(e),this._messageWindow.setYesNoChoice(t.showChoice),this._messageWindow.setPositionByPlayerPosition(0!==this._faces.length,a,t.isSystemMessage,this._player.getPosition(),this._camera.getPosition()),a&&(this._lastScoreOptions=t.scoreOptions,this.updateScore(t.scoreOptions),this._scoreWindow.show()),this._player.setMessageWaiting(),this._isLastPage=t.isLastPage;break}if(0===this._pages.length){const{newPageGenerated:t}=this._hideMessageWindow();t||this._dispatchWindowClosedTimeRequests();break}}if(this._reservedJumpDestination&&(this._player.jumpTo(this._reservedJumpDestination),this._reservedJumpDestination=void 0),this._player.mainFrameCount(),this._player.isControllable()){if(this._wwaData.disableSaveFlag||this._wwaSave.isAutoSaveFrame(this._player)&&this._quickSave(T.CALL_BY_LOG_QUICK_SAVE),this._player.isDelayFrame())this._player.updateDelayFrame();else{const t=this._player.getDir(),e=[NaN,NaN,q.KEY_DOWN,NaN,q.KEY_LEFT,NaN,q.KEY_RIGHT,NaN,q.KEY_UP,NaN][t];this._actionGamePadButtonItemMacro()||(this._keyStore.getKeyStateForControllPlayer(q.KEY_LEFT)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(q.KEY_UP)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(q.KEY_RIGHT)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(q.KEY_DOWN)===Z.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.LEFT)===z.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.UP)===z.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.RIGHT)===z.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(p.DOWN)===z.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(e)?this._checkTurnKeyPressed()?this._player.setDir(t):(this._player.controll(t),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_LEFT)?this._checkTurnKeyPressed()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_UP)?this._checkTurnKeyPressed()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_RIGHT)?this._checkTurnKeyPressed()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(q.KEY_DOWN)?this._checkTurnKeyPressed()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.LEFT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.UP)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.RIGHT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(p.DOWN)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)?this._gamePadStore.buttonPressed(tt.BUTTON_INDEX_B)?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_LEFT")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.LEFT):(this._player.controll(p.LEFT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_UP")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.UP):(this._player.controll(p.UP),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_RIGHT")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.RIGHT):(this._player.controll(p.RIGHT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_DOWN")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(p.DOWN):(this._player.controll(p.DOWN),this._objectMovingDataManager.update()):this._keyStore.getKeyState(q.KEY_1)===Z.KEYDOWN?this.onselectitem(1):this._keyStore.getKeyState(q.KEY_2)===Z.KEYDOWN?this.onselectitem(2):this._keyStore.getKeyState(q.KEY_3)===Z.KEYDOWN?this.onselectitem(3):this._keyStore.getKeyState(q.KEY_Q)===Z.KEYDOWN?this.onselectitem(4):this._keyStore.getKeyState(q.KEY_W)===Z.KEYDOWN?this.onselectitem(5):this._keyStore.getKeyState(q.KEY_E)===Z.KEYDOWN?this.onselectitem(6):this._keyStore.getKeyState(q.KEY_A)===Z.KEYDOWN?this.onselectitem(7):this._keyStore.getKeyState(q.KEY_S)===Z.KEYDOWN?this.onselectitem(8):this._keyStore.getKeyState(q.KEY_D)===Z.KEYDOWN?this.onselectitem(9):this._keyStore.getKeyState(q.KEY_Z)===Z.KEYDOWN?this.onselectitem(10):this._keyStore.getKeyState(q.KEY_X)===Z.KEYDOWN?this.onselectitem(11):this._keyStore.getKeyState(q.KEY_C)===Z.KEYDOWN?this.onselectitem(12):this._keyStore.getKeyState(q.KEY_I)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_MINUS)||this._virtualPadStore.checkTouchButton("BUTTON_SLOW")?this.onchangespeed(C.DOWN):this._keyStore.getKeyState(q.KEY_P)===Z.KEYDOWN||this._keyStore.checkHitKey(q.KEY_F2)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_PLUS)||this._virtualPadStore.checkTouchButton("BUTTON_FAST")?this.onchangespeed(C.UP):this._keyStore.getKeyState(q.KEY_F1)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_M)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this.launchBattleEstimateWindow():this._keyStore.checkHitKey(q.KEY_F3)?(this.playSound(R.DECISION),this.onselectbutton(I.QUICK_LOAD,!0)):this._keyStore.checkHitKey(q.KEY_F4)?(this.playSound(R.DECISION),this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled()):this._keyStore.checkHitKey(q.KEY_F5)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_ZR)?this.onselectbutton(I.QUICK_LOAD):this._keyStore.checkHitKey(q.KEY_F6)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_ZL)?this.onselectbutton(I.QUICK_SAVE):this._keyStore.checkHitKey(q.KEY_F7)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_R)?this.onselectbutton(I.RESTART_GAME):this._keyStore.checkHitKey(q.KEY_F8)?this.onselectbutton(I.GOTO_WWA,!1,!0):this._keyStore.checkHitKey(q.KEY_F9)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_X)||this._virtualPadStore.checkTouchButton("BUTTON_ESC")?(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onitemmenucalled():this._keyStore.checkHitKey(q.KEY_V)?this._displayUserVars():this._keyStore.checkHitKey(q.KEY_X)?this._debugConsoleElement&&this._debugEvalString():(this._keyStore.checkHitKey(q.KEY_F12)||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_Y))&&this._displayHelp());[{key:q.KEY_A,func:"CALL_PUSH_A"},{key:q.KEY_B,func:"CALL_PUSH_B"},{key:q.KEY_C,func:"CALL_PUSH_C"},{key:q.KEY_D,func:"CALL_PUSH_D"},{key:q.KEY_E,func:"CALL_PUSH_E"},{key:q.KEY_F,func:"CALL_PUSH_F"},{key:q.KEY_G,func:"CALL_PUSH_G"},{key:q.KEY_H,func:"CALL_PUSH_H"},{key:q.KEY_I,func:"CALL_PUSH_I"},{key:q.KEY_J,func:"CALL_PUSH_J"},{key:q.KEY_K,func:"CALL_PUSH_K"},{key:q.KEY_L,func:"CALL_PUSH_L"},{key:q.KEY_M,func:"CALL_PUSH_M"},{key:q.KEY_N,func:"CALL_PUSH_N"},{key:q.KEY_O,func:"CALL_PUSH_O"},{key:q.KEY_P,func:"CALL_PUSH_P"},{key:q.KEY_Q,func:"CALL_PUSH_Q"},{key:q.KEY_R,func:"CALL_PUSH_R"},{key:q.KEY_S,func:"CALL_PUSH_S"},{key:q.KEY_T,func:"CALL_PUSH_T"},{key:q.KEY_U,func:"CALL_PUSH_U"},{key:q.KEY_V,func:"CALL_PUSH_V"},{key:q.KEY_W,func:"CALL_PUSH_W"},{key:q.KEY_X,func:"CALL_PUSH_X"},{key:q.KEY_Y,func:"CALL_PUSH_Y"},{key:q.KEY_Z,func:"CALL_PUSH_Z"},{key:q.KEY_ENTER,func:"CALL_PUSH_ENTER"},{key:q.KEY_ESC,func:"CALL_PUSH_ESC"},{key:q.KEY_SPACE,func:"CALL_PUSH_SPACE"},{key:q.KEY_LEFT,func:"CALL_PUSH_LEFT"},{key:q.KEY_RIGHT,func:"CALL_PUSH_RIGHT"},{key:q.KEY_UP,func:"CALL_PUSH_UP"},{key:q.KEY_DOWN,func:"CALL_PUSH_DOWN"}].forEach((t=>{if(this._keyStore.checkHitKey(t.key)){const e=this.userDefinedFunctions&&this.userDefinedFunctions[t.func];e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}}))}this._keyStore.memorizeKeyStateOnControllableFrame(),this._mouseStore.memorizeMouseStateOnControllableFrame()}else if(this._player.isJumped())this._camera.isResetting()||this._player.processAfterJump();else if(this._player.isMoving())this._player.move(),this._objectMovingDataManager.update(),this._player.getPosition().isJustPosition()&&this._dispatchPlayerAndObjectsStopTimeRequests();else if(this._player.isWaitingMessage()){if(this._messageWindow.isVisible()||this._messageWindow.show(),this._messageWindow.isYesNoChoice())this._messageWindow.isSaveChoice()&&(this._messageWindow.saveUpdate(),this._messageWindow.isSaveClose()||(this._keyStore.checkHitKey(q.KEY_LEFT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchButton("BUTTON_LEFT")?this._messageWindow.saveControll(p.LEFT):this._keyStore.checkHitKey(q.KEY_UP)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchButton("BUTTON_UP")?this._messageWindow.saveControll(p.UP):this._keyStore.checkHitKey(q.KEY_RIGHT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchButton("BUTTON_RIGHT")?this._messageWindow.saveControll(p.RIGHT):(this._keyStore.checkHitKey(q.KEY_DOWN)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchButton("BUTTON_DOWN"))&&this._messageWindow.saveControll(p.DOWN))),this._messageWindow.isInputDisable()||(this._yesNoJudge===g.UNSELECTED&&(this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_Y)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this._yesNoJudge=g.YES:(this._keyStore.getKeyState(q.KEY_N)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_ESC)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&(this._yesNoJudge=g.NO)),(this._yesNoJudge===g.YES||this._yesNoJudge===g.NO)&&(this.playSound(R.DECISION),this._yesNoDispCounter=V.YESNO_PRESS_DISP_FRAME_NUM,this._messageWindow.setInputDisable(),this._messageWindow.update()));else if(this._messageWindow.isItemMenuChoice()){if(this._itemMenu.update(),this._keyStore.checkHitKey(q.KEY_LEFT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchingButton("BUTTON_LEFT")?this._itemMenu.controll(p.LEFT):this._keyStore.checkHitKey(q.KEY_UP)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchingButton("BUTTON_UP")?this._itemMenu.controll(p.UP):this._keyStore.checkHitKey(q.KEY_RIGHT)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchingButton("BUTTON_RIGHT")?this._itemMenu.controll(p.RIGHT):(this._keyStore.checkHitKey(q.KEY_DOWN)||this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchingButton("BUTTON_DOWN"))&&this._itemMenu.controll(p.DOWN),this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_Y)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER"))this._setNextPage(),this._messageWindow.setItemMenuChoice(!1),this._itemMenu.ok();else if(this._mouseStore.checkClickMouse(p.LEFT)||this._mouseStore.checkClickMouse(p.UP)||this._mouseStore.checkClickMouse(p.RIGHT)||this._mouseStore.checkClickMouse(p.DOWN)||this._keyStore.getKeyState(q.KEY_N)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_ESC)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC")){for(var s=0;s<x.length;s++){(n=dt(x[s])).classList.contains("onpress")&&n.classList.remove("onpress")}this._itemMenu.ng(),this._setNextPage(),this.playSound(R.DECISION),this._messageWindow.setItemMenuChoice(!1)}}else{var a=this._keyStore.getKeyStateForMessageCheck(q.KEY_ENTER),i=this._keyStore.getKeyStateForMessageCheck(q.KEY_SPACE),r=this._keyStore.getKeyStateForMessageCheck(q.KEY_ESC);if(a===Z.KEYDOWN||a===Z.KEYPRESS_MESSAGECHANGE||i===Z.KEYDOWN||i===Z.KEYPRESS_MESSAGECHANGE||r===Z.KEYDOWN||r===Z.KEYPRESS_MESSAGECHANGE||this._mouseStore.getMouseState()===z.MOUSEDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")||this._virtualPadStore.checkTouchButton("BUTTON_ESC")){for(s=0;s<x.length;s++){var n;(n=dt(x[s])).classList.contains("onpress")&&n.classList.remove("onpress")}this._setNextPage()}}if(null===(t=this._inlineUserVarViewer)||void 0===t?void 0:t.isVisible){const t=this._inlineUserVarViewer.kind;let e=!1;const s="named"===t?this._userVar.named.size:V.USER_VAR_NUM;this._keyStore.getKeyState(q.KEY_DOWN)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]++,e=!0),this._keyStore.getKeyState(q.KEY_UP)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]--,e=!0),this._keyStore.getKeyState(q.KEY_RIGHT)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]+=V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,e=!0),this._keyStore.getKeyState(q.KEY_LEFT)===Z.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[t]-=V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,e=!0),this._keyStore.getKeyState(q.KEY_V)===Z.KEYDOWN&&("named"===this._inlineUserVarViewer.kind?this._inlineUserVarViewer.kind="numbered":"numbered"===this._inlineUserVarViewer.kind&&(this._inlineUserVarViewer.kind="named"),e=!0),this._inlineUserVarViewer.topUserVarIndex[t]<0&&(this._inlineUserVarViewer.topUserVarIndex[t]+=s),this._inlineUserVarViewer.topUserVarIndex[t]>s&&(this._inlineUserVarViewer.topUserVarIndex[t]-=s),e&&(this._setNextPage(),this._inlineUserVarViewer.isVisible=!0,this._displayUserVars())}}else this._player.isWaitingEstimateWindow()?(this._keyStore.getKeyState(q.KEY_ENTER)===Z.KEYDOWN||this._keyStore.getKeyState(q.KEY_SPACE)===Z.KEYDOWN||this._gamePadStore.buttonTrigger(tt.BUTTON_INDEX_A,tt.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&this.hideBattleEstimateWindow():this._player.isFighting()?(this._player.fight(),this._monsterWindow.update(this._monster)):this._player.isWaitingMoveMacro()&&(this._player.isMoveObjectAutoExecTime()&&(this.moveObjects(!1),this._player.resetMoveObjectAutoExecTimer()),this._objectMovingDataManager.update());if(this._prevFrameEventExected=!1,this._player.getPosition().isJustPosition()&&this._camera.getPosition().isScreenTopPosition()){if(!(this._shouldTreatWillMessageDisplay(this._pages)||this._player.isJumped()||this._player.isWaitingMessage()||this._player.isWaitingEstimateWindow()||this._player.isWaitingMoveMacro()||this._player.isFighting())){this._player.isPartsAppearedTime()&&this._player.clearPartsAppearedFlag(),this._replaceRandomObjectsInScreen();var o=this.checkMap();o||this.checkObject(),this._prevFrameEventExected=o}this._player.isWaitingMessage()&&this._messageWindow.isYesNoChoice()&&this._yesNoJudge!==g.UNSELECTED&&!this._player.isWaitingMoveMacro()&&!this._player.isFighting()&&this._execChoiceWindowRunningEvent()}this._passwordLoadExecInNextFrame&&(this._stopUpdateByLoadFlag=!0,this._loadType=D.PASSWORD,this._player.clearPasswordWindowWaiting(),this._passwordLoadExecInNextFrame=!1),this._drawAll(),this._mainCallCounter++,this._mainCallCounter%=1e9,this._player.isWaitingMessage()&&this._isClassicModeEnable||(this._animationCounter=(this._animationCounter+1)%(2*V.ANIMATION_REP_HALF_FRAME)),this._camera.isResetting()&&this._camera.advanceTransitionStepNum(),this._player.isWaitingMessage()||(this._player.decrementLookingAroundTimer(),this._statusPressCounter.energy>0&&0==--this._statusPressCounter.energy&&dt("disp-energy").classList.remove("onpress"),this._statusPressCounter.strength>0&&0==--this._statusPressCounter.strength&&dt("disp-strength").classList.remove("onpress"),this._statusPressCounter.defence>0&&0==--this._statusPressCounter.defence&&dt("disp-defence").classList.remove("onpress"),this._statusPressCounter.gold>0&&0==--this._statusPressCounter.gold&&dt("disp-gold").classList.remove("onpress")),this._player.isWaitingMoveMacro()&&(this._player.decrementMoveObjectAutoExecTimer(),this._player.isWaitingMoveMacro()||this._dispatchPlayerAndObjectsStopTimeRequests()),this._stopUpdateByLoadFlag?this._fadeout((()=>{if(this._loadType===D.QUICK_LOAD){this._quickLoad(),this.wwaCustomEvent("wwa_quickload");const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_QUICKLOAD;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}else if(this._loadType===D.RESTART_GAME){this.restartGame(),this.wwaCustomEvent("wwa_restert");const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_RESTART;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}else if(this._loadType===D.PASSWORD){this._applyQuickLoad(this._passwordSaveExtractData),this._passwordSaveExtractData=void 0,this.wwaCustomEvent("wwa_passwordload");const t=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_PASSWORDLOAD;t&&this.evalCalcWwaNodeGenerator.evalWwaNode(t)}setTimeout(this.mainCaller,V.DEFAULT_FRAME_INTERVAL,this)})):window.requestAnimationFrame(this.mainCaller),function({dumpElement:t,namedUserVar:e,userVar:s}){e&&Ci(t,e),s&&Si(t,s)}({dumpElement:this._dumpElement,userVar:this._userVar.numbered,namedUserVar:this._userVar.named});const h=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_FRAME;h&&this.evalCalcWwaNodeGenerator.evalWwaNode(h)}vibration(t){this._gamePadStore.vibration(t)}_drawAll(){var t,e,s=this._camera.getPosition().getPartsCoord(),a=this._camera.getPosition().getOffsetCoord(),i=V.MAP_WINDOW_HEIGHT,r=this._player.getPosition().getPartsCoord();if(this._paintSkipByDoorOpen)this._paintSkipByDoorOpen=!1;else{if(this._cgManager.clearCanvas(0,0,V.MAP_WINDOW_WIDTH,V.MAP_WINDOW_HEIGHT),this._cgManager.drawBase(0,0,V.MAP_WINDOW_WIDTH,V.MAP_WINDOW_HEIGHT),this._camera.isResetting()){if(null!==this._camera.getPreviousPosition())var n=this._camera.getPreviousPosition().getPartsCoord(),o=this._camera.getPreviousPosition().getOffsetCoord();i=this._camera.getTransitionStepNum()*V.CHIP_SIZE}var h=!1;if(i!==this._cgManager.mapCacheYLimit&&(this._cgManager.mapCacheYLimit=i,h=!0),s.x===this._cgManager.cpPartsLog.x&&s.y===this._cgManager.cpPartsLog.y||(this._cgManager.cpPartsLog.x=s.x,this._cgManager.cpPartsLog.y=s.y,h=!0),h&&(this._cgManager.clearBackCanvas(),this._cgManager.clearObjectCanvases()),this._camera.isResetting()&&(this._drawMap(n,o,i,!0),this._drawPlayer(n,o,i,!0),this._drawObjects(n,o,i,!0),this._camera.isFinalStep()))var c=255,_=setInterval((()=>{var t=dt("wwa-fader");if((c-=3*V.FADEOUT_SPEED)<=0)return clearInterval(_),t.style.backgroundColor="transparent",t.removeAttribute("style"),void(t.style.display="none");t.style.opacity=c/255+""}),20);this._drawMap(s,a,i,!1,h),this._drawPlayer(s,a,i),this._drawObjects(s,a,i,!1,h),this._player.isFighting()&&!this._player.isBattleStartFrame()&&(t=this._player.isTurn()?this._monster.position.x:r.x,e=this._player.isTurn()?this._monster.position.y:r.y,this._cgManager.drawCanvas(this._battleEffectCoord.x,this._battleEffectCoord.y,V.CHIP_SIZE*(t-s.x)-a.x,V.CHIP_SIZE*(e-s.y)-a.y)),this._drawEffect(),this._drawFaces(),this._drawFrame()}}_drawMap(t,e,s,a=!1,i=!1){if(void 0!==t){var r,n=Math.max(0,t.x-1),o=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW),h=Math.max(0,t.y-1),c=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW);if(r=0,a)for(var _=n;_<=o;_++)for(var l=h;l<=c;l++){var u=this._wwaData.map[l][_],d=this._wwaData.mapAttribute[u][V.ATR_X]/V.CHIP_SIZE,p=this._wwaData.mapAttribute[u][V.ATR_Y]/V.CHIP_SIZE,E=V.CHIP_SIZE*(_-t.x)-e.x,m=V.CHIP_SIZE*(l-t.y)-e.y;this._cgManager.copyBackCanvasWithLowerYLimit(d,p,E,m,s)}else{for(_=n;_<=o;_++)for(l=h;l<=c;l++){u=this._wwaData.map[l][_];this._cgManager.mapCache[r]!==u&&(this._cgManager.mapCache[r]=u,i=!0),r++}if(i){this._cgManager.clearBackCanvasWithLowerYLimit(s);for(_=n;_<=o;_++)for(l=h;l<=c;l++){u=this._wwaData.map[l][_],d=this._wwaData.mapAttribute[u][V.ATR_X]/V.CHIP_SIZE,p=this._wwaData.mapAttribute[u][V.ATR_Y]/V.CHIP_SIZE,E=V.CHIP_SIZE*(_-t.x)-e.x,m=V.CHIP_SIZE*(l-t.y)-e.y;this._cgManager.copyBackCanvasWithUpperYLimit(d,p,E,m,s)}}this._cgManager.drawBackCanvas()}}}_drawPlayer(t,e,s,a=!1){if(void 0===t||this._wwaData.delPlayerFlag)return;const i=this._player.getPosition().getPartsCoord(),r=this._player.getPosition().getOffsetCoord(),n=[NaN,NaN,2,NaN,4,NaN,6,NaN,0,NaN][this._player.getDir()],o=(i.x-t.x)*V.CHIP_SIZE+r.x-e.x,h=(i.y-t.y)*V.CHIP_SIZE+r.y-e.y;let c;if(this._useLookingAround&&this._player.isLookingAround()&&!this._player.isWaitingMessage()){const t=[2,3,4,5,0,1,6,7];c=this._wwaData.playerImgPosX+t[Math.floor(this._mainCallCounter%64/8)]}else c=this._player.isMovingImage()?this._wwaData.playerImgPosX+n+1:this._wwaData.playerImgPosX+n;a?this._cgManager.drawCanvasWithLowerYLimit(c,this._wwaData.playerImgPosY,o,h,s):this._cgManager.drawCanvasWithUpperYLimit(c,this._wwaData.playerImgPosY,o,h,s)}_drawObjects(t,e,s,a=!1,i=!1){if(void 0!==t){var r,n,o,h,_,l,d,p,E,m,g,w,f,v,S=Math.max(0,t.x-1),A=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW),y=Math.max(0,t.y-1),T=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW),I=0,C=this._animationCounter>V.ANIMATION_REP_HALF_FRAME,D=this._player.isFighting()&&this._player.isTurn()&&this._player.getPosition().getPartsCoord().equals(this._monster.position);if(a)for(m=S;m<=A;m++)for(g=y;g<=T;g++)D&&new c(m,g).equals(this._monster.position)||(w=this._wwaData.mapObject[g][m],r=new c(0,0),this._wwaData.objectAttribute[w][V.ATR_MOVE]!==O.STATIC&&null!==(E=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new c(m,g)))&&(r=E),_=V.CHIP_SIZE*(m-t.x)+r.x-e.x,l=V.CHIP_SIZE*(g-t.y)+r.y-e.y,n=C||0===this._wwaData.objectAttribute[w][V.ATR_X2]&&0===this._wwaData.objectAttribute[w][V.ATR_Y2],o=this._wwaData.objectAttribute[w][n?V.ATR_X:V.ATR_X2]/V.CHIP_SIZE,h=this._wwaData.objectAttribute[w][n?V.ATR_Y:V.ATR_Y2]/V.CHIP_SIZE,d=this._wwaData.objectAttribute[w][V.ATR_TYPE],p=this._wwaData.objectAttribute[w][V.ATR_NUMBER],0===w||this._checkNoDrawObject(new c(m,g),d,p)||this._cgManager.copyObjectCanvasWithLowerYLimit(C?1:0,o,h,_,l,s));else{var N,P,M,x,b,L=[],R=[];for(m=S;m<=A;m++)for(g=y;g<=T;g++)f=w=this._wwaData.mapObject[g][m],d=this._wwaData.objectAttribute[w][V.ATR_TYPE],p=this._wwaData.objectAttribute[w][V.ATR_NUMBER],this._checkNoDrawObject(new c(m,g),d,p)&&(f=0),P=this._wwaData.objectAttribute[w][V.ATR_MOVE]===O.STATIC,0!==f&&(M=!(!D||!new c(m,g).equals(this._monster.position)),P?R.push(new u(w,m,g,P,M)):(L.push(new u(w,m,g,P,M)),f=0),M&&(f=0)),this._cgManager.mapObjectCache[I]!==f&&(this._cgManager.mapObjectCache[I]=f,i=!0),I++;for(i&&(this._cgManager.clearObjectCanvasesWithLowerYLimit(s),Array.prototype.push.apply(L,R)),b=L.length,x=0;x<b;x++)if(m=(N=L[x]).x,g=N.y,w=N.partsIDObj,P=N.isStatic,M=N.isFighting,_=V.CHIP_SIZE*(m-t.x)-e.x,l=V.CHIP_SIZE*(g-t.y)-e.y,P){if(M)continue;for(v=0;v<2;v++)n=!!v||0===this._wwaData.objectAttribute[w][V.ATR_X2]&&0===this._wwaData.objectAttribute[w][V.ATR_Y2],o=this._wwaData.objectAttribute[w][n?V.ATR_X:V.ATR_X2]/V.CHIP_SIZE,h=this._wwaData.objectAttribute[w][n?V.ATR_Y:V.ATR_Y2]/V.CHIP_SIZE,this._cgManager.copyObjectCanvasWithUpperYLimit(v,o,h,_,l,s)}else null!==(E=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new c(m,g)))&&(_+=E.x,l+=E.y),n=C||0===this._wwaData.objectAttribute[w][V.ATR_X2]&&0===this._wwaData.objectAttribute[w][V.ATR_Y2],o=this._wwaData.objectAttribute[w][n?V.ATR_X:V.ATR_X2]/V.CHIP_SIZE,h=this._wwaData.objectAttribute[w][n?V.ATR_Y:V.ATR_Y2]/V.CHIP_SIZE,this._cgManager.drawCanvasWithUpperYLimit(o,h,_,l,s);this._cgManager.drawObjectCanvas(C?1:0)}}}_drawEffect(){if(0!==this._wwaData.effectCoords.length&&0!==this._wwaData.effectWaits){var t=Math.floor(this._mainCallCounter%(this._wwaData.effectCoords.length*this._wwaData.effectWaits)/this._wwaData.effectWaits);this._cgManager.drawEffect(t)}}_drawFaces(){for(var t=0;t<this._faces.length;t++)this._cgManager.drawCanvasWithSize(this._faces[t].srcPos.x,this._faces[t].srcPos.y,this._faces[t].srcSize.x,this._faces[t].srcSize.y,this._faces[t].destPos.x,this._faces[t].destPos.y)}_drawFrame(){this._cgManager.drawFrame()}_checkNoDrawObject(t,e,s){var a=this._player.getPosition(),i=a.getPartsCoord();return!(!a.isJustPosition()||i.x!==t.x||i.y!==t.y||this._wwaData.objectNoCollapseDefaultFlag)&&(e===V.OBJECT_DOOR&&0===s||(e===V.OBJECT_STATUS||e===V.OBJECT_MESSAGE||e===V.OBJECT_ITEM||e===V.OBJECT_SELL||e===V.OBJECT_BUY||e===V.OBJECT_SELL||e===V.OBJECT_LOCALGATE))}getMapWidth(){if(void 0===this._wwaData)throw new Error("マップデータがロードされていません");return this._wwaData.mapWidth}getMapIdByPosition(t){var e=t.getPartsCoord();return this._wwaData.map[e.y][e.x]}getObjectIdByPosition(t){var e=t.getPartsCoord();return this._wwaData.mapObject[e.y][e.x]}getMapTypeByPosition(t){var e=t.getPartsCoord(),s=this._wwaData.map[e.y][e.x];return this._wwaData.mapAttribute[s][V.ATR_TYPE]}getObjectTypeByPosition(t){var e=t.getPartsCoord(),s=this._wwaData.mapObject[e.y][e.x];return this._wwaData.objectAttribute[s][V.ATR_TYPE]}getMapAttributeByPosition(t,e){var s=t.getPartsCoord(),a=this._wwaData.map[s.y][s.x];return this._wwaData.mapAttribute[a][e]}isCurrentPosMapPartsIncludingMessage(t){return 0!==this.getMapAttributeByPosition(t,V.ATR_STRING)}getObjectAttributeByPosition(t,e){var s=t.getPartsCoord(),a=this._wwaData.mapObject[s.y][s.x];return this._wwaData.objectAttribute[a][e]}getMapAttributeById(t,e){return this._wwaData.mapAttribute[t][e]}getObjectAttributeById(t,e){return this._wwaData.objectAttribute[t][e]}getObjectCropXById(t){return this._wwaData.objectAttribute[t][V.ATR_X]}getObjectCropYById(t){return this._wwaData.objectAttribute[t][V.ATR_Y]}getMessageById(t){return this._wwaData.message[t]}getSystemMessageById(t){return this._wwaData.systemMessage[t]}checkMap(t){var e=this._player.getPosition().getPartsCoord();t=null!=t?t:e;var s=this._wwaData.map[t.y][t.x],a=this._wwaData.mapAttribute[s][V.ATR_TYPE],i=t.x===e.x&&t.y===e.y,r=!1;return(!i||this._player.getLastExecPartsIDOnSamePosition(v.MAP)!==s)&&(a===V.MAP_STREET?r=this._execMapStreetEvent(t,s,a):a===V.MAP_WALL?r=this._execMapWallEvent(t,s,a):a===V.MAP_LOCALGATE?r=this._execMapLocalGateEvent(t,s,a):a===V.MAP_URLGATE&&(r=this._execMapUrlGateEvent(t,s,a)),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(v.MAP,s),r)}checkObject(t){var e=this._player.getPosition().getPartsCoord();t=null!=t?t:e;var s=this._wwaData.mapObject[t.y][t.x],a=this._wwaData.objectAttribute[s][V.ATR_TYPE],i=t.x===e.x&&t.y===e.y;i&&this._player.getLastExecPartsIDOnSamePosition(v.OBJECT)===s||(a===V.OBJECT_NORMAL?this._execObjectNormalEvent(t,s,a):a===V.OBJECT_MESSAGE?this._execObjectMessageEvent(t,s,a):a===V.OBJECT_MONSTER?this._execObjectMonsterEvent(t,s,a):a===V.OBJECT_ITEM?this._execObjectItemEvent(t,s,a):a===V.OBJECT_DOOR?this._execObjectDoorEvent(t,s,a):a===V.OBJECT_STATUS?this._execObjectStatusEvent(t,s,a):a===V.OBJECT_BUY?this._execObjectBuyEvent(t,s,a):a===V.OBJECT_SELL?this._execObjectSellEvent(t,s,a):a===V.OBJECT_URLGATE?this._execObjectUrlGateEvent(t,s,a):a===V.OBJECT_SCORE?this._execObjectScoreEvent(t,s,a):a===V.OBJECT_SELECT?this._execObjectYesNoChoiceEvent(t,s,a):a===V.OBJECT_LOCALGATE&&this._execObjectLocalGateEvent(t,s,a),i&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(v.OBJECT,s))}_execMapStreetEvent(t,e,s){var a=this._wwaData.mapAttribute[e][V.ATR_ITEM];if(0!==a&&!this._player.hasItem(a))return!1;this.reserveAppearPartsInNextFrame(t,w.MAP,e);const i=this._wwaData.mapAttribute[e][V.ATR_STRING],r=this._wwaData.message[i],n=this._wwaData.mapAttribute[e][V.ATR_NUMBER];return this._waitFrame+=n*V.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.generatePageAndReserveExecution(r,!1,!1,e,v.MAP,t.clone()),this.playSound(this._wwaData.mapAttribute[e][V.ATR_SOUND]),0!==i&&this._shouldTreatWillMessageDisplay(this._pages)||0!==n}_shouldTreatWillMessageDisplay(t){return t.reduce(((t,e)=>t||!Ie(e.firstNode)),!1)}_execMapWallEvent(t,e,s){var a=this.getObjectIdByPosition(t.convertIntoPosition(this)),i=this.getObjectAttributeById(a,V.ATR_TYPE);if(0===a||i===V.OBJECT_NORMAL||i===V.OBJECT_DOOR&&(!this._player.hasItem(this.getObjectAttributeById(a,V.ATR_ITEM))||this.getObjectAttributeById(i,V.ATR_MODE)===V.PASSABLE_OBJECT)){this.reserveAppearPartsInNextFrame(t,w.MAP,e);var r=this._wwaData.mapAttribute[e][V.ATR_STRING],n=this._wwaData.message[r];return this.generatePageAndReserveExecution(n,!1,!1,e,v.MAP,t.clone()),this.playSound(this._wwaData.mapAttribute[e][V.ATR_SOUND]),!1}return!1}_execMapLocalGateEvent(t,e,s){var a=this._player.getPosition().getPartsCoord(),i=this._wwaData.mapAttribute[e][V.ATR_JUMP_X],r=this._wwaData.mapAttribute[e][V.ATR_JUMP_Y];return i>V.RELATIVE_COORD_LOWER&&(i=t.x+i-V.RELATIVE_COORD_BIAS),r>V.RELATIVE_COORD_LOWER&&(r=t.y+r-V.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(t,w.MAP,e),0<=i&&0<=r&&i<this._wwaData.mapWidth&&r<this._wwaData.mapWidth&&(i!==a.x||r!==a.y)&&(this.reserveJumpInNextFrame(new _(this,i,r,0,0)),this.playSound(this._wwaData.mapAttribute[e][V.ATR_SOUND]),!0)}_execMapUrlGateEvent(t,e,s){var i=this._wwaData.mapAttribute[e][V.ATR_STRING];if(!this._isURLGateEnable)return!0;const r=this.resolveSystemMessage(a.CONFIRM_ENTER_URL_GATE);if("BLANK"!==r)return this.generatePageAndReserveExecution(r,!0,!0),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_MAP_PARTS,this._yesNoURL=this._wwaData.message[i].split(/\s/g)[0],!0;location.href=ft(this._wwaData.message[i].split(/\s/g)[0])}_execObjectNormalEvent(t,e,s){}_execObjectMessageEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord(),n=this._wwaData.objectAttribute[e][V.ATR_SOUND];t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(v.OBJECT,0,t),this.generatePageAndReserveExecution(i,!1,!1,e,v.OBJECT,t),this._waitFrame+=this._wwaData.objectAttribute[e][V.ATR_NUMBER]*V.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),this.playSound(n)}_execObjectStatusEvent(t,e,s){var a=new h(this._wwaData.objectAttribute[e][V.ATR_ENERGY],this._wwaData.objectAttribute[e][V.ATR_STRENGTH],this._wwaData.objectAttribute[e][V.ATR_DEFENCE],this._wwaData.objectAttribute[e][V.ATR_GOLD]),i=this._wwaData.objectAttribute[e][V.ATR_STRING],r=this._wwaData.message[i],n=this._player.getStatusWithoutEquipments();if(a.strength>V.STATUS_MINUS_BORDER&&n.strength<a.strength-V.STATUS_MINUS_BORDER||a.defence>V.STATUS_MINUS_BORDER&&n.defence<a.defence-V.STATUS_MINUS_BORDER||a.gold>V.STATUS_MINUS_BORDER&&n.gold<a.gold-V.STATUS_MINUS_BORDER)return this.setPartsOnPosition(v.OBJECT,0,t),this._keyStore.allClear(),void this._mouseStore.clear();a.energy=a.energy>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.energy:a.energy,a.strength=a.strength>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.strength:a.strength,a.defence=a.defence>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.defence:a.defence,a.gold=a.gold>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-a.gold:a.gold,this._player.addStatusAll(a),this.setStatusChangedEffect(a),this._player.isDead()&&0!==this._wwaData.objectAttribute[e][V.ATR_ENERGY]&&this.shouldApplyGameOver({isCalledByMacro:!1})?this.gameover():(this.generatePageAndReserveExecution(r,!1,!1,e,v.OBJECT,t.clone()),this.setPartsOnPosition(v.OBJECT,0,t),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND]))}_execObjectMonsterEvent(t,e,s){this._monster=this._createMonster(e,t,(()=>{this._monster=void 0,this._monsterWindow.hide(),this._dispatchWindowClosedTimeRequests()})),this._player.startBattleWith(this._monster)}_execObjectBuyEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord();t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(v.OBJECT,0,t),this.generatePageAndReserveExecution(i,!0,!1,e,v.OBJECT,t.clone()),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectSellEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord();t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(v.OBJECT,0,t),this.generatePageAndReserveExecution(i,!0,!1,e,v.OBJECT,t.clone()),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectItemEvent(t,e,s){var i=this._wwaData.objectAttribute[e][V.ATR_STRING],r=this._wwaData.message[i];try{var n=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),o=(t.x-n.x)*V.CHIP_SIZE,h=(t.y-n.y)*V.CHIP_SIZE;this._player.addItem(e,this._wwaData.objectAttribute[e][V.ATR_NUMBER],!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new c(o,h),itemBoxBackgroundImageCoord:new c(this._wwaData.imgItemboxX*V.CHIP_SIZE,this._wwaData.imgItemboxY*V.CHIP_SIZE)}:void 0),this.setPartsOnPosition(v.OBJECT,0,t),0!==this._wwaData.objectAttribute[e][V.ATR_MODE]||(this.generatePageAndReserveExecution(r,!1,!1,e,v.OBJECT,t.clone()),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e))}catch(t){const e=this.resolveSystemMessage(a.ITEM_BOX_FULL);"BLANK"!==e&&this.generatePageAndReserveExecution(e,!1,!0)}this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectDoorEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_ITEM],i=this._wwaData.objectAttribute[e][V.ATR_STRING],r=this._wwaData.message[i];this._player.hasItem(a)&&(0===this._wwaData.objectAttribute[e][V.ATR_MODE]&&this._player.removeItemByPartsID(a),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND]),this.generatePageAndReserveExecution(r,!1,!1,e,v.OBJECT,t.clone()),this.setPartsOnPosition(v.OBJECT,0,t),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),this._paintSkipByDoorOpen=!0)}_execObjectYesNoChoiceEvent(t,e,s){var a=this._wwaData.objectAttribute[e][V.ATR_STRING],i=this._wwaData.message[a],r=this._player.getPosition().getPartsCoord();t.x!==r.x||t.y!==r.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(v.OBJECT,0,t),this.generatePageAndReserveExecution(i,!0,!1,e,v.OBJECT,t.clone()),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}_execObjectLocalGateEvent(t,e,s){var a=this._player.getPosition().getPartsCoord();t.x!==a.x||t.y!==a.y||this._wwaData.objectNoCollapseDefaultFlag||this.setPartsOnPosition(v.OBJECT,0,t);var i=this._wwaData.objectAttribute[e][V.ATR_JUMP_X],r=this._wwaData.objectAttribute[e][V.ATR_JUMP_Y];i>V.RELATIVE_COORD_LOWER&&(i=a.x+i-V.RELATIVE_COORD_BIAS),r>V.RELATIVE_COORD_LOWER&&(r=a.y+r-V.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(t,w.OBJECT,e),0<=i&&0<=r&&i<this._wwaData.mapWidth&&r<this._wwaData.mapWidth&&(i!==a.x||r!==a.y)&&(this.reserveJumpInNextFrame(new _(this,i,r,0,0)),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND]))}_execObjectUrlGateEvent(t,e,s){var i=this._wwaData.objectAttribute[e][V.ATR_STRING];if(!this._isURLGateEnable)return;const r=this.resolveSystemMessage(a.CONFIRM_ENTER_URL_GATE);"BLANK"!==r?(this.generatePageAndReserveExecution(r,!0,!0),this._yesNoChoicePartsCoord=t,this._yesNoChoicePartsID=e,this._yesNoChoiceCallInfo=T.CALL_BY_OBJECT_PARTS,this._yesNoURL=this._wwaData.message[i].split(/\s/g)[0]):location.href=ft(this._wwaData.message[i].split(/\s/g)[0])}_execObjectScoreEvent(t,e,s){const a=this._wwaData.objectAttribute[e][V.ATR_STRING];this.generatePageAndReserveExecution(this._wwaData.message[a],!1,!1,e,v.OBJECT,t,{rates:{energy:this._wwaData.objectAttribute[e][V.ATR_ENERGY],strength:this._wwaData.objectAttribute[e][V.ATR_STRENGTH],defence:this._wwaData.objectAttribute[e][V.ATR_DEFENCE],gold:this._wwaData.objectAttribute[e][V.ATR_GOLD]}}),this.playSound(this._wwaData.objectAttribute[e][V.ATR_SOUND])}updateScore(t){const e=t||this._lastScoreOptions;if(!e)return;const s=this._player.getStatus().calculateScore(e);this._scoreWindow.update(s)}_execChoiceWindowObjectSellEvent(){if(!this._player.hasGold(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_GOLD])){const t=this.resolveSystemMessage(a.NO_MONEY);return"BLANK"!==t&&this._pages.push(new Se(new Te(t),!0,!1,!0)),{}}if(0!==this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM]){const t=this._yesNoChoicePartsCoord,e=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),s=(t.x-e.x)*V.CHIP_SIZE,i=(t.y-e.y)*V.CHIP_SIZE,r=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM],n=this._wwaData.objectAttribute[r][V.ATR_NUMBER];try{this._player.addItem(r,n,!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new c(s,i),itemBoxBackgroundImageCoord:new c(this._wwaData.imgItemboxX*V.CHIP_SIZE,this._wwaData.imgItemboxY*V.CHIP_SIZE)}:void 0)}catch(t){const e=this.resolveSystemMessage(a.ITEM_BOX_FULL);return"BLANK"!==e&&this._pages.push(new Se(new Te(e),!0,!1,!0)),{}}}const t=new h(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ENERGY],this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_STRENGTH],this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_DEFENCE],-this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_GOLD]);return t.energy=t.energy>V.STATUS_MINUS_BORDER?V.STATUS_MINUS_BORDER-t.energy:t.energy,this.setStatusChangedEffect(t),this._player.addStatusAll(t),this._player.isDead()&&0!==this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ENERGY]&&this.shouldApplyGameOver({isCalledByMacro:!1})?(this.gameover(),{isGameOver:!0}):(this.appearParts({pos:this._yesNoChoicePartsCoord,triggerType:w.OBJECT,triggerPartsId:this._yesNoChoicePartsID}),{})}_execChoiceWindowRunningEvent(){var t,e;if(0==--this._yesNoDispCounter)if(this._yesNoJudge===g.YES){if(this._yesNoChoiceCallInfo===T.CALL_BY_MAP_PARTS)(t=this._wwaData.mapAttribute[this._yesNoChoicePartsID][V.ATR_TYPE])===V.MAP_URLGATE&&(location.href=ft(this._yesNoURL));else if(this._yesNoChoiceCallInfo===T.CALL_BY_OBJECT_PARTS)if((t=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_TYPE])===V.OBJECT_BUY)if(this._player.hasItem(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM]))this._player.removeItemByPartsID(this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_ITEM]),e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_GOLD],this._player.earnGold(e),this.setStatusChangedEffect(new h(0,0,0,e)),this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,w.OBJECT,this._yesNoChoicePartsID);else{const t=this.resolveSystemMessage(a.NO_ITEM);"BLANK"!==t&&this._pages.push(new Se(new Te(t),!0,!1,!0))}else if(t===V.OBJECT_SELL){const{isGameOver:t}=this._execChoiceWindowObjectSellEvent();if(t)return}else t===V.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,w.CHOICE_YES,this._yesNoChoicePartsID):t===V.OBJECT_URLGATE&&(location.href=ft(this._yesNoURL));else this._yesNoChoiceCallInfo===T.CALL_BY_ITEM_USE?this._player.readyToUseItem(this._yesNoUseItemPos):this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===T.CALL_BY_LOG_QUICK_LOAD?(this._messageWindow.deleteSaveDom(),dt(x[I.QUICK_LOAD]).classList.remove("onpress"),this._messageWindow.load()&&(this._stopUpdateByLoadFlag=!0,this._loadType=D.QUICK_LOAD)):this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_SAVE?(this._messageWindow.deleteSaveDom(),dt(x[I.QUICK_SAVE]).classList.remove("onpress"),this._quickSave(T.CALL_BY_QUICK_SAVE)):this._yesNoChoiceCallInfo===T.CALL_BY_RESTART_GAME?(dt(x[I.RESTART_GAME]).classList.remove("onpress"),this._stopUpdateByLoadFlag=!0,this._loadType=D.RESTART_GAME):this._yesNoChoiceCallInfo===T.CALL_BY_END_GAME?(window.history.back(-1),dt(x[I.GOTO_WWA]).classList.remove("onpress")):this._yesNoChoiceCallInfo===T.CALL_BY_GOTO_WWA?(location.href=ft(V.WWA_HOME),dt(x[I.GOTO_WWA]).classList.remove("onpress")):this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_LOAD?(dt(x[I.QUICK_LOAD]).classList.remove("onpress"),this._player.setPasswordWindowWating(),this._passwordWindow.show(xe.LOAD)):this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_SAVE?(dt(x[I.QUICK_SAVE]).classList.remove("onpress"),this._player.setPasswordWindowWating(),this._passwordWindow.password=this._quickSave(T.CALL_BY_PASSWORD_SAVE),this._passwordWindow.show(xe.SAVE)):this._yesNoChoiceCallInfo===T.CALL_BY_SUSPEND&&(dt(x[I.QUICK_SAVE]).classList.remove("onpress"),this._quickSave(T.CALL_BY_SUSPEND));this._yesNoJudge=g.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=T.NONE,this._messageWindow.setYesNoChoice(!1)}else if(this._yesNoJudge===g.NO){if(this._yesNoChoiceCallInfo===T.CALL_BY_MAP_PARTS)t=this._wwaData.mapAttribute[this._yesNoChoicePartsID][V.ATR_TYPE],V.MAP_URLGATE;else if(this._yesNoChoiceCallInfo===T.CALL_BY_OBJECT_PARTS)(t=this._wwaData.objectAttribute[this._yesNoChoicePartsID][V.ATR_TYPE])===V.OBJECT_BUY||t===V.OBJECT_SELL||(t===V.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,w.CHOICE_NO,this._yesNoChoicePartsID):V.OBJECT_URLGATE);else if(this._yesNoChoiceCallInfo===T.CALL_BY_ITEM_USE){dt("item"+(this._yesNoUseItemPos-1)).classList.remove("onpress")}else if(this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===T.CALL_BY_LOG_QUICK_LOAD)switch(this._messageWindow.deleteSaveDom(),this._yesNoChoiceCallInfo=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._yesNoChoiceCallInfo){case T.NONE:dt(x[I.QUICK_LOAD]).classList.remove("onpress");break;case T.CALL_BY_PASSWORD_LOAD:return this._yesNoJudge=g.UNSELECTED,void this.onpasswordloadcalled();case T.CALL_BY_LOG_QUICK_LOAD:this._wwaSave.selectLogSaveDataList(),this._messageWindow.createSaveDom();var s=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword);switch(this._yesNoJudge=g.UNSELECTED,s){case T.CALL_BY_PASSWORD_LOAD:this.generatePageAndReserveExecution("読み込むオートセーブを選んでください。\n→Noでデータ復帰用パスワードの\n 入力選択ができます。",!0,!0);break;case T.NONE:this.generatePageAndReserveExecution("読み込むオートセーブを選んでください。",!0,!0)}return}else if(this._yesNoChoiceCallInfo===T.CALL_BY_QUICK_SAVE){if(this._messageWindow.deleteSaveDom(),this._usePassword||this._useSuspend)return this._yesNoJudge=g.UNSELECTED,void(this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled());dt(x[I.QUICK_SAVE]).classList.remove("onpress")}else if(this._yesNoChoiceCallInfo===T.CALL_BY_RESTART_GAME)dt(x[I.RESTART_GAME]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_END_GAME)dt(x[I.GOTO_WWA]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_GOTO_WWA)dt(x[I.GOTO_WWA]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_LOAD)dt(x[I.QUICK_LOAD]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_PASSWORD_SAVE)dt(x[I.QUICK_SAVE]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===T.CALL_BY_SUSPEND){if(this._usePassword)return this._yesNoJudge=g.UNSELECTED,void this.onpasswordsavecalled();dt(x[I.QUICK_SAVE]).classList.remove("onpress")}this._yesNoJudge=g.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=T.NONE,this._messageWindow.setYesNoChoice(!1)}}_dispatchWindowClosedTimeRequests(){if(this._windowCloseWaitingJumpGateRequest&&this.forcedJumpGate(this._windowCloseWaitingJumpGateRequest.x,this._windowCloseWaitingJumpGateRequest.y),this._windowCloseWaitingMessageDisplayRequests.length>0){const t=this._windowCloseWaitingMessageDisplayRequests.shift();this.generatePageAndReserveExecution(t,!1,!1)}}_dispatchPlayerAndObjectsStopTimeRequests(){this._playerAndObjectsStopWaitingGameSpeedChangeRequest&&(this.setPlayerSpeedIndex(this._playerAndObjectsStopWaitingGameSpeedChangeRequest.speedIndex),this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0),this._playerAndObjectsStopWaitingMessageDisplayRequests.length>0&&(this.generatePageAndReserveExecution(this._playerAndObjectsStopWaitingMessageDisplayRequests.join("<p>"),!1,!1),this._playerAndObjectsStopWaitingMessageDisplayRequests=[])}_clearAllRequests(){this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingJumpGateRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[]}reserveMessageDisplayWhenShouldOpen(t){this._player.isWaitingMessage()||this._player.isFighting()||this._player.isWaitingPasswordWindow()||this._player.isWaitingEstimateWindow()?this._windowCloseWaitingMessageDisplayRequests.push(t):this._player.isMoving()||this._player.isWaitingMoveMacro()?this._playerAndObjectsStopWaitingMessageDisplayRequests.push(t):this.generatePageAndReserveExecution(t,!1,!1)}generatePageAndReserveExecution(t,e,s,a=0,i=v.OBJECT,r=new c(0,0),n=void 0){const o=this.generatePagesByRawMessage(t,a,i,r,s,e,n);this._pages=this._pages.concat(o),this._shouldSetNextPage=!0}generatePagesByRawMessage(t,e,s,a,i,r,n){const o=t.split(/\n\<c\>/i)[0].split(/\<c\>/i)[0].replace(/\n\<p\>\n/gi,"<P>").replace(/\n\<p\>/gi,"<P>").replace(/\<p\>\n/gi,"<P>").replace(/\<p\>/gi,"<P>").split("\n").map((t=>{if(!t.startsWith("//"))return t.match(/\/\//)?St(St(t).replace(/^.*\/\/(?!:s?ptth)/gi,"")):t})).filter((t=>void 0!==t)).join("\n").replace(/\\\/\\\//gi,"//").split("<script>"),h=o[0];if(o.length>1){const t=o[1];this._execEvalString(t)}if(""===h)return n?[new Se(void 0,!0,!1,!1,n,{partsId:e,partsType:s,partsPosition:a})]:[];const c=h.split(/\<p\>/gi);return c.map(((t,o)=>{let h,_,l;const u={id:e,type:s,position:a},d=this.parseMessageLines(t,e,s,a),p=[];return d.forEach(((t,e)=>{try{const s=0===e?void 0:d[e-1].type,a=p[p.length-1],i=this.createNewNode(t,!h||!Ce(s),{triggerParts:u}),r=this.processConditionalExecuteMacroLine(i,t,a,p);r&&(l=r),s?this.connectOrMergeToPreviousNode(t,s,_,i,a,l,{triggerParts:u}):h=i,i&&(_=i)}catch(t){console.error(`$if-$else_if-$else-$endif マクロの解析中にエラーが発生しました。ページ ${e}`),console.error(t)}})),new Se(h,o===c.length-1,0===o&&r,i,0===o&&n,{partsId:e,partsType:s,partsPosition:a})}))}parseMessageLines(t,e,s,a){return t.split("\n").map((t=>{const i=t.match(/(\$(?:[a-zA-Z_][a-zA-Z0-9_]*)(?:.*))/);if(!i||i.length<2)return t.startsWith("$")?void 0:{type:"text",text:t};const r=function(t,e,s,a,i){var r;let n=i.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)\=(.*)$/);if((null===n||3!==n.length)&&(n=i.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)/),null===n||2!==n.length))throw new Error("マクロではありません");const o=`$${n[1].toLowerCase()}`,h="$if"===o&&i.match(/,/)?M.LEGACY_IF:B[o],c=Boolean(h!==M.SHOW_STR&&h!==M.SHOW_STR2),_=(null!==(r=n[2])&&void 0!==r?r:"").split(",").map((t=>c?t.trim():t));return new De(t,e,s,a,void 0===h?M.UNDEFINED:h,_)}(this,e,s,a,i[1]);switch(r.macroType){case M.IF:case M.ELSE_IF:case M.ELSE:case M.END_IF:case M.SHOW_STR:case M.SHOW_STR2:return{type:r.macroType,text:t,macro:r};default:return{type:"normalMacro",text:t,macro:r}}})).filter(Boolean)}createNewNode(t,e,s){switch(t.type){case M.IF:return new ye([{descriminant:ve(t.macro.macroArgs[0])}]);case M.SHOW_STR:case M.SHOW_STR2:return e?new Te(this._generateShowStrString(t.macro.macroArgs,{triggerParts:s.triggerParts,version:t.type===M.SHOW_STR2?2:1})):void 0;case"text":return e?new Te(t.text):void 0;case"normalMacro":return e?new Te("",[t.macro]):void 0;default:return}}processConditionalExecuteMacroLine(t,e,s,a){const i=0===a.length;switch(e.type){case M.IF:return void a.push(t);case M.ELSE_IF:if(i)throw new Error("構文エラー: $if を呼ぶ前に $else_if は呼べません");return void s.appendBranch({descriminant:ve(e.macro.macroArgs[0])});case M.ELSE:if(i)throw new Error("構文エラー: $if を呼ぶ前に $else は呼べません");return void s.appendBranch({descriminant:!0,elseBranch:{type:"real"}});case M.END_IF:if(i)throw new Error("構文エラー: $if を呼ぶ前に $endif は呼べません");return a.pop()}}connectOrMergeToPreviousNode(t,e,s,a,i,r,n){const o=Ce(e);switch(e){case M.IF:case M.ELSE_IF:case M.ELSE:if(!a||!i)return;const e=i.getLastUnconnectedBranch();if(!e)throw new Error("lastUnconnectedBranchが見つかりませんでした。");return void(e.next=a);case M.END_IF:if(!(a&&r instanceof ye))return;for(let t=0;t<r.branches.length;t++){let e=r.branches[t].next;e?this.connectToFinalNode(e,a):r.branches[t]=a}return void(r.hasElseBranch()||r.branches.push({next:a,descriminant:!0,elseBranch:{type:"pesudo-else"}}));default:if(!(o&&s instanceof Te))return;const h=!s.isEmpty();t.type===M.SHOW_STR||t.type===M.SHOW_STR2?s.appendMessage(this._generateShowStrString(t.macro.macroArgs,{triggerParts:n.triggerParts,version:t.type===M.SHOW_STR2?2:1}),h):"text"===t.type?s.appendMessage(t.text,h):"normalMacro"===t.type?s.macro.push(t.macro):s.next=a}}connectToFinalNode(t,e){let s=t;for(;;)if(s instanceof ye&&(s=s.branches[0].next),s instanceof Te){if(!s.next)return void(s.next=e);s=s.next}}appearParts({pos:t,triggerType:e,triggerPartsId:s}){var a,i,r,n,o,h,l=e===w.CHOICE_NO?V.APPERANCE_PARTS_MIN_INDEX_NO:V.APPERANCE_PARTS_MIN_INDEX,u=e===w.CHOICE_YES?V.APPERANCE_PARTS_MAX_INDEX_YES:V.APPERANCE_PARTS_MAX_INDEX;for(e===w.MAP?(s=0===s?this._wwaData.map[t.y][t.x]:s,a=v.MAP):(s=0===s?this._wwaData.mapObject[t.y][t.x]:s,a=v.OBJECT),h=l;h<=u;h++){var d=V.ATR_APPERANCE_BASE+h*V.REL_ATR_APPERANCE_UNIT_LENGTH,p=d+V.REL_ATR_APPERANCE_ID,E=d+V.REL_ATR_APPERANCE_X,m=d+V.REL_ATR_APPERANCE_Y,g=d+V.REL_ATR_APPERANCE_TYPE;if(i=a===v.MAP?this._wwaData.mapAttribute[s][p]:this._wwaData.objectAttribute[s][p],r=a===v.MAP?this._wwaData.mapAttribute[s][g]:this._wwaData.objectAttribute[s][g],n=a===v.MAP?this._wwaData.mapAttribute[s][E]:this._wwaData.objectAttribute[s][E],o=a===v.MAP?this._wwaData.mapAttribute[s][m]:this._wwaData.objectAttribute[s][m],n===V.PLAYER_COORD?(n=this._player.getPosition().getPartsCoord().x,this._player.resetEventExecutionInfo()):n>V.RELATIVE_COORD_LOWER&&(n=t.x+n-V.RELATIVE_COORD_BIAS),o===V.PLAYER_COORD?(o=this._player.getPosition().getPartsCoord().y,this._player.resetEventExecutionInfo()):o>V.RELATIVE_COORD_LOWER&&(o=t.y+o-V.RELATIVE_COORD_BIAS),0!==n||0!==o)try{if(new _(this,n,o,0,0),r===v.MAP){if(i>=this._wwaData.mapPartsMax)throw new Error("背景パーツの範囲外IDが指定されました");var f=new c(n,o);this.setPartsOnPosition(v.MAP,i,f)}else{if(i>=this._wwaData.objPartsMax)throw new Error("物体パーツの範囲外IDが指定されました");f=new c(n,o);this.setPartsOnPosition(v.OBJECT,i,f),this._replaceRandomObject(new c(n,o)),n===this._player.getPosition().getPartsCoord().x&&o===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch(t){}}}reserveAppearPartsInNextFrame(t,e,s=0){this._reservedPartsAppearances.push({pos:t,triggerType:e,triggerPartsId:s})}reserveJumpInNextFrame(t){this._reservedJumpDestination=t}appearPartsByDirection(t,e,s){var a=this._player.getPosition().getPartsCoord(),i=this._player.getDir(),r=E[i],n=m[i];this.appearPartsEval(a,(r>=0?"+":"-")+Math.abs(r)*t,(n>=0?"+":"-")+Math.abs(n)*t,e,s)}appearPartsEval(t,e,s,a,i){var r,n,o=this._player.getPosition().getPartsCoord();if("P"===e||"p"===e)r=o.x;else if("+"===e[0])r=t.x+parseInt(e.substr(1));else if("-"===e[0])r=t.x-parseInt(e.substr(1));else if(r=parseInt(e),isNaN(r))throw new Error("座標として解釈できない文字が含まれています。");if("P"===s||"p"===s)n=o.y;else if("+"===s[0])n=t.y+parseInt(s.substr(1));else if("-"===s[0])n=t.y-parseInt(s.substr(1));else if(n=parseInt(s),isNaN(n))throw new Error("座標として解釈できない文字が含まれています。");try{new _(this,r,n,0,0);if(i===v.MAP){if(a>=this._wwaData.mapPartsMax)throw new Error("背景パーツの範囲外IDが指定されました");var h=new c(r,n);this.setPartsOnPosition(v.MAP,a,h)}else{if(a>=this._wwaData.objPartsMax)throw new Error("物体パーツの範囲外IDが指定されました");h=new c(r,n);this.setPartsOnPosition(v.OBJECT,a,h),this._replaceRandomObject(new c(r,n)),r===this._player.getPosition().getPartsCoord().x&&n===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch(t){}}getPartsID(t,e){if(t.x<0||t.y<0)throw new Error("想定外の座標が指定されました");return e===v.MAP?this._wwaData.map[t.y][t.x]:this._wwaData.mapObject[t.y][t.x]}_replaceRandomObject(t){var e,s,a=this._wwaData.mapObject[t.y][t.x];if(this._wwaData.objectAttribute[a][V.ATR_TYPE]===V.OBJECT_RANDOM){for(var i=0;i<V.RANDOM_ITERATION_MAX;i++){if(s=Math.floor(10*Math.random()),(e=this._wwaData.objectAttribute[a][V.ATR_RANDOM_BASE+s])>=this._wwaData.objPartsMax){e=0;break}if(this._wwaData.objectAttribute[e][V.ATR_TYPE]!==V.OBJECT_RANDOM)break;a=e}this.setPartsOnPosition(v.OBJECT,e,t)}}_replaceRandomObjectsInScreen(){for(var t=this._camera.getPosition().getPartsCoord(),e=Math.max(0,t.x-1),s=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW),a=Math.max(0,t.y-1),i=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW),r=e;r<=s;r++)for(var n=a;n<=i;n++)this._replaceRandomObject(new c(r,n))}_replaceAllRandomObjects(){for(var t=0;t<this._wwaData.mapWidth;t++)for(var e=0;e<this._wwaData.mapWidth;e++)this._replaceRandomObject(new c(t,e))}gameover(){var t=this._wwaData.gameoverX,e=this._wwaData.gameoverY;this._yesNoJudge=g.UNSELECTED,this._pages=[],this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=T.NONE,this._player.clearMessageWaiting(),this._messageWindow.clear(),this._messageWindow.setYesNoChoice(!1),this._waitFrame=0,this._temporaryInputDisable=!0,this._shouldSetNextPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._clearAllRequests(),this._player.jumpTo(new _(this,t,e,0,0));const s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GAMEOVER;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s)}setYesNoInput(t){this._yesNoJudgeInNextFrame=t}getYesNoState(){return void 0!==this._yesNoJudgeInNextFrame?this._yesNoJudgeInNextFrame:this._yesNoJudge}setStatusChangedEffect(t){this._wwaData.isItemEffectEnabled&&(0!==t.strength&&(dt("disp-strength").classList.add("onpress"),this._statusPressCounter.strength=V.STATUS_CHANGED_EFFECT_FRAME_NUM),0!==t.defence&&(dt("disp-defence").classList.add("onpress"),this._statusPressCounter.defence=V.STATUS_CHANGED_EFFECT_FRAME_NUM),t instanceof h&&(0!==t.energy&&(dt("disp-energy").classList.add("onpress"),this._statusPressCounter.energy=V.STATUS_CHANGED_EFFECT_FRAME_NUM),0!==t.gold&&(dt("disp-gold").classList.add("onpress"),this._statusPressCounter.gold=V.STATUS_CHANGED_EFFECT_FRAME_NUM)))}setPartsOnPosition(t,e,s){var a,i,r=s.y<<$.BITSHIFT|s.x;t===v.MAP?(a=this._wwaData.map[s.y][s.x],e=this.loadMapPartsID(e),a=this.loadMapPartsID(a),this._wwaData.map[s.y][s.x]=e,-1!==(i=this._mapIDTable[a].indexOf(r))&&this._mapIDTable[a].splice(i,1),-1===(i=this._mapIDTable[e].indexOf(r))&&this._mapIDTable[e].push(r)):(a=this._wwaData.mapObject[s.y][s.x],e=this.loadMapPartsObjectID(e),a=this.loadMapPartsObjectID(a),this._wwaData.mapObject[s.y][s.x]=e,-1!==(i=this._mapObjectIDTable[a].indexOf(r))&&this._mapObjectIDTable[a].splice(i,1),-1===(i=this._mapObjectIDTable[e].indexOf(r))&&this._mapObjectIDTable[e].push(r))}_countSamePartsLength(t,e){var s;for(s=e+1;s<t.length&&t[s]===t[s-1];s++);return s-e}_compressMap(t){for(var e=[],s=0;s<t.length;s++){e[s]=[];for(var a=0;a<t[s].length;){var i=this._countSamePartsLength(t[s],a);e[s].push([t[s][a],i]),a+=i}}return e}_decompressMap(t){for(var e=[],s=0;s<t.length;s++){e[s]=[],0;for(var a=0;a<t[s].length;a++)for(var i=t[s][a][1],r=0;r<i;r++)e[s].push(t[s][a][0])}return e}_generateMapDataHash(t){var e="A",s=0,a=0,i=0;for(i=0;i<t.map.length;i++){for(a=0;a<t.map[i].length;)s=this._countSamePartsLength(t.map[i],a),e+=t.map[i][a]+"|"+s+"/",a+=s;for(a=0;a<t.mapObject[i].length;)s=this._countSamePartsLength(t.mapObject[i],a),e+=t.mapObject[i][a]+"|"+s+"/",a+=s}for(var r=0;r<t.mapAttribute.length;r++)for(var n=0;n<t.mapAttribute[r].length;n++)e+=t.mapAttribute[r][n]+"/";for(var o=0;o<t.objectAttribute.length;o++)for(var h=0;h<t.objectAttribute[o].length;h++)e+=t.objectAttribute[o][h]+"/";return Ge(e+="Z")}_generateSaveDataHash(t){var e=this._generateMapDataHash(t),s=[];for(var a in t)"map"!==a&&"mapObject"!==a&&"mapCompressed"!==a&&"mapObjectCompressed"!==a&&"mapAttribute"!==a&&"objectAttribute"!==a&&"checkString"!==a&&s.push(a);s.sort();for(var i=0;i<s.length;i++)e+=vt(t[s[i]]);return Ge(e)}compressSystem(){return Xe}_quickSave(t){var e,s;const a=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_SAVE;a&&this.evalCalcWwaNodeGenerator.evalWwaNode(a);var i,r,n=JSON.parse(JSON.stringify(this._wwaData)),o=this._player.getPosition().getPartsCoord(),h=this._player.getStatusWithoutEquipments();switch(n.itemBox=this._player.getCopyOfItemBox(),n.playerX=o.x,n.playerY=o.y,n.statusEnergyMax=this._player.getEnergyMax(),n.statusEnergy=h.energy,n.statusStrength=h.strength,n.statusDefence=h.defence,n.statusGold=h.gold,n.moves=this._player.getMoveCount(),n.frameCount=this._player.getFrameCount(),n.gameSpeedIndex=this._player.getSpeedIndex(),n.playTime=null!==(s=null===(e=this._playTimeCalculator)||void 0===e?void 0:e.calculateTimeMs())&&void 0!==s?s:0,n.userVar=this._userVar.numbered.slice(),n.userNamedVar=[...this._userVar.named],t){case T.CALL_BY_LOG_QUICK_SAVE:case T.CALL_BY_QUICK_SAVE:case T.CALL_BY_SUSPEND:break;case T.CALL_BY_PASSWORD_SAVE:n.checkOriginalMapString=this.checkOriginalMapString,n.checkString=this._generateSaveDataHash(n)}switch(n.message=void 0,n.mapAttribute=void 0,n.objectAttribute=void 0,t){case T.CALL_BY_QUICK_SAVE:return this._messageWindow.save(this._cvs,n),this.wwaCustomEvent("wwa_quicksave",{data:n}),"";case T.CALL_BY_PASSWORD_SAVE:const t=Xe.compress(n);t.isCompress=1;const e=JSON.stringify(t);return this.wwaCustomEvent("wwa_passwordsave",{data:n,compress:t}),i=e,r=this._wwaData.worldPassNumber,console.warn(Fe.enc.Utf8.parse(i)),Fe.AES.encrypt(Fe.enc.Utf8.parse(i),Ye(r)).toString();case T.CALL_BY_SUSPEND:this.wwaCustomEvent("wwa_suspend",{data:n,compress:Xe.compress(n)});break;case T.CALL_BY_LOG_QUICK_SAVE:this.wwaCustomEvent("wwa_autosave",{data:n}),this._wwaSave.autoSave(this._cvs,n)}}wwaCustomEvent(t,e={}){this.wwaCustomEventEmitter.dispatch(t,e)}_decodePassword(t){let e,s="";try{a=t,i=this._wwaData.worldPassNumber,s=Fe.AES.decrypt(a,Ye(i)).toString(Fe.enc.Utf8)}catch(t){e=t}var a,i,r;if(!s){console.warn("新方式でのパスワード暗号化解除失敗:",e);try{s=function(t,e,s){return Fe.AES.decrypt(t,function(t,e){return`^ /${231*t+8310+e}P+>A[]`}(e,s)).toString(Fe.enc.Utf8)}(t,this._wwaData.worldPassNumber,this.checkOriginalMapString)}catch(t){e=t}}if(!s){console.warn("旧方式でのパスワード暗号化解除失敗:",e);const t=e&&e.message?e.message:"";throw new Error("パスワード取得時からワールド制作者によってマップの暗証番号が変更されたか、\nパスワードが壊れているために正常にセーブデータが復元できませんでした。\n"+t)}try{r=JSON.parse(s)}catch(t){throw new Error("マップデータ以外のものが暗号化されたか、マップデータに何かが不足しているようです。\nJSON PARSE FAILED")}if(r.isCompress){delete r.isCompress;const[t,e]=Xe.decompress(r);return[ze(t),e]}return[r,{isWorldNameEmpty:!1}]}_quickLoad(t=!1,e=null,s=!0){if(!t&&void 0===this._wwaSave.hasSaveData()&&null===e)throw new Error("セーブデータがありません。");let a,i=!1;if(null!==e){const t=this._decodePassword(e);a=t[0],i=t[1].isWorldNameEmpty}else a=JSON.parse(JSON.stringify(t?this._restartData:this._messageWindow.load()));if(a.message=JSON.parse(JSON.stringify(this._restartData.message)),a.mapAttribute=JSON.parse(JSON.stringify(this._restartData.mapAttribute)),a.objectAttribute=JSON.parse(JSON.stringify(this._restartData.objectAttribute)),void 0===a.map&&(a.map=this._decompressMap(a.mapCompressed)),void 0===a.mapObject&&(a.mapObject=this._decompressMap(a.mapObjectCompressed)),delete a.mapCompressed,delete a.mapObjectCompressed,null!==e){if(!i&&a.worldName!==this._wwaData.worldName)throw console.error("Invalid title",`(password)=${a.worldName} (current map)=${this._wwaData.worldName}`),new Error("前回パスワード取得時から、制作者によってワールド名が変更されたためロードできませんでした。\n予めご了承ください。");const t=this.checkOriginalMapString;if(this._isDisallowLoadOldSave&&a.checkOriginalMapString!==t)throw console.error("Invalid hash",`(password)=${a.checkOriginalMapString} (current map)=${t}`),new Error("前回パスワード取得時から、制作者によってマップが変更されたためロードできませんでした。\n(マップデータ制作者の設定により、内容が変更されると以前のパスワードは利用できなくなります。)\n予めご了承ください。");console.log("Valid Password!")}return s&&this._applyQuickLoad(a),a}_applyQuickLoad(t){this._userVar.named=new Map(t.userNamedVar),this._userVar.numbered=t.userVar,this._player.setEnergyMax(t.statusEnergyMax),this._player.setEnergy(t.statusEnergy),this._player.setStrength(t.statusStrength),this._player.setDefence(t.statusDefence),this._player.setGold(t.statusGold),this._player.setMoveCount(t.moves),this._player.setFrameCount(t.frameCount),this._player.clearItemBox();for(var e=0;e<t.itemBox.length;e++)this._player.addItem(t.itemBox[e],e+1,!0);this._player.systemJumpTo(new _(this,t.playerX,t.playerY,0,0)),0===t.bgm?this.playSound(R.NO_SOUND):this.playSound(t.bgm,t.bgmDelayDurationMs),this.setImgClick(new c(t.imgClickX,t.imgClickY)),0!==this.getObjectIdByPosition(this._player.getPosition())&&this._player.setPartsAppearedFlag(),this._clearAllRequests(),this._playTimeCalculator=new ot(t.playTime),this._wwaData=t,this._mapIDTableCreate(),this._replaceAllRandomObjects(),this.setStatusIconCoord(L.ENERGY,new c(t.imgStatusEnergyX,t.imgStatusEnergyY)),this.setStatusIconCoord(L.STRENGTH,new c(t.imgStatusStrengthX,t.imgStatusStrengthY)),this.setStatusIconCoord(L.DEFENCE,new c(t.imgStatusDefenceX,t.imgStatusDefenceY)),this.setStatusIconCoord(L.GOLD,new c(t.imgStatusGoldX,t.imgStatusGoldY)),this.setWideCellCoord(new c(t.imgWideCellX,t.imgWideCellY)),this.setItemboxBackgroundPosition({x:t.imgItemboxX,y:t.imgItemboxY}),this.setFrameCoord(new c(t.imgFrameX,t.imgFrameY)),this.setPlayerSpeedIndex(t.gameSpeedIndex),this.updateCSSRule(),this.updateEffect(),this._player.updateStatusValueBox(),this._wwaSave.quickSaveButtonUpdate(this._wwaData)}_mapIDTableCreate(){var t;for(this._mapIDTable=[],this._mapObjectIDTable=[],t=0;t<this._wwaData.mapPartsMax;t++)this._mapIDTable[t]=[];for(t=0;t<this._wwaData.objPartsMax;t++)this._mapObjectIDTable[t]=[];for(var e=0;e<this._wwaData.mapWidth;e++)for(var s=0;s<this._wwaData.mapWidth;s++){var a=s<<$.BITSHIFT|e;t=this._wwaData.map[s][e],this._mapIDTable[t]instanceof Array||(this._mapIDTable[t]=[]),this._mapIDTable[t].push(a),t=this._wwaData.mapObject[s][e],this._mapObjectIDTable[t]instanceof Array||(this._mapObjectIDTable[t]=[]),this._mapObjectIDTable[t].push(a)}}restartGame(){this._quickLoad(!0)}_fadeout(t){var e=0,s=V.MAP_WINDOW_WIDTH,a=V.FADEOUT_SPEED,i=dt("wwa-fader");i.style.display="block";var r=setInterval((()=>{if(e+=a,(s-=2*a)<=0||2*e>V.MAP_WINDOW_WIDTH)return i.removeAttribute("style"),i.style.display="block",i.style.borderWidth="0",i.style.width=V.MAP_WINDOW_WIDTH+"px",i.style.height=V.MAP_WINDOW_HEIGHT+"px",i.style.backgroundColor="#808080",clearInterval(r),void t();i.style.width=s+"px",i.style.height=s+"px",i.style.borderWidth=e+"px"}),20)}moveObjects(t){var e,s,a,i=this._camera.getPosition(),r=(this._player.getPosition(),i.getPartsCoord(),i.getPartsCoord().x),n=i.getPartsCoord().y;if(this.getMapAttributeByPosition(this._player.getPosition(),V.ATR_TYPE)!==V.MAP_LOCALGATE&&this.getObjectAttributeByPosition(this._player.getPosition(),V.ATR_TYPE)!==V.OBJECT_LOCALGATE){for(e=new Array(V.V_PARTS_NUM_IN_WINDOW+2),this.hoge=new Array(V.V_PARTS_NUM_IN_WINDOW+2),a=-1;a<=V.V_PARTS_NUM_IN_WINDOW;a++)for(e[a+1]=new Array(V.H_PARTS_NUM_IN_WINDOW+2),this.hoge[a+1]=new Array(V.H_PARTS_NUM_IN_WINDOW+2),s=-1;s<=V.H_PARTS_NUM_IN_WINDOW;s++)if(n+a<0||n+a>=this._wwaData.mapWidth||r+s<0||r+s>=this._wwaData.mapWidth)e[a+1][s+1]=0,this.hoge[a+1][s+1]=0;else{try{var o=(h=new _(this,r+s,n+a,0,0)).getPartsCoord()}catch(t){e[a+1][s+1]=0,this.hoge[a+1][s+1]=0;continue}this._wwaData.mapObject[o.y][o.x];e[a+1][s+1]=this._wwaData.mapObject[o.y][o.x],this.hoge[a+1][s+1]=-this._wwaData.mapObject[o.y][o.x]}for(s=-1;s<=V.H_PARTS_NUM_IN_WINDOW;s++)if(!(r+s<0||r+s>=this._wwaData.mapWidth))for(a=-1;a<=V.V_PARTS_NUM_IN_WINDOW;a++)if(!(n+a<0||n+a>=this._wwaData.mapWidth)){try{var h;o=(h=new _(this,r+s,n+a,0,0)).getPartsCoord()}catch(t){continue}var l=this._wwaData.mapObject[o.y][o.x];if(0!==l&&this._wwaData.objectAttribute[l][V.ATR_MOVE]!==O.STATIC&&this._wwaData.objectAttribute[l][V.ATR_TYPE]!==V.OBJECT_LOCALGATE&&this._wwaData.objectAttribute[l][V.ATR_TYPE]!==V.OBJECT_RANDOM&&(this._wwaData.objectAttribute[l][V.ATR_MOVE]===O.CHASE_PLAYER||this._wwaData.objectAttribute[l][V.ATR_MOVE]===O.RUN_OUT||this._wwaData.objectAttribute[l][V.ATR_MOVE]===O.HANG_AROUND)){var u=this._wwaData.objectAttribute[l][V.ATR_MOVE];if(u!==O.HANG_AROUND){var d,p=this._getCandidateCoord(t,h,u),E=new c(p.x,o.y),m=new c(o.x,p.y),g=null;if(this._objectCanMoveTo(t,p,e))this._setObjectsInNextFrame(o,p,r,n,e,l);else{var w=this._getSecondCandidateMoveMode(t,o,p,E,m,this._wwaData.objectAttribute[l][V.ATR_TYPE]===V.OBJECT_MONSTER,e);w===N.MODE_X?this._setObjectsInNextFrame(o,E,r,n,e,l):w===N.MODE_Y?this._setObjectsInNextFrame(o,m,r,n,e,l):null===(g=this._getThirdCandidate(t,h,p,u,e))||this._wwaData.isOldMove?(d=this._getRandomMoveCoord(t,h,e),this._setObjectsInNextFrame(o,d,r,n,e,l)):this._setObjectsInNextFrame(o,g,r,n,e,l)}}else d=this._getRandomMoveCoord(t,h,e),this._setObjectsInNextFrame(o,d,r,n,e,l)}}}}_getCandidateCoord(t,e,s){var a=e.getPartsCoord();this._player.getPosition().getOffsetCoord(),this._player.getPosition().getPartsCoord();try{var i=t?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord()}catch(t){throw new Error("予期せぬ方向への移動のようです。")}var r=a.clone(),n=0,o=0;return s===O.CHASE_PLAYER?(n=a.x>i.x?-1:a.x<i.x?1:0,o=a.y>i.y?-1:a.y<i.y?1:0):s===O.RUN_OUT&&(n=a.x>i.x?1:a.x<i.x?-1:0,o=a.y>i.y?1:a.y<i.y?-1:0),r.x+=n,r.y+=o,r.x=Math.min(this._wwaData.mapWidth-1,Math.max(0,r.x)),r.y=Math.min(this._wwaData.mapWidth-1,Math.max(0,r.y)),r}_getSecondCandidateMoveMode(t,e,s,a,i,r,n){return!t||(this._player.getDir()!==p.UP&&this._player.getDir()!==p.DOWN||!r)&&(this._player.getDir()!==p.LEFT&&this._player.getDir()!==p.RIGHT||r)?this._objectCanMoveTo(t,a,n)?N.MODE_X:this._objectCanMoveTo(t,i,n)?N.MODE_Y:N.UNDECIDED:this._objectCanMoveTo(t,i,n)?N.MODE_Y:this._objectCanMoveTo(t,a,n)?N.MODE_X:N.UNDECIDED}_getThirdCandidate(t,e,s,a,i){var r,n=a===O.CHASE_PLAYER?1:a===O.RUN_OUT?-1:0,o=t?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord(),h=e.getPartsCoord();if(o.x!==h.x){if(r=new c(s.x,h.y+1*n),this._objectCanMoveTo(t,r,i))return r;if(r=new c(s.x,h.y-1*n),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x,h.y+1*n),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x,h.y-1*n),this._objectCanMoveTo(t,r,i))return r}if(o.y!==h.y){if(r=new c(h.x+1*n,s.y),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x-1*n,s.y),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x+1*n,h.y),this._objectCanMoveTo(t,r,i))return r;if(r=new c(h.x-1*n,h.y),this._objectCanMoveTo(t,r,i))return r}return null}_getRandomMoveCoord(t,e,s){const a=e.getPartsCoord(),i=a.clone(),r=this._wwaData.isOldMove?V.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31:V.RANDOM_MOVE_ITERATION_NUM;for(let e=0;e<r;e++){const e=[-1,1,0,0,-1,-1,1,1],r=[0,0,1,-1,1,-1,1,-1],n=Math.floor(Math.random()*e.length);if(i.x=a.x+e[n],i.y=a.y+r[n],this._objectCanMoveTo(t,i,s))return i}return a}isPrevFrameEventExecuted(){return this._prevFrameEventExected}_objectCanMoveTo(t,e,s){if(e.x<0||e.y<0||this._wwaData.mapWidth<=e.x||this._wwaData.mapWidth<=e.y)return!1;var a=this._wwaData.map[e.y][e.x],i=this._wwaData.mapObject[e.y][e.x],r=this._wwaData.mapAttribute[a][V.ATR_TYPE],n=this._camera.getPosition(),o=n.getPartsCoord().x,h=n.getPartsCoord().y;if(0===a&&!this.isOldMap()||r===V.MAP_WALL)return!1;var c=e.x-o+1,_=e.y-h+1;if(0<=c&&0<=_&&c<s.length&&_<s.length){if(0!==s[_][c])return!1}else if(0!==i)return!1;if(t){if(this._player.getPosition().getNextJustPosition().getPartsCoord().equals(e))return!1}else if(this._player.getPosition().getPartsCoord().equals(e))return!1;return!0}_setObjectsInNextFrame(t,e,s,a,i,r){var n=e.x-s+1,o=e.y-a+1;0<=e.x&&e.x<=this._wwaData.mapWidth&&0<=e.y&&e.y<=this._wwaData.mapWidth&&(0<=n&&n<i.length&&0<=o&&o<i.length&&(i[t.y-a+1][t.x-s+1]=0,i[e.y-a+1][e.x-s+1]=r,this.hoge[e.y-a+1][e.x-s+1]=r),this._objectMovingDataManager.add(r,t.convertIntoPosition(this),e.convertIntoPosition(this),t.getDirectionTo(e)))}launchBattleEstimateWindow(){const t=this._camera.getPosition().getPartsCoord(),e=Math.max(0,t.x),s=Math.min(this._wwaData.mapWidth-1,t.x+V.H_PARTS_NUM_IN_WINDOW-1),a=Math.max(0,t.y),i=Math.min(this._wwaData.mapWidth-1,t.y+V.V_PARTS_NUM_IN_WINDOW-1),r=[];this.playSound(R.DECISION);for(let t=e;t<=s;t++)for(let e=a;e<=i;e++){const s=this._wwaData.mapObject[e][t];this._wwaData.objectAttribute[s][V.ATR_TYPE]!==V.OBJECT_MONSTER||r.find((t=>t.partsID===s))||r.push(this._createMonster(s,new c(t,e)))}if(this._bottomButtonType===d.BATTLE_REPORT&&dt(x[I.GOTO_WWA]).classList.add("onpress"),0===r.length)return dt(x[I.GOTO_WWA]).classList.remove("onpress"),this.hideBattleEstimateWindow(),!1;this._battleEstimateWindow.update(this._player.getStatus(),r,((t,e)=>this._player.calcBattleResultForPlayerTurn(t,e.status,!0)),((t,e)=>this._player.calcBattleResultForEnemyTurn(t.status,e,!0)),this.isUsingDefaultDamageCalcFunction()),this._battleEstimateWindow.show(),this._player.setEstimateWindowWating();const n=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_BATTLE_REPORT;return n&&this.evalCalcWwaNodeGenerator.evalWwaNode(n),!0}isUsingDefaultDamageCalcFunction(){return void 0===this.getUserDefinedDamageFunctionNode("enemyToPlayer")&&void 0===this.getUserDefinedDamageFunctionNode("playerToEnemy")}_createMonster(t,e,s){return new Mt(t,e,new c(this._wwaData.objectAttribute[t][V.ATR_X],this._wwaData.objectAttribute[t][V.ATR_Y]),new h(this._wwaData.objectAttribute[t][V.ATR_ENERGY],this._wwaData.objectAttribute[t][V.ATR_STRENGTH],this._wwaData.objectAttribute[t][V.ATR_DEFENCE],this._wwaData.objectAttribute[t][V.ATR_GOLD]),this._wwaData.message[this._wwaData.objectAttribute[t][V.ATR_STRING]],this._wwaData.objectAttribute[t][V.ATR_ITEM],s)}hideBattleEstimateWindow(){this._battleEstimateWindow.hide(),this._player.clearEstimateWindowWaiting(),dt(x[I.GOTO_WWA]).classList.remove("onpress"),this._dispatchWindowClosedTimeRequests()}hidePasswordWindow(t=!1){if(this._passwordWindow.hide(),t||this._passwordWindow.mode===xe.SAVE)return this._player.clearPasswordWindowWaiting(),void this._dispatchWindowClosedTimeRequests();try{var e=this._quickLoad(!1,this._passwordWindow.password,!1)}catch(t){return this._player.clearPasswordWindowWaiting(),this._dispatchWindowClosedTimeRequests(),void alert("セーブデータの復元に失敗しました。\nエラー詳細:\n"+t.message)}this._passwordLoadExecInNextFrame=!0,this._passwordSaveExtractData=e}_displayUserVars(){if(!this._canDisplayUserVars||!this._inlineUserVarViewer)return;let t="";if(this._inlineUserVarViewer.isVisible=!0,this._player.isControllable()){const e=[...this._userVar.named];if("named"===this._inlineUserVarViewer.kind)if(t="名前つき変数一覧\n",0===e.length)t+="名前つき変数はありません\n";else if(e.length<=V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM)t+=e.map((([t,e])=>`${t}: ${yt(e)}`)).join("\n"),t+="\n";else for(let s=0;s<V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;s++){let a=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+s)%e.length;t+=`${e[a][0]}: ${yt(e[a][1],!0)}\n`}else if("numbered"===this._inlineUserVarViewer.kind){t="変数一覧\n",this._userVarNameListRequestError&&("noFileSpecified"===this._userVarNameListRequestError.kind?t+=this._userVarNameListRequestError.errorMessage+"\n":(t+="【変数名取得失敗】\n",t+=" すべての変数を名無しとしています。\n",t+=` エラー詳細: ${this._userVarNameListRequestError.errorMessage}\n`));for(let e=0;e<V.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;e++){let s=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+e)%V.USER_VAR_NUM;t+=`${`変数 ${s}: ${this._userVarNameList&&this._userVarNameList[s]?this._userVarNameList[s]:"名無し"}`}: ${yt(this._userVar.numbered[s],!0)}\n`}}t+="\n操作方法\n",t+="上キー:1つ戻す 下キー:1つ進める\n",t+="左キー:10個戻す 右キー:10個進める\n",t+="Vキー: 名前付き変数/通常変数の切り替え",this.generatePageAndReserveExecution(t,!1,!0)}}_displayHelp(){var t;if(this._player.isControllable()){const s=null===(t=this._playTimeCalculator)||void 0===t?void 0:t.calculatePlayTimeFormat();var e="";switch(this.userDevice.device){case A.GAME:switch(this.userDevice.os){case S.NINTENDO:e=" 【操作方法】\nA:Yes,戦闘結果予測の表示\nB:No\nX:メニュー\nY:このリストの表示\nR:初めからスタート\nZL:データの一時保存\nZR:一時保存データの読み込み\n+: 移動速度を上げる\n-: 移動速度を落とす\n WWA Wing バージョン:3.13.0-unstable.based-on.3.12.11.p.12\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;case S.PLAY_STATION:e=" 【操作方法】\n〇:Yes,戦闘結果予測の表示\n×:No\n△:メニュー\n□:このリストの表示\nR1:初めからスタート\nL2:データの一時保存\nR2:一時保存データの読み込み\nOPTIONS: 移動速度を上げる\nSHARE: 移動速度を落とす\n 現在の移動回数:"+this._player.getMoveCount()+"\n"+(s?" プレイ時間:"+s+"\n":"")+" WWA Wing バージョン:3.13.0-unstable.based-on.3.12.11.p.12\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;case S.XBOX:e=" 【操作方法】\nB:Yes,戦闘結果予測の表示\nA:No\nY:メニュー\nX:このリストの表示\nRB:初めからスタート\nLT:データの一時保存\nRT:一時保存データの読み込み\nMENU: 移動速度を上げる\nWINDOW: 移動速度を落とす\n 現在の移動回数:"+this._player.getMoveCount()+"\n"+(s?" プレイ時間:"+s+"\n":"")+" WWA Wing バージョン:3.13.0-unstable.based-on.3.12.11.p.12\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;default:return}break;case A.SP:case A.VR:return;case A.PC:e=" 【操作方法】\nF1、M:戦闘結果予測の表示\nF3:復帰用パスワード入力\nF4:復帰用パスワード表示\nF5:一時保存データの読み込み\nF6:データの一時保存\nF7:初めからスタート\nF8:WWA公式ページにリンク\nF12:このリストの表示\nキーボードの「123、QWE、ASD、ZXC」は右のアイテムボックスに対応。\n「Enter、Y」はYes,\n「Esc、N」はNoに対応。\n I: 移動速度を落とす/\nF2、P: 移動速度を上げる\n 現在の移動回数:"+this._player.getMoveCount()+"\n"+(s?" プレイ時間:"+s+"\n":"")+" WWA Wing バージョン:3.13.0-unstable.based-on.3.12.11.p.12\n マップデータ バージョン: "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;default:return}e&&this.generatePageAndReserveExecution(e,!1,!0)}}_setNextPage(){if(this._clearFacesInNextFrame=!0,this._scoreWindow.isVisible()&&this._scoreWindow.hide(),this._isLastPage&&void 0!==this._reservedMoveMacroTurn&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0),0===this._pages.length){const{newPageGenerated:t}=this._hideMessageWindow();t||this._dispatchWindowClosedTimeRequests()}else this._shouldSetNextPage=!0;this._inlineUserVarViewer&&(this._inlineUserVarViewer.isVisible=!1)}_hideMessageWindow(){const t=this._player.isReadyToUseItem()?this._player.useItem():0,e=this.getObjectAttributeById(t,V.ATR_STRING);return this.clearFaces(),0===e?(this._messageWindow.isVisible()&&(this._player.setDelayFrame(),this._messageWindow.hide(),this._keyStore.allClear(),this._mouseStore.clear()),this._player.clearMessageWaiting(),{newPageGenerated:!1}):(this.generatePageAndReserveExecution(this.getMessageById(e),!1,!1,t,v.OBJECT,this._player.getPosition().getPartsCoord()),{newPageGenerated:0!==this._pages.length})}getPlayerPositon(){return this._player.getPosition()}loadMapPartsObjectID(t){return(t|=0)<0||t>=this._wwaData.objPartsMax?0:t}loadMapPartsID(t){return(t|=0)<0||t>=this._wwaData.mapPartsMax?0:t}replaceParts(t,e,s=v.OBJECT,a=!1){var i,r,n,o,h,c,_,l,u=this._camera.getPosition().getPartsCoord(),d=a?Math.max(0,u.x):0,p=a?Math.min(this._wwaData.mapWidth-1,u.x+V.H_PARTS_NUM_IN_WINDOW-1):this._wwaData.mapWidth-1,E=a?Math.max(0,u.y):0,m=a?Math.min(this._wwaData.mapWidth-1,u.y+V.V_PARTS_NUM_IN_WINDOW)-1:this._wwaData.mapWidth-1;if(a=0!==d||p!==this._wwaData.mapWidth-1||0!==E||m!==this._wwaData.mapWidth-1,s===v.OBJECT)if(t=this.loadMapPartsObjectID(t),e=this.loadMapPartsObjectID(e),o=this._mapObjectIDTable[t].concat(),(_=this._mapObjectIDTable[t]).length=0,l=this._mapObjectIDTable[e],r=o.length,a)for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,d<=h&&h<=p&&E<=c&&c<=m?(this._wwaData.mapObject[c][h]=e,l.push(i)):_.push(i);else{for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,this._wwaData.mapObject[c][h]=e;Array.prototype.push.apply(l,o)}else if(t=this.loadMapPartsID(t),e=this.loadMapPartsID(e),o=this._mapIDTable[t].concat(),(_=this._mapIDTable[t]).length=0,l=this._mapIDTable[e],r=o.length,a)for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,d<=h&&h<=p&&E<=c&&c<=m?(this._wwaData.map[c][h]=e,l.push(i)):_.push(i);else{for(n=0;n<r;n++)h=(i=o[n])&$.BITMASK,c=i>>>$.BITSHIFT&$.BITMASK,this._wwaData.map[c][h]=e;Array.prototype.push.apply(l,o)}}getYesNoImgCoord(){return new c(this._wwaData.yesnoImgPosX,this._wwaData.yesnoImgPosY)}setYesNoImgCoord(t){return this._wwaData.yesnoImgPosX=t.x,this._wwaData.yesnoImgPosY=t.y,t}getPlayerImgCoord(){return new c(this._wwaData.playerImgPosX,this._wwaData.playerImgPosY)}setPlayerImgCoord(t){return this._wwaData.playerImgPosX=t.x,this._wwaData.playerImgPosY=t.y,t}setPlayerEnergyMax(t){return this._player.setEnergyMax(this.toValidStatusValue(t))}getMapPartsNum(){return this._wwaData.mapPartsMax}getObjectPartsNum(){return this._wwaData.objPartsMax}setMoveMacroWaitingToPlayer(t){this._reservedMoveMacroTurn=t}disableSave(t){return this._wwaData.disableSaveFlag=t,this._wwaSave.quickSaveButtonUpdate(this._wwaData),t}isOldMap(){return this._wwaData.isOldMap}setOldMap(t){return this._wwaData.isOldMap=t}setObjectNotCollapseOnPartsOnPlayer(t){return this._wwaData.objectNoCollapseDefaultFlag=t}setGameOverPosition(t){if(t.x<0||t.x>=this.getMapWidth()||t.y<0||t.y>=this.getMapWidth())throw new Error("マップの範囲外が指定されています!");return this._wwaData.gameoverX=t.x,this._wwaData.gameoverY=t.y,t}getGemeOverPosition(){return new c(this._wwaData.gameoverX,this._wwaData.gameoverY)}toValidStatusValue(t){return this.isNotNumberTypeOrNaN(t)||t<0?0:Math.floor(t)}setPlayerStatus(t,e,s){if(t===b.ENERGY){if(this._player.setEnergy(this.toValidStatusValue(e)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:s}))return this.gameover(),{isGameOver:!0}}else if(t===b.STRENGTH)this._player.setStrength(this.toValidStatusValue(e));else if(t===b.DEFENCE)this._player.setDefence(this.toValidStatusValue(e));else if(t===b.GOLD)this._player.setGold(this.toValidStatusValue(e));else{if(t!==b.MOVES)throw new Error("未定義のステータスタイプです");this._player.setMoveCount(this.toValidStatusValue(e))}return{}}setDelPlayer(t){return this._wwaData.delPlayerFlag=t}setPlayerGetItem(t,e){try{this._player.addItem(e,t,!0)}catch(t){}}setStatusIconCoord(t,e){const s=e.x*V.CHIP_SIZE,a=e.y*V.CHIP_SIZE,i=t=>{mt(`${t}>.status-icon`).style.backgroundPosition=`-${s}px -${a}px`};switch(t){case L.ENERGY:this._wwaData.imgStatusEnergyX=e.x,this._wwaData.imgStatusEnergyY=e.y,i("#disp-energy");break;case L.STRENGTH:this._wwaData.imgStatusStrengthX=e.x,this._wwaData.imgStatusStrengthY=e.y,i("#disp-strength");break;case L.DEFENCE:this._wwaData.imgStatusDefenceX=e.x,this._wwaData.imgStatusDefenceY=e.y,i("#disp-defence");break;case L.GOLD:this._wwaData.imgStatusGoldX=e.x,this._wwaData.imgStatusGoldY=e.y,i("#disp-gold");break;default:throw new Error("種別が不正です。")}return e.clone()}setWideCellCoord(t){this._wwaData.imgWideCellX=t.x,this._wwaData.imgWideCellY=t.y;const e=t.x*V.CHIP_SIZE,s=t.y*V.CHIP_SIZE;return Array.prototype.forEach.call(gt("div.wide-cell-row"),(t=>{t.style.backgroundPosition="-"+e+"px -"+s+"px"})),t.clone()}setFrameCoord(t){return this._wwaData.imgFrameX=t.x,this._wwaData.imgFrameY=t.y,this._cgManager.setFrameImage(t),t.clone()}setBattleEffectCoord(t){return this._battleEffectCoord=t.clone()}canInput(){return!this._temporaryInputDisable}setEffect(t,e){this._wwaData.effectWaits=t,this._wwaData.effectCoords=e,this.updateEffect()}stopEffect(){this._wwaData.effectCoords=[],this.updateEffect()}updateEffect(){this._cgManager.updateEffects(this._wwaData.effectCoords)}setImgClick(t){if(this._wwaData.imgClickX=t.x,this._wwaData.imgClickY=t.y,t.equals(new c(0,0)))Array.prototype.forEach.call(gt(".item-cell>.item-click-border"),(t=>{t.style.backgroundImage="url('"+V.ITEM_BORDER_IMG_DATA_URL+"')",t.style.backgroundPosition="0 0"}));else{var e=this._wwaData.mapCGName.replace("(","\\(").replace(")","\\)");Array.prototype.forEach.call(gt(".item-cell>.item-click-border"),(s=>{s.style.backgroundImage="url('"+e+"')",s.style.backgroundPosition="-"+t.x*V.CHIP_SIZE+"px -"+t.y*V.CHIP_SIZE+"px"}))}}addFace(t){this._faces.push(t),this._messageWindow.setPositionByPlayerPosition(0!==this._faces.length,this._scoreWindow.isVisible(),!1,this._player.getPosition(),this._camera.getPosition())}clearFaces(){this._faces=[]}updateItemEffectEnabled(t){this._wwaData.isItemEffectEnabled=t}setOldMove(t){this._wwaData.isOldMove=t}setGameOverPolicy(t){switch(t){case 0:return void(this._wwaData.gameOverPolicy="default");case 1:return void(this._wwaData.gameOverPolicy="never");case 2:return void(this._wwaData.gameOverPolicy="except-macro");default:return}}setBgmDelay(t){this._wwaData.bgmDelayDurationMs=t}initCSSRule(){this._styleElm=dt(V.WWA_STYLE_TAG_ID),this._sheet=this._styleElm.sheet,this.updateCSSRule()}updateCSSRule(){if(void 0===this._stylePos)this._stylePos=new Array(2);else if(void 0!==this._sheet.addRule)for(var t=0;t<this._stylePos.length;t++)this._sheet.removeRule(this._stylePos[this._styleElm[t]]);else for(t=0;t<this._stylePos.length;t++)this._sheet.deleteRule(this._stylePos[this._styleElm[t]]);const e="div.wwa-message-window, div#wwa-text-message-window, div#wwa-battle-estimate, div#wwa-password-window",s=this._isClassicModeEnable?1:.9,a=`\nbackground-color: rgba(${this._wwaData.frameColorR}, ${this._wwaData.frameColorG}, ${this._wwaData.frameColorB}, ${s});\nborder-color: rgba(${this._wwaData.frameOutColorR}, ${this._wwaData.frameOutColorG}, ${this._wwaData.frameOutColorB}, 1);\ncolor: rgba(${this._wwaData.fontColorR}, ${this._wwaData.fontColorG}, ${this._wwaData.fontColorB}, 1);\nwhite-space: pre-wrap;\n`,i="div#wwa-sidebar",r=`\ncolor: rgba(${this._wwaData.statusColorR}, ${this._wwaData.statusColorG}, ${this._wwaData.statusColorB},1);\nfont-weight: bold;\n`;void 0!==this._sheet.addRule?(this._stylePos[J.MESSAGE_WINDOW]=this._sheet.addRule(e,a),this._stylePos[J.SIDEBAR]=this._sheet.addRule(i,r)):(this._stylePos[J.MESSAGE_WINDOW]=this._sheet.insertRule(`${e} { ${a} }`,0),this._stylePos[J.SIDEBAR]=this._sheet.insertRule(`${i} { ${r} }`,1))}changeStyleRule(t,e,s,a){t===X.COLOR_FRAME?(this._wwaData.frameColorR=e,this._wwaData.frameColorG=s,this._wwaData.frameColorB=a):t===X.COLOR_FRAMEOUT?(this._wwaData.frameOutColorR=e,this._wwaData.frameOutColorG=s,this._wwaData.frameOutColorB=a):t===X.COLOR_STR?(this._wwaData.fontColorR=e,this._wwaData.fontColorG=s,this._wwaData.fontColorB=a):t===X.COLOR_STATUS_STR&&(this._wwaData.statusColorR=e,this._wwaData.statusColorG=s,this._wwaData.statusColorB=a),this.updateCSSRule()}showMonsterWindow(){this._monsterWindow.show()}isClassicMode(){return this._isClassicModeEnable}isConsoleOutputMode(){return this._useConsole}forcedJumpGate(t,e){this._player.isWaitingMessage()?this._windowCloseWaitingJumpGateRequest={x:t,y:e}:(this._windowCloseWaitingJumpGateRequest=void 0,this._player.jumpTo(new _(this,t,e,0,0)))}setUserVar(t,e,s){const a=(t,e)=>{if("number"==typeof t){if("number"!=typeof e)throw new TypeError("数字index変数への数値以外の代入は今のところできません。あらかじめご了承ください。");this._userVar.numbered[t]="number"==typeof e?this.toAssignableValue(e):e}else this._userVar.named.set(t,e)},i=(t=>"number"==typeof t?this._userVar.numbered[t]:this._userVar.named.get(t))(t);if("number"==typeof e)switch(s){case"+=":if("number"==typeof i)a(t,i+e);else{if("string"!=typeof i)throw new TypeError("boolean に number は足せません");a(t,String(i)+e)}break;case"-=":if("number"!=typeof i)throw new TypeError("string/boolean から number は引けません");a(t,i-e);break;case"*=":if("number"!=typeof i)throw new TypeError("string/boolean に number はかけられません");a(t,i*e);break;case"/=":if("number"!=typeof i)throw new TypeError("string/boolean は number で割れません");a(t,i/e);break;default:a(t,e)}else if("string"==typeof e)switch(s){case"+=":a(t,i+e);break;case"=":a(t,e);break;default:throw new TypeError("文字列を -=, *=, /= で複合代入することはできません")}else switch(s){case"+=":if("string"!=typeof i)throw new TypeError("number/boolean に boolean を足せません");a(t,i+e);break;case"=":a(t,e);break;default:throw new TypeError("booleanを -=, *=, /= で複合代入することはできません")}this._messageWindow.update()}toAssignableValue(t){const e=t>0?Math.floor(t):Math.ceil(t),s=Math.max(Math.min(e,V.USER_VAR_NUM_MAX_VALUE),V.USET_VAR_NUM_MIN_VALUE);return this.isNotNumberTypeOrNaN(s)?0:s}isValidUserVarIndex(t){return"number"==typeof t&&t>=0&&t<V.USER_VAR_NUM&&(0|t)===t}isNotNumberTypeOrNaN(t){return"number"!=typeof t||t!=t}getUserVar(t){return this._userVar.numbered[t]}getUserNameVar(t){return this._userVar.named.get(t.toString())}getAllUserNameVar(){return Array.from(this._userVar.named)}recUserPosition(t,e){var s=this._player.getPosition().getPartsCoord();this.setUserVar(t,s.x),this.setUserVar(e,s.y)}jumpRecUserPosition(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];At(s,`v[${t}]`)&&At(a,`v[${e}]`)&&this.forcedJumpGate(s,a)}jumpSpecifiedXPos(t){const e=this._player.getPosition().getPartsCoord();this.forcedJumpGate(t,e.y)}jumpSpecifiedYPos(t){const e=this._player.getPosition().getPartsCoord();this.forcedJumpGate(e.x,t)}outputUserVar(t){console.log("Var["+t+"] = "+this._userVar.numbered[t])}setUserVarHP(t){this.setUserVar(t,this._player.getStatus().energy)}setUserVarHPMAX(t){this.setUserVar(t,this._player.getEnergyMax())}setUserVarAT(t,e){switch(e){case"bare":return void this.setUserVar(t,this._player.getStatusWithoutEquipments().strength);case"equipment":return void this.setUserVar(t,this._player.getStatusOfEquipments().strength);default:return void this.setUserVar(t,this._player.getStatus().strength)}}setUserVarDF(t,e){switch(e){case"bare":return void this.setUserVar(t,this._player.getStatusWithoutEquipments().defence);case"equipment":return void this.setUserVar(t,this._player.getStatusOfEquipments().defence);default:return void this.setUserVar(t,this._player.getStatus().defence)}}setUserVarMONEY(t){this.setUserVar(t,this._player.getStatus().gold)}setHPUserVar(t,e){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const s=this._userVar.numbered[t];if(At(s,`v[${t}]`))return this._player.setEnergy(this.toValidStatusValue(s)),this._player.updateStatusValueBox(),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:e})?(this.gameover(),{isGameOver:!0}):{}}setHPMAXUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];At(e,`v[${t}]`)&&(this._player.setEnergyMax(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setATUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];At(e,`v[${t}]`)&&(this._player.setStrength(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setDFUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];At(e,`v[${t}]`)&&(this._player.setDefence(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setMONEYUserVar(t){if(!this.isValidUserVarIndex(t))throw new Error("ユーザ変数の添字が範囲外です。");const e=this._userVar.numbered[t];At(e,`v[${t}]`)&&(this._player.setGold(this.toValidStatusValue(e)),this._player.updateStatusValueBox())}setUserVarStep(t){this.setUserVar(t,this._player.getMoveCount())}setUserVarVal(t,e){this.setUserVar(t,e)}setUserValOtherUserVal(t,e){this.setUserVar(t,this._userVar.numbered[e])}setUserValAdd(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];"boolean"!=typeof s&&"boolean"!=typeof a&&this.setUserVar(t,s+a)}setUserValSub(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];At(s,`v[${t}]`)&&At(a,`v[${e}]`)&&this.setUserVar(t,s-a)}setUserValMul(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];At(s,`v[${t}]`)&&At(a,`v[${e}]`)&&this.setUserVar(t,s*a)}setUserValDiv(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];At(s,`v[${t}]`)&&At(a,`v[${e}]`)&&this.setUserVar(t,0===a?0:s/a)}setUserValMod(t,e){const s=this._userVar.numbered[t],a=this._userVar.numbered[e];At(s,`v[${t}]`)&&At(a,`v[${e}]`)&&this.setUserVar(t,0===a?0:s%a)}setUserValRandNum(t,e,s){this.setUserVar(t,Math.floor(Math.random()*this.toAssignableValue(e))+s)}_generateShowStrString(t,e){return t.map((t=>{const s=Number(t);if(!isNaN(s))return()=>1===e.version?this._userVar.numbered[s]:s;return null!==ge(t).match(_e)?()=>fe(t,this.generateTokenValues(e.triggerParts)):t.replace(/\\n/g,"\n")}))}speedChangeJudge(t){this._wwaData.permitChangeGameSpeed=t}execSetMacro(t="",e){const s=function(t,e){const s=ge(t),a=s.match(he);if(null!==a){const t=we(a[2],e),s=we(a[4],e);return me(Bt(a[3],t,s),a[1])}const i=s.match(ce);if(null!==i){const t=we(i[1],e),s=we(i[3],e);return me(Bt(i[2],t,s),i[1])}throw new Error("setMacroのフォーマットを満たしていません: "+t)}(t,this.generateTokenValues(e.triggerParts)),{assignee:a,rawValue:i}=s;switch(a){case"energy":if(this._player.setEnergy(this.toValidStatusValue(i)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:!0}))return this._player.updateStatusValueBox(),this.gameover(),{isGameOver:!0};break;case"energyMax":this._player.setEnergyMax(this.toValidStatusValue(i));break;case"strength":this._player.setStrength(this.toValidStatusValue(i));break;case"defence":this._player.setDefence(this.toValidStatusValue(i));break;case"gold":this._player.setGold(this.toValidStatusValue(i));break;case"moveCount":this._player.setMoveCount(this.toValidStatusValue(i));break;case"variable":if(isNaN(s.index)||!this.isValidUserVarIndex(s.index))throw new Error("ユーザ変数の添字が範囲外です。");this.setUserVar(s.index,this.toAssignableValue(i));break;case"map":this.appearPartsEval(e.triggerParts.position,`${s.x}`,`${s.y}`,s.rawValue,v.MAP);break;case"mapObject":this.appearPartsEval(e.triggerParts.position,`${s.x}`,`${s.y}`,s.rawValue,v.OBJECT);break;case"item":this.setPlayerGetItem(s.boxIndex1to12,i);break;case"playerDirection":this._player.setDir(i)}return this._player.updateStatusValueBox(),{}}generateTokenValues(t){var e,s;return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:null!==(s=null===(e=this._playTimeCalculator)||void 0===e?void 0:e.calculateTimeMs())&&void 0!==s?s:0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),itemBox:this._player.getCopyOfItemBox(),partsId:t.id,partsType:t.type,partsPosition:t.position,map:this._wwaData.map,mapObject:this._wwaData.mapObject}}userVarUserIf(t,e){if(void 0===e[5])throw new Error("$if の引数不足 str="+e);const s=parseInt(e[0],10),a=parseInt(e[2],10);if(!this.isValidUserVarIndex(s)||!this.isValidUserVarIndex(a))throw new Error("判定対象のユーザ変数の添字が範囲外です!");const i=this._userVar.numbered[s],r=e[1],n=this._userVar.numbered[a];if(!At(i,`v[${s}]`)||!At(n,`v[${a}]`))return;const o=t=>parseInt(t,10)?v.MAP:v.OBJECT;if(this.compareUserVar(i,r,n)){const s=parseInt(e[3],10),a=e[4],i=e[5],r=o(e[6]);return void this.appearPartsEval(t,a,i,s,r)}if(void 0===e[9])return;const h=parseInt(e[7],10),c=e[8],_=e[9],l=o(e[10]);this.appearPartsEval(t,c,_,h,l)}compareUserVar(t,e,s){switch(e){case"==":return t===s;case"!=":return t!==s;case">=":return t>=s;case">":return t>s;case"<=":return t<=s;case"<":return t<s;default:throw new Error(`未定義の演算子です: ${e}`)}}setPlayerSpeedIndex(t){if(t<V.MIN_SPEED_INDEX||V.MAX_SPEED_INDEX<t)throw new Error("#set_speed の引数が異常です:"+t);this._player.isMoving()?this._playerAndObjectsStopWaitingGameSpeedChangeRequest={speedIndex:t}:(this._wwaData.gameSpeedIndex=this._player.setSpeedIndex(t),this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0)}setUserVarPlayTime(t){var e,s;this.setUserVar(t,null!==(s=null===(e=this._playTimeCalculator)||void 0===e?void 0:e.calculateTimeMs())&&void 0!==s?s:0)}hideStatus(t,e){if(t<0||t>W.length)throw new Error("隠すパラメータは0から3の間で指定してください。");this._changeStatusVisibility(W[t],!e),this._player.updateStatusValueBox()}varMap(t,e,s,a,i){if(!this.isValidUserVarIndex(a))throw new Error("対象のユーザ変数の添字が範囲外です");const r=this._userVar.numbered[a];if("number"!=typeof r)throw new Error("数値でないパーツ番号は指定できません");if(r<0)throw new Error("負のパーツ番号は指定できません");if(i===v.OBJECT&&r>=this.getObjectPartsNum())throw new Error("物体パーツ番号の最大値を超えるパーツ番号が指定されました");if(i===v.MAP&&r>=this.getMapPartsNum())throw new Error("背景パーツ番号の最大値を超えるパーツ番号が指定されました");this.appearPartsEval(t,e,s,r,i)}setItemboxBackgroundPosition(t){this._wwaData.imgItemboxX=t.x,this._wwaData.imgItemboxY=t.y,Array.prototype.forEach.call(gt("div.item-cell"),(e=>{e.style.backgroundPosition=`-${t.x*V.CHIP_SIZE}px -${t.y*V.CHIP_SIZE}px`}))}_getVirtualPadButton(t){if(!ht.includes(t))throw new ReferenceError(`WWAの仮想パッド ${t} は存在しません。`);return this._virtualPadButtonElements[t]}_setVirtualPadTouch(t){this._getVirtualPadButton(t).classList.add("wwa-virtualpad__button--pressed")}_setVirtualPadLeave(t){this._getVirtualPadButton(t).classList.remove("wwa-virtualpad__button--pressed")}_actionGamePadButtonItemMacro(){if(!this._wwaData.gamePadButtonItemTable)return!1;var t,e,s,a;for(t=this._wwaData.gamePadButtonItemTable.length,e=0;e<t;e++)if(s=this._wwaData.gamePadButtonItemTable[e]){switch(a=!1,e){case tt.BUTTON_CROSS_KEY_LEFT:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_LEFT)&&(a=!0);break;case tt.BUTTON_CROSS_KEY_RIGHT:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_RIGHT)&&(a=!0);break;case tt.BUTTON_CROSS_KEY_UP:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_UP)&&(a=!0);break;case tt.BUTTON_CROSS_KEY_DOWN:this._gamePadStore.crossPressed(tt.BUTTON_CROSS_KEY_DOWN)&&(a=!0)}if(this._gamePadStore.buttonTrigger(e)&&(a=!0),a&&this.onselectitem(s))return!0}return!1}setGamePadButtonItemTable(t,e){var s,a;if(!this._wwaData.gamePadButtonItemTable)for(a in this._wwaData.gamePadButtonItemTable=[],tt)s=a,this._wwaData.gamePadButtonItemTable[s]=0;this._wwaData.gamePadButtonItemTable.length>t&&(this._wwaData.gamePadButtonItemTable[t]=e)}_checkSaveDataCompatibility(t,e,s){return void 0!==t&&t!==this._wwaData.worldName?ts.UNMATCHED_WORLD_NAME:s&&s!==is(this._wwaData.worldName,this._wwaData.worldPassNumber)?ts.UNMATCHED_WORLD_PASS_NUMBER:this._isDisallowLoadOldSave&&e!==this.checkOriginalMapString?ts.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:null}isVisibleStatus(t){switch(t){case"energy":return this._wwaData.isVisibleStatusEnergy;case"strength":return this._wwaData.isVisibleStatusStrength;case"defence":return this._wwaData.isVisibleStatusDefence;case"gold":return this._wwaData.isVisibleStatusGold;default:throw new Error("存在しないステータスが与えられました")}}_changeStatusVisibility(t,e){switch(t){case"energy":return void(this._wwaData.isVisibleStatusEnergy=e);case"strength":return void(this._wwaData.isVisibleStatusStrength=e);case"defence":return void(this._wwaData.isVisibleStatusDefence=e);case"gold":return void(this._wwaData.isVisibleStatusGold=e);default:throw new Error("存在しないステータスが与えられました")}}shouldApplyGameOver({isCalledByMacro:t}){return t?"default"===this._wwaData.gameOverPolicy:"default"===this._wwaData.gameOverPolicy||"except-macro"===this._wwaData.gameOverPolicy}getEnemyStatus(){return this._monster?this._monster.status:-1}setEnemyStatus(t){if(!this._monster)throw new Error("敵が存在しません");this._monster.setStatus(t)}getGameStatus(){var t,e;return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:null!==(e=null===(t=this._playTimeCalculator)||void 0===t?void 0:t.calculateTimeMs())&&void 0!==e?e:0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),itemBox:this._player.getCopyOfItemBox()}}_debugEvalString(){if(this._player.isControllable())try{const t=this._debugConsoleElement.querySelector(".console-text-area");if(!(t instanceof HTMLTextAreaElement))throw new Error("要素 #wwa-debug-console > .console-text-area が textarea 要素でありません");this._execEvalString(t.value)}catch(t){console.error(t),this.generatePageAndReserveExecution("解析中にエラーが発生しました :\n"+t.message,!1,!0)}}_execEvalString(t){try{const e=this.convertWwaNodes(t);this.evalCalcWwaNodeGenerator.evalWwaNodes(e)}catch(t){console.error(t),this.generatePageAndReserveExecution("解析中にエラーが発生しました :\n"+t.message,!1,!0)}}movePlayer(t){this._player.controll(t)}isPlayerWaitingMessage(){return this._player.isWaitingMessage()}_loadSystemMessage(t){if(this._wwaData.customSystemMessages[t])return this._wwaData.customSystemMessages[t];const e=i[t];if(e.mapdataParams)switch(e.mapdataParams.messageArea){case"message":{const t=this._wwaData.message[e.mapdataParams.index];return""===t?e.defaultText:t}case"systemMessage":{const t=this._wwaData.systemMessage[e.mapdataParams.index];return""===t?e.defaultText:t}default:throw new Error("システムエラー: システムメッセージの設定がおかしいようです")}return e.defaultText}resolveSystemMessage(t){const e=this._loadSystemMessage(t);switch(t){case a.ITEM_SELECT_TUTORIAL:return e.replaceAll("%HOW_TO_USE_ITEM%",(()=>{switch(this.userDevice.device){case A.PC:return"右のボックスを選択する";case A.VR:return"右のボックスをクリックする";case A.SP:return"右のボックスをタップする";case A.GAME:switch(this.userDevice.os){case S.NINTENDO:return"Xボタンを押すか、右のボックスをタップする";case S.PLAY_STATION:return"△ボタンを押す";case S.XBOX:return"Yボタンを押す";default:return"右のボックスを選択する"}default:return"右のボックスを選択する"}})());case a.GAME_SPEED_CHANGED:{const t=this._player.getSpeedIndex();return e.replaceAll("%GAME_SPEED_NAME%",k[t]).replaceAll("%HIGH_SPEED_MESSAGE%",this.isBattleSpeedIndexForQuickBattle(t)?"戦闘も速くなります。\n":"").replaceAll("%MAX_SPEED_INDEX%",String(V.MAX_SPEED_INDEX+1)).replaceAll("%GAME_SPEED_INDEX%",String(t+1)).replaceAll("%SPEED_UP_BUTTON%",this.userDevice.os===S.NINTENDO?"+ボタン":"Pキー").replaceAll("%SPEED_DOWN_BUTTON%",this.userDevice.os===S.NINTENDO?"-ボタン":"Iキー")}default:return e}}overwriteSystemMessage(t,e){this._wwaData.customSystemMessages[t]=e}}var Ui=!1;function ki(){if(navigator.userAgent.match(/(?:msie|trident)/i)||navigator.userAgent.match(/edge/i))return void alert("このゲームをプレイするには、Google Chrome や Mozilla Firefox などの最新のブラウザでこのページを開いてください。\nご利用の環境のサポートは、既に終了しています。");Array.prototype.forEach.call(gt("a.wwa-copyright"),(t=>{t.addEventListener("click",(()=>{Ui=!0}))})),window.addEventListener("beforeunload",(t=>{var e="このページを離れますか?";if(Ui)return Ui=!1,t.returnValue=e,e}));var t=dt("wwa-wrapper").getAttribute("data-wwa-title-img");const e=dt("wwa-wrapper").getAttribute("data-wwa-virtualpad-enable"),s=null!==e&&null!==e.match(/^true$/i);We(dt("wwa-wrapper"),t,s);var a=dt("wwa-wrapper").getAttribute("data-wwa-mapdata"),i=dt("wwa-wrapper").getAttribute("data-wwa-audio-dir"),r=dt("wwa-wrapper").getAttribute("data-wwa-var-dump-elm"),n=null,o="true"===dt("wwa-wrapper").getAttribute("data-wwa-display-user-vars"),h=dt("wwa-wrapper").getAttribute("data-wwa-user-var-names-file");dt("wwa-wrapper").hasAttribute("data-wwa-var-dump-elm")&&o&&(n=function(t){const e=Et(t);return e instanceof HTMLElement?(e.classList.add(bi),e.appendChild(vi({kind:"named"})),e.appendChild(vi({kind:"numbered"})),e):null}(r));var c=!0;dt("wwa-wrapper").getAttribute("data-wwa-urlgate-enable").match(/^false$/i)&&(c=!1);var _=dt("wwa-wrapper").getAttribute("data-wwa-classic-mode-enable"),l=!1;null!==_&&_.match(/^true$/i)&&(l=!0);var u=!0,d=dt("wwa-wrapper").getAttribute("data-wwa-item-effect-enable");null!==d&&d.match(/^false$/i)&&(u=!1);let p=!1;const E=dt("wwa-wrapper").getAttribute("data-wwa-use-go-to-wwa");null!==E&&E.match(/^true$/i)&&(p=!0);const m=dt("wwa-wrapper").getAttribute("data-wwa-virtualpad-viewport-fit-enable");ke()&&null!==m&&m.match(/^true$/i)&&(!function(){const t=document.getElementsByTagName("head")[0];let e=document.createElement("meta");e.setAttribute("name","viewport"),t.appendChild(e),ut()}(),window.addEventListener("resize",ut));const g=dt("wwa-wrapper").getAttribute("data-wwa-virtualpad-controller-elm"),w=s&&g?mt(g):null,f=(()=>{const t=dt("wwa-wrapper").getAttribute("data-wwa-disallow-load-old-save");return!(null===t||!t.match(/^true$/i))})();Li=new Bi(a,c,t,l,u,p,i,f,n,h,o,s,w)}"complete"===document.readyState?setTimeout(ki):window.addEventListener("load",(function(){setTimeout(ki)}))}()}();
|
|
1
|
+
/*! @license WWA Wing Engine (c) NAO / WWA Wing Team / MIT License https://github.com/WWAWing/WWAWing/blob/v4/packages/engine/LICENSE
|
|
2
|
+
@license crypto-js (c) Jeff Mott / Evan Vosberg / MIT License https://github.com/brix/crypto-js/blob/develop/LICENSE */
|
|
3
|
+
var WWA=(function(ds){"use strict";var P;function ps(t,e=new WeakMap){if(typeof t=="symbol")throw new TypeError("symbol は変換対象外です");if(typeof t!="object"||t===null)return t;if(e.has(t))return e.get(t);if(Array.isArray(t)){const a=[];e.set(t,a);for(const i of t)a.push(ps(i,e));return a}const s=new Map;e.set(t,s);for(const[a,i]of Object.entries(t)){if(typeof a!="string")throw new TypeError("文字列以外のキーは変換できません");s.set(a,ps(i,e))}return s}function Ct(t,e=new WeakMap){if(typeof t=="symbol")throw new TypeError("symbol は変換対象外です");if(t instanceof Map){if(e.has(t))return e.get(t);const s=Object.create(null);e.set(t,s);for(const[a,i]of t.entries())s[a]=Ct(i,e);return s}if(Array.isArray(t)){if(e.has(t))return e.get(t);const s=[];e.set(t,s);for(const a of t)s.push(Ct(a,e));return s}if(typeof t=="object"&&t!==null)throw new TypeError("Mapおよび配列でないオブジェクトは変換対象外です");return t}function jt(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol"||t===null||t===void 0}const mi=Object.freeze({CONFIRM_LOAD_SOUND:{code:1,defaultText:"効果音・BGMデータをロードしますか?",mapdataParams:{messageArea:"systemMessage",index:2}},NO_MONEY:{code:101,defaultText:"所持金がたりない。",mapdataParams:{messageArea:"message",index:6}},NO_ITEM:{code:201,mapdataParams:{messageArea:"message",index:7},defaultText:"アイテムを持っていない。"},ITEM_BOX_FULL:{code:202,defaultText:"これ以上、アイテムを持てません。",mapdataParams:{messageArea:"systemMessage",index:1}},ITEM_SELECT_TUTORIAL:{code:203,defaultText:`このアイテムは%HOW_TO_USE_ITEM%ことで使用できます。
|
|
4
|
+
使用できるアイテムは色枠で囲まれます。`,mapdataParams:{messageArea:"systemMessage",index:0}},CONFIRM_USE_ITEM:{code:204,defaultText:`このアイテムを使用します。
|
|
5
|
+
よろしいですか?`,mapdataParams:{messageArea:"message",index:8}},CANNOT_DAMAGE_MONSTER:{code:301,defaultText:"相手の防御能力が高すぎる!"},BATTLE_NOT_SETTLED:{code:302,defaultText:"勝負がつかない!"},CONFIRM_ENTER_URL_GATE:{code:401,defaultText:`他のページにリンクします。
|
|
6
|
+
よろしいですか?`,mapdataParams:{messageArea:"message",index:5}},GAME_SPEED_CHANGED:{code:501,defaultText:`移動速度を【%GAME_SPEED_NAME%】に切り替えました。
|
|
7
|
+
%HIGH_SPEED_MESSAGE%(%MAX_SPEED_INDEX%段階中%GAME_SPEED_INDEX%)
|
|
8
|
+
速度を落とすには%SPEED_DOWN_BUTTON%, 速度を上げるには%SPEED_UP_BUTTON%を押してください。`},GAME_SPEED_CHANGE_DISABLED:{code:502,defaultText:`ここでは移動速度を
|
|
9
|
+
変更できません。`}}),Aa=Object.keys(mi),Ie=Aa.reduce((t,e)=>({...t,[e]:e}),{}),Ei=mi;function xi(t){return Aa.some(e=>e===t)}function gi(t){for(let e of Aa)if(Ei[e].code===t)return e}class pt{add(e){return this.strength+=e.strength,this.defence+=e.defence,this}plus(e){return new pt(this.strength+e.strength,this.defence+e.defence)}minus(e){return new pt(this.strength-e.strength,this.defence-e.defence)}equals(e){return this.strength===e.strength&&this.defence===e.defence}constructor(e,s){this.strength=e,this.defence=s}}class Ae extends pt{add(e){return e instanceof Ae&&(this.energy+=e.energy,this.gold+=e.gold),this.strength+=e.strength,this.defence+=e.defence,this}plus(e){return e instanceof Ae?new Ae(this.energy+e.energy,this.strength+e.strength,this.defence+e.defence,this.gold+e.gold):new Ae(this.energy,this.strength+e.strength,this.defence+e.defence,this.gold)}minus(e){return e instanceof Ae?new Ae(this.energy-e.energy,this.strength-e.strength,this.defence-e.defence,this.gold-e.gold):new Ae(this.energy,this.strength-e.strength,this.defence-e.defence,this.gold)}equals(e){return this.energy===e.energy&&this.strength===e.strength&&this.defence===e.defence&&this.gold===e.gold}calculateScore(e){return Object.keys(e.rates).reduce((s,a)=>s+e.rates[a]*this[a],0)}clone(){return new Ae(this.energy,this.strength,this.defence,this.gold)}constructor(e,s,a,i){super(s,a),this.energy=e,this.gold=i}}class Y{equals(e){return this.x===e.x&&this.y===e.y}substract(e){return new Y(this.x-e.x,this.y-e.y)}clone(){return new Y(this.x,this.y)}convertIntoPosition(e){return new Be(e,this.x,this.y,0,0)}getDirectionTo(e){return this.x<e.x?this.y>e.y?9:this.y===e.y?6:3:this.x===e.x?this.y>e.y?8:this.y===e.y?5:2:this.y>e.y?7:this.y===e.y?4:1}toString(){return"("+this.x+", "+this.y+")"}constructor(e=0,s=0){this.x=e,this.y=s}}let Be=class Kt{getPartsCoord(){return this._partsCoord}getOffsetCoord(){return this._offsetCoord}getScreenTopPosition(){var e=Math.floor(this._partsCoord.x/(o.H_PARTS_NUM_IN_WINDOW-1))*(o.H_PARTS_NUM_IN_WINDOW-1),s=Math.floor(this._partsCoord.y/(o.V_PARTS_NUM_IN_WINDOW-1))*(o.V_PARTS_NUM_IN_WINDOW-1);return new Kt(this._wwa,e,s,0,0)}getDefaultCameraPosition(){var e=this.getScreenTopPosition(),s=e.getPartsCoord(),a=this._wwa.getMapWidth(),i=e.getPartsCoord().clone();return s.x===a-1&&i.x--,s.y===a-1&&i.y--,i.convertIntoPosition(this._wwa).getScreenTopPosition()}getNextJustPosition(e){if(e!==void 0){var s=this._partsCoord;return new Kt(this._wwa,s.x+ya[e],s.y+Sa[e],0,0)}var a=this._partsCoord.x,i=this._partsCoord.y;return this._offsetCoord.x<0?a--:this._offsetCoord.x>0&&a++,this._offsetCoord.y<0?i--:this._offsetCoord.y>0&&i++,new Kt(this._wwa,a,i,0,0)}getNextFramePosition(e,s,a){var i=this._partsCoord.x,r=this._partsCoord.y,n=this._offsetCoord.x+ya[e]*s,h=this._offsetCoord.y+Sa[e]*a;if(n<0){var u=Math.floor(Math.abs(n)/o.CHIP_SIZE);i-=u,n=(n+u*o.CHIP_SIZE)%o.CHIP_SIZE}if(h<0){var c=Math.floor(Math.abs(h)/o.CHIP_SIZE);r-=c,h=(h+c*o.CHIP_SIZE)%o.CHIP_SIZE}return n>=o.CHIP_SIZE&&(i+=Math.floor(n/o.CHIP_SIZE),n=(n+o.CHIP_SIZE)%o.CHIP_SIZE),h>=o.CHIP_SIZE&&(r+=Math.floor(h/o.CHIP_SIZE),h=(h+o.CHIP_SIZE)%o.CHIP_SIZE),new Kt(this._wwa,i,r,n,h)}isJustPosition(){return this._offsetCoord.x==0&&this._offsetCoord.y==0}isScreenTopPosition(){var e=this.getScreenTopPosition();return this.equals(e)}equals(e){return this._partsCoord.equals(e.getPartsCoord())&&this._offsetCoord.equals(e.getOffsetCoord())}isInCameraRange(e,s=!1){var a=e.getPosition()._partsCoord,i=this._partsCoord.x,r=this._partsCoord.y,n=s?1:0;return a.x<=i&&i<a.x+o.H_PARTS_NUM_IN_WINDOW-n&&a.y<=r&&r<a.y+o.V_PARTS_NUM_IN_WINDOW-n}hasLocalGate(){return this._wwa.getMapTypeByPosition(this)===o.MAP_LOCALGATE||this._wwa.getObjectTypeByPosition(this)===o.OBJECT_LOCALGATE}clone(){return new Kt(this._wwa,this._partsCoord.x,this._partsCoord.y,this._offsetCoord.x,this._offsetCoord.y)}constructor(e,s,a,i=0,r=0){if(this._wwa=e,this._wwa===void 0)throw new Error("WWAのインスタンスが存在しません. ");var n=this._wwa.getMapWidth();if(s<0||s>=n||s>=n-1&&i>0||a<0||a>=n||a>=n-1&&r>0)throw new Error("範囲外の座標です!! parts:("+s+", "+a+"), offset:("+i+", "+r+"), mapWidth = "+n);this._partsCoord=new Y(s,a),this._offsetCoord=new Y(i,r)}};class vi{constructor(e,s,a){this.destPos=e.clone(),this.srcPos=s.clone(),this.srcSize=a.clone()}}class wi{constructor(e,s,a,i,r){this.partsIDObj=e,this.x=s,this.y=a,this.isStatic=i,this.isFighting=r}}var Ye=(t=>(t[t.GOTO_WWA=0]="GOTO_WWA",t[t.BATTLE_REPORT=1]="BATTLE_REPORT",t[t.GAME_END=2]="GAME_END",t))(Ye||{}),N=(t=>(t[t.UNUSED=0]="UNUSED",t[t.LEFT=4]="LEFT",t[t.RIGHT=6]="RIGHT",t[t.DOWN=2]="DOWN",t[t.UP=8]="UP",t[t.LEFT_DOWN=1]="LEFT_DOWN",t[t.LEFT_UP=7]="LEFT_UP",t[t.RIGHT_DOWN=3]="RIGHT_DOWN",t[t.RIGHT_UP=9]="RIGHT_UP",t[t.NO_DIRECTION=5]="NO_DIRECTION",t))(N||{});const ya=[0,-1,0,1,-1,0,1,-1,0,1],Sa=[0,1,1,1,0,0,0,-1,-1,-1];var ne=(t=>(t[t.YES=0]="YES",t[t.NO=1]="NO",t[t.UNSELECTED=2]="UNSELECTED",t))(ne||{}),ye=(t=>(t[t.MAP=0]="MAP",t[t.OBJECT=1]="OBJECT",t[t.CHOICE_YES=2]="CHOICE_YES",t[t.CHOICE_NO=3]="CHOICE_NO",t))(ye||{}),Lt=(t=>(t[t.NORMAL=0]="NORMAL",t[t.CAN_USE=1]="CAN_USE",t[t.NOT_DISAPPEAR=2]="NOT_DISAPPEAR",t))(Lt||{}),W=(t=>(t[t.MAP=1]="MAP",t[t.OBJECT=0]="OBJECT",t))(W||{});class lo{constructor(){var e=window.navigator.userAgent;this.os=this._getOS(e),this.browser=this.getBrowser(e),this.device=this.getDevice()}_getOS(e){return e.match(/xbox/i)?9:e.match(/windows/i)?1:e.match(/macintosh/i)?"ontouchstart"in document?5:2:e.match(/iphone|ipad|ipod/i)?5:e.match(/oculus/i)?8:e.match(/android/i)?4:e.match(/nintendo/i)?6:e.match(/playstation/i)?7:e.match(/linux/i)?3:9999}getBrowser(e){return e.match(/chrome/i)?1:e.match(/firefox/i)?2:e.match(/safari/i)?3:9999}getDevice(){switch(this.os){case 1:case 2:case 3:return 1;case 5:case 4:return 2;case 8:return 3;case 6:case 7:case 9:return 4}return 9999}}var We=(t=>(t[t.WINDOWS=1]="WINDOWS",t[t.MACINTOSH=2]="MACINTOSH",t[t.LINUX=3]="LINUX",t[t.ANDROID=4]="ANDROID",t[t.IOS=5]="IOS",t[t.NINTENDO=6]="NINTENDO",t[t.PLAY_STATION=7]="PLAY_STATION",t[t.OCULUS=8]="OCULUS",t[t.XBOX=9]="XBOX",t[t.OTHERS=9999]="OTHERS",t))(We||{}),be=(t=>(t[t.PC=1]="PC",t[t.SP=2]="SP",t[t.VR=3]="VR",t[t.GAME=4]="GAME",t[t.OTHERS=9999]="OTHERS",t))(be||{}),Ai=(t=>(t[t.CHROME=1]="CHROME",t[t.FIREFOX=2]="FIREFOX",t[t.SAFARI=3]="SAFARI",t[t.OTHERS=9999]="OTHERS",t))(Ai||{}),H=(t=>(t[t.NONE=0]="NONE",t[t.CALL_BY_MAP_PARTS=1]="CALL_BY_MAP_PARTS",t[t.CALL_BY_OBJECT_PARTS=2]="CALL_BY_OBJECT_PARTS",t[t.CALL_BY_ITEM_USE=3]="CALL_BY_ITEM_USE",t[t.CALL_BY_QUICK_SAVE=4]="CALL_BY_QUICK_SAVE",t[t.CALL_BY_QUICK_LOAD=5]="CALL_BY_QUICK_LOAD",t[t.CALL_BY_RESTART_GAME=6]="CALL_BY_RESTART_GAME",t[t.CALL_BY_GOTO_WWA=7]="CALL_BY_GOTO_WWA",t[t.CALL_BY_PASSWORD_SAVE=8]="CALL_BY_PASSWORD_SAVE",t[t.CALL_BY_PASSWORD_LOAD=9]="CALL_BY_PASSWORD_LOAD",t[t.CALL_BY_END_GAME=10]="CALL_BY_END_GAME",t[t.CALL_BY_SUSPEND=11]="CALL_BY_SUSPEND",t[t.CALL_BY_LOG_QUICK_SAVE=12]="CALL_BY_LOG_QUICK_SAVE",t[t.CALL_BY_LOG_QUICK_LOAD=13]="CALL_BY_LOG_QUICK_LOAD",t))(H||{}),se=(t=>(t[t.QUICK_LOAD=0]="QUICK_LOAD",t[t.QUICK_SAVE=1]="QUICK_SAVE",t[t.RESTART_GAME=2]="RESTART_GAME",t[t.GOTO_WWA=3]="GOTO_WWA",t))(se||{}),Xt=(t=>(t[t.UP=0]="UP",t[t.DOWN=1]="DOWN",t))(Xt||{}),Dt=(t=>(t[t.QUICK_LOAD=0]="QUICK_LOAD",t[t.RESTART_GAME=1]="RESTART_GAME",t[t.PASSWORD=2]="PASSWORD",t))(Dt||{}),He=(t=>(t[t.STATIC=0]="STATIC",t[t.CHASE_PLAYER=1]="CHASE_PLAYER",t[t.RUN_OUT=2]="RUN_OUT",t[t.HANG_AROUND=3]="HANG_AROUND",t))(He||{}),ht=(t=>(t[t.MODE_X=0]="MODE_X",t[t.MODE_Y=1]="MODE_Y",t[t.UNDECIDED=2]="UNDECIDED",t))(ht||{}),ue=["cell-load","cell-save","cell-restart","cell-gotowwa"],F=(t=>(t[t.UNDEFINED=0]="UNDEFINED",t[t.IMGPLAYER=1]="IMGPLAYER",t[t.IMGYESNO=2]="IMGYESNO",t[t.HPMAX=3]="HPMAX",t[t.SAVE=4]="SAVE",t[t.ITEM=5]="ITEM",t[t.DEFAULT=6]="DEFAULT",t[t.OLDMAP=7]="OLDMAP",t[t.PARTS=8]="PARTS",t[t.MOVE=9]="MOVE",t[t.MAP=10]="MAP",t[t.DIRMAP=11]="DIRMAP",t[t.IMGFRAME=12]="IMGFRAME",t[t.IMGBOM=13]="IMGBOM",t[t.DELPLAYER=14]="DELPLAYER",t[t.FACE=15]="FACE",t[t.EFFECT=16]="EFFECT",t[t.GAMEOVER=17]="GAMEOVER",t[t.IMGCLICK=18]="IMGCLICK",t[t.STATUS=19]="STATUS",t[t.EFFITEM=20]="EFFITEM",t[t.COLOR=21]="COLOR",t[t.WAIT=22]="WAIT",t[t.SOUND=23]="SOUND",t[t.JUMPGATE=24]="JUMPGATE",t[t.RECPOSITION=25]="RECPOSITION",t[t.JUMPRECPOSITION=26]="JUMPRECPOSITION",t[t.CONSOLE_LOG=27]="CONSOLE_LOG",t[t.COPY_HP_TO=28]="COPY_HP_TO",t[t.SET_HP=29]="SET_HP",t[t.COPY_HPMAX_TO=30]="COPY_HPMAX_TO",t[t.SET_HPMAX=31]="SET_HPMAX",t[t.COPY_AT_TO=32]="COPY_AT_TO",t[t.SET_AT=33]="SET_AT",t[t.COPY_DF_TO=34]="COPY_DF_TO",t[t.SET_DF=35]="SET_DF",t[t.COPY_MONEY_TO=36]="COPY_MONEY_TO",t[t.SET_MONEY=37]="SET_MONEY",t[t.COPY_STEP_COUNT_TO=38]="COPY_STEP_COUNT_TO",t[t.VAR_SET_VAL=39]="VAR_SET_VAL",t[t.VAR_SET=40]="VAR_SET",t[t.VAR_ADD=41]="VAR_ADD",t[t.VAR_SUB=42]="VAR_SUB",t[t.VAR_MUL=43]="VAR_MUL",t[t.VAR_DIV=44]="VAR_DIV",t[t.VAR_SET_RAND=45]="VAR_SET_RAND",t[t.SHOW_STR=46]="SHOW_STR",t[t.GAME_SPEED=47]="GAME_SPEED",t[t.IF=50]="IF",t[t.SET_SPEED=51]="SET_SPEED",t[t.COPY_TIME_TO=52]="COPY_TIME_TO",t[t.HIDE_STATUS=53]="HIDE_STATUS",t[t.VAR_MAP=54]="VAR_MAP",t[t.VAR_MOD=55]="VAR_MOD",t[t.NO_GAMEOVER=56]="NO_GAMEOVER",t[t.ELSE_IF=57]="ELSE_IF",t[t.ELSE=58]="ELSE",t[t.END_IF=59]="END_IF",t[t.SET=60]="SET",t[t.MAP2=61]="MAP2",t[t.SHOW_STR2=62]="SHOW_STR2",t[t.CONSOLE_LOG2=63]="CONSOLE_LOG2",t[t.DELAYBGM=64]="DELAYBGM",t[t.SYSMSG=65]="SYSMSG",t[t.PICTURE=66]="PICTURE",t[t.GAMEPAD_BUTTON=100]="GAMEPAD_BUTTON",t[t.OLDMOVE=101]="OLDMOVE",t[t.LEGACY_IF=10050]="LEGACY_IF",t))(F||{}),_o={"":0,$imgplayer:1,$imgyesno:2,$hpmax:3,$save:4,$item:5,$default:6,$oldmap:7,$parts:8,$move:9,$map:10,$dirmap:11,$imgframe:12,$imgbom:13,$delplayer:14,$face:15,$effect:16,$gameover:17,$imgclick:18,$status:19,$effitem:20,$color:21,$wait:22,$sound:23,$jumpgate:24,$rec_pos:25,$jump_rec_pos:26,$console_log:27,$copy_hp_to:28,$set_hp:29,$copy_hpmax_to:30,$set_hpmax:31,$copy_at_to:32,$set_at:33,$copy_df_to:34,$set_df:35,$copy_money_to:36,$set_money:37,$copy_step_count_to:38,$var_set_val:39,$var_set:40,$var_add:41,$var_sub:42,$var_mul:43,$var_div:44,$var_set_rand:45,$show_str:46,$game_speed:47,$if:50,$set_speed:51,$copy_time_to:52,$hide_status:53,$var_map:54,$var_mod:55,$no_gameover:56,$else_if:57,$else:58,$endif:59,$set:60,$map2:61,$show_str2:62,$console_log2:63,$delaybgm:64,$sysmsg:65,$picture:66,$gamepad_button:100,$oldmove:101},ot=(t=>(t[t.ENERGY=0]="ENERGY",t[t.STRENGTH=1]="STRENGTH",t[t.DEFENCE=2]="DEFENCE",t[t.GOLD=3]="GOLD",t[t.MOVES=4]="MOVES",t))(ot||{}),ge=(t=>(t[t.ENERGY=0]="ENERGY",t[t.STRENGTH=1]="STRENGTH",t[t.DEFENCE=2]="DEFENCE",t[t.GOLD=3]="GOLD",t[t.WIDE_CELL_ROW=4]="WIDE_CELL_ROW",t[t.ITEM_BG=5]="ITEM_BG",t[t.MAIN_FRAME=6]="MAIN_FRAME",t))(ge||{}),de=(t=>(t[t.DECISION=1]="DECISION",t[t.ATTACK=3]="ATTACK",t[t.BGM_LB=70]="BGM_LB",t[t.NO_SOUND=99]="NO_SOUND",t))(de||{});const Re=[1,2,5,8,10,20],fo=["超低速","低速","準低速","中速","高速","超高速"],yi=["energy","strength","defence","gold"];let o=(P=class{},P.WWA_HOME="http://wwajp.com",P.ITEMBOX_SIZE=12,P.MAP_ATR_MAX=60,P.OBJ_ATR_MAX=60,P.OLD_MAP_ATR_MAX=40,P.OLD_OBJ_ATR_MAX=40,P.ATR_TYPE=3,P.ATR_MODE=4,P.ATR_STRING=5,P.ATR_X=6,P.ATR_Y=7,P.ATR_X2=8,P.ATR_Y2=9,P.ATR_ENERGY=10,P.ATR_STRENGTH=11,P.ATR_DEFENCE=12,P.ATR_GOLD=13,P.ATR_ITEM=14,P.ATR_NUMBER=15,P.ATR_JUMP_X=16,P.ATR_MOVE=16,P.ATR_JUMP_Y=17,P.ATR_SOUND=19,P.ATR_APPERANCE_BASE=20,P.REL_ATR_APPERANCE_ID=0,P.REL_ATR_APPERANCE_X=1,P.REL_ATR_APPERANCE_Y=2,P.REL_ATR_APPERANCE_TYPE=3,P.REL_ATR_APPERANCE_UNIT_LENGTH=4,P.ATR_RANDOM_BASE=10,P.RANDOM_ATR_NUM=10,P.RANDOM_ITERATION_MAX=10,P.MAP_STREET=0,P.MAP_WALL=1,P.MAP_LOCALGATE=2,P.MAP_URLGATE=4,P.OBJECT_NORMAL=0,P.OBJECT_MESSAGE=1,P.OBJECT_URLGATE=2,P.OBJECT_STATUS=3,P.OBJECT_ITEM=4,P.OBJECT_DOOR=5,P.OBJECT_MONSTER=6,P.OBJECT_SCORE=11,P.OBJECT_SELL=14,P.OBJECT_BUY=15,P.OBJECT_RANDOM=16,P.OBJECT_SELECT=17,P.OBJECT_LOCALGATE=18,P.SYSTEM_MESSAGE_NUM=20,P.IMGPOS_DEFAULT_YESNO_X=3,P.IMGPOS_DEFAULT_YESNO_Y=1,P.IMGRELPOS_YESNO_YES_X=0,P.IMGRELPOS_YESNO_NO_X=1,P.IMGRELPOS_YESNO_YESP_X=2,P.IMGRELPOS_YESNO_NOP_X=3,P.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0,P.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0,P.IMGPOS_DEFAULT_FRAME_X=0,P.IMGPOS_DEFAULT_FRAME_Y=1,P.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3,P.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3,P.DEFAULT_DISABLE_SAVE=!1,P.DEFAULT_OLDMAP=!1,P.DEFAULT_OBJECT_NO_COLLAPSE=!1,P.SPLASH_SCREEN_DISP_MILLS=100,P.DEFAULT_FRAME_INTERVAL=20,P.GAMEOVER_FRAME_INTERVAL=50,P.YESNO_PRESS_DISP_FRAME_NUM=20,P.WAIT_TIME_FRAME_NUM=6,P.CHIP_SIZE=40,P.MAP_WINDOW_WIDTH=440,P.MAP_WINDOW_HEIGHT=440,P.H_PARTS_NUM_IN_WINDOW=P.MAP_WINDOW_WIDTH/P.CHIP_SIZE,P.V_PARTS_NUM_IN_WINDOW=P.MAP_WINDOW_HEIGHT/P.CHIP_SIZE,P.MIN_SPEED_INDEX=0,P.MAX_SPEED_INDEX=Re.length-1,P.QUICK_BATTLE_SPEED_INDECIES=[Re.length-2,Re.length-1],P.ANIMATION_REP_HALF_FRAME=22,P.PLAYER_LOOKING_AROUND_START_FRAME=P.ANIMATION_REP_HALF_FRAME*4,P.RELATIVE_COORD_BIAS=1e4,P.RELATIVE_COORD_LOWER=P.RELATIVE_COORD_BIAS-1e3,P.PLAYER_COORD=P.RELATIVE_COORD_BIAS-1e3,P.LOCALGATE_PLAYER_WAIT_FRAME=5,P.STATUS_CHANGED_EFFECT_FRAME_NUM=20,P.PASSABLE_OBJECT=1,P.APPERANCE_PARTS_MIN_INDEX=0,P.APPERANCE_PARTS_MAX_INDEX=9,P.APPERANCE_PARTS_MIN_INDEX_NO=5,P.APPERANCE_PARTS_MAX_INDEX_YES=4,P.FADEOUT_SPEED=8,P.STATUS_MINUS_BORDER=3e4,P.ITEMBOX_IS_FULL=-1,P.BATTLE_INTERVAL_FRAME_NUM=10,P.BATTLE_SPEED_CHANGE_TURN_NUM=40,P.RANDOM_MOVE_ITERATION_NUM=50,P.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31=8,P.BATTLE_ESTIMATE_MONSTER_TYPE_MAX=8,P.SOUND_MAX=100,P.ITEM_BORDER_IMG_DATA_URL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAArklEQVRYR+2Y0QqAIAxFt///aENJHwxxuJUSxzeh3S7HXaNpEkly4FIRzba0GEyHeVTN7jqDWvb7V4Y1NLibZIY0NbiL5G3MZLCe / 1fn3XJgJYjB7mgg6O1VCEKwXo79JeklY62nB62kRs9BEIKkeNIDhISQEBJC4k0BBCF4D7D4cV9shf99ixdB + MrM0y3fa3zV05D45GOqhwPMGPkYlccIOEY2VKUN0UNVXxC7ADj7mDi9aFZZAAAAAElFTkSuQmCC",P.LOAD_STAGE_MAX_EXCEPT_AUDIO=7,P.WWA_STYLE_TAG_ID="wwa-additional-style",P.DEFAULT_FRAME_COLOR_R=255,P.DEFAULT_FRAME_COLOR_G=255,P.DEFAULT_FRAME_COLOR_B=255,P.DEFAULT_FRAMEOUT_COLOR_R=96,P.DEFAULT_FRAMEOUT_COLOR_G=96,P.DEFAULT_FRAMEOUT_COLOR_B=96,P.DEFAULT_STRBACK_COLOR_R=0,P.DEFAULT_STRBACK_COLOR_G=0,P.DEFAULT_STRBACK_COLOR_B=0,P.DEFAULT_STATUS_COLOR_R=0,P.DEFAULT_STATUS_COLOR_G=0,P.DEFAULT_STATUS_COLOR_B=0,P.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM=20,P.WWAP_SERVER_OLD="http://wwawing.com/wwap",P.WWAP_SERVER="https://wwaphoenix.github.io",P.WWAP_SERVER_AUDIO_DIR="audio",P.WWAP_SERVER_TITLE_IMG="cover_p.gif",P.WWAP_SERVER_LOADER_NO_WORKER="wwaload.noworker.js",P.SCREEN_WIDTH=560,P.SCREEN_HEIGHT=440,P.LOADING_FONT="Times New Roman",P.MSG_STR_WIDTH=16,P.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME=20,P.ITEMBOX_TOP_Y=140,P.USER_VAR_NUM=256,P.USER_VAR_NUM_MAX_VALUE=9007199254740991,P.USET_VAR_NUM_MIN_VALUE=-9007199254740991,P.CONTROLL_WAIT_FRAME=6,P.INLINE_USER_VAR_VIEWER_DISPLAY_NUM=10,P.FIGHT_DRAW_TURN=40,P);const dt=class dt{};dt.QUICK_SAVE_MAX=4,dt.QUICK_SAVE_THUMNAIL_WIDTH=99,dt.QUICK_SAVE_THUMNAIL_HEIGHT=99,dt.SAVE_INTERVAL_MOVE=200,dt.INDEXEDDB_DB_NAME="WWA_WING_DB",dt.INDEXEDDB_TABLE_NAME="SAVE_TABLE",dt.DATE_LAST_SAVE_TEXT_COLOR="rgba(255,255,0,1)";let Se=dt;const it=class it{};it.EMPTY_LOAD="",it.EMPTY_SAVE="",it.PASSWORD="Password",it.QUICK_SAVE="Quick Save",it.QUICK_LOAD="Quick Load",it.BATTLE_REPORT="Battle Report",it.GAME_END="Game End",it.GOTO_WWA="Goto WWA",it.RESTART_GAME="Restart Game";let ze=it;class po{}var Ge=(t=>(t[t.INIT=0]="INIT",t[t.MAP_LOAD=1]="MAP_LOAD",t[t.OBJ_LOAD=2]="OBJ_LOAD",t[t.MAP_ATTR=3]="MAP_ATTR",t[t.OBJ_ATTR=4]="OBJ_ATTR",t[t.RAND_PARTS=5]="RAND_PARTS",t[t.MESSAGE=6]="MESSAGE",t[t.GAME_INIT=7]="GAME_INIT",t[t.AUDIO=8]="AUDIO",t[t.FINISH=9]="FINISH",t))(Ge||{}),mo=["ロードの準備をしています。","背景パーツを読み込んでいます。","物体パーツを読み込んでます。","背景パーツの属性を読み込んでます。","物体パーツの属性を読み込んでます。","ランダムパーツを置換しています。","メッセージを読み込んでます。","Welcome to WWA Wing!"],Ft=["Welcome to WWA Wing!","Now Map Data Loading .....","Now CG Data Loading .....","Now Making chara CG ....."],oe=(t=>(t[t.LINE=30]="LINE",t[t.TITLE_X=100]="TITLE_X",t[t.TITLE_Y=70]="TITLE_Y",t[t.LOADING_X=50]="LOADING_X",t[t.LOADING_Y=140]="LOADING_Y",t[t.ERROR_X=10]="ERROR_X",t[t.ERROR_Y=180]="ERROR_Y",t[t.FOOTER_X=160]="FOOTER_X",t[t.FOOTER_Y=360]="FOOTER_Y",t[t.WORLD_Y=330]="WORLD_Y",t[t.COPYRIGHT_Y=390]="COPYRIGHT_Y",t))(oe||{}),kt=(t=>(t[t.TITLE=32]="TITLE",t[t.LOADING=22]="LOADING",t[t.FOOTER=18]="FOOTER",t[t.ERRROR=16]="ERRROR",t))(kt||{}),$t=(t=>(t[t.COLOR_FRAME=0]="COLOR_FRAME",t[t.COLOR_FRAMEOUT=1]="COLOR_FRAMEOUT",t[t.COLOR_STR=2]="COLOR_STR",t[t.COLOR_STATUS_STR=4]="COLOR_STATUS_STR",t))($t||{}),qt=(t=>(t[t.MESSAGE_WINDOW=0]="MESSAGE_WINDOW",t[t.SIDEBAR=1]="SIDEBAR",t))(qt||{}),Pe=(t=>(t[t.BITSHIFT=16]="BITSHIFT",t[t.BITMASK=65535]="BITMASK",t))(Pe||{}),q=(t=>(t[t.NONE=0]="NONE",t[t.KEYDOWN=1]="KEYDOWN",t[t.KEYPRESS=2]="KEYPRESS",t[t.KEYUP=3]="KEYUP",t[t.KEYPRESS_MESSAGECHANGE=4]="KEYPRESS_MESSAGECHANGE",t))(q||{}),D=(t=>(t[t.KEY_ENTER=13]="KEY_ENTER",t[t.KEY_SHIFT=16]="KEY_SHIFT",t[t.KEY_ESC=27]="KEY_ESC",t[t.KEY_SPACE=32]="KEY_SPACE",t[t.KEY_LEFT=37]="KEY_LEFT",t[t.KEY_UP=38]="KEY_UP",t[t.KEY_RIGHT=39]="KEY_RIGHT",t[t.KEY_DOWN=40]="KEY_DOWN",t[t.KEY_1=49]="KEY_1",t[t.KEY_2=50]="KEY_2",t[t.KEY_3=51]="KEY_3",t[t.KEY_A=65]="KEY_A",t[t.KEY_B=66]="KEY_B",t[t.KEY_C=67]="KEY_C",t[t.KEY_D=68]="KEY_D",t[t.KEY_E=69]="KEY_E",t[t.KEY_F=70]="KEY_F",t[t.KEY_G=71]="KEY_G",t[t.KEY_H=72]="KEY_H",t[t.KEY_I=73]="KEY_I",t[t.KEY_J=74]="KEY_J",t[t.KEY_K=75]="KEY_K",t[t.KEY_L=76]="KEY_L",t[t.KEY_M=77]="KEY_M",t[t.KEY_N=78]="KEY_N",t[t.KEY_O=79]="KEY_O",t[t.KEY_P=80]="KEY_P",t[t.KEY_Q=81]="KEY_Q",t[t.KEY_R=82]="KEY_R",t[t.KEY_S=83]="KEY_S",t[t.KEY_T=84]="KEY_T",t[t.KEY_U=85]="KEY_U",t[t.KEY_V=86]="KEY_V",t[t.KEY_W=87]="KEY_W",t[t.KEY_X=88]="KEY_X",t[t.KEY_Y=89]="KEY_Y",t[t.KEY_Z=90]="KEY_Z",t[t.KEY_F1=112]="KEY_F1",t[t.KEY_F2=113]="KEY_F2",t[t.KEY_F3=114]="KEY_F3",t[t.KEY_F4=115]="KEY_F4",t[t.KEY_F5=116]="KEY_F5",t[t.KEY_F6=117]="KEY_F6",t[t.KEY_F7=118]="KEY_F7",t[t.KEY_F8=119]="KEY_F8",t[t.KEY_F9=120]="KEY_F9",t[t.KEY_F10=121]="KEY_F10",t[t.KEY_F12=123]="KEY_F12",t))(D||{});const Je=class Je{checkHitKey(e){var s=this.getKeyState(e);return s===1||s===2}getKeyState(e){return this._prevKeyState[e]?this._keyState[e]?2:3:this._keyState[e]?1:0}getKeyStateForControllPlayer(e){return this._prevKeyStateOnControllable[e]?this._keyState[e]?2:3:this._keyState[e]?1:0}getKeyStateForMessageCheck(e){return this._prevKeyState[e]?this._keyState[e]?this._keyInputContinueFrameNum[e]>=o.KEYPRESS_MESSAGE_CHANGE_FRAME_NUM?4:2:3:this._keyState[e]?1:0}setPressInfo(e){this._nextKeyState[e]=!0,this._keyInputContinueFrameNum[e]=-1}setReleaseInfo(e){this._nextKeyState[e]=!1,this._keyInputContinueFrameNum[e]=-1}update(){var e;for(this._prevKeyState=this._keyState.slice(),this._keyState=this._nextKeyState.slice(),e=0;e<Je.KEY_BUFFER_MAX;e++)this._keyState[e]&&this._keyInputContinueFrameNum[e]++}memorizeKeyStateOnControllableFrame(){this._prevKeyStateOnControllable=this._keyState.slice()}allClear(){var e;for(this._nextKeyState=new Array(Je.KEY_BUFFER_MAX),e=0;e<Je.KEY_BUFFER_MAX;e++)this._nextKeyState[e]=!1}constructor(){var e;for(this._nextKeyState=new Array(Je.KEY_BUFFER_MAX),this._keyState=new Array(Je.KEY_BUFFER_MAX),this._prevKeyState=new Array(Je.KEY_BUFFER_MAX),this._prevKeyStateOnControllable=new Array(Je.KEY_BUFFER_MAX),this._keyInputContinueFrameNum=new Array(Je.KEY_BUFFER_MAX),e=0;e<Je.KEY_BUFFER_MAX;e++)this._nextKeyState[e]=!1,this._keyState[e]=!1,this._prevKeyState[e]=!1,this._prevKeyStateOnControllable[e]=!1,this._keyInputContinueFrameNum[e]=0}};Je.KEY_BUFFER_MAX=256;let Ca=Je;var mt=(t=>(t[t.NONE=0]="NONE",t[t.MOUSEDOWN=1]="MOUSEDOWN",t[t.MOUSEPRESS=2]="MOUSEPRESS",t[t.MOUSEUP=3]="MOUSEUP",t))(mt||{});class Eo{checkClickMouse(e){var s;return e!==void 0?s=this.getMouseState(e):s=this.getMouseState(),s===1||s===2}getMouseState(e){return e!==void 0&&this._inputDir!==e?0:this._prevMouseState?this._mouseState?2:3:this._mouseState?1:0}getMouseStateForControllPlayer(e){return e!==void 0&&this._inputDir!==e?0:this._prevMouseStateOnControllable?this._mouseState?2:3:this._mouseState?1:0}setPressInfo(e,s){this._nextMouseState=!0,this._inputDir=e,this._touchID=s}setReleaseInfo(){this._touchID=0,this._nextMouseState=!1}touchIDIsSetDir(){return this._touchID===1}memorizeMouseStateOnControllableFrame(){this._prevMouseStateOnControllable=this._mouseState}update(){this._prevMouseState=this._mouseState,this._mouseState=this._nextMouseState}clear(){this._nextMouseState=!1}getTouchID(){return this._touchID}constructor(){this._prevMouseState=!1,this._mouseState=!1,this._nextMouseState=!1}}var J=(t=>(t[t.BUTTON_INDEX_B=0]="BUTTON_INDEX_B",t[t.BUTTON_INDEX_A=1]="BUTTON_INDEX_A",t[t.BUTTON_INDEX_Y=2]="BUTTON_INDEX_Y",t[t.BUTTON_INDEX_X=3]="BUTTON_INDEX_X",t[t.BUTTON_INDEX_L=4]="BUTTON_INDEX_L",t[t.BUTTON_INDEX_R=5]="BUTTON_INDEX_R",t[t.BUTTON_INDEX_ZL=6]="BUTTON_INDEX_ZL",t[t.BUTTON_INDEX_ZR=7]="BUTTON_INDEX_ZR",t[t.BUTTON_INDEX_MINUS=8]="BUTTON_INDEX_MINUS",t[t.BUTTON_INDEX_PLUS=9]="BUTTON_INDEX_PLUS",t[t.BUTTON_INDEX_LEFT_STICK=10]="BUTTON_INDEX_LEFT_STICK",t[t.BUTTON_INDEX_RIGHT_STICK=11]="BUTTON_INDEX_RIGHT_STICK",t[t.BUTTON_CROSS_KEY_UP=12]="BUTTON_CROSS_KEY_UP",t[t.BUTTON_CROSS_KEY_DOWN=13]="BUTTON_CROSS_KEY_DOWN",t[t.BUTTON_CROSS_KEY_LEFT=14]="BUTTON_CROSS_KEY_LEFT",t[t.BUTTON_CROSS_KEY_RIGHT=15]="BUTTON_CROSS_KEY_RIGHT",t))(J||{});class xo{constructor(){this.gamepad=null,this.triggers=[];var e;for(e=0;e<16;e++)this.triggers[e]=!1}update(){this.gamepad=null;var e=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[];if(e&&e.length>0&&e[0]){var s=e[0];this.gamepad=s}}buttonTrigger(...e){if(!this.gamepad)return!1;var s,a,i,r,n;for(a=e.length,s=0;s<a;s++){i=e[s];var h=this.gamepad.buttons[i];if(!h)return!1;if(typeof h=="object"?r=h.pressed===!0:h===1?r=!0:r=!1,n=this.triggers[i],this.triggers[i]=r,r&&!n)return!0}return!1}buttonPressed(...e){if(!this.gamepad)return!1;var s,a,i,r;for(a=e.length,s=0;s<a;s++){i=e[s];var n=this.gamepad.buttons[i];if(!n)return!1;if(typeof n=="object"?r=n.pressed===!0:n===1?r=!0:r=!1,r)return!0}return!1}crossPressed(...e){if(!this.gamepad)return!1;var s,a,i;for(a=e.length,s=0;s<a;s++)switch(i=e[s],i){case 12:if(this.gamepad.axes[1]<=-.6||this.gamepad.axes[3]<=-.6||this.stickFloor(9)===-1||this.buttonPressed(12))return!0;break;case 13:if(this.gamepad.axes[1]>=.7||this.gamepad.axes[3]>=.7||this.stickFloor(9)===.1||this.buttonPressed(13))return!0;break;case 14:if(this.gamepad.axes[0]<=-.7||this.gamepad.axes[2]<=-.7||this.stickFloor(9)===.7||this.buttonPressed(14))return!0;break;case 15:if(this.gamepad.axes[0]>.6||this.gamepad.axes[2]>.6||this.stickFloor(9)===-.5||this.buttonPressed(15))return!0;break}return!1}vibration(e){if(!this.gamepad||!this.gamepad.vibrationActuator)return!1;e?this.gamepad.vibrationActuator.playEffect("dual-rumble",{startDelay:0,duration:100,weakMagnitude:1,strongMagnitude:.5}):this.gamepad.vibrationActuator.playEffect("dual-rumble",{startDelay:0,duration:100,weakMagnitude:.5,strongMagnitude:1})}stickFloor(...e){if(!this.gamepad)return 0;var s,a,i;for(a=e.length,s=0;s<a;s++){i=e[s];var r=this.gamepad.axes[i];return typeof r!="number"?0:Math.floor(r*10)/10}return 0}}class ms{constructor(e=0){this.lastCalculatedTimeUnixMs=Date.now(),this.lastCalculatedPlayTimeMs=e}calculateTimeMs(){const e=Date.now(),s=e-this.lastCalculatedTimeUnixMs+this.lastCalculatedPlayTimeMs;return this.lastCalculatedTimeUnixMs=e,this.lastCalculatedPlayTimeMs=s,s}calculatePlayTimeFormat(){return ms.formatPlayTimeText(this.calculateTimeMs()/1e3)}static formatPlayTimeText(e){const s=Math.floor(e);return s>=36e6?"9999:99:99":("000"+(s/60/60|0)).slice(-4)+":"+("0"+(s/60|0)%60).slice(-2)+":"+("0"+s%60).slice(-2)}}const go=["BUTTON_ENTER","BUTTON_ESC","BUTTON_SIDEBAR","BUTTON_FAST","BUTTON_SLOW","BUTTON_LEFT","BUTTON_UP","BUTTON_RIGHT","BUTTON_DOWN"],Si=["BUTTON_LEFT","BUTTON_UP","BUTTON_RIGHT","BUTTON_DOWN"],vo=new Set(Si);class Es{constructor(e,s=!1,a=null,i=null,r=null,n=null){if(this._enabled=e!==null,this._visible=s,this._onTouchStart=r||null,this._onTouchEnd=n||null,this._availableButtons=[],this._isTouchingButtons={},this._moveButtonsElement=i,this._buttonWrapperElement=a,this._setVisible(s),this._moveButtonsElement&&(this._moveButtonsElement.style.visibility="visible"),this._buttonWrapperElement&&(this._buttonWrapperElement.style.visibility="visible"),e!==null){for(const h in e){const u=e[h];if(!u)continue;const c=h;this._availableButtons.push(c),u.setAttribute("type",h),this._isTouchingButtons[c]={prev:!1,current:!1,next:!1};const l=_=>{_.cancelable&&_.preventDefault()},f=_=>{l(_),this.allClear()};u.addEventListener("touchstart",_=>{l(_),this.setTouchInfo(c)}),u.addEventListener("touchcancel",f),Es.isMoveButton(c)?(u.addEventListener("touchmove",this._detectMovingMoveButton.bind(this)),u.addEventListener("touchend",this.allMoveClear.bind(this))):u.addEventListener("touchend",_=>{l(_),this.clearTouchInfo(c)})}i!==null&&i.addEventListener("touchmove",this._detectMovingMoveButton.bind(this))}}_detectMovingMoveButton(e){e.preventDefault(),this.allMoveClear();const s=e.targetTouches.item(0);if(!this._moveButtonsElement||s===null)return;const a=this._moveButtonsElement.getBoundingClientRect(),i=document.body.getBoundingClientRect(),r=a.left-i.left+a.width/2,n=a.top-i.top+a.height/2,h=s.pageX-r,u=s.pageY-n;h>=u?h<=-u?this.setTouchInfo("BUTTON_UP"):this.setTouchInfo("BUTTON_RIGHT"):h>=-u?this.setTouchInfo("BUTTON_DOWN"):this.setTouchInfo("BUTTON_LEFT")}_setVisible(e){this._moveButtonsElement!==null&&(this._moveButtonsElement.style.display=e?"grid":"none"),this._buttonWrapperElement!==null&&(this._buttonWrapperElement.style.display=e?"grid":"none"),this._visible=e}checkTouchButton(e){return this._enabled?this.getButtonState(e)==="TOUCH":!1}checkTouchingButton(e){if(!this._enabled)return!1;const s=this.getButtonState(e);return s==="TOUCH"||s==="TOUCHING"}getButtonState(e){const s=this._isTouchingButtons[e];if(!this._enabled||s===void 0)return"NONE";const a=s.prev,i=s.current;return a&&i?"TOUCHING":i?"TOUCH":a?"LEAVE":"NONE"}setTouchInfo(e){const s=this._isTouchingButtons[e];!this._enabled||s===void 0||(s.next=!0)}clearTouchInfo(e){const s=this._isTouchingButtons[e];!this._enabled||s===void 0||(s.next=!1)}allMoveClear(){Si.forEach(e=>{this._availableButtons.includes(e)&&this.clearTouchInfo(e)})}allClear(){this._availableButtons.forEach(e=>{if(e!==void 0){const s=this._isTouchingButtons[e];s!==void 0&&(s.next=!1)}})}static isMoveButton(e){return vo.has(e)}update(){this._availableButtons.forEach(e=>{if(e===void 0)return;const s=this._isTouchingButtons[e];if(s!==void 0)switch(this._isTouchingButtons[e].prev=s.current,this._isTouchingButtons[e].current=s.next,this.getButtonState(e)){case"TOUCH":this._onTouchStart?.(e);break;case"LEAVE":this._onTouchEnd?.(e);break}})}toggleVisible(){this._setVisible(!this._visible)}}function wo(){const t=document.getElementsByTagName("head")[0];let e=document.createElement("meta");e.setAttribute("name","viewport"),t.appendChild(e),Ci()}function Ci(){const a=document.querySelector("meta[name='viewport']"),i=window.innerWidth,r=window.innerHeight;let n="user-scalable=no";i>r?n=`width=${Math.floor(i/r*456)},${n}`:i<=r&&(n=`width=576,${n}`),a?.setAttribute("content",`${n}`)}function Ao(){return`
|
|
10
|
+
<div id="wwa-virtualpad-left">
|
|
11
|
+
<button class="wwa-virtualpad__button" id="wwa-up-button"></button>
|
|
12
|
+
<button class="wwa-virtualpad__button" id="wwa-left-button"></button>
|
|
13
|
+
<button class="wwa-virtualpad__button" id="wwa-right-button"></button>
|
|
14
|
+
<button class="wwa-virtualpad__button" id="wwa-down-button"></button>
|
|
15
|
+
<div class="wwa-virtualpad__hole"></div>
|
|
16
|
+
</div>
|
|
17
|
+
<div id="wwa-virtualpad-right">
|
|
18
|
+
<button class="wwa-virtualpad__button" id="wwa-slow-button">I</button>
|
|
19
|
+
<button class="wwa-virtualpad__button" id="wwa-fast-button">P</button>
|
|
20
|
+
<button class="wwa-virtualpad__button" id="wwa-enter-button">Y</button>
|
|
21
|
+
<button class="wwa-virtualpad__button" id="wwa-esc-button">N</button>
|
|
22
|
+
</div>`}var O=t=>document.getElementById(t),yo=t=>document.getElementsByTagName(t),Di=t=>document.querySelector(t),Qe=t=>document.querySelector(t),et=t=>document.querySelectorAll(t),Ti=(t,e)=>{var s,a,i=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,r=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop;return s=t-O("wwa-wrapper").offsetLeft+i,a=e-O("wwa-wrapper").offsetTop+r,new Y(s,a)},Jt=t=>t.match(/^https?:\/\//)||t.match(/^\.\.\//)?t:location.href="./"+t,bi=t=>{var e="";if(t instanceof Array){for(var s=0;s<t.length;s++)e+=bi(t[s])+"/";return e}else return t+""};const Ii=t=>t.split("").reverse().join("");function Ce(t,e){if(typeof t!="number")throw new TypeError(`${e} が数値ではありません。`);return!0}function Tt(t,e,s=0){if(s>=3)return"...";if(typeof t=="number"||typeof t=="boolean"||t===void 0||t===null)return String(t);if(typeof t=="string"){const a=[...t];return e&&a.length>10?`"${a.slice(0,10).join("")}…`:`"${t}"`}else{if(Array.isArray(t))return`[${t.map(a=>Tt(a,!0,s+1)).join(",")}]`;if(t instanceof Map)return`{${[...t].map(([i,r])=>`${i}:${Tt(r,!0,s+1)}`).join(",")}}`;throw new TypeError("この値はフォーマットできません",t)}}function bt(t,e){if(Array.isArray(t)){if(typeof e!="number")throw new TypeError("配列に対して、数字以外をindexにできません");if(e<0||e>=t.length){console.warn(`配列のインデックス ${e} は範囲外です`);return}return t[e]}else if(t instanceof Map){if(!jt(e))throw new TypeError("オブジェクトのキーはプリミティブ値でなければなりません。: "+e);return t.get(String(e))}else if(typeof t=="string"){if(typeof e!="number")throw new TypeError(`文字列 "${t}" に対して、数字以外をindexにできません`);if(e<0||e>=t.length){console.warn(`文字列 "${t}" のインデックス ${e} は範囲外です`);return}return t[e]}else throw jt(t)?new TypeError(`プリミティブ値 ${String(t)} は添字参照できません`):new TypeError(String(t)+"は添字参照できません")}function Pi(t,e,s){if(Array.isArray(t)){if(typeof e!="number")throw new TypeError("数字以外をindexにできません");t[e]=s}else if(t instanceof Map){if(!jt(e))throw new TypeError("オブジェクトのキーはプリミティブ値でなければなりません。: "+e);t.set(String(e),s)}else throw typeof t=="string"?new TypeError(`文字列 "${t}" の特定の文字を直接書き換えることはできません`):jt(t)?new TypeError(`プリミティブ値 ${String(t)} は添字参照できません`):new TypeError(String(t)+"は添字参照できません")}const xs=[{name:"pos",type:"numberArray"},{name:"time",type:"numberOrArray"},{name:"timeFrame",type:"numberOrArray"},{name:"size",type:"numberArray"},{name:"animTime",type:"numberArray"},{name:"animTimeFrame",type:"numberArray"},{name:"move",type:"numberArray"},{name:"accel",type:"numberArray"},{name:"zoom",type:"numberArray"},{name:"zoomAccel",type:"numberArray"},{name:"anchor",type:"number"},{name:"circle",type:"numberArray"},{name:"repeat",type:"numberArray"},{name:"img",type:"numberArray"},{name:"imgFile",type:"string"},{name:"imgMap",type:"numberArray"},{name:"sound",type:"number"},{name:"crop",type:"numberArray"},{name:"text",type:"string"},{name:"font",type:"string"},{name:"fontSize",type:"number"},{name:"fontFamily",type:"string"},{name:"italic",type:"number"},{name:"bold",type:"number"},{name:"color",type:"numberArray"},{name:"textAlign",type:"string"},{name:"lineHeight",type:"number"},{name:"opacity",type:"number"},{name:"fade",type:"number"},{name:"angle",type:"number"},{name:"rotate",type:"number"},{name:"wait",type:"number"},{name:"waitFrame",type:"number"},{name:"next",type:"numberArray"},{name:"create",type:"numberArray2D"},{name:"map",type:"numberArray"},{name:"script",type:"string"}],So={time_frame:"timeFrame",anim_time:"animTime",anim_time_frame:"animTimeFrame",zoom_accel:"zoomAccel",img_file:"imgFile",img_map:"imgMap",font_size:"fontSize",font_family:"fontFamily",text_align:"textAlign",line_height:"lineHeight",wait_frame:"waitFrame"},Oe="-?\\d+",Co=`v\\[${Oe}\\]`,Do=`v\\[(${Oe})\\]`,Ni=`m\\[${Oe}\\]\\[${Oe}\\]`,To=`m\\[(${Oe})\\]\\[(${Oe})\\]`,Oi=`o\\[${Oe}\\]\\[${Oe}\\]`,bo=`o\\[(${Oe})\\]\\[(${Oe})\\]`,Mi=`ITEM\\[${Oe}\\]`,Io=`ITEM\\[(${Oe})\\]`,Bi=`${Co}|${Ni}|${Oi}|${Mi}`,Po="AT_TOTAL|AT_ITEMS|DF_TOTAL|DF_ITEMS|TIME|X|Y|PX|PY|ID|TYPE|ITEM_COUNT_ALL",Ri="HP|HPMAX|AT|DF|GD|STEP|PDIR",Li=`${Bi}|${Ni}|${Oi}|${Mi}|${Ri}`,Zt=`${Oe}|${Bi}|${Po}|${Ri}`,No=`RAND\\((?:${Zt})\\)`,Oo=`RAND\\((${Zt})\\)`,Mo=`ITEM_COUNT\\((?:${Zt})\\)`,Bo=`ITEM_COUNT\\((${Zt})\\)`,Ro=`${No}|${Mo}`,Et=`${Zt}|${Ro}`,Fi="\\+|\\-|\\*|\\/|%",ki="=",Lo=`${ki}|\\+=|\\-=|\\*=|\\/=|%=`,Fo=">|<|<=|>=|==|!=",Da="^\\(",Ta="\\)$",ko=new RegExp(`^${Oe}$`),Uo=new RegExp(`^${Do}$`),Vo=new RegExp(`^${To}$`),Yo=new RegExp(`^${bo}$`),Wo=new RegExp(`^${Io}$`),Ho=new RegExp(`^${Oo}$`),Go=new RegExp(`${Bo}$`),Ko=new RegExp(`${Da}(${Li})${ki}(${Et})(${Fi})(${Et})${Ta}`),jo=new RegExp(`${Da}(${Li})(${Lo})(${Et})${Ta}`),Ui=new RegExp(`^(${Et})(?:(${Fi})(${Et}))?$`),Xo=new RegExp(`${Da}(${Et})(${Fo})(${Et})${Ta}`),$o=new RegExp(`{{(${Et})}}`,"g");function Vi(t){return t.type!=="RAND"&&t.type!=="ITEM_COUNT"}function Ut(t){switch(t){case"HP":case"HPMAX":case"AT":case"AT_TOTAL":case"AT_ITEMS":case"DF":case"DF_TOTAL":case"DF_ITEMS":case"GD":case"STEP":case"TIME":case"X":case"Y":case"PX":case"PY":case"PDIR":case"ID":case"TYPE":case"ITEM_COUNT_ALL":return{type:t};default:const e=t.match(Uo);if(e){const u=Yi(e);return u===null?null:{type:"VARIABLE",index:u}}const s=t.match(Vo);if(s){const u=Wi(s);return u===null?null:{type:"MAP",x:u[0],y:u[1]}}const a=t.match(Yo);if(a){const u=Wi(a);return u===null?null:{type:"OBJECT",x:u[0],y:u[1]}}const i=t.match(Wo);if(i){const u=Yi(i);return u===null?null:{type:"ITEM",boxIndex1To12:u}}if(t.match(ko)){const u=parseInt(t,10);return u!==null&&!isNaN(u)?{type:"NUMBER",rawValue:u}:null}const n=t.match(Ho);if(n){const u=n.length>=2?Ut(n[1]):null;return u!==null&&Vi(u)?{type:"RAND",argument:u}:null}const h=t.match(Go);if(h){const u=h.length>=2?Ut(h[1]):null;return u!==null&&Vi(u)?{type:"ITEM_COUNT",argument:u}:null}return null}}function Yi(t){const e=t.length>=2?Number(t[1]):null;return e!==null&&!isNaN(e)?e:null}function Wi(t){if(t.length<3)return null;const e=Number(t[1]),s=Number(t[2]);return isNaN(e)||isNaN(s)?null:[e,s]}function qo(t,e,s=0){if(typeof t=="boolean")return t;const a=zt(t.left,e,s),i=zt(t.right,e,s);return Jo(t.operator,a,i)}function zt(t,e,s=0){switch(t.type){case"HP":return e.totalStatus.energy;case"HPMAX":return e.energyMax;case"AT":return e.bareStatus.strength;case"AT_TOTAL":return e.totalStatus.strength;case"AT_ITEMS":return e.itemStatus.strength;case"DF":return e.bareStatus.defence;case"DF_TOTAL":return e.totalStatus.defence;case"DF_ITEMS":return e.itemStatus.defence;case"GD":return e.totalStatus.gold;case"STEP":return e.moveCount;case"VARIABLE":{const a=e.userVars[t.index];return Ce(a,`v${t.index}`),a}case"MAP":return t.y<0||t.y>=e.map.length||t.x<0||t.x>=e.map[t.y].length?0:e.map[t.y][t.x];case"OBJECT":return t.y<0||t.y>=e.mapObject.length||t.x<0||t.x>=e.mapObject[t.y].length?0:e.mapObject[t.y][t.x];case"ITEM":return t.boxIndex1To12<1||t.boxIndex1To12>12?0:e.itemBox[t.boxIndex1To12-1];case"ITEM_COUNT_ALL":return e.itemBox.filter(a=>a!==0).length;case"NUMBER":return t.rawValue;case"TIME":return e.playTime;case"X":return e.partsPosition?.x??e.playerCoord.x;case"Y":return e.partsPosition?.y??e.playerCoord.y;case"PX":return e.playerCoord.x;case"PY":return e.playerCoord.y;case"PDIR":return e.playerDirection;case"ID":return e.partsId??-1;case"TYPE":return e.partsType??-1;case"RAND":return Math.floor(Math.random()*zt(t.argument,e));case"ITEM_COUNT":return e.itemBox.filter(a=>a===zt(t.argument,e)).length;default:return s}}function ba(t,e,s){switch(t){case"=":return s;case"+":case"+=":return e+s;case"-":case"-=":return e-s;case"*":case"*=":return e*s;case"/":case"/=":return s===0?0:e/s;case"%":case"%=":return s===0?0:e%s;default:throw new Error("未定義の演算子です")}}function Jo(t,e,s){switch(t){case">":return e>s;case"<":return e<s;case">=":return e>=s;case"<=":return e<=s;case"==":return e===s;case"!=":return e!==s;default:return!1}}function Hi(t,e){switch(Ut(e)?.type){case"VARIABLE":{const a=e.match(/^v\[(\d+)\]$/),i=Number(a[1]);if(i===null||isNaN(i))throw new Error("ユーザ変数の添字のパースに失敗しました");return{assignee:"variable",index:i,rawValue:t}}case"MAP":{const a=e.match(/^m\[(\d+)\]\[(\d+)\]$/),i=Number(a[1]),r=Number(a[2]);if(i===null||r===null||isNaN(i)||isNaN(r))throw new Error("背景パーツの添字のパースに失敗しました");return{assignee:"map",x:i,y:r,rawValue:t}}case"OBJECT":{const a=e.match(/^o\[(\d+)\]\[(\d+)\]$/),i=Number(a[1]),r=Number(a[2]);if(i===null||r===null||isNaN(i)||isNaN(r))throw new Error("物体パーツの添字のパースに失敗しました");return{assignee:"mapObject",x:i,y:r,rawValue:t}}case"ITEM":{const a=e.match(/^ITEM\[(\d+)\]$/),i=Number(a[1]);if(i===null||isNaN(i))throw new Error("アイテムの添字のパースに失敗しました");return{assignee:"item",boxIndex1to12:i,rawValue:t}}case"ITEM_COUNT_ALL":throw new Error("左辺値に所持アイテム数は入れられません");case"NUMBER":throw new Error("左辺値に定数は入れられません");case"HP":return{assignee:"energy",rawValue:t};case"HPMAX":return{assignee:"energyMax",rawValue:t};case"AT":return{assignee:"strength",rawValue:t};case"AT_TOTAL":throw new Error("左辺値に合計攻撃力は入れられません");case"AT_ITEMS":throw new Error("左辺値にアイテム攻撃力は入れられません");case"DF":return{assignee:"defence",rawValue:t};case"DF_TOTAL":throw new Error("左辺値に合計防御力は入れられません");case"DF_ITEMS":throw new Error("左辺値にアイテム防御力は入れられません");case"GD":return{assignee:"gold",rawValue:t};case"STEP":return{assignee:"moveCount",rawValue:t};case"TIME":throw new Error("左辺値にプレイ時間は入れられません");case"PX":throw new Error("左辺値にプレイヤーX座標は入れられません");case"PY":throw new Error("左辺値にプレイヤーY座標は入れられません");case"X":throw new Error("左辺値にパーツX座標は入れられません");case"Y":throw new Error("左辺値にパーツY座標は入れられません");case"ID":throw new Error("左辺値にパーツ番号座標は入れられません");case"TYPE":throw new Error("左辺値にパーツ種別は入れられません");case"PDIR":return{assignee:"playerDirection",rawValue:t};case"RAND":throw new Error("左辺値に乱数は入れられません");case"ITEM_COUNT":throw new Error("左辺値に所持アイテム数は入れられません");default:throw new Error("この文字列から代入操作オブジェクトは生成できません")}}function gs(t){return t.replace(/\s/g,"")}function Vt(t,e,s=0){return zt(Ut(t),e,s)}function Zo(t,e){const s=gs(t),a=s.match(Ko);if(a!==null){const r=Vt(a[2],e),n=Vt(a[4],e),h=a[3],u=ba(h,r,n);return Hi(u,a[1])}const i=s.match(jo);if(i!==null){const r=Vt(i[1],e),n=Vt(i[3],e),h=i[2],u=ba(h,r,n);return Hi(u,i[1])}throw new Error("setMacroのフォーマットを満たしていません: "+t)}function Ia(t,e,s=0){const i=gs(t).match(Ui);if(i!==null){const r=Vt(i[1],e,s),n=i[3]?Vt(i[3],e,s):void 0,h=i[2];return h&&n?ba(h,r,n):r}throw new Error("マクロ引数のフォーマットを満たしていません: "+t)}function zo(t){return gs(t).match(Ui)!==null}function Gi(t){const e=gs(t).match(Xo);if(e===null||e.length<=3){console.error(`判定式が異常です: ${t}`);return}const s=Ut(e[1]),a=Ut(e[3]);if(!s||!a){console.error(`判定式が異常です: ${t}`);return}return{left:s,right:a,operator:e[2]}}const Qo=t=>{try{const e=JSON.parse(t.propertiesText);if(Array.isArray(e))throw new Error("配列形式ではなくオブジェクト形式で記述してください。");if(typeof e!="object")throw new Error("オブジェクト形式で記述してください。");return{...t,properties:e}}catch(e){console.error(`JSON パースエラーが発生しました!: ${e.message}`)}},Ki=(t,e)=>{const s=xs.find(({name:a})=>a===t);if(!s)return console.warn(`定義外のプロパティ ${t} を見つけました。`),!1;switch(s.type){case"numberArray2D":{if(!Array.isArray(e))return console.warn(`プロパティ ${t} は配列形式である必要がありますが、配列形式になっていません。`),!1;const a=e.map((i,r)=>Array.isArray(i)?null:r+1).filter(i=>i!==null);if(a.length>0)return console.warn(`プロパティ ${t} は配列の配列である必要がありますが、 ${a.join(", ")} の要素が配列形式になっていません。`),!1;break}case"string":if(typeof e!="string")if(typeof e=="number")console.warn(`プロパティ ${t} は文字列形式を推奨しています。実際に入った値は ${e} です。`);else return console.warn(`プロパティ ${t} では文字列形式である必要があります。実際に入った値は ${e} です。`),!1}return!0},ji=t=>So[t]??t,eh=t=>Number.isInteger(t)&&(t>0||Pa(t)),Pa=t=>t===-1,Xi=t=>{const e=Object.entries(t.properties).map(([s,a])=>{const i=ji(s);if(!Ki(i,a))return[i,a];switch(xs.find(({name:n})=>n===i).type){case"string":if(typeof a!="string")return[i,a.toString()]}return[i,a]});return{...t,properties:Object.fromEntries(e)}},th=(t,e)=>{const s=i=>typeof i=="number"?i:Ia(i,e),a=Object.entries(t.properties).map(([i,r])=>{const n=ji(i);if(!Ki(n,r))return[n,r];switch(xs.find(({name:u})=>u===n).type){case"number":return[n,s(r)];case"numberArray":return[n,r.map(s)];case"numberOrArray":return Array.isArray(r)?[n,r.map(s)]:[n,[s(r)]];case"numberArray2D":return!Array.isArray(r)||r.some(Array.isArray)?[n,r]:[n,r.map(l=>l.map(s))];case"string":if(typeof r!="string")return[n,r.toString()];let u=String(r);return Array.from(r.matchAll($o)).forEach(l=>{l.length<2&&console.warn(`テンプレート文字列で合致した文字列の中の値を取り出すことができませんでした。文字列そのものの値は ${r} です。`);const f=l[0],_=l[1],p=s(_);u=u.replace(f,typeof p=="number"?p.toString():p)}),[n,u];default:return[n,r]}});return{...t,properties:Object.fromEntries(a)}},vs=(t,e,s)=>Array.isArray(t)?t[e]:s?t:void 0,$i=(t,e,s,a)=>t>0||e>0||s>0||a>0,qi=t=>t<0?0:t,sh=(t,e,s)=>{switch(s){case 1:case 4:case 7:return t;case 2:case 5:case 8:return t-e/2;case 3:case 6:case 9:return t-e;default:return t}},ah=(t,e,s)=>{if(e===0)return t;const a=s*Math.PI/180;return t+e*Math.cos(a)},ih=(t,e,s)=>{switch(s){case 1:case 2:case 3:return t-e;case 4:case 5:case 6:return t-e/2;case 7:case 8:case 9:default:return t}},rh=(t,e,s)=>{if(e===0)return t;const a=s*Math.PI/180;return t+e*Math.sin(a)},Ji=t=>Math.max(t,1),Zi=t=>Math.max(t,1),zi=(t,e)=>{const s=new Array(t);for(let a=0;a<s.length;a++)s[a]=new Array(e);return s},nh=t=>(t=t%256,t>=128?t-256:t);var le=(t=>(t[t.CHECK=0]="CHECK",t[t.VERSION=2]="VERSION",t[t.OLD_MAP_COUNT=3]="OLD_MAP_COUNT",t[t.OLD_OBJ_COUNT=4]="OLD_OBJ_COUNT",t[t.OLD_PLAYER_X=5]="OLD_PLAYER_X",t[t.OLD_PLAYER_Y=6]="OLD_PLAYER_Y",t[t.STATUS_ENERGY=10]="STATUS_ENERGY",t[t.STATUS_STRENGTH=12]="STATUS_STRENGTH",t[t.STATUS_DEFENCE=14]="STATUS_DEFENCE",t[t.STATUS_GOLD=16]="STATUS_GOLD",t[t.OLD_GAMEOVER_X=18]="OLD_GAMEOVER_X",t[t.OLD_GAMEOVER_Y=19]="OLD_GAMEOVER_Y",t[t.OLD_ITEMBOX_TOP=20]="OLD_ITEMBOX_TOP",t[t.STATUS_ENERGY_MAX=32]="STATUS_ENERGY_MAX",t[t.MAP_COUNT=34]="MAP_COUNT",t[t.OBJ_COUNT=36]="OBJ_COUNT",t[t.PLAYER_X=38]="PLAYER_X",t[t.PLAYER_Y=40]="PLAYER_Y",t[t.GAMEOVER_X=42]="GAMEOVER_X",t[t.GAMEOVER_Y=44]="GAMEOVER_Y",t[t.MAP_SIZE=46]="MAP_SIZE",t[t.MESSAGE_NUM=48]="MESSAGE_NUM",t[t.ITEMBOX_TOP=60]="ITEMBOX_TOP",t[t.MAPDATA_TOP=90]="MAPDATA_TOP",t[t.OLD_MAPDATA_TOP=100]="OLD_MAPDATA_TOP",t))(le||{});function oh(t){return t[le.CHECK]+t[le.CHECK+1]*256}function hh(t,e){let s=0;if(t[le.VERSION]>=29){for(let a=2;a<e;a++)s+=nh(t[a])*(a%8+1);s=s%65536&65535}return s}function ch(t,e){const s=oh(t),a=hh(t,e);if(s!==a)throw new Error(`マップデータが壊れているようです。
|
|
23
|
+
チェックサムの値は`+s+"ですが、実際の和は"+a+"でした。")}const $=class ${};$.ITEMBOX_SIZE=12,$.MAP_ATR_MAX=60,$.OBJ_ATR_MAX=60,$.OLD_MAP_ATR_MAX=40,$.OLD_OBJ_ATR_MAX=40,$.ATR_CROP1=1,$.ATR_CROP2=2,$.ATR_TYPE=3,$.ATR_JUMP_X=16,$.ATR_JUMP_Y=17,$.MAP_LOCALGATE=2,$.OBJECT_LOCALGATE=18,$.SYSTEM_MESSAGE_NUM=20,$.IMGPOS_DEFAULT_YESNO_X=3,$.IMGPOS_DEFAULT_YESNO_Y=1,$.IMGPOS_DEFAULT_PLAYER_X=2,$.IMGPOS_DEFAULT_PLAYER_Y=0,$.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X=0,$.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y=0,$.IMGPOS_DEFAULT_STATUS_X=3,$.IMGPOS_DEFAULT_STATUS_Y=2,$.IMGRELPOS_ENERGY_ICON_X=0,$.IMGRELPOS_STRENGTH_ICON_X=1,$.IMGRELPOS_DEFENCE_ICON_X=2,$.IMGRELPOS_GOLD_ICON_X=3,$.IMGPOS_DEFAULT_WIDE_CELL_X=4,$.IMGPOS_DEFAULT_WIDE_CELL_Y=3,$.IMGPOS_DEFAULT_ITEMBOX_X=1,$.IMGPOS_DEFAULT_ITEMBOX_Y=2,$.IMGPOS_DEFAULT_FRAME_X=0,$.IMGPOS_DEFAULT_FRAME_Y=1,$.IMGPOS_DEFAULT_BATTLE_EFFECT_X=3,$.IMGPOS_DEFAULT_BATTLE_EFFECT_Y=3,$.DEFAULT_DISABLE_SAVE=!1,$.DEFAULT_OLDMAP=!1,$.DEFAULT_OBJECT_NO_COLLAPSE=!1,$.DEFAULT_FRAME_COLOR_R=255,$.DEFAULT_FRAME_COLOR_G=255,$.DEFAULT_FRAME_COLOR_B=255,$.DEFAULT_FRAMEOUT_COLOR_R=96,$.DEFAULT_FRAMEOUT_COLOR_G=96,$.DEFAULT_FRAMEOUT_COLOR_B=96,$.DEFAULT_STR_COLOR_R=0,$.DEFAULT_STR_COLOR_G=0,$.DEFAULT_STR_COLOR_B=0,$.DEFAULT_STATUS_COLOR_R=0,$.DEFAULT_STATUS_COLOR_G=0,$.DEFAULT_STATUS_COLOR_B=0,$.DEFAULT_MOVES=0,$.DEFAULT_SPEED_INDEX=3,$.USER_VAR_NUM=256;let G=$;var ve=(t=>(t[t.MAP=1]="MAP",t[t.OBJECT=0]="OBJECT",t))(ve||{}),Ke=(t=>(t[t.INIT=0]="INIT",t[t.MAP_LOAD=1]="MAP_LOAD",t[t.OBJ_LOAD=2]="OBJ_LOAD",t[t.MAP_ATTR=3]="MAP_ATTR",t[t.OBJ_ATTR=4]="OBJ_ATTR",t[t.RAND_PARTS=5]="RAND_PARTS",t[t.MESSAGE=6]="MESSAGE",t))(Ke||{});function uh(){return{version:void 0,gameoverX:void 0,gameoverY:void 0,playerX:void 0,playerY:void 0,mapPartsMax:void 0,objPartsMax:void 0,isOldMap:void 0,isOldMove:void 0,statusEnergyMax:void 0,statusEnergy:void 0,statusStrength:void 0,statusDefence:void 0,statusGold:void 0,itemBox:void 0,mapWidth:void 0,messageNum:void 0,map:void 0,mapObject:void 0,mapCompressed:void 0,mapObjectCompressed:void 0,mapAttribute:void 0,objectAttribute:void 0,worldPassword:void 0,message:void 0,worldName:void 0,worldPassNumber:void 0,charCGName:void 0,mapCGName:void 0,systemMessage:void 0,moves:void 0,yesnoImgPosX:void 0,yesnoImgPosY:void 0,playerImgPosX:void 0,playerImgPosY:void 0,clickableItemSignImgPosX:void 0,clickableItemSignImgPosY:void 0,disableSaveFlag:void 0,compatibleForOldMapFlag:void 0,objectNoCollapseDefaultFlag:void 0,delPlayerFlag:void 0,bgm:void 0,effectCoords:void 0,effectWaits:void 0,imgStatusEnergyX:void 0,imgStatusEnergyY:void 0,imgStatusStrengthX:void 0,imgStatusStrengthY:void 0,imgStatusDefenceX:void 0,imgStatusDefenceY:void 0,imgStatusGoldX:void 0,imgStatusGoldY:void 0,imgWideCellX:void 0,imgWideCellY:void 0,imgItemboxX:void 0,imgItemboxY:void 0,imgFrameX:void 0,imgFrameY:void 0,imgBattleEffectX:void 0,imgBattleEffectY:void 0,imgClickX:void 0,imgClickY:void 0,frameColorR:void 0,frameColorG:void 0,frameColorB:void 0,frameOutColorR:void 0,frameOutColorG:void 0,frameOutColorB:void 0,fontColorR:void 0,fontColorG:void 0,fontColorB:void 0,statusColorR:void 0,statusColorG:void 0,statusColorB:void 0,checkOriginalMapString:void 0,checkString:void 0,isItemEffectEnabled:void 0,frameCount:void 0,gamePadButtonItemTable:void 0,userVar:void 0,userNamedVar:void 0,permitChangeGameSpeed:void 0,gameSpeedIndex:void 0,playTime:void 0,isVisibleStatusEnergy:void 0,isVisibleStatusStrength:void 0,isVisibleStatusDefence:void 0,isVisibleStatusGold:void 0,isGameOverDisabled:void 0,gameOverPolicy:"default",bgmDelayDurationMs:void 0,customSystemMessages:{},pictureRegistry:[]}}class lh{constructor(e,s,a){this.byteMapData=e,this.eventEmitter=a,ch(e,s),this.wwaData=uh()}extractAllData(){var e,s;return this.wwaData.version=this.byteMapData[le.VERSION],this._extractInitialParameters(),this.wwaData.version>=29?this.currentPosition=le.MAPDATA_TOP:this.currentPosition=le.OLD_MAPDATA_TOP,this.wwaData.map=this._getFieldDataFromBits(ve.MAP,this.wwaData.mapPartsMax).concat(),this.wwaData.mapObject=this._getFieldDataFromBits(ve.OBJECT,this.wwaData.objPartsMax).concat(),e=this.wwaData.version>29?G.MAP_ATR_MAX:G.OLD_MAP_ATR_MAX,s=this.wwaData.version>29?G.OBJ_ATR_MAX:G.OLD_OBJ_ATR_MAX,this.wwaData.mapAttribute=this._getPartsDataFromBits(ve.MAP,this.wwaData.mapPartsMax,e).concat(),this.wwaData.objectAttribute=this._getPartsDataFromBits(ve.OBJECT,this.wwaData.objPartsMax,s).concat(),this.wwaData.version<=29&&(this._convertAttributeV2toV3(ve.MAP),this._convertAttributeV2toV3(ve.OBJECT)),this._replaceAllRandomObjects(),this.wwaData}_convertAttributeV2toV3(e){var s,a,i;if(e==ve.MAP)s=this.wwaData.mapPartsMax,a=this.wwaData.mapAttribute,i=G.MAP_LOCALGATE;else if(e==ve.OBJECT)s=this.wwaData.objPartsMax,a=this.wwaData.objectAttribute,i=G.OBJECT_LOCALGATE;else throw new Error("謎のパーツ種別が指定されました");for(var r=0;r<s;r++){for(var n=9;n>=0;n--){var h=a[r][20+n*2]&255,u=a[r][20+n*2]>>8,c=a[r][20+n*2+1]&255,l=a[r][20+n*2+1]>>8;c===250?c=9e3:c>100&&(c+=9840),l===250?l=9e3:l>100&&(l+=9840),a[r][20+n*4]=h,a[r][20+n*4+3]=u,a[r][20+n*4+1]=c,a[r][20+n*4+2]=l}a[r][G.ATR_TYPE]===i&&(a[r][G.ATR_JUMP_X]>100&&(a[r][G.ATR_JUMP_X]+=9840),a[r][G.ATR_JUMP_Y]>100&&(a[r][G.ATR_JUMP_Y]+=9840))}}_get1ByteNumber(e){return this.byteMapData[e]}_get2BytesNumber(e){return this.byteMapData[e]+this.byteMapData[e+1]*256}_extractInitialParameters(){this.wwaData.version>29?(this.wwaData.gameoverX=this._get2BytesNumber(le.GAMEOVER_X),this.wwaData.gameoverY=this._get2BytesNumber(le.GAMEOVER_Y),this.wwaData.playerX=this._get2BytesNumber(le.PLAYER_X),this.wwaData.playerY=this._get2BytesNumber(le.PLAYER_Y),this.wwaData.mapPartsMax=this._get2BytesNumber(le.MAP_COUNT),this.wwaData.objPartsMax=this._get2BytesNumber(le.OBJ_COUNT),this.wwaData.isOldMap=!1):(this.wwaData.gameoverX=this._get1ByteNumber(le.OLD_GAMEOVER_X),this.wwaData.gameoverY=this._get1ByteNumber(le.OLD_GAMEOVER_Y),this.wwaData.playerX=this._get1ByteNumber(le.OLD_PLAYER_X),this.wwaData.playerY=this._get1ByteNumber(le.OLD_PLAYER_Y),this.wwaData.mapPartsMax=this._get1ByteNumber(le.OLD_MAP_COUNT),this.wwaData.objPartsMax=this._get1ByteNumber(le.OLD_OBJ_COUNT),this.wwaData.isOldMap=!0),this.wwaData.statusEnergyMax=this._get2BytesNumber(le.STATUS_ENERGY_MAX),this.wwaData.statusEnergy=this._get2BytesNumber(le.STATUS_ENERGY),this.wwaData.statusStrength=this._get2BytesNumber(le.STATUS_STRENGTH),this.wwaData.statusDefence=this._get2BytesNumber(le.STATUS_DEFENCE),this.wwaData.statusGold=this._get2BytesNumber(le.STATUS_GOLD),this._extractInitialItemData(),this.wwaData.mapWidth=this._get2BytesNumber(le.MAP_SIZE),this.wwaData.messageNum=this._get2BytesNumber(le.MESSAGE_NUM),this.wwaData.version<28?this.wwaData.mapWidth=71:this.wwaData.version<=29&&(this.wwaData.mapWidth=101)}_extractInitialItemData(){const e=this.wwaData.version>29?le.ITEMBOX_TOP:le.OLD_ITEMBOX_TOP;this.wwaData.itemBox=new Array(G.ITEMBOX_SIZE);for(let s=0;s<G.ITEMBOX_SIZE;s++)this.wwaData.itemBox[s]=this._get1ByteNumber(e+s)}_getFieldDataFromBits(e,s){var a,i,r;for(r=zi(this.wwaData.mapWidth,this.wwaData.mapWidth),a=0;a<this.wwaData.mapWidth;a++)for(i=0;i<this.wwaData.mapWidth;i++)this.wwaData.version>29?(r[a][i]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2):(r[a][i]=this._get1ByteNumber(this.currentPosition),this.currentPosition+=1),(a*this.wwaData.mapWidth+i)%200===0&&this.emitProgress(a*this.wwaData.mapWidth+i,this.wwaData.mapWidth*this.wwaData.mapWidth,e===ve.MAP?Ke.MAP_LOAD:Ke.OBJ_LOAD),r[a][i]>=s&&(r[a][i]=0);return this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,e===ve.MAP?Ke.MAP_LOAD:Ke.OBJ_LOAD),r}_getPartsDataFromBits(e,s,a){var i,r,n;for(n=zi(s,a),i=0;i<s;i++)for(r=0;r<a;r++){if((i*this.wwaData.mapWidth+r)%200===0&&this.emitProgress(i*a+r,s*a,e===ve.MAP?Ke.MAP_ATTR:Ke.OBJ_ATTR),r===G.ATR_CROP1||r===G.ATR_CROP2){n[i][r]=0,this.currentPosition+=2;continue}n[i][r]=this._get2BytesNumber(this.currentPosition),this.currentPosition+=2}return this.emitProgress(s*a,s*a,e===ve.MAP?Ke.MAP_ATTR:Ke.OBJ_ATTR),n}_replaceAllRandomObjects(){this.emitProgress(this.wwaData.mapWidth*this.wwaData.mapWidth,this.wwaData.mapWidth*this.wwaData.mapWidth,Ke.RAND_PARTS)}emitProgress(e,s,a){this.eventEmitter.dispatch("progress",{current:e,total:s,stage:a})}}const _h=65e3,fh=3;function dh(t){let e=new Uint8Array(t.length),s,a;for(s=0,a=0;s<t.length&&!(t[s]===0&&t[s+1]===0&&t[s+2]===0);s++){if(e[a++]=t[s],t[s]===t[s+1]){const r=t[s+2];for(let n=0;n<r;n++)e[a++]=t[s];s+=2}if(a+255>=e.length){var i=new Uint8Array(e.length+_h);i.set(e),e=i}}return console.log("EXTRACT DATA = "+a+" "+s),{byteMapData:e,byteMapLength:a,compressedEndPosition:s+fh}}class ph{constructor(e,s,a,i){this.wwaData=e,this.compressedMapData=s,this.startPosition=a,this.eventEmitter=i,this.OLDVER_MESSAGE_MAX=400}load(){const e=this.wwaData;this.currentPos=this.startPosition,e.version>=30&&(e.worldPassword=this.getMessageFromData()),e.version<=29&&(e.messageNum=this.OLDVER_MESSAGE_MAX),e.message=new Array(e.messageNum);for(let s=0;s<e.message.length;s++)e.message[s]=this.getMessageFromData(),s%200===0&&this.eventEmitter.dispatch("progress",{current:s,total:e.message.length,stage:Ke.MESSAGE});for(;e.messageNum<10;)e.message.push(""),e.messageNum++;this.eventEmitter.dispatch("progress",{current:e.message.length,total:e.message.length,stage:Ke.MESSAGE}),e.worldName=this.getMessageFromData(),e.version<=29?e.worldPassword=this.getMessageFromData():this.getMessageFromData(),e.worldPassword===""?e.worldPassNumber=0:e.version>=29?e.worldPassNumber=(parseInt(e.worldPassword)/10-1197)/17-2357:e.worldPassNumber=parseInt(e.worldPassword),e.charCGName=this.getMessageFromData(),e.mapCGName=this.getMessageFromData(),e.systemMessage=new Array(G.SYSTEM_MESSAGE_NUM);for(let s=0;s<G.SYSTEM_MESSAGE_NUM;s++)e.version>=30?e.systemMessage[s]=this.getMessageFromData():e.systemMessage[s]="";return e.yesnoImgPosX=G.IMGPOS_DEFAULT_YESNO_X,e.yesnoImgPosY=G.IMGPOS_DEFAULT_YESNO_Y,e.playerImgPosX=G.IMGPOS_DEFAULT_PLAYER_X,e.playerImgPosY=G.IMGPOS_DEFAULT_PLAYER_Y,e.clickableItemSignImgPosX=G.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_X,e.clickableItemSignImgPosY=G.IMGPOS_DEFAULT_CLICKABLE_ITEM_SIGN_Y,e.disableSaveFlag=G.DEFAULT_DISABLE_SAVE,e.isOldMap=G.DEFAULT_OLDMAP,e.isOldMove=e.version<31,e.objectNoCollapseDefaultFlag=G.DEFAULT_OBJECT_NO_COLLAPSE,e.delPlayerFlag=!1,e.bgm=0,e.effectCoords=[],e.effectWaits=0,e.imgStatusEnergyX=G.IMGPOS_DEFAULT_STATUS_X+G.IMGRELPOS_ENERGY_ICON_X,e.imgStatusEnergyY=G.IMGPOS_DEFAULT_STATUS_Y,e.imgStatusStrengthX=G.IMGPOS_DEFAULT_STATUS_X+G.IMGRELPOS_STRENGTH_ICON_X,e.imgStatusStrengthY=G.IMGPOS_DEFAULT_STATUS_Y,e.imgStatusDefenceX=G.IMGPOS_DEFAULT_STATUS_X+G.IMGRELPOS_DEFENCE_ICON_X,e.imgStatusDefenceY=G.IMGPOS_DEFAULT_STATUS_Y,e.imgStatusGoldX=G.IMGPOS_DEFAULT_STATUS_X+G.IMGRELPOS_GOLD_ICON_X,e.imgStatusGoldY=G.IMGPOS_DEFAULT_STATUS_Y,e.imgWideCellX=G.IMGPOS_DEFAULT_WIDE_CELL_X,e.imgWideCellY=G.IMGPOS_DEFAULT_WIDE_CELL_Y,e.imgItemboxX=G.IMGPOS_DEFAULT_ITEMBOX_X,e.imgItemboxY=G.IMGPOS_DEFAULT_ITEMBOX_Y,e.imgFrameX=G.IMGPOS_DEFAULT_FRAME_X,e.imgFrameY=G.IMGPOS_DEFAULT_FRAME_Y,e.imgBattleEffectX=G.IMGPOS_DEFAULT_BATTLE_EFFECT_X,e.imgBattleEffectY=G.IMGPOS_DEFAULT_BATTLE_EFFECT_Y,e.imgClickX=0,e.imgClickY=0,e.frameColorR=G.DEFAULT_FRAME_COLOR_R,e.frameColorG=G.DEFAULT_FRAME_COLOR_G,e.frameColorB=G.DEFAULT_FRAME_COLOR_B,e.frameOutColorR=G.DEFAULT_FRAMEOUT_COLOR_R,e.frameOutColorG=G.DEFAULT_FRAMEOUT_COLOR_G,e.frameOutColorB=G.DEFAULT_FRAMEOUT_COLOR_B,e.fontColorR=G.DEFAULT_STR_COLOR_R,e.fontColorG=G.DEFAULT_STR_COLOR_G,e.fontColorB=G.DEFAULT_STR_COLOR_B,e.statusColorR=G.DEFAULT_STATUS_COLOR_R,e.statusColorG=G.DEFAULT_STATUS_COLOR_G,e.statusColorB=G.DEFAULT_STATUS_COLOR_B,e.moves=G.DEFAULT_MOVES,e.gameSpeedIndex=G.DEFAULT_SPEED_INDEX,e.permitChangeGameSpeed=!0,e.userVar=Array.from({length:G.USER_VAR_NUM}).map(()=>0),e.userNamedVar=new Map,e.playTime=0,e.isVisibleStatusEnergy=!0,e.isVisibleStatusStrength=!0,e.isVisibleStatusDefence=!0,e.isVisibleStatusGold=!0,e.gameOverPolicy="default",e.bgmDelayDurationMs=0,e.pictureRegistry=[],e}getMessageFromData(){let e="",s=0;for(s=0;s<1500&&!(this.compressedMapData[this.currentPos+s*2]==0&&this.compressedMapData[this.currentPos+s*2+1]==0);s++)e+=String.fromCharCode((this.compressedMapData[this.currentPos+s*2+1]<<8)+this.compressedMapData[this.currentPos+s*2]);return this.currentPos+=s*2+2,e}}class Qi{constructor(){}}class ws extends Qi{constructor(e){super(),this.uri=e}static async fetch(e){try{return await fetch(e)}catch{throw new Error(`マップデータ 「${e}」の読み込みに失敗しました。
|
|
24
|
+
通信環境の良いところで再度お試しください。
|
|
25
|
+
ローカルテストの場合は、ブラウザが対応していない可能性があります。`)}}static handleError(e,s){const a=`HTTPステータスコードは ${s.status} です。`;switch(s.status){case 200:case 304:return;case 403:throw new Error(`マップデータ「${e}」を読み取る権限がないようです。
|
|
26
|
+
管理者の方へ: マップデータのパーミッションを確認してください。
|
|
27
|
+
${a}`);case 404:throw new Error(`マップデータ「${e}」が見つかりませんでした。
|
|
28
|
+
${a}`);default:throw new Error(`マップデータ「${e}」の読み込みに失敗しました。
|
|
29
|
+
${a}`)}}async request(){const e=await ws.fetch(this.uri);return ws.handleError(this.uri,e),await e.arrayBuffer()}}const er={},mh=Object.freeze(Object.defineProperty({__proto__:null,default:er},Symbol.toStringTag,{value:"Module"}));class Eh extends Qi{constructor(e){super(),this.fileName=e}async request(){return new Promise((e,s)=>{er.readFile(this.fileName,(a,i)=>{a&&s(a),e(i.buffer)})})}}const xh=t=>typeof window<"u"?new ws(t):new Eh(t);class gh{constructor(e,s){this.fileName=e,this.eventEmitter=s}async requestAndLoadMapData(){const e=xh(this.fileName);try{const s=await e.request();if(!s){this.eventEmitter.dispatch("error",{name:"マップデータ取得に失敗しました",message:"mapdata is empty"});return}const a=this.loadMapData(s);this.eventEmitter.dispatch("mapData",a)}catch(s){const a=s.name||"",i=s.message||"";this.eventEmitter.dispatch("error",{name:a,message:i})}}loadMapData(e){try{const s=new Uint8Array(e),{byteMapData:a,byteMapLength:i,compressedEndPosition:r}=dh(s),n=new lh(a,i,this.eventEmitter).extractAllData();return new ph(n,s,r,this.eventEmitter).load()}catch(s){throw s}}}class vh{constructor(){this._milisecondTimer=0,this._frameTimer=0,this._points=new Map}addPoint(e,s,a){if(!s&&!a)return;const i=wh(s,a);switch(this._points.set(e,i),i.type){case"milisecond":{const r=[...this._points.values()].filter(({type:n})=>n==="milisecond").map(({value:n})=>n);this._milisecondLimit=Math.max(...r);break}case"frame":{const r=[...this._points.values()].filter(({type:n})=>n==="frame").map(({value:n})=>n);this._frameLimit=Math.max(...r)}}}enabled(){return this._points.size>0&&(this._milisecondTimer<this._milisecondLimit||this._frameTimer<this._frameLimit)}tick(e){!this.enabled()||this.isTimeOver()||(this._milisecondTimer+=e,this._frameTimer++)}isOver(e,s){if(this._points.has(e)){const a=this._points.get(e);switch(a.type){case"milisecond":return this._milisecondTimer>=a.value;case"frame":return this._frameTimer>=a.value;default:return!1}}return s}isNotOver(e,s){if(this._points.has(e)){const a=this._points.get(e);switch(a.type){case"milisecond":return this._milisecondTimer<a.value;case"frame":return this._frameTimer<a.value;default:return!1}}return s}isTimeOver(){return!1}get timeLimit(){return{milisecond:this._milisecondLimit,frame:this._frameLimit}}}const wh=(t,e)=>{if(t)return{value:t,type:"milisecond"};if(e)return{value:e,type:"frame"}};class Ah{constructor(e,s){this.canvas=new OffscreenCanvas(Ji(e),Zi(s)),this.ctx=this.canvas.getContext("2d",{alpha:!0}),this.ctx.imageSmoothingEnabled=!1}getCanvasImage(){return this.canvas}drawCanvas(e,s,a,i,r,n=o.CHIP_SIZE,h=o.CHIP_SIZE){this.ctx.drawImage(e,o.CHIP_SIZE*s,o.CHIP_SIZE*a,o.CHIP_SIZE,o.CHIP_SIZE,i,r,n,h)}drawCanvasFree(e,s,a,i,r){this.ctx.drawImage(e,s,a,i,r)}drawFont(e,s,a,i){i!==void 0?e.split(`
|
|
30
|
+
`).forEach((n,h)=>{this.ctx.fillText(n,s,a+h*i)}):this.ctx.fillText(e,s,a)}updateSize(e,s){this.canvas.width=Ji(e),this.canvas.height=Zi(s),this.ctx.imageSmoothingEnabled=!1}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height)}}const tr=(t,e,s)=>t==="maximum"?{width:o.MAP_WINDOW_WIDTH,height:o.MAP_WINDOW_HEIGHT}:t==="minimumWithMargin"?{width:e+o.CHIP_SIZE*2,height:s+o.CHIP_SIZE*2}:{width:e,height:s},yh=(t,e,s)=>t==="maximum"?{x:e,y:s}:t==="minimumWithMargin"?{x:o.CHIP_SIZE,y:o.CHIP_SIZE}:{x:0,y:0},Sh=(t,e,s,a,i)=>t==="maximum"?{x:0,y:0,width:o.MAP_WINDOW_WIDTH,height:o.MAP_WINDOW_HEIGHT}:t==="minimumWithMargin"?{x:e-o.CHIP_SIZE,y:s-o.CHIP_SIZE,width:a*(o.CHIP_SIZE*2),height:i*(o.CHIP_SIZE*2)}:{x:e,y:s,width:a,height:i},sr=(t,e,s,a,i)=>t==="maximum"?{x:a,y:i}:t==="minimumWithMargin"?{x:o.CHIP_SIZE+e/2,y:o.CHIP_SIZE+s/2}:{x:e/2,y:s/2};class ct{constructor(e,s,a){this._registry=s;const{properties:i}=s;this._posBaseX=i.pos?.[0]??0,this._posBaseY=i.pos?.[1]??0,[this._imgMainX,this._imgMainY]=ct._getImgPosByPicture(this._registry,!0),[this._imgSubX,this._imgSubY]=ct._getImgPosByPicture(this._registry,!1),this._mapCropCache=ct._getMapImgPosArray(this._registry,e),this._drawChip=$i(this._imgMainX,this._imgMainY,this._imgSubX,this._imgSubY)||this._mapCropCache!==null,this._repeatX=i.repeat?.[0]??1,this._repeatY=i.repeat?.[1]??1,this._imgFile=a,this._cropX=this._imgFile?1:i.crop?.[0]??1,this._cropY=this._imgFile?1:i.crop?.[1]??1,this._sizeX=i.size?.[0]??(this._imgFile?this._imgFile.width:o.CHIP_SIZE),this._sizeY=i.size?.[1]??(this._imgFile?this._imgFile.height:o.CHIP_SIZE),this._circleRadiusX=i.circle?.[0]??0,this._circleRadiusY=i.circle?.[1]??this._circleRadiusX,this._circleAngle=i.circle?.[2]??0,this._fontStyle=ct._getFontValue(i),this._textAlign=ct._convertTextAlign(i.textAlign);const r=i.color?.[0]??0,n=i.color?.[1]??0,h=i.color?.[2]??0;this._fillStyle=`rgb(${r}, ${n}, ${h})`,this._moveX=i.move?.[0]??0,this._moveY=i.move?.[1]??0,this._accelX=i.accel?.[0]??0,this._accelY=i.accel?.[1]??0,this._zoomX=i.zoom?.[0]??0,this._zoomY=i.zoom?.[1]??0,this._zoomAccelX=i.zoomAccel?.[0]??0,this._zoomAccelY=i.zoomAccel?.[1]??0,this._anchor=i.anchor??7,this._circleSpeed=i.circle?.[3]??0,this._opacity=i.opacity??100,this._fade=i.fade??0,this._angleRadian=i.angle?i.angle*Math.PI/180:0,this._rotateRadian=i.rotate?i.rotate*Math.PI/180:0,i.text?((i.angle||i.rotate)&&console.warn(`レイヤー${this.layerNumber}番: テキストの描画と回転の併用は、現時点では非推奨です。今後動作が変わる可能性があるので、自己責任でお願いします。`),this._drawCoordType="maximum"):i.angle||i.rotate?this._drawCoordType="minimumWithMargin":this._drawCoordType="minimum",this._updatePictureCache();const{width:u,height:c}=tr(this._drawCoordType,this._totalWidth,this._totalHeight);if(this._canvas=new Ah(u,c),this._timer=new vh,this._timer.addPoint("start",vs(i.time,1,!1),vs(i.timeFrame,1,!1)),this._timer.addPoint("end",vs(i.time,0,!0),vs(i.timeFrame,0,!0)),this._timer.addPoint("startAnim",i.animTime?.[0],i.animTimeFrame?.[0]),this._timer.addPoint("endAnim",i.animTime?.[1],i.animTimeFrame?.[1]),this._timer.addPoint("wait",i.wait,i.waitFrame),this._angleRadian!==0){const{x:l,y:f}=sr(this._drawCoordType,this._totalWidth,this._totalHeight,this._posBaseX,this._posBaseY);this._canvas.ctx.translate(l,f),this._canvas.ctx.rotate(this._angleRadian),this._canvas.ctx.translate(-l,-f)}this.updateCanvasContext(),this._hasAnimation=this.getHasAnimation()}get layerNumber(){return this._registry.layerNumber}get hasAnimation(){return this._hasAnimation}get canvasImage(){return this._canvas.getCanvasImage()}get appearParts(){if(!(!this._registry.properties.map||this._registry.properties.map.length<3))return{partsNumber:this._registry.properties.map[0],x:this._registry.properties.map[1],y:this._registry.properties.map[2],partsType:this._registry.properties.map[3]??ve.OBJECT}}get executeScriptFunctionName(){return this._registry.properties.script}updateCanvasContext(){this._canvas.ctx.globalAlpha=ct._roundPercentage(this._opacity)/100,this._canvas.ctx.font=this._fontStyle,this._canvas.ctx.textBaseline="top",this._textAlign&&(this._canvas.ctx.textAlign=this._textAlign),this._canvas.ctx.fillStyle=this._fillStyle}draw(e,s){this.clearCanvas();const a=s?this._imgMainX:this._imgSubX,i=s?this._imgMainY:this._imgSubY,{x:r,y:n}=yh(this._drawCoordType,this._posDestX,this._posDestY);for(let h=0;h<this._repeatY;h++)for(let u=0;u<this._repeatX;u++){const c=r+this._charaWidth*u,l=n+this._charaHeight*h;if(this._imgFile)this._canvas.drawCanvasFree(this._imgFile,c,l,this._charaWidth,this._charaHeight);else if(this._drawChip)if(this._mapCropCache!==null)this._mapCropCache.forEach((f,_)=>{f.forEach(([p,m,v,x],d)=>{$i(p,m,v,x)&&this._canvas.drawCanvas(e,s?p:v,s?m:x,c+this._chipWidth*d,l+this._chipHeight*_,this._chipWidth,this._chipHeight)})});else for(let f=0;f<this._cropY;f++)for(let _=0;_<this._cropX;_++)this._canvas.drawCanvas(e,a+_,i+f,c+this._chipWidth*_,l+this._chipHeight*f,this._chipWidth,this._chipHeight);this.getHasText()&&this._canvas.drawFont(this._registry.properties.text,c,l,this._registry.properties.lineHeight)}}getDrawPictureCoords(){return Sh(this._drawCoordType,this._posDestX,this._posDestY,this._totalWidth,this._totalHeight)}updateAnimation(){if(this._timer.isNotOver("startAnim",!1)||this._timer.isOver("endAnim",!1))return;this._posBaseX=this._posBaseX+this._moveX,this._posBaseY=this._posBaseY+this._moveY,this._moveX=this._moveX+this._accelX,this._moveY=this._moveY+this._accelY,this._sizeX=this._sizeX+this._zoomX,this._sizeY=this._sizeY+this._zoomY,this._zoomX=this._zoomX+this._zoomAccelX,this._zoomY=this._zoomY+this._zoomAccelY,this._updatePictureCache();const{width:e,height:s}=tr(this._drawCoordType,this._totalWidth,this._totalHeight);if(this._canvas.updateSize(e,s),this._circleAngle=this._circleAngle+this._circleSpeed,this._fade!==0&&(this._opacity=this._opacity+this._fade),this._angleRadian!==0||this._rotateRadian!==0){this._angleRadian+=this._rotateRadian;const{x:a,y:i}=sr(this._drawCoordType,this._totalWidth,this._totalHeight,this._posBaseX,this._posBaseY);this._canvas.ctx.translate(a,i),this._canvas.ctx.rotate(this._angleRadian),this._canvas.ctx.translate(-a,-i)}this.updateCanvasContext()}_updatePictureCache(){this._chipWidth=qi(this._sizeX),this._chipHeight=qi(this._sizeY),this._charaWidth=this._chipWidth*this._cropX,this._charaHeight=this._chipHeight*this._cropY,this._totalWidth=this._charaWidth*this._repeatX,this._totalHeight=this._charaHeight*this._repeatY,this._posDestX=Math.floor(sh(ah(this._posBaseX,this._circleRadiusX,this._circleAngle),this._charaWidth,this._anchor)),this._posDestY=Math.floor(ih(rh(this._posBaseY,this._circleRadiusY,this._circleAngle),this._charaHeight,this._anchor))}isNotStarted(){return this._timer.isNotOver("start",!1)}tickTime(e){this._timer.tick(e)}isDeadlineOver(){return this._timer.isOver("end",!1)}isStartTimeOver(){return this._timer.isOver("start",!0)}isWaiting(){return this._timer.isNotOver("wait",!1)}clearCanvas(){this._canvas.clear()}getRegistryData(){return this._registry}getNextPicturePartsInfo(){const e=Array.isArray(this._registry.properties.next)&&this._registry.properties.next[0]?{layerNumber:this._registry.layerNumber,partsNumber:this._registry.properties.next[0],partsType:this._registry.properties.next[1]??ve.OBJECT,connectProperties:!!this._registry.properties.next[2]}:void 0,s=Array.isArray(this._registry.properties.create)?this._registry.properties.create.filter(Array.isArray).map(a=>({layerNumber:a[0],partsNumber:a[1],partsType:a[2]??ve.OBJECT,connectProperties:!!a[3]})):[];return e?s.concat(e):s}getNextPictureProperties(){const e={...this._registry.properties};return delete e.next,delete e.create,{...e,pos:[this._posBaseX,this._posBaseY],move:[this._moveX,this._moveY],size:[this._sizeX,this._sizeY],zoom:[this._zoomX,this._zoomY],circle:[this._circleRadiusX,this._circleRadiusY,this._circleAngle,this._circleSpeed],opacity:this._opacity}}getTriggerPartsCoord(){return new Y(this._registry.triggerPartsX,this._registry.triggerPartsY)}getHasAnimation(){return this._moveX!==0||this._moveY!==0||this._accelX!==0||this._accelY!==0||this._zoomX!==0||this._zoomY!==0||this._zoomAccelX!==0||this._zoomAccelY!==0||this._circleSpeed!==0||this._fade!==0||this._rotateRadian!==0}getHasText(){return this._registry.properties.text}static _getImgPosByPicture(e,s){const{properties:a}=e;return a.imgMap?.[0]!==void 0&&a.imgMap?.[1]!==void 0?[0,0]:a.img?.[0]!==void 0&&a.img?.[1]!==void 0?s?[a.img[0],a.img[1]]:a.img[2]!==void 0&&a.img[3]!==void 0?[a.img[2],a.img[3]]:[a.img[0],a.img[1]]:s||e.imgPosX2===0&&e.imgPosY2===0?[e.imgPosX,e.imgPosY]:[e.imgPosX2,e.imgPosY2]}static _getMapImgPosArray(e,s){const{properties:a}=e,i=a.imgMap?.[0]??-1,r=a.imgMap?.[1]??-1;if(i<0||r<0)return null;const n=a.crop?.[0]??1,h=a.crop?.[1]??1,u=a.imgMap?.[2]!==void 0&&a.imgMap[2]>=1?ve.MAP:ve.OBJECT,c=[];for(let l=0;l<h;l++){const f=[];for(let _=0;_<n;_++){const p=s.getPartsID(new Y(i+_,r+l),u);if(p===0)f.push([0,0,0,0]);else{const m=u===ve.MAP?s.getMapInfo(p):s.getObjectInfo(p);u===ve.MAP||m[o.ATR_X2]===0&&m[o.ATR_Y2]===0?f.push([m[o.ATR_X]/o.CHIP_SIZE,m[o.ATR_Y]/o.CHIP_SIZE,m[o.ATR_X]/o.CHIP_SIZE,m[o.ATR_Y]/o.CHIP_SIZE]):f.push([m[o.ATR_X]/o.CHIP_SIZE,m[o.ATR_Y]/o.CHIP_SIZE,m[o.ATR_X2]/o.CHIP_SIZE,m[o.ATR_Y2]/o.CHIP_SIZE])}}c.push(f)}return c}static _getFontValue(e){if(e.font)return e.font;const s=getComputedStyle(O("wwa-wrapper"));if(e.fontSize===void 0&&e.fontFamily===void 0&&e.italic===void 0&&e.bold===void 0)return s.font;const a=e.italic?"italic":"",i=e.bold?"bold":"",r=e.fontSize?`${e.fontSize}px`:s.fontSize,n=e.fontFamily&&e.fontFamily.length>0?e.fontFamily:s.fontFamily;return`${a} ${i} ${r} ${n}`}static _convertTextAlign(e){return e?["center","end","left","right","start"].includes(e)?e:(console.warn(`textAlign プロパティで不正な値が検出されました。: ${e}`),null):null}static _roundPercentage(e){return e<0?0:e>100?100:e}}const Na=async t=>fetch(t).then(e=>e.status===200||e.status===304?{kind:"data",data:e}:{kind:"httpError",errorMessage:`ファイル ${t} が読み込めませんでした。ステータスコード: ${e.status}`}).catch(e=>({kind:"connectionError",errorMessage:`ファイル ${t} が読み込めませんでした。通信状態がいい場所で再度お試しください。`})).then(async e=>e.kind==="data"?{kind:"data",data:await e.data.json()}:e).catch(e=>({kind:"brokenJson",errorMessage:`ファイル ${t} が壊れています。`}));class Qt{constructor(e,s){this._wwa=e,this._pictures=new Map,this._anonymousPictures=[],this._externalImageFiles=new Map,this._frameTimerValue=Qt._getNowFrameValue(),this._setupExternalImageFiles(s)}async _setupExternalImageFiles(e){if(!e)return;const s=await Na(e);if(s){if(s.kind!=="data"){console.warn(`ピクチャ画像の定義ファイル ${e} が見つかりませんでした。エラーメッセージ: ${s.errorMessage}`);return}if(!s.data||typeof s.data!="object"){console.warn(`ピクチャ画像の定義ファイル ${e} が正しい形式で書かれていません。`);return}if("files"in s.data){const{files:a}=s.data;typeof a=="object"?Object.entries(s.data.files).forEach(([i,r])=>{this._externalImageFiles.set(i,{status:"loading"});const n=new Image;n.src=r,n.onerror=h=>{console.warn(typeof h=="string"?`ピクチャ画像ファイル ${r} が見つかりませんでした。エラーメッセージ: ${h}`:`ピクチャ画像ファイル ${r} が見つかりませんでした。`),this._externalImageFiles.set(i,{status:"failed"})},n.onload=()=>{this._externalImageFiles.set(i,{status:"success",element:n})}}):console.warn(`ピクチャ画像の定義ファイル ${e} の files が正しい形式で書かれていません。`)}}}static _getNowFrameValue(){return performance.now()}registerPicture(e){const s=Object.keys(e.properties).filter(r=>!xs.some(({name:n})=>n===r));if(s.length>0)throw new Error(`不明なプロパティ名 ${s.map(r=>`"${r}"`).join(", ")} が検出されました。`);let a;if(e.properties.imgFile){const r=this._externalImageFiles.get(e.properties.imgFile);r?r.status==="loading"?console.warn(`ピクチャ画像ファイル ${e.properties.imgFile} はまだ読み込みを完了していません。`):r.status==="failed"?console.warn(`ピクチャ画像ファイル ${e.properties.imgFile} を表示することができません。画像ファイルの Path が間違っていないかご確認ください。`):a=r.element:console.warn(`ピクチャ画像ファイル ${e.properties.imgFile} が定義に含まれていません。定義ファイルがあるかご確認ください。`)}const i=e.properties.sound??e.soundNumber;if(i&&this._wwa.playSound(i),eh(e.layerNumber))Pa(e.layerNumber)?this._anonymousPictures.push(new ct(this._wwa,e,a)):(this._pictures.set(e.layerNumber,new ct(this._wwa,e,a)),this._pictures=new Map([...this._pictures.entries()].sort(([,r],[,n])=>r.layerNumber-n.layerNumber)));else throw new Error(`指定したレイヤー番号 ${e.layerNumber}番はこのバージョンでは無効です!`)}registerPictureFromRawRegistry(e,s,a,i){return this.registerPicture(th(i?{...e,properties:{...i,...e.properties}}:e,this._wwa.generateTokenValues({id:s,type:a,position:new Y(e.triggerPartsX,e.triggerPartsY)}))),this.getPictureRegistryData()}registerPictureFromRawText(e,s){const a=Qo({imgPosX:0,imgPosY:0,imgPosX2:0,imgPosY2:0,layerNumber:e,triggerPartsX:0,triggerPartsY:0,soundNumber:0,propertiesText:s});return this.registerPicture(Xi(a)),this.getPictureRegistryData()}registerPictureFromObject(e,s){return this.registerPicture(Xi({imgPosX:0,imgPosY:0,imgPosX2:0,imgPosY2:0,layerNumber:e,triggerPartsX:0,triggerPartsY:0,soundNumber:0,properties:s})),this.getPictureRegistryData()}deletePicture(e){return Pa(e)?(this._anonymousPictures.forEach(s=>{s.clearCanvas()}),this._anonymousPictures.splice(0),this.getPictureRegistryData()):(this._pictures.has(e)&&(this._pictures.get(e).clearCanvas(),this._pictures.delete(e)),this.getPictureRegistryData())}clearAllPictures(){this._pictures.forEach(e=>{e.clearCanvas()}),this._anonymousPictures.forEach(e=>{e.clearCanvas()}),this._pictures.clear(),this._anonymousPictures.splice(0)}forEachPictures(e){this._anonymousPictures.forEach(e),this._pictures.forEach(e)}updateAllPicturesCache(e,s){this.forEachPictures(a=>{a.isNotStarted()||a.draw(e,s)})}updateFrameTimerValue(){this._frameTimerValue=Qt._getNowFrameValue()}updatePicturesAnimation(e,s){const i=Qt._getNowFrameValue()-this._frameTimerValue;this.forEachPictures(r=>{if(r.tickTime(i),!r.isNotStarted()){if(r.isDeadlineOver()){const n=r.layerNumber,h=r.getNextPicturePartsInfo(),u=r.appearParts,c=r.executeScriptFunctionName,l=r.getNextPictureProperties(),f=r.getTriggerPartsCoord();this._wwa.deletePictureRegistry(n);for(const _ of h)this._wwa.setPictureRegistry(_.layerNumber,_.partsNumber,_.partsType,f,_.connectProperties?l:void 0);u!==void 0&&this._wwa.setPartsOnPosition(u.partsType,u.partsNumber,new Y(u.x,u.y)),c&&this._wwa.callUserScript(c);return}r.hasAnimation&&(r.updateAnimation(),r.draw(e,s))}})}isWaiting(){for(const e of this._pictures.values())if(e.isWaiting())return!0;for(const e of this._anonymousPictures)if(e.isWaiting())return!0;return!1}getPictureRegistryData(){return Array.from(this._pictures.values()).map(e=>e.getRegistryData())}}class As{constructor(e,s,a){this.cvs=document.createElement("canvas"),this.cvs.width=e,this.cvs.height=s,this.ctx=this.cvs.getContext("2d",{alpha:a}),this._isTransparent=a}drawCanvas(e,s,a,i,r,n=o.CHIP_SIZE,h=o.CHIP_SIZE){this.ctx.drawImage(e,o.CHIP_SIZE*s,o.CHIP_SIZE*a,o.CHIP_SIZE,o.CHIP_SIZE,i,r,n,h)}clear(){this.clearRect(0,0,this.cvs.width,this.cvs.height)}clearRectWithLowerYLimit(e){this.clearRect(0,0,this.cvs.width,e)}clearRect(e,s,a,i){this._isTransparent?this.ctx.clearRect(e,s,a,i):(this.ctx.fillStyle="#9E9E9E",this.ctx.fillRect(e,s,a,i))}}class Ch{constructor(e,s,a,i,r,n){this._isLoaded=!1,this.mapCache=void 0,this.mapObjectCache=void 0,this.mapCacheYLimit=0,this._frameCanvas=new As(o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW,!0),this._backCanvas=new As(o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW,!1),this._objectCanvases=[],this._effectCanvases=[],this.picture=new Qt(i,r);var h;for(h=0;h<2;h++)this._objectCanvases[h]=new As(o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW,!0);this._ctx=e,this._fileName=s,this._loadCompleteCallBack=n,this._load(),this._frameCoord=a.clone(),this.cpPartsLog=new Y(0,0)}_load(){this._frameCoord,!this._isLoaded&&(this.mapCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this.mapObjectCache=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],this._image=new Image,this._image.addEventListener("load",()=>{this.createFrame(),this._loadCompleteCallBack()}),this._image.addEventListener("error",()=>{throw new Error(`Image Load Failed!!
|
|
31
|
+
file name:`+this._fileName)}),this._image.src=this._fileName,this._isLoaded=!0)}createFrame(){this._frameCanvas.clear(),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y,0,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y,o.MAP_WINDOW_WIDTH-o.CHIP_SIZE,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+2,0,o.MAP_WINDOW_HEIGHT-o.CHIP_SIZE),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+2,o.MAP_WINDOW_WIDTH-o.CHIP_SIZE,o.MAP_WINDOW_HEIGHT-o.CHIP_SIZE);for(var e=1;e<o.H_PARTS_NUM_IN_WINDOW-1;e++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y,o.CHIP_SIZE*e,0),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+1,this._frameCoord.y+2,o.CHIP_SIZE*e,o.MAP_WINDOW_HEIGHT-o.CHIP_SIZE);for(var e=1;e<o.V_PARTS_NUM_IN_WINDOW-1;e++)this._frameCanvas.drawCanvas(this._image,this._frameCoord.x,this._frameCoord.y+1,0,o.CHIP_SIZE*e),this._frameCanvas.drawCanvas(this._image,this._frameCoord.x+2,this._frameCoord.y+1,o.MAP_WINDOW_WIDTH-o.CHIP_SIZE,o.CHIP_SIZE*e)}updateEffects(e){var s;if(e){var a=e.length,i;for(s=0;s<a;s++){var r=e[s];i=this._effectCanvases[s],i?i.clear():i=this._effectCanvases[s]=new As(o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW,!0);for(var n=0;n<o.V_PARTS_NUM_IN_WINDOW;n++)for(var h=0;h<o.H_PARTS_NUM_IN_WINDOW;h++)i.drawCanvas(this._image,r.x,r.y,h*o.CHIP_SIZE,n*o.CHIP_SIZE)}}}restorePictures(e){this.picture.clearAllPictures(),e.forEach(s=>{this.picture.registerPicture(s)})}updateAllPicturesCache(e=!0){this.picture.updateAllPicturesCache(this._image,e)}updatePicturesAnimation(e=!0){this.picture.updatePicturesAnimation(this._image,e)}drawFrame(){this._ctx.drawImage(this._frameCanvas.cvs,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-1),o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE,0,o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-1),o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE),this._ctx.drawImage(this._frameCanvas.cvs,0,o.CHIP_SIZE,o.CHIP_SIZE,o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-2),0,o.CHIP_SIZE,o.CHIP_SIZE,o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-2)),this._ctx.drawImage(this._frameCanvas.cvs,o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-1),o.CHIP_SIZE,o.CHIP_SIZE,o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-2),o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-1),o.CHIP_SIZE,o.CHIP_SIZE,o.CHIP_SIZE*(o.H_PARTS_NUM_IN_WINDOW-2))}drawEffect(e){var s=this._effectCanvases[e];s&&this._ctx.drawImage(s.cvs,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW)}drawPictures(){this.picture.forEachPictures(e=>{const{x:s,y:a,width:i,height:r}=e.getDrawPictureCoords();this._ctx.drawImage(e.canvasImage,0,0,i,r,s,a,i,r)})}drawCanvas(e,s,a,i){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._image,o.CHIP_SIZE*e,o.CHIP_SIZE*s,o.CHIP_SIZE,o.CHIP_SIZE,a,i,o.CHIP_SIZE,o.CHIP_SIZE)}drawCanvasWithSize(e,s,a,i,r,n){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._image,o.CHIP_SIZE*e,o.CHIP_SIZE*s,o.CHIP_SIZE*a,o.CHIP_SIZE*i,r,n,o.CHIP_SIZE*a,o.CHIP_SIZE*i)}drawCanvasWithUpperYLimit(e,s,a,i,r){if(!this._isLoaded)throw new Error("No image was loaded.");var n=Math.max(0,i+o.CHIP_SIZE-r);n>=o.CHIP_SIZE||this._ctx.drawImage(this._image,o.CHIP_SIZE*e,o.CHIP_SIZE*s,o.CHIP_SIZE,o.CHIP_SIZE-n,a,i,o.CHIP_SIZE,o.CHIP_SIZE)}copyCanvas(e,s){return(a,i,r,n,h)=>{if(!this._isLoaded)throw new Error("No image was loaded.");const u=Math.max(0,s(n,h));u>=o.CHIP_SIZE||e.ctx.drawImage(this._image,o.CHIP_SIZE*a,o.CHIP_SIZE*i+u,o.CHIP_SIZE,o.CHIP_SIZE-u,r,n+u,o.CHIP_SIZE,o.CHIP_SIZE)}}copyBackCanvasWithUpperYLimit(e,s,a,i,r){this.copyCanvas(this._backCanvas,(n,h)=>n+o.CHIP_SIZE-h)(e,s,a,i,r)}copyBackCanvasWithLowerYLimit(e,s,a,i,r){this.copyCanvas(this._backCanvas,(n,h)=>h-n)(e,s,a,i,r)}copyObjectCanvasWithUpperYLimit(e,s,a,i,r,n){this.copyCanvas(this._objectCanvases[e],(h,u)=>h+o.CHIP_SIZE-u)(s,a,i,r,n)}copyObjectCanvasWithLowerYLimit(e,s,a,i,r,n){this.copyCanvas(this._objectCanvases[e],(h,u)=>u-h)(s,a,i,r,n)}drawBackCanvas(){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._backCanvas.cvs,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW)}drawObjectCanvas(e){if(!this._isLoaded)throw new Error("No image was loaded.");this._ctx.drawImage(this._objectCanvases[e].cvs,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW,0,0,o.CHIP_SIZE*o.V_PARTS_NUM_IN_WINDOW,o.CHIP_SIZE*o.H_PARTS_NUM_IN_WINDOW)}clearBackCanvas(){this._backCanvas.clear()}clearBackCanvasWithLowerYLimit(e){this._backCanvas.clearRectWithLowerYLimit(e)}clearObjectCanvases(){var e;for(e=0;e<2;e++)this._objectCanvases[e].clear()}clearObjectCanvasesWithLowerYLimit(e){var s;for(s=0;s<2;s++)this._objectCanvases[s].clearRectWithLowerYLimit(e)}drawCanvasWithLowerYLimit(e,s,a,i,r){if(!this._isLoaded)throw new Error("No image was loaded.");var n=Math.max(0,r-i);n>=o.CHIP_SIZE||this._ctx.drawImage(this._image,o.CHIP_SIZE*e,o.CHIP_SIZE*s+n,o.CHIP_SIZE,o.CHIP_SIZE-n,a,i+n,o.CHIP_SIZE,o.CHIP_SIZE)}clearCanvas(e,s,a,i){this._ctx.clearRect(e,s,a,i)}drawBase(e,s,a,i){this._ctx.fillStyle="#9E9E9E",this._ctx.fillRect(e,s,a,i)}setFrameImage(e){this._frameCoord=e,this.createFrame()}}class Dh{constructor(e){this._position=null,this.reset(e)}setPlayer(e){this._player=e}isResetting(){return this._isResetting}getPosition(){return this._position}getPreviousPosition(){return this._positionPrev}resetPreviousPosition(){this._positionPrev=null}move(e){var s=Re[this._player.getSpeedIndex()];this._position=this._position.getNextFramePosition(e,s*(o.H_PARTS_NUM_IN_WINDOW-1),s*(o.V_PARTS_NUM_IN_WINDOW-1))}getTransitionStepNum(){return this._transitionStep}advanceTransitionStepNum(){return++this._transitionStep,this._transitionStep===o.V_PARTS_NUM_IN_WINDOW&&(this._isResetting=!1,this._transitionStep=0),this._transitionStep}isFinalStep(){if(this._isResetting===!1)throw new Error("リセット中ではありません。");return this._transitionStep===o.V_PARTS_NUM_IN_WINDOW-1}reset(e){this._positionPrev=this._position,this._position=e.getDefaultCameraPosition(),this._transitionStep=0,this._isResetting=!0}}class Th{getPosition(){return this._position}constructor(e){this._position=e}}class bh extends Th{constructor(e){super(e)}}class Ih extends bh{constructor(e,s,a,i,r,n,h){super(s),this.itemTransitioningClassName="item-transitioning",this.overwittenItemClassName="item-overwritten",this.overwittenItemSelector=`.${this.overwittenItemClassName}`,this.itemEffectStartTimers=new Array(o.ITEMBOX_SIZE),this._status=i,this._equipStatus=new pt(0,0),this._itemBox=new Array(o.ITEMBOX_SIZE),this._itemBoxElement=new Array(o.ITEMBOX_SIZE),this._itemUsingEvent=new Array(o.ITEMBOX_SIZE);for(var u=0;u<this._itemBox.length;u++)this._itemBox[u]=0,this._itemBoxElement[u]=Qe("#item"+u+">.item-disp");this.updateItemBox(),this._energyMax=r,this._dir=N.DOWN,this._isMovingImage=!1,this._wwa=e,this._state=0,this._camera=a,this._isPartsEventExecuted=!1,this._energyValueElement=Qe("#disp-energy>.status-value-box"),this._strengthValueElement=Qe("#disp-strength>.status-value-box"),this._defenceValueElement=Qe("#disp-defence>.status-value-box"),this._goldValueElement=Qe("#disp-gold>.status-value-box"),this._isReadyToUseItem=!1,this._isClickableItemGot=!1,this._moves=n,this._moveMacroWaitingRemainMoves=0,this._moveObjectAutoExecTimer=0,this.updateStatusValueBox(),this._partsAppeared=!1,this._afterMoveMacroFlag=!1,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=o.PLAYER_LOOKING_AROUND_START_FRAME,this._speedIndex=h,this._messageDelayFrameCount=0,this._battleNoDamageTurnLength=0}move(){if(this.isControllable()){this.controll(this._dir);return}if(this._state===2){try{this._camera.move(this._dir)}catch{}this._isOnCameraStopPosition()&&(this._state=0,this._wwa.callCameraMoveUserDefineFunction())}else if(this._state===1){try{var e=this._position.getNextFramePosition(this._dir,Re[this._speedIndex],Re[this._speedIndex])}catch{}e.isJustPosition()&&(this._state=0,this.toggleMovingImage(),this._moves++,this._isPartsEventExecuted=!1,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._wwa.callMoveUserDefineFunction()),this._position=e}}controll(e){var s,a;if(this.isControllable()){this._isPreparedForLookingAround=!1,this._dir=e;try{s=this._position.getNextFramePosition(this._dir,Re[this._speedIndex],Re[this._speedIndex]),a=this._position.getNextJustPosition(e)}catch{return}if(this._isOnCameraMovingPosition()){if(this._wwa.getMapIdByPosition(a)!==0||this._wwa.isOldMap()||this._wwa.debug)try{this._camera.move(this._dir),this._state=2}catch{this._state=0}return}if(!this.canMoveTo(a)){this._wwa.getMapTypeByPosition(a)===o.MAP_WALL&&this._wwa.checkMap(a.getPartsCoord()),this._wwa.checkObject(a.getPartsCoord());return}this._position=s,this._state=1,this._wwa.getMapAttributeByPosition(this._position.getNextJustPosition(e),o.ATR_TYPE)!==o.MAP_LOCALGATE&&this._wwa.moveObjects(!0)}}setDir(e){this._isPreparedForLookingAround=!1,this._dir=e}canMoveTo(e){return e===null?!1:this._wwa.debug?!0:(this._wwa.getMapWidth(),e.getPartsCoord(),e.getOffsetCoord(),this._wwa.getMapIdByPosition(e)===0&&!this._wwa.isOldMap()||this._wwa.getMapTypeByPosition(e)===o.MAP_WALL?!1:this._wwa.getObjectIdByPosition(e)===0||this._wwa.getObjectTypeByPosition(e)===o.OBJECT_NORMAL&&this._wwa.getObjectAttributeByPosition(e,o.ATR_MODE)===o.PASSABLE_OBJECT?!0:this._wwa.getObjectTypeByPosition(e)===o.OBJECT_DOOR&&this._wwa.getObjectAttributeByPosition(e,o.ATR_NUMBER)===o.PASSABLE_OBJECT?!this.hasItem(this._wwa.getObjectAttributeByPosition(e,o.ATR_ITEM)):!1)}isMoving(){return this._state==1||this._state==2}_isOnCameraMovingPosition(){var e=this._camera.getPosition().getPartsCoord(),s=this.getPosition().getPartsCoord();return s.x-e.x===o.H_PARTS_NUM_IN_WINDOW-1&&this._dir===N.RIGHT||s.x===e.x&&this._dir===N.LEFT||s.y-e.y===o.V_PARTS_NUM_IN_WINDOW-1&&this._dir===N.DOWN||s.y===e.y&&this._dir===N.UP}_isOnCameraStopPosition(){var e=this._camera.getPosition().getPartsCoord(),s=this.getPosition().getPartsCoord();return s.x-e.x===o.H_PARTS_NUM_IN_WINDOW-1&&this._dir===N.LEFT||s.x===e.x&&this._dir===N.RIGHT||s.y-e.y===o.V_PARTS_NUM_IN_WINDOW-1&&this._dir===N.UP||s.y===e.y&&this._dir===N.DOWN}isControllable(){var e=this._afterMoveMacroFlag;return this._afterMoveMacroFlag=!1,this._state===0&&!this._partsAppeared&&(this._wwa.getMapTypeByPosition(this._position)!==o.MAP_LOCALGATE&&this._wwa.getMapTypeByPosition(this._position)!==o.MAP_URLGATE||!this._wwa.isPrevFrameEventExecuted())&&this._moveMacroWaitingRemainMoves===0&&this._moveObjectAutoExecTimer===0&&!e&&this._wwa.canInput()}getCopyOfItemBox(){return this._itemBox.slice()}getDir(){return this._dir}isMovingImage(){return this._isMovingImage}toggleMovingImage(){this._isMovingImage?this._isMovingImage=!1:this._isMovingImage=!0}getEnergyMax(){return this._energyMax}isJumped(){return this._state===4||this._state===8}setMessageWaiting(){this._state=3}isWaitingMessage(){return this._state===3}isDelayFrame(){return this._messageDelayFrameCount>0}updateDelayFrame(){this._messageDelayFrameCount--}setDelayFrame(){this._messageDelayFrameCount=1}clearMessageWaiting(){this._state!==3&&this._state!==8||(this._state===3?this._state=0:this._state===8&&(this._state=4),this._isPartsEventExecuted=!0,this._isPreparedForLookingAround&&(this._lookingAroundTimer=o.PLAYER_LOOKING_AROUND_START_FRAME))}setEstimateWindowWating(){this._state=6}isWaitingEstimateWindow(){return this._state===6}clearEstimateWindowWaiting(){this._state===6&&(this._state=0)}setPasswordWindowWating(){this._state=7}isWaitingPasswordWindow(){return this._state===7}clearPasswordWindowWaiting(){this._state===7&&(this._state=0)}isPartsEventExecuted(){return this._isPartsEventExecuted}resetEventExecutionInfo(){this._isPartsEventExecuted=!1}getLastExecPartsIDOnSamePosition(e){return e===W.MAP?this._samePosLastExecutedMapID:this._samePosLastExecutedObjID}setLastExecInfoOnSamePosition(e,s){e===W.MAP?this._samePosLastExecutedMapID=s:this._samePosLastExecutedObjID=s}processAfterJump(){this._state!==4&&this._state!==8||--this._jumpWaitFramesRemain===0&&(this._state=this._state===4?0:3)}jumpTo(e){var s=this._camera.getPosition();return this.getPosition(),this._position.equals(e)?!1:(this._position=e,e.isInCameraRange(this._camera,!0)||this._camera.reset(e),this._state=this._state===3?8:4,this._jumpWaitFramesRemain=o.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,e.hasLocalGate()?this._dir=N.DOWN:e.getPartsCoord().y<=this._wwa.getMapWidth()-2&&e.getNextJustPosition(N.DOWN).hasLocalGate()?this._dir=N.UP:e.getPartsCoord().y>=1&&e.getNextJustPosition(N.UP).hasLocalGate()?this._dir=N.DOWN:e.getPartsCoord().x<=this._wwa.getMapWidth()-2&&e.getNextJustPosition(N.RIGHT).hasLocalGate()?this._dir=N.LEFT:e.getPartsCoord().x>=1&&e.getNextJustPosition(N.LEFT).hasLocalGate()?this._dir=N.RIGHT:this._dir=N.DOWN,this._camera.getPosition().equals(s)||(this._isPreparedForLookingAround=!0,this._lookingAroundTimer=o.PLAYER_LOOKING_AROUND_START_FRAME),this._wwa.callJumpGateUserDefineFunction(),!0)}systemJumpTo(e){this._position=e,this._camera.reset(e),this._camera.resetPreviousPosition(),this._state=4,this._jumpWaitFramesRemain=o.LOCALGATE_PLAYER_WAIT_FRAME,this._samePosLastExecutedMapID=void 0,this._samePosLastExecutedObjID=void 0,this._dir=N.DOWN,this._isPreparedForLookingAround=!0,this._lookingAroundTimer=o.PLAYER_LOOKING_AROUND_START_FRAME}addStatusAll(e){return this._status.add(e),this.isDead()&&(this._status.energy=0),this._energyMax!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),this._status}setEnergyMax(e){return this._energyMax=e,e!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),e}setEnergy(e){return this._status.energy=e,this.isDead()&&(this._status.energy=0),this._energyMax!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox(),e}damage(e){this._status.energy=Math.max(0,this._status.energy-e),this.isDead()&&(this._status.energy=0),this._energyMax!==0&&(this._status.energy=Math.min(this._status.energy,this._energyMax)),this.updateStatusValueBox()}setStrength(e){return this._status.strength=e,this.updateStatusValueBox(),e}setDefence(e){return this._status.defence=e,this.updateStatusValueBox(),e}setGold(e){return this._status.gold=e,this.updateStatusValueBox(),e}getStatus(){return this._status.plus(this._equipStatus)}getStatusWithoutEquipments(){return this._status.plus(new pt(0,0))}getStatusOfEquipments(){return this._equipStatus.plus(new pt(0,0))}updateStatusValueBox(){const e=this._status.plus(this._equipStatus);this._energyValueElement.textContent=this._wwa.isVisibleStatus("energy")?String(e.energy):"",this._strengthValueElement.textContent=this._wwa.isVisibleStatus("strength")?String(e.strength):"",this._defenceValueElement.textContent=this._wwa.isVisibleStatus("defence")?String(e.defence):"",this._goldValueElement.textContent=this._wwa.isVisibleStatus("gold")?String(e.gold):"",this._wwa._messageWindow?.update(),this._wwa.updateScore()}updateItemBox(e){for(let s=0;s<this._itemBoxElement.length;s++){const a=this._itemBoxElement[s],i=Di("#item"+s);if(this._itemBox[s]===0){a.style.backgroundPosition="-40px 0px",this.disposeItemEffect(s,this._itemBoxElement[s],i);continue}const r=this._wwa.getObjectCropXById(this._itemBox[s]),n=this._wwa.getObjectCropYById(this._itemBox[s]);if(!e||s!==e.insertPos-1){a.style.backgroundPosition="-"+r+"px -"+n+"px",this.disposeItemEffect(s,this._itemBoxElement[s],i);continue}const h=e.itemScreenPixelCoord.x-e.itemBoxScreenPixelCoord.x,u=e.itemScreenPixelCoord.y-e.itemBoxScreenPixelCoord.y,c=-h*o.DEFAULT_FRAME_INTERVAL/o.ITEM_EFFECT_SPEED_PIXEL_PER_FRAME,l=e.overwrittenObjectId===0||e.overwrittenObjectId===void 0,f=l?e.itemBoxBackgroundImageCoord.x:this._wwa.getObjectCropXById(e.overwrittenObjectId),_=l?e.itemBoxBackgroundImageCoord.y:this._wwa.getObjectCropYById(e.overwrittenObjectId);a.style.left=h+"px",a.style.top=u+"px",typeof this.itemEffectStartTimers[s]=="number"&&clearInterval(this.itemEffectStartTimers[s]),this.itemEffectStartTimers[s]=window.setTimeout(()=>{this.itemEffectStartTimers[s]=void 0,this.startItemEffect(s,a,i,{target:{x:r,y:n},overwritten:{x:f,y:_}},c)},o.DEFAULT_FRAME_INTERVAL)}}startItemEffect(e,s,a,i,r){const n=a.querySelector(this.overwittenItemSelector);n&&a.removeChild(n);const h=document.createElement("div");h.classList.add(this.overwittenItemClassName),h.style.backgroundPosition="-"+i.overwritten.x+"px -"+i.overwritten.y+"px",h.style.backgroundImage=a.style.backgroundImage,a.appendChild(h),s.style.backgroundPosition="-"+i.target.x+"px -"+i.target.y+"px",s.style.transitionDuration=r+"ms",s.style.transitionProperty="left,top",s.style.transitionTimingFunction="linear",s.style.left="0",s.style.top="0",a.classList.add(this.itemTransitioningClassName),s.addEventListener("transitionend",()=>{this.disposeItemEffect(e,s,a)},{once:!0})}disposeItemEffect(e,s,a){typeof this.itemEffectStartTimers[e]=="number"&&(clearInterval(this.itemEffectStartTimers[e]),this.itemEffectStartTimers[e]=void 0),s.style.transitionDuration="0s",s.style.transitionProperty="",s.style.left="0",s.style.top="0",a.classList.contains(this.itemTransitioningClassName)&&a.classList.remove(this.itemTransitioningClassName);const i=a.querySelector(this.overwittenItemSelector);i&&a.removeChild(i)}isDead(){return this._status.energy<=0}addItem(e,s=0,a=!1,i){var r,n,h,u=this._wwa.getObjectAttributeById(e,o.ATR_NUMBER),c=0;if(s===0&&u!==0&&(s=u),s===0){if(e===0)return;if(r=this._getBlankItemPos(),r===o.ITEMBOX_IS_FULL)throw this._wwa.setEvalCalcWwaNodeEarnedItem(e,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),new Error("これ以上、アイテムを持てません。");c=this._itemBox[r-1],this._forceSetItemBox(r,e)}else if(a===!1)if(r=s,h=this._itemBox[r-1],this._wwa.getObjectAttributeById(h,o.ATR_NUMBER)!==this._wwa.getObjectAttributeById(e,o.ATR_NUMBER))if(n=this._getBlankItemPos(),n!==o.ITEMBOX_IS_FULL)this._forceSetItemBox(n,h),this._forceSetItemBox(r,e);else throw this._wwa.setEvalCalcWwaNodeEarnedItem(e,-1),this._wwa.callGetItemFullUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),new Error("これ以上、アイテムを持てません。");else c=this._itemBox[r-1],this._forceSetItemBox(r,e);else r=s,c=this._itemBox[r-1],this._forceSetItemBox(r,e);this._updateEquipmentStatus(),this.updateItemBox(i?{insertPos:r,itemScreenPixelCoord:i.screenPixelCoord,itemBoxBackgroundImageCoord:i.itemBoxBackgroundImageCoord,itemBoxScreenPixelCoord:new Y(o.MAP_WINDOW_WIDTH+(r-1)%3*o.CHIP_SIZE,o.ITEMBOX_TOP_Y+Math.floor((r-1)/3)*o.CHIP_SIZE),overwrittenObjectId:c}:void 0)}_forceSetItemBox(e,s){var a=this,i=Qe("#item"+(e-1)+">.item-click-border"),r=this._wwa.getObjectAttributeById(s,o.ATR_MODE);if(this.removeItemByItemPosition(e),this._itemBox[e-1]=s,this._wwa.setEvalCalcWwaNodeEarnedItem(s,e),this._wwa.callGetItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),s!==0&&r!==Lt.NORMAL){const n=this._wwa.resolveSystemMessage(Ie.ITEM_SELECT_TUTORIAL);this._isClickableItemGot||(n!=="BLANK"&&this._wwa.registerSystemMessagePage(n),this._isClickableItemGot=!0),i.style.display="block",(h=>{a._itemUsingEvent[h-1]=()=>{(a.isControllable()||a._wwa._messageWindow.isItemMenuChoice())&&(a._wwa._itemMenu.close(),a._wwa._setNextPage(),a._wwa.onselectitem(h))}})(e),i.addEventListener("click",this._itemUsingEvent[e-1])}}_getBlankItemPos(){var e;for(e=1;e<this._itemBox.length+1;e++)if(this._itemBox[e-1]===0)return e;return o.ITEMBOX_IS_FULL}_updateEquipmentStatus(){var e,s=new pt(0,0);for(e=0;e<o.ITEMBOX_SIZE;e++)this._itemBox[e]!==0&&(s.strength+=this._wwa.getObjectAttributeById(this._itemBox[e],o.ATR_STRENGTH),s.defence+=this._wwa.getObjectAttributeById(this._itemBox[e],o.ATR_DEFENCE));var a=s.minus(this._equipStatus);this._wwa.setStatusChangedEffect(a),this._equipStatus=s,this.updateStatusValueBox()}hasItem(e){for(var s=0;s<o.ITEMBOX_SIZE;s++)if(this._itemBox[s]===e)return!0;return!1}canUseItem(e){var s=this._itemBox[e-1];return!(s===0||this._wwa.getObjectAttributeById(s,o.ATR_MODE)===Lt.NORMAL)}useItem(){var e;e=this._itemBox[this._readyToUseItemPos1To12-1],this._wwa.getObjectAttributeById(e,o.ATR_MODE)!==Lt.NOT_DISAPPEAR&&this.removeItemByItemPosition(this._readyToUseItemPos1To12);var s=O("item"+(this._readyToUseItemPos1To12-1));return setTimeout(()=>{s.classList.contains("onpress")&&s.classList.remove("onpress")},o.DEFAULT_FRAME_INTERVAL),this._wwa.setEvalCalcWwaNodeEarnedItem(e,this._readyToUseItemPos1To12),this._wwa.callUseItemUserDefineFunction(),this._wwa.clearEvalCalcWwaNodeEarnedItem(),this._isReadyToUseItem=!1,this._readyToUseItemPos1To12=void 0,e}canHaveMoreItems(){return this._getBlankItemPos()!==o.ITEMBOX_IS_FULL}removeItemByItemPosition(e){var s;this._itemBox[e-1]!==0&&(this._wwa.getObjectAttributeById(this._itemBox[e-1],o.ATR_MODE)!==Lt.NORMAL&&(s=Qe("#item"+(e-1)+">.item-click-border"),s.removeEventListener("click",this._itemUsingEvent[e-1]),s.style.display="none"),this._itemBox[e-1]=0,this._updateEquipmentStatus(),this.updateItemBox())}removeItemByPartsID(e){var s;if(!this.hasItem(e))throw new Error("アイテムを持っていない");for(var a=0;a<o.ITEMBOX_SIZE;a++)if(this._itemBox[a]===e){this._wwa.getObjectAttributeById(this._itemBox[a],o.ATR_MODE)!==Lt.NORMAL&&(s=Qe("#item"+a+">.item-click-border"),s.removeEventListener("click",this._itemUsingEvent[a]),s.style.display="none"),this._itemBox[a]=0,this._updateEquipmentStatus(),this.updateItemBox();return}}clearItemBox(){for(var e=1;e<=o.ITEMBOX_SIZE;e++)this.removeItemByItemPosition(e);this._updateEquipmentStatus(),this.updateItemBox()}hasGold(e){return this._status.gold>=e}payGold(e){if(!this.hasGold(e))throw new Error("お金が足りない");this.setGold(this._status.gold-e)}earnGold(e){this.setGold(this._status.gold+e)}setPartsAppearedFlag(){this._partsAppeared=!0}clearPartsAppearedFlag(){this._partsAppeared=!1}isPartsAppearedTime(){return this._partsAppeared===!0}startBattleWith(e){this._isPlayerTurn=!0,this._battleFrameCounter=o.BATTLE_INTERVAL_FRAME_NUM,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=e,this._state=5}isFighting(){return this._state===5}isTurn(){return this._isPlayerTurn}getTurnNum(){return this._battleTurnLength}isBattleStartFrame(){return this._battleFrameCounter===o.BATTLE_INTERVAL_FRAME_NUM&&this._battleTurnLength===0}calcBattleResultForPlayerTurn(e,s,a=!1){const i=this._wwa.callUserDefinedBattleDamageFunction("playerToEnemy",(a||void 0)&&{playerStatus:e,enemyStatus:s});return i||{damage:this._calcDamageDefault(e,s)}}calcBattleResultForEnemyTurn(e,s,a=!1){const i=this._wwa.callUserDefinedBattleDamageFunction("enemyToPlayer",(a||void 0)&&{playerStatus:s,enemyStatus:e});return i||{damage:this._calcDamageDefault(e,s)}}_calcDamageDefault(e,s){const a=e.strength-s.defence;return a>0?a:0}fight(){if(!this.isFighting())throw new Error("バトルが開始されていません。");if(this._battleTurnLength===0&&this._battleFrameCounter===o.BATTLE_INTERVAL_FRAME_NUM&&this._wwa.showMonsterWindow(),--this._battleFrameCounter>0)return;this._battleTurnLength++,this._wwa.isBattleSpeedIndexForQuickBattle(this._speedIndex)||this._battleTurnLength>o.BATTLE_SPEED_CHANGE_TURN_NUM?(this._battleTurnLength===1&&(this._wwa.playSound(de.ATTACK),this._wwa.vibration(!1)),this._battleFrameCounter=1):(this._battleFrameCounter=o.BATTLE_INTERVAL_FRAME_NUM,this._wwa.playSound(de.ATTACK),this._wwa.vibration(!0));var e=this.getStatus(),s=this._enemy.status;let a=!1;if(this._isPlayerTurn){if(this._battleTurnLength===1&&this._wwa.isUsingDefaultDamageCalcFunction()&&e.strength<=s.defence&&e.defence>=s.strength){this._enemy.battleEndProcess(),this._wwa.registerSystemMessagePageByKey(Ie.CANNOT_DAMAGE_MONSTER),this._battleTurnLength=0,this._enemy=null,this._state=0;return}const{damage:r,aborted:n}=this.calcBattleResultForPlayerTurn(e,s);this._enemy.damage(r),a=!!n,this._enemy.status.energy<=0&&(this._wwa.playSound(this._wwa.getObjectAttributeById(this._enemy.partsID,o.ATR_SOUND)),this.earnGold(s.gold),this._wwa.setStatusChangedEffect(new Ae(0,0,0,s.gold)),this._enemy.item!==0?this._wwa.setPartsOnPosition(W.OBJECT,this._enemy.item,this._enemy.position):this._wwa.setPartsOnPosition(W.OBJECT,0,this._enemy.position),this._wwa.reserveAppearPartsInNextFrame(this._enemy.position,ye.OBJECT,this._enemy.partsID),this._state=0,this._wwa.registerPageByMessage(this._enemy.message,{triggerParts:{id:this._enemy.partsID,type:W.OBJECT,position:this._enemy.position}}),this._enemy.battleEndProcess(),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null),this._enemy!==null&&(r===0?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0),this._isPlayerTurn=!1}else{const{damage:r,aborted:n}=this.calcBattleResultForEnemyTurn(s,e);this.damage(r),a=!!n,this._status.energy<=0&&(this.setEnergy(0),this._enemy.battleEndProcess(),this._state=0,this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null,this._wwa.shouldApplyGameOver({isCalledByMacro:!1})&&this._wwa.gameover()),r===0?this._battleNoDamageTurnLength++:this._battleNoDamageTurnLength=0,this._isPlayerTurn=!0}(this._battleNoDamageTurnLength>o.FIGHT_DRAW_TURN||a)&&(this._enemy.battleEndProcess(),this._state=0,this._wwa.registerSystemMessagePageByKey(Ie.BATTLE_NOT_SETTLED),this._battleTurnLength=0,this._battleNoDamageTurnLength=0,this._enemy=null)}readyToUseItem(e){var s;if(!this.canUseItem(e))throw new Error("アイテムがないか、アイテムが使えません。");s=this._itemBox[e-1],this._wwa.getObjectAttributeById(s,o.ATR_STRING),this._wwa.reserveAppearPartsInNextFrame(this._position.getPartsCoord(),ye.OBJECT,s),this._readyToUseItemPos1To12=e,this._isReadyToUseItem=!0}isReadyToUseItem(){return this._isReadyToUseItem}getDrawingCenterPosition(){var e=this._position.getPartsCoord(),s=this._position.getOffsetCoord(),a=this._camera.getPosition(),i=a.getPartsCoord(),r=a.getOffsetCoord(),n=(e.x-i.x)*o.CHIP_SIZE+s.x-r.x+o.CHIP_SIZE/2,h=(e.y-i.y)*o.CHIP_SIZE+s.y-r.y+o.CHIP_SIZE/2;return new Y(n,h)}mainFrameCount(){this._frameCount++}getFrameCount(){return this._frameCount}setFrameCount(e){return typeof e!="number"&&(e=0),this._frameCount=e}getMoveCount(){return this._moves}setMoveCount(e){return this._moves=e}isMoveObjectAutoExecTime(){return this._moveObjectAutoExecTimer===0}setMoveMacroWaiting(e){e<0||(this._moveMacroWaitingRemainMoves=e,this._moveObjectAutoExecTimer=0)}resetMoveObjectAutoExecTimer(){this._moveObjectAutoExecTimer=o.CHIP_SIZE/Re[this._speedIndex],this._moveMacroWaitingRemainMoves--}decrementMoveObjectAutoExecTimer(){return this._moveMacroWaitingRemainMoves>=0&&this._moveObjectAutoExecTimer>0&&(this._moveObjectAutoExecTimer--,this._moveMacroWaitingRemainMoves===0&&this._moveObjectAutoExecTimer===0&&(this._afterMoveMacroFlag=!0)),0}isWaitingMoveMacro(){return this._moveMacroWaitingRemainMoves!==0||this._moveObjectAutoExecTimer!==0}decrementLookingAroundTimer(){return this._isPreparedForLookingAround&&this._lookingAroundTimer>0?--this._lookingAroundTimer:0}isLookingAround(){return this._isPreparedForLookingAround&&this._lookingAroundTimer===0}getSpeedIndex(){return this._speedIndex}speedUp(){return this._speedIndex=Math.min(o.MAX_SPEED_INDEX,this._speedIndex+1)}speedDown(){return this._speedIndex=Math.max(o.MIN_SPEED_INDEX,this._speedIndex-1)}setSpeedIndex(e){if(e<o.MIN_SPEED_INDEX||o.MAX_SPEED_INDEX<e)throw new Error("#set_speed の引数が異常です:"+e);return this._speedIndex=e,this._speedIndex}isPausing(){return this.isJumped()||this.isWaitingMessage()||this.isWaitingPasswordWindow()||this.isWaitingEstimateWindow()||this.isWaitingMoveMacro()||this.isFighting()}}class Oa{constructor(e,s,a,i,r,n,h){this._partsID=e,this._position=s,this._imgCoord=a,this._status=i,this._message=r,this._item=n,this._battleEndCallback=h}get partsID(){return this._partsID}get position(){return this._position}get imgCoord(){return this._imgCoord}get status(){return this._status}get message(){return this._message}get item(){return this._item}damage(e){this._status.energy=Math.max(0,this._status.energy-e)}battleEndProcess(){this._battleEndCallback?.()}setStatus(e){e.energy!==null&&(this._status.energy=e.energy),e.strength!==null&&(this._status.strength=e.strength),e.defence!==null&&(this._status.defence=e.defence)}clone(){return new Oa(this._partsID,this._position.clone(),this._imgCoord.clone(),this._status.clone(),this._message,this._item,this._battleEndCallback)}}class Ph{constructor(e,s,a,i,r){this._player=e,this._objectID=s,this._srcPos=a,this._destPos=i,this._dir=r,this._currentPos=this._srcPos.clone()}update(){var e=this._player.getSpeedIndex();return this._currentPos=this._currentPos.getNextFramePosition(this._dir,Re[e],Re[e]),this._currentPos}get isAchievedDestination(){return this._currentPos.equals(this._destPos)}get currentPosition(){return this._currentPos}get beforePosition(){return this._srcPos}get destination(){return this._destPos}get objID(){return this._objectID}}class Nh{constructor(e,s){this._wwa=e,this._player=s,this.clear()}add(e,s,a,i){this._queue.push(new Ph(this._player,e,s,a,i))}update(){for(var e=[],s=[],a=0;a<this._queue.length;a++)this._queue[a].update(),this._queue[a].isAchievedDestination?(e.push(this._queue[a]),this._wwa.setPartsOnPosition(W.OBJECT,0,this._queue[a].beforePosition.getPartsCoord()),this._wwa.setPartsOnPosition(W.OBJECT,this._queue[a].objID,this._queue[a].destination.getPartsCoord())):s.push(this._queue[a]);return this._queue=s,e}clear(){this._queue=[]}get objectMovingData(){return this.objectMovingData}getOffsetByBeforePartsCoord(e){var s=this._queue.filter(a=>a.beforePosition.getPartsCoord().equals(e));return s.length===0?null:s[0].currentPosition.getOffsetCoord()}}const Oh=(t,e)=>{if(t[0]==="+"){const a=parseInt(t.substring(1,10));if(Number.isNaN(a))throw new Error("+ 以降の文字列は数値形式で記載してください。");return e+a}else if(t[0]==="-"){const a=parseInt(t.substring(1,10));if(Number.isNaN(a))throw new Error("- 以降の文字列は数値形式で記載してください。");return e-a}const s=parseInt(t,10);if(Number.isNaN(s))throw new Error("数値形式ではないため、解析できません。");return s};class Mh{constructor(e,s,a,i){this._wwa=e,this._triggerParts=s,this.macroType=a,this.macroArgs=i}isJunction(){return[F.IF,F.ELSE_IF,F.ELSE,F.END_IF].includes(this.macroType)}execute(){try{switch(this.macroType){case F.IMGPLAYER:return this._executeImgPlayerMacro(),{};case F.IMGYESNO:return this._executeImgYesNoMacro(),{};case F.HPMAX:return this._executeHPMaxMacro(),{};case F.SAVE:return this._executeSaveMacro(),{};case F.ITEM:return this._executeItemMacro(),{};case F.DEFAULT:return this._executeDefaultMacro(),{};case F.OLDMAP:return this._executeOldMapMacro(),{};case F.PARTS:return this._executePartsMacro(),{};case F.MOVE:return this._executeMoveMacro(),{};case F.MAP:return this._executeMapMacro(1),{};case F.DIRMAP:return this._executeDirMapMacro(),{};case F.IMGFRAME:return this._executeImgFrameMacro(),{};case F.IMGBOM:return this._executeImgBomMacro(),{};case F.DELPLAYER:return this._executeDelPlayerMacro(),{};case F.FACE:return this._executeFaceMacro(),{};case F.EFFECT:return this._executeEffectMacro(),{};case F.GAMEOVER:return this._executeGameOverMacro(),{};case F.IMGCLICK:return this._executeImgClickMacro(),{};case F.STATUS:{const{isGameOver:e}=this._executeStatusMacro();return{isGameOver:e}}case F.EFFITEM:return this._executeEffItemMacro(),{};case F.COLOR:return this._executeColorMacro(),{};case F.WAIT:return this._executeWaitMacro(),{};case F.SOUND:return this._executeSoundMacro(),{};case F.GAMEPAD_BUTTON:return this._executeGamePadButtonMacro(),{};case F.OLDMOVE:return this._executeOldMoveMacro(),{};case F.JUMPGATE:return this._executeJumpGateMacro(),{};case F.RECPOSITION:return this._executeRecPositionMacro(),{};case F.JUMPRECPOSITION:return this._executeJumpRecPositionMacro(),{};case F.CONSOLE_LOG:return this._executeConsoleLogMacro(1),{};case F.COPY_HP_TO:return this._executeCopyHpToMacro(),{};case F.SET_HP:{const{isGameOver:e}=this._executeSetHPMacro();return{isGameOver:e}}case F.COPY_HPMAX_TO:return this._executeCopyHpMaxToMacro(),{};case F.SET_HPMAX:return this._executeSetHpMaxMacro(),{};case F.COPY_AT_TO:return this._executeCopyAtToMacro(),{};case F.SET_AT:return this._executeSetAtMacro(),{};case F.COPY_DF_TO:return this._executeCopyDfToMacro(),{};case F.SET_DF:return this._executeSetDfMacro(),{};case F.COPY_MONEY_TO:return this._executeCopyMoneyToMacro(),{};case F.SET_MONEY:return this._executeSetMoneyMacro(),{};case F.COPY_STEP_COUNT_TO:return this._executeSetStepCountMacro(),{};case F.VAR_SET_VAL:return this._executeVarSetValMacro(),{};case F.VAR_SET:return this._executeVarSetMacro(),{};case F.VAR_ADD:return this._executeVarAddMacro(),{};case F.VAR_SUB:return this._executeVarSubMacro(),{};case F.VAR_MUL:return this._executeVarMulMacro(),{};case F.VAR_DIV:return this._executeVarDivMacro(),{};case F.VAR_MOD:return this._executeVarModMacro(),{};case F.VAR_SET_RAND:return this._executeVarSetRandMacro(),{};case F.GAME_SPEED:return this._executeGameSpeedMacro(),{};case F.SHOW_STR:return{};case F.SHOW_STR2:return{};case F.IF:return{};case F.LEGACY_IF:return this._executeLegacyIfMacro(),{};case F.ELSE_IF:return{};case F.ELSE:return{};case F.END_IF:return{};case F.SET_SPEED:return this._executeSetSpeedMacro(),{};case F.COPY_TIME_TO:return this._executeCopyTimeToMacro(),{};case F.HIDE_STATUS:return this._executeHideStatusMacro(),{};case F.VAR_MAP:return this._executeVarMapMacro(),{};case F.NO_GAMEOVER:return this._executeNoGameOverMacro(),{};case F.SET:{const{isGameOver:e}=this._executeSetMacro();return{isGameOver:e}}case F.MAP2:return this._executeMapMacro(2),{};case F.CONSOLE_LOG2:return this._executeConsoleLogMacro(2),{};case F.DELAYBGM:return this._executeDelayBgmMacro(),{};case F.SYSMSG:return this._executeSysMsgMacro(),{};case F.PICTURE:return this._executePictureMacro(),{};default:return console.log("不明なマクロIDが実行されました:"+this.macroType),{}}}catch{}}_concatEmptyArgs(e){if(this.macroArgs.length<e){for(var s=new Array(e-this.macroArgs.length),a=0;a<s.length;a++)s[a]="";this.macroArgs=this.macroArgs.concat(s)}}_evaluateIntValue(e,s=0){const a=this.macroArgs[e];if(a==="")return s;const i=Number(a),r=i>=0?Math.floor(i):Math.ceil(i);return isNaN(r)?Ia(a,this._wwa.generateTokenValues(this._triggerParts),s):r}_executeJumpGateMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.forcedJumpGate(e,s)}_executeRecPositionMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.recUserPosition(e,s)}_executeJumpRecPositionMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.jumpRecUserPosition(e,s)}_executeConsoleLogMacro(e){this._concatEmptyArgs(1);const s=this._evaluateIntValue(0);switch(e){case 1:{this._wwa.outputUserVar(s);return}case 2:{console.log(`${this.macroArgs[0]} = ${s}`);return}}}_executeCopyHpToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarHP(e)}_executeCopyHpMaxToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarHPMAX(e)}_executeCopyAtToMacro(){this._concatEmptyArgs(2);const e=this._evaluateIntValue(0),s=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarAT(e,s)}_executeCopyDfToMacro(){this._concatEmptyArgs(2);const e=this._evaluateIntValue(0),s=this._parseStatusKind(this._evaluateIntValue(1));this._wwa.setUserVarDF(e,s)}_parseStatusKind(e){switch(e){case 0:return"all";case 1:return"bare";case 2:return"equipment";default:return"all"}}_executeCopyMoneyToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarMONEY(e)}_executeSetHPMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);return this._wwa.setHPUserVar(e,!0)}_executeSetHpMaxMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setHPMAXUserVar(e)}_executeSetAtMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setATUserVar(e)}_executeSetDfMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setDFUserVar(e)}_executeSetMoneyMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setMONEYUserVar(e)}_executeSetStepCountMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarStep(e)}_executeVarSetValMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setUserVarVal(e,s)}_executeVarSetMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setUserValOtherUserVal(e,s)}_executeVarAddMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setUserValAdd(e,s)}_executeVarSubMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setUserValSub(e,s)}_executeVarMulMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setUserValMul(e,s)}_executeVarDivMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setUserValDiv(e,s)}_executeVarModMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setUserValMod(e,s)}_executeVarSetRandMacro(){this._concatEmptyArgs(3);const e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2,0);this._wwa.setUserValRandNum(e,s,a)}_executeGameSpeedMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.speedChangeJudge(e)}_executeLegacyIfMacro(){for(var e=new Array(11),s=0;s<10;s++)e[s]=this.macroArgs[s];this._wwa.userVarUserIf(this._triggerParts.position,e)}_executeSetSpeedMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setPlayerSpeedIndex(e-1)}_executeCopyTimeToMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setUserVarPlayTime(e)}_executeHideStatusMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=s!==0;this._wwa.hideStatus(e,a)}_executeVarMapMacro(){this._concatEmptyArgs(4);var e=this._evaluateIntValue(0),s=this.macroArgs[1],a=this.macroArgs[2],i=this._evaluateIntValue(3,W.OBJECT);if(e<0)throw new Error("入力変数が不正です");this._wwa.varMap(this._triggerParts.position,s,a,e,i)}_executeImgPlayerMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setPlayerImgCoord(new Y(e,s))}_executeImgYesNoMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setYesNoImgCoord(new Y(e,s))}_executeHPMaxMacro(){this._concatEmptyArgs(1);var e=Math.max(0,this._evaluateIntValue(0));this._wwa.setPlayerEnergyMax(e)}_executeSaveMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.disableSave(e)}_executeItemMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);this._wwa.setPlayerGetItem(e,s)}_executeDefaultMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.setObjectNotCollapseOnPartsOnPlayer(e)}_executeOldMapMacro(){this._concatEmptyArgs(1);var e=!!this._evaluateIntValue(0);this._wwa.setOldMap(e)}_executePartsMacro(){this._concatEmptyArgs(4);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2,W.OBJECT),i=this._evaluateIntValue(3);if(a!==W.OBJECT&&a!==W.MAP)throw new Error("パーツ種別が不明です");if(i!==0&&i!==1&&(i=1),e<0||s<0)throw new Error("パーツ番号が不正です");if(a===W.OBJECT){if(e>=this._wwa.getObjectPartsNum()||s>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(e>=this._wwa.getMapPartsNum()||s>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");this._wwa.replaceParts(e,s,a,!!i)}_executeMoveMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);this._wwa.setMoveMacroWaitingToPlayer(e)}_executeMapMacro(e){this._concatEmptyArgs(4);const s=this._evaluateIntValue(0);var a=this._evaluateIntValue(3,W.OBJECT);if(s<0)throw new Error("パーツ番号が不正です");if(a===W.OBJECT){if(s>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(s>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");if(e===1){const i=this.macroArgs[1],r=this.macroArgs[2];this._wwa.appearPartsEval(this._triggerParts.position,i,r,s,a)}else if(e===2){const i=this._evaluateIntValue(1),r=this._evaluateIntValue(2);if(isNaN(i)||isNaN(r))throw new Error("出現先座標が不正です");this._wwa.appearPartsEval(this._triggerParts.position,`${i}`,`${r}`,s,a)}}_executeDirMapMacro(){this._concatEmptyArgs(3);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2,W.OBJECT);if(isNaN(e)||isNaN(s)||isNaN(a))throw new Error("引数が整数ではありません");if(e<0)throw new Error("パーツ番号が不正です");if(a===W.OBJECT){if(e>=this._wwa.getObjectPartsNum())throw new Error("パーツ番号が不正です")}else if(e>=this._wwa.getMapPartsNum())throw new Error("パーツ番号が不正です");this._wwa.appearPartsByDirection(s,e,a)}_executeImgFrameMacro(){this._concatEmptyArgs(3);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2);if(s<0||a<0)throw new Error("座標は正でなければなりません。");if(e===ge.ENERGY||e===ge.STRENGTH||e===ge.DEFENCE||e===ge.GOLD)this._wwa.setStatusIconCoord(e,new Y(s,a));else if(e===ge.WIDE_CELL_ROW)this._wwa.setWideCellCoord(new Y(s,a));else if(e===ge.ITEM_BG)this._wwa.setItemboxBackgroundPosition({x:s,y:a});else if(e===ge.MAIN_FRAME)this._wwa.setFrameCoord(new Y(s,a));else throw new Error("種別が不正です。")}_executeImgBomMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);if(e<0||s<0)throw new Error("座標は正でなければなりません。");this._wwa.setBattleEffectCoord(new Y(e,s))}_executeDelPlayerMacro(){this._concatEmptyArgs(1);const e=this._evaluateIntValue(0);this._wwa.setDelPlayer(!!e)}_executeFaceMacro(){this._concatEmptyArgs(6);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2),i=this._evaluateIntValue(3),r=this._evaluateIntValue(4),n=this._evaluateIntValue(5),h;if(e<0||s<0||a<0||i<0||r<0||n<0)throw new Error("各引数は0以上の整数でなければなりません。");h=new vi(new Y(e,s),new Y(a,i),new Y(r,n)),this._wwa.addFace(h)}_executeEffectMacro(){this._concatEmptyArgs(1);var e=this._evaluateIntValue(0);if(e<0)throw new Error("待ち時間は0以上の整数でなければなりません。");if(e===0){this._wwa.stopEffect();return}for(var s=[],a=1;a<this.macroArgs.length;a+=2){var i=this._evaluateIntValue(a),r=0;if(i<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");if(a+1===this.macroArgs.length)throw new Error("画像のパーツ座標指定で、Y座標が指定されていません。");if(r=this._evaluateIntValue(a+1),r<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");s.push(new Y(i,r))}this._wwa.setEffect(e,s)}_executeGameOverMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);if(e<0||e>=this._wwa.getMapWidth()||s<0||s>=this._wwa.getMapWidth())throw new Error("マップの範囲外が指定されています!");this._wwa.setGameOverPosition(new Y(e,s))}_executeImgClickMacro(){if(this._concatEmptyArgs(2),this.macroArgs.length<1)throw new Error("引数が少なすぎます");var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);if(e<0||s<0)throw new Error("引数が0以上の整数ではありません");this._wwa.setImgClick(new Y(e,s))}_executeEffItemMacro(){if(this.macroArgs.length<1)throw new Error("引数が少なすぎます");var e=this._evaluateIntValue(0);this._wwa.updateItemEffectEnabled(!!e)}_executeStatusMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);if(e<0||4<e)throw new Error("ステータス種別が範囲外です。");return this._wwa.setPlayerStatus(e,s,!0)}_executeColorMacro(){this._concatEmptyArgs(4);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1),a=this._evaluateIntValue(2),i=this._evaluateIntValue(3);if(e<0||e>5)throw new Error("種別は0から5までです");if(s<0||s>255||a<0||a>255||i<0||i>255)throw new Error("色が範囲外です");this._wwa.changeStyleRule(e,s,a,i)}_executeWaitMacro(){throw new Error("Not implemented!")}_executeSoundMacro(){this._concatEmptyArgs(2);const e=parseInt(this.macroArgs[0]),s=parseInt(this.macroArgs[1]);this._wwa.playSound(e,s)}_executeGamePadButtonMacro(){this._concatEmptyArgs(2);var e=this._evaluateIntValue(0),s=this._evaluateIntValue(1);if(e<0||s<0)throw new Error("各引数は0以上の整数でなければなりません。");if(s>o.ITEMBOX_SIZE)throw new Error("アイテムボックス上限を超えた数値が指定されました。");this._wwa.setGamePadButtonItemTable(e,s)}_executeOldMoveMacro(){this._concatEmptyArgs(1);const e=!!this._evaluateIntValue(0);this._wwa.setOldMove(e)}_executeNoGameOverMacro(){this._concatEmptyArgs(1);const e=this._evaluateIntValue(0);this._wwa.setGameOverPolicy(e)}_executeSetMacro(){return this._wwa.execSetMacro(this.macroArgs[0],{triggerParts:this._triggerParts})}_executePictureMacro(){if(this._concatEmptyArgs(3),this.macroArgs.length<1)throw new Error("引数が少なすぎます");const e=this._evaluateIntValue(0),s=this.macroArgs[1].length>0?this.macroArgs[1]:"+0";if(s==="0"){this._wwa.deletePictureRegistry(e);return}const a=Oh(s,this._triggerParts.id);if(a===0)throw new Error("パーツ番号の相対値算出で0が検出されました。ピクチャを消去する場合は0のまま指定してください。");if(a<0)throw new Error("パーツ番号は0以上の整数でなければなりません。");const i=this._evaluateIntValue(2,W.OBJECT);this._wwa.setPictureRegistry(e,a,i,this._triggerParts.position)}_executeDelayBgmMacro(){this._concatEmptyArgs(1);const e=this._evaluateIntValue(0);this._wwa.setBgmDelay(e)}_executeSysMsgMacro(){this._concatEmptyArgs(2);const e=this.resolveSystemMessageKeyFromMacroArg(this.macroArgs[0]);if(!e)throw new Error("該当するシステムメッセージの定義がありません");const s=this.macroArgs[1]===""?void 0:this.macroArgs[1].replaceAll("\\n",`
|
|
32
|
+
`);this._wwa.overwriteSystemMessage(e,s)}resolveSystemMessageKeyFromMacroArg(e){if(xi(e))return e;const s=this._evaluateIntValue(0);return gi(s)}}function Bh(t,e,s){let a=s.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)\=(.*)$/);if((a===null||a.length!==3)&&(a=s.match(/^\$([a-zA-Z_][a-zA-Z0-9_]*)/),a===null||a.length!==2))throw new Error("マクロではありません");const r=`$${a[1].toLowerCase()}`,n=r==="$if"&&s.match(/,/)?F.LEGACY_IF:_o[r],h=n!==F.SHOW_STR&&n!==F.SHOW_STR2,u=(a[2]??"").split(",").map(c=>h?c.trim():c);return new Mh(t,e,n===void 0?F.UNDEFINED:n,u)}let Ma=class{constructor(e){this.generateTokenValues=e}static executeNodes(e,s){try{return{isError:!1,messages:e?.execute(s)??[]}}catch(a){return console.error(a),{isError:!0}}}};class ys extends Ma{constructor(e=[],s){super(s),this.branches=e}appendBranch(e){this.branches.push(e)}getLastUnconnectedBranch(){for(let e of this.branches)if(!e.next)return e}evaluateAndGetNextNode(e){for(let s of this.branches)if(!s.descriminant||qo(s.descriminant,this.generateTokenValues(e)))return s.next}hasElseBranch(){return this.branches.filter(e=>!!e.elseBranch).length>=1}execute(e){if(!e)throw new Error("パーツ起因ページによる実行ではないため、Junctionノードの利用を想定していません。");const s=this.evaluateAndGetNextNode(e);return s?s.execute(e):[]}}class tt extends Ma{constructor(e,s,a,i,r,n){super(s),this.evalScript=a,this.macro=i,this.next=r,this.script=n,this.messageSegments=this.parseMessage(e),this.macro===void 0&&(this.macro=[])}isEmpty(){return this.messageSegments.reduce((e,s)=>e&&s==="",!0)}generatePrintableMessage(){return this.messageSegments.reduce((e,s)=>{const a=typeof s=="string"?s:s();return`${e}${a}`},"")}appendMessage(e,s=!1){this.messageSegments=this.messageSegments.concat(s?[`
|
|
33
|
+
`]:[],this.parseMessage(e))}static createEmptyMessage(e,s,a){return new tt([],e,s,void 0,void 0,a)}parseMessage(e){return typeof e=="string"?[e]:e}execute(e){return this.script&&this.evalScript(this.script,e),this.macro?.forEach(s=>{if(s.execute().isGameOver)throw new Error("ゲームオーバーのため、メッセージ・マクロの実行を打ち切ります。")}),this.next?[this,...this.next.execute(e)]:[this]}}function Rh(t){return t.split(/\n\<c\>/i)[0].split(/\<c\>/i)[0].replace(/\n\<p\>\n/gi,"<P>").replace(/\n\<p\>/gi,"<P>").replace(/\<p\>\n/gi,"<P>").replace(/\<p\>/gi,"<P>").split(`
|
|
34
|
+
`).map(e=>{if(!e.startsWith("//"))return e.match(/\/\//)?Ii(Ii(e).replace(/^.*\/\/(?!:s?ptth)/gi,"")):e}).filter(e=>e!==void 0).join(`
|
|
35
|
+
`).replace(/\\\/\\\//gi,"//")}function Lh(t){if(t==="")return{pageContents:[]};const e=t.split(/\<script\>/i),[s,a]=e.length>1?[e[0],e[1]]:[e[0]];return{pageContents:s.split(/\<p\>/gi),script:a}}function Fh({content:t,script:e,generatingOption:s,pageType:a,parseMacro:i,evalScript:r,generateTokenValuesCallback:n}){let h,u,c;const l=kh(t,i),f=[];if(l.forEach((_,p)=>{try{const m=p===0?void 0:l[p-1].type,v=f[f.length-1],x=Uh(_,!h||!ar(m),n,r,{triggerParts:s.triggerParts}),d=Vh(x,_,v,f);d&&(c=d),m?Yh(_,m,u,x,v,c,n,{triggerParts:s.triggerParts}):h=x,x&&(u=x)}catch(m){console.error(`$if-$else_if-$else-$endif マクロの解析中にエラーが発生しました。ページ ${p}`),console.error(m)}}),e&&a==="first"){const _=tt.createEmptyMessage(n,r,e);_.next=h,h=_}return{firstNode:h,isLastPage:a==="last",triggerParts:s.triggerParts,isSystemMessage:s.isSystemMessage,showChoice:a==="first"?s.showChoice:void 0,scoreOption:a==="first"?s.scoreOption:void 0,additionalItems:s.additionalItems}}const ar=t=>t===F.SHOW_STR||t===F.SHOW_STR2||t==="text"||t==="normalMacro";function kh(t,e){return t.split(`
|
|
36
|
+
`).map(s=>{const a=s.match(/(\$(?:[a-zA-Z_][a-zA-Z0-9_]*)(?:.*))/);if(!a||a.length<2)return s.startsWith("$")?void 0:{type:"text",text:s};const i=e(a[1]);switch(i.macroType){case F.IF:case F.ELSE_IF:case F.ELSE:case F.END_IF:case F.SHOW_STR:case F.SHOW_STR2:return{type:i.macroType,text:s,macro:i};default:return{type:"normalMacro",text:s,macro:i}}}).filter(Boolean)}function Uh(t,e,s,a,i){switch(t.type){case F.IF:return new ys([{descriminant:Gi(t.macro.macroArgs[0])}],s);case F.SHOW_STR:case F.SHOW_STR2:return e?new tt(ir(t.macro.macroArgs,s,{triggerParts:i.triggerParts,version:t.type===F.SHOW_STR2?2:1}),s,a):void 0;case"text":return e?new tt(t.text,s,a):void 0;case"normalMacro":return e?new tt("",s,a,[t.macro]):void 0;default:return}}function Vh(t,e,s,a){const i=a.length===0;switch(e.type){case F.IF:a.push(t);return;case F.ELSE_IF:if(i)throw new Error("構文エラー: $if を呼ぶ前に $else_if は呼べません");s.appendBranch({descriminant:Gi(e.macro.macroArgs[0])});return;case F.ELSE:if(i)throw new Error("構文エラー: $if を呼ぶ前に $else は呼べません");s.appendBranch({descriminant:!0,elseBranch:{type:"real"}});return;case F.END_IF:if(i)throw new Error("構文エラー: $if を呼ぶ前に $endif は呼べません");return a.pop()}}function Yh(t,e,s,a,i,r,n,h){const u=ar(e);switch(e){case F.IF:case F.ELSE_IF:case F.ELSE:{if(!a||!i)return;const c=i.getLastUnconnectedBranch();if(c)c.next=a;else throw new Error("lastUnconnectedBranchが見つかりませんでした。");return}case F.END_IF:{if(!a||!(r instanceof ys))return;for(let c=0;c<r.branches.length;c++){let l=r.branches[c].next;if(!l){r.branches[c].next=a;continue}Wh(l,a)}r.hasElseBranch()||r.branches.push({next:a,descriminant:!0,elseBranch:{type:"pesudo-else"}})}return;default:{if(!u||!(s instanceof tt))return;const c=!s.isEmpty();t.type===F.SHOW_STR||t.type===F.SHOW_STR2?s.appendMessage(ir(t.macro.macroArgs,n,{triggerParts:h.triggerParts,version:t.type===F.SHOW_STR2?2:1}),c):t.type==="text"?s.appendMessage(t.text,c):t.type==="normalMacro"?s.macro.push(t.macro):s.next=a}}}function Wh(t,e){let s=t;for(;;)if(s instanceof ys&&(s=s.branches[0].next),s instanceof tt){if(!s.next){s.next=e;return}s=s.next}}function ir(t,e,s){return t.map(a=>{const i=Number(a);return isNaN(i)?zo(a)?()=>Ia(a,e(s.triggerParts)):a.replace(/\\n/g,`
|
|
37
|
+
`):()=>{const n=e(s.triggerParts).userVars;return s.version===1?n[i]:i}})}function Hh(t,e,s,a,i){const r=Rh(t),{pageContents:n,script:h}=Lh(r);return n.length===0?[{firstNode:tt.createEmptyMessage(i,a,h),isLastPage:!0,...e}]:n.map((u,c)=>Fh({script:h,content:u,generatingOption:e,pageType:Gh(c,n.length),parseMacro:s,evalScript:a,generateTokenValuesCallback:i}))}function Gh(t,e){return t===0?"first":t===e-1?"last":"other"}function Ba(t){if(t===void 0)return!0;if(t instanceof ys)return t.branches.reduce((e,s)=>e&&Ba(s.next),!0);if(t instanceof tt)return t.isEmpty()&&Ba(t.next)}class rr{constructor(e,s,a,i,r,n,h){this._wwa=e,this._coord=s,this._width=a,this._height=i,this._isVisible=r,this._parentElement=n,this._element=document.createElement("div"),this._element.style.position="absolute",this._element.style.borderWidth="2px",this._element.style.borderStyle="solid",e.isClassicMode()?this._element.style.borderRadius="15px":this._element.style.borderRadius="10px",this._element.classList.add("wwa-message-window"),this._element.style.zIndex=h+"",this._element.style.left=this._coord.x+"px",this._element.style.top=this._coord.y+"px",this._element.style.width=this._width+"px",this._element.style.height=this._height+"px",this._parentElement.appendChild(this._element)}update(e){}show(){this._isVisible=!0,this._element.style.display="block",this.update(),this._wwa.wwaCustomEvent("wwa_window_show",{name:this.windowName,element:this._element,text:this._element.textContent})}hide(){this._isVisible=!1,this._element.style.display="none",this.update(),this._wwa.wwaCustomEvent("wwa_window_hide",{name:this.windowName})}isVisible(){return this._isVisible}get windowName(){return"TextWindow"}}class Kh extends rr{constructor(e,s,a,i,r,n,h){super(e,new Y(s.x,s.y),a,i,r,n,201),this._cgFileName=h,this._monsterBox=document.createElement("div"),this._monsterBox.style.width=o.CHIP_SIZE+"px",this._monsterBox.style.height=o.CHIP_SIZE+"px",this._monsterBox.style.position="absolute",this._monsterBox.style.left="10px",this._monsterBox.style.top="10px",this._monsterBox.style.backgroundImage="url("+this._cgFileName.replace("(","\\(").replace(")","\\)")+")",this._monsterBox.style.backgroundPosition="0 0",this._element.appendChild(this._monsterBox),this._energyBox=document.createElement("div"),this._energyBox.style.position="absolute",this._energyBox.style.left="80px",this._energyBox.style.top="10px",this._energyBox.textContent="生命力 0",this._element.appendChild(this._energyBox),this._strengthBox=document.createElement("div"),this._strengthBox.style.position="absolute",this._strengthBox.style.left="80px",this._strengthBox.style.top="30px",this._strengthBox.textContent="攻撃力 0",this._element.appendChild(this._strengthBox),this._defenceBox=document.createElement("div"),this._defenceBox.style.position="absolute",this._defenceBox.style.left="180px",this._defenceBox.style.top="30px",this._defenceBox.textContent="防御力 0",this._element.appendChild(this._defenceBox),this._isVisible?this._element.style.display="block":this._element.style.display="none"}update(e){e!==void 0&&(this._monsterBox.style.backgroundPosition="-"+e.imgCoord.x+"px -"+e.imgCoord.y+"px",this._energyBox.textContent="生命力 "+e.status.energy,this._strengthBox.textContent="攻撃力 "+e.status.strength,this._defenceBox.textContent="防御力 "+e.status.defence)}get windowName(){return"MonsterWindow"}}const fi=class fi extends rr{constructor(e,s,a,i){e.isClassicMode()?(super(e,new Y(o.CHIP_SIZE*2,30),o.CHIP_SIZE*7,40,a,i,202),this._element.style.borderWidth="0",this._element.style.borderRadius="4px",this._element.style.fontSize="20px",this._element.style.lineHeight="40px"):super(e,new Y(s.x,s.y),340,30,a,i,202),this._element.style.textAlign="center",this._isVisible?this._element.style.display="block":this._element.style.display="none",this.update(0)}update(e){e!==void 0&&(this._element.textContent="Score: "+e)}get windowName(){return"ScoreWindow"}};fi.WINDOW_NAME="ScoreWindow";let Ra=fi;class jh{constructor(e,s,a,i,r,n,h,u,c,l){this._wwaSave=void 0,this._save_select_id=0,this._save_counter=0,this._save_close=!1;var f=this,_=n.replace("(","\\(").replace(")","\\)");switch(this._wwa=e,this._cgFileName=n,this._x=s,this._y=a,this._width=i,this._height=r,this._message="",this._isVisible=h,this._isYesno=u,this._isItemMenu=c,this._element=document.createElement("div"),this._element.id="wwa-text-message-window",this._element.classList.add("wwa-message-window"),this._msgWrapperElement=document.createElement("div"),this._msgWrapperElement.style.textAlign="left",this._msgWrapperElement.style.wordWrap="break-word",this._msgWrapperElement.style.margin=e.isClassicMode()?"8px 0 8px 16px":"0",this._msgWrapperElement.style.padding=e.isClassicMode()?"0":"7px",this._element.appendChild(this._msgWrapperElement),this._saveElement=document.createElement("div"),this._saveElement.style.padding="0",this._saveElement.style.margin="0",this._element.appendChild(this._saveElement),this._dummyElement=document.createElement("div"),this._dummyElement.style.display="none",this._dummyElement.style.padding="0",this._dummyElement.style.margin="0",this._dummyElement.style.height="55px",this._element.appendChild(this._dummyElement),this._ynWrapperElement=document.createElement("div"),this._ynWrapperElement.classList.add("wwa-yesno-wrapper"),this._element.appendChild(this._ynWrapperElement),this._parentElement=l,this._parentElement.appendChild(this._element),this._divYesElement=document.createElement("div"),this._divYesElement.classList.add("wwa-yes-button"),this._divYesElement.style.background="url("+_+")",this._divYesElement.onclick=function(){f._isInputDisable||(e.setYesNoInput(ne.YES),f.update())},this._divYesElement.style.cursor="pointer",this._divNoElement=document.createElement("div"),this._divNoElement.classList.add("wwa-no-button"),this._divNoElement.style.background="url("+_+")",this._divNoElement.onclick=function(){f._isInputDisable||(e.setYesNoInput(ne.NO),f.update())},this._ynWrapperElement.appendChild(this._divYesElement),this._ynWrapperElement.appendChild(this._divNoElement),f._isInputDisable=!1,e.userDevice.device){case be.SP:case be.VR:this._parentElement.classList.add("useScaleUp");break}this.update()}setPosition(e,s,a,i){this._x=e,this._y=s,this._width=a,this._height=i,this.update()}setPositionByPlayerPosition(e,s,a,i,r){var n=i.getPartsCoord().substract(r.getPartsCoord()).y,h;e?h=2:s?h=3:a?h=1:n>=Math.ceil(o.V_PARTS_NUM_IN_WINDOW/2)?h=0:h=2,this.setPositionEasy(h)}setPositionEasy(e){var s=Math.floor(this._element.clientHeight/2);if(e===1){this._y=o.MAP_WINDOW_HEIGHT/2-s,this.update();return}if(e===0){this._y=Math.max(20,o.MAP_WINDOW_HEIGHT/4-s)+10,this.update();return}if(e===2){this._y=Math.min(o.MAP_WINDOW_HEIGHT-20-this._element.clientHeight,o.MAP_WINDOW_HEIGHT*3/4-s),this.update();return}if(e===3){this._y=80,this.update();return}}setMessage(e){this._message=e,this.update()}clear(){this._message="",this.update()}setYesNoChoice(e){return this._isInputDisable=!1,this._isYesno=e,this.update(),this._isYesno}isYesNoChoice(){return this._isYesno}isSaveChoice(){return this._isSave}setItemMenuChoice(e){return this._isInputDisable=!1,this._isItemMenu=e,this.update(),this._isItemMenu}isItemMenuChoice(){return this._isItemMenu}setInputDisable(){this._isInputDisable=!0}isInputDisable(){return this._isInputDisable}show(){this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}isVisible(){return this._isVisible}isWideChar(e){return e.match(/^[^\x01-\x7E\xA1-\xDF]+$/)!==null}createClassicTextElement(e){var s=document.createElement("span");let a=0,i="";for(let n=0;n<e.length||a!=0;n++)if(this.isWideChar(e.charAt(n))?a+=2:a+=1,i+=e.charAt(n),a+1>o.MSG_STR_WIDTH*2){(e.charAt(n+1)==="。"||e.charAt(n+1)==="、")&&(i+=e.charAt(n+1),n++);var r=document.createElement("span");r.style.display="inline-block",r.style.width="100%",r.textContent=i,s.appendChild(r),a=0,i=""}return s}update(){var e=this._wwa.getYesNoImgCoord();this._isYesno?(this._wwa.getYesNoState()===ne.YES?(this._divYesElement.style.backgroundPosition="-"+(e.x+o.IMGRELPOS_YESNO_YESP_X)*o.CHIP_SIZE+"px -"+e.y*o.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(e.x+o.IMGRELPOS_YESNO_NO_X)*o.CHIP_SIZE+"px -"+e.y*o.CHIP_SIZE+"px"):this._wwa.getYesNoState()===ne.NO?(this._divYesElement.style.backgroundPosition="-"+(e.x+o.IMGRELPOS_YESNO_YES_X)*o.CHIP_SIZE+"px -"+e.y*o.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(e.x+o.IMGRELPOS_YESNO_NOP_X)*o.CHIP_SIZE+"px -"+e.y*o.CHIP_SIZE+"px"):(this._divYesElement.style.backgroundPosition="-"+(e.x+o.IMGRELPOS_YESNO_YES_X)*o.CHIP_SIZE+"px -"+e.y*o.CHIP_SIZE+"px",this._divNoElement.style.backgroundPosition="-"+(e.x+o.IMGRELPOS_YESNO_NO_X)*o.CHIP_SIZE+"px -"+e.y*o.CHIP_SIZE+"px"),this._ynWrapperElement.style.display="block"):this._ynWrapperElement.style.display="none",this._msgWrapperElement.textContent="";var s=this._message.split(`
|
|
38
|
+
`);s.forEach((a,i)=>{let r;this._wwa.isClassicMode()?r=this.createClassicTextElement(a):(r=document.createElement("span"),r.textContent=s[i]),this._msgWrapperElement.appendChild(r),this._msgWrapperElement.appendChild(document.createElement("br"))}),this._isVisible?(this._element.style.left=this._x+"px",this._element.style.top=this._y+"px"):(this._element.style.left="-999999px",this._element.style.top="-999999px"),this._isSave?this._saveElement.style.display="block":this._saveElement.style.display="none",this._element.style.width=this._width+"px",this._element.style.minHeight=this._height+"px"}setWWASave(e){this._wwaSave=e}createSaveDom(){var e,s,a,i,r,n,h,u,c,l,f;s=document.createElement("div"),u=document.getElementById("disp-energy"),l=u.style.backgroundPosition,f=u.style.backgroundImage;for(var _=this._wwaSave.list.length,p=0;p<_;p++)e=this._wwaSave.list[p],a=document.createElement("div"),a.classList.add("savedata"),a.setAttribute("save_id",p),a.addEventListener("click",m=>{this.setSaveID(m.currentTarget.getAttribute("save_id")|0),this._save_close=!0,m.preventDefault()}),i=document.createElement("div"),i.classList.add("ss"),a.appendChild(i),r=document.createElement("div"),r.classList.add("wide-cell-row"),r.style.backgroundPosition=l,r.style.backgroundImage=f,a.appendChild(r),s.appendChild(a),e.flag&&(i.appendChild(e.cvs),n=document.createElement("span"),n.textContent=e.getDateText(),e.isLastSaveData()&&(n.style.color=Se.DATE_LAST_SAVE_TEXT_COLOR),i.appendChild(n),h=document.createElement("div"),h.classList.add("status-icon"),h.style.backgroundImage=f,h.style.backgroundPosition="-120px -80px",r.appendChild(h),c=document.createElement("div"),c.classList.add("status-value-box"),c.textContent=e.getStatusEnergy(),r.appendChild(c));this._saveElement.textContent="",this._saveElement.appendChild(s),this.setSaveID(this._save_select_id),this._isSave=!0,this._save_counter=0,this._save_close=!1}deleteSaveDom(){this._saveElement.textContent="",this._isSave=!1}setSaveID(e){this._save_select_id=e;for(var s=document.querySelectorAll(".savedata"),a,i=s.length,r=0;r<i;r++)a=s[r],e===r?a.classList.add("select"):a.classList.remove("select")}save(e,s){return this._wwaSave.save(e,s,this._save_select_id)}load(){return this._wwaSave.load(this._save_select_id)}saveUpdate(){this._save_counter>0&&this._save_counter--}isSaveClose(){return this._save_close}cursor_wait(){this._save_counter=o.CONTROLL_WAIT_FRAME}saveControll(e){if(!(this._save_counter>0)&&!this._isInputDisable){switch(e){case N.DOWN:this._save_select_id-=2,this.cursor_wait();break;case N.UP:this._save_select_id+=2,this.cursor_wait();break;case N.LEFT:this._save_select_id--,this.cursor_wait();break;case N.RIGHT:this._save_select_id++,this.cursor_wait();break}this.setSaveID((this._save_select_id+Se.QUICK_SAVE_MAX)%Se.QUICK_SAVE_MAX)}}get windowName(){return"MessageWindow"}}class Xh{constructor(e,s,a){this.id=e,this.imgFileName=s,this.parent=a,this.elem=document.createElement("div"),this.elem.classList.add("est"),this.elem.setAttribute("id","wwa-est-"+e),this.imgElem=document.createElement("div"),this.imgElem.classList.add("est-img-wrapper"),this.imgElem.style.backgroundImage="url("+this.imgFileName.replace("(","\\(").replace(")","\\)")+")",this.statusElem=document.createElement("div"),this.statusElem.classList.add("est-status-wrapper"),this.energyElem=document.createElement("div"),this.energyElem.classList.add("est-energy"),this.energyDispElem=document.createElement("span"),this.energyDispElem.classList.add("est-energy-disp"),this.energyElem.appendChild(this.energyDispElem),this.statusElem.appendChild(this.energyElem),this.strengthElem=document.createElement("div"),this.strengthElem.classList.add("est-strength"),this.strengthDispElem=document.createElement("span"),this.strengthDispElem.classList.add("est-strength-disp"),this.strengthElem.appendChild(this.strengthDispElem),this.statusElem.appendChild(this.strengthElem),this.defenceElem=document.createElement("div"),this.defenceElem.classList.add("est-defence"),this.defenceDispElem=document.createElement("span"),this.defenceDispElem.classList.add("est-defence-disp"),this.defenceElem.appendChild(this.defenceDispElem),this.statusElem.appendChild(this.defenceElem),this.damageElem=document.createElement("div"),this.damageElem.classList.add("est-damage"),this.damageDispElem=document.createElement("span"),this.damageDispElem.classList.add("est-damage-disp"),this.damageElem.appendChild(this.damageDispElem),this.statusElem.appendChild(this.damageElem),this.elem.appendChild(this.imgElem),this.elem.appendChild(this.statusElem)}hide(){this.elem.style.display="none"}show(){this.elem.style.display="block"}setResult(e,s,a){this.imgElem.style.backgroundPosition="-"+e.x+"px -"+e.y+"px",this.energyDispElem.textContent="生命力 "+s.energy,this.strengthDispElem.textContent="攻撃力 "+s.strength,this.defenceDispElem.textContent="防御力 "+s.defence,a.cannotDamageMonster?this.damageDispElem.textContent="攻撃無効":a.noSettled?this.damageDispElem.textContent="勝負がつきません":a.isOverMaxTurn?this.damageDispElem.textContent="長期戦が予想されます":this.damageDispElem.textContent="予測ダメージ "+a.estimatedDamage}}class $h{constructor(e,s,a){this._wwa=e,this._imgFileName=s,this._parent=a;var i;this._element=document.createElement("div"),this._element.setAttribute("id","wwa-battle-estimate"),this._element.style.display="none",this._edes=[];for(var r=0;r<o.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;r++)i=new Xh(r,this._imgFileName,this._element),this._edes.push(i),this._element.appendChild(i.elem);this._element.addEventListener("click",()=>{this._wwa.hideBattleEstimateWindow()}),this._parent.appendChild(this._element)}update(e,s,a,i,r){for(let n=0;n<o.BATTLE_ESTIMATE_MONSTER_TYPE_MAX;n++){if(n>=s.length){this._edes[n].hide();continue}const h=this._wwa.getObjectAttributeById(s[n].partsID,o.ATR_X),u=this._wwa.getObjectAttributeById(s[n].partsID,o.ATR_Y),c=new Y(h,u),l=this._wwa.getObjectAttributeById(s[n].partsID,o.ATR_ENERGY),f=this._wwa.getObjectAttributeById(s[n].partsID,o.ATR_STRENGTH),_=this._wwa.getObjectAttributeById(s[n].partsID,o.ATR_DEFENCE),p=new Ae(l,f,_,0),m=qh(e,s[n],a,i,r);this._edes[n].setResult(c,p,m),this._edes[n].show()}}show(){this._element.style.display="block"}hide(){this._element.style.display="none"}}function qh(t,e,s,a,i){const r=e.clone(),n=t.clone();let h=0,u=0,c=0;const l=t.energy;if(i&&n.strength<=r.status.defence&&n.defence>=r.status.strength)return{cannotDamageMonster:!0,estimatedDamage:0};for(;;){u++;const f=s(n,r);if(r.status.energy-=f.damage,f.damage===0?c++:c=0,r.status.energy<=0)return{estimatedDamage:h};if(c>o.FIGHT_DRAW_TURN||f.aborted)return{noSettled:(l<=0||n.energy>0)&&r.status.energy>0,estimatedDamage:h};if(u>2e4)return{isOverMaxTurn:!0,estimatedDamage:0};u++;const _=a(r,n),p=Math.max(_.damage,0);if(p===0?c++:c=0,h+=p,n.energy=Math.max(n.energy-p,0),c>o.FIGHT_DRAW_TURN||_.aborted)return{noSettled:(l<=0||n.energy>0)&&r.status.energy>0,estimatedDamage:h};if(u>2e4)return{isOverMaxTurn:!0,estimatedDamage:0}}}var Ss=(t=>(t[t.SAVE=0]="SAVE",t[t.LOAD=1]="LOAD",t))(Ss||{});function Jh(t){return`下のボックスに前回のプレイで取得した
|
|
39
|
+
復帰用パスワードを貼り付けてください。
|
|
40
|
+
Java 版 WWA で取得したパスワードはご利用になれません。
|
|
41
|
+
作成者が ${t?"マップの内容":"ワールド名 か マップの暗証番号"} を変更した場合は
|
|
42
|
+
それ以前に取得したパスワードは使えなくなります。`}const Zh=`下記テキストがデータ復帰用のパスワードになっています。
|
|
43
|
+
コピーしてメモ帳などのテキストエディタに貼り付けて
|
|
44
|
+
保存してください。`;class zh{constructor(e,s,a){this._wwa=e,this._parent=s,this._isDisallowLoadOldSave=a,this.COPIED_MESSAGE_DISPLAY_MS=1e3,this._element=document.createElement("div"),this._element.setAttribute("id","wwa-password-window"),this._element.style.display="none",this._descriptionElement=document.createElement("div"),this._descriptionElement.classList.add("wwa-password-description"),this._passwordBoxElement=document.createElement("textarea"),this._passwordBoxElement.setAttribute("cols","50"),this._passwordBoxElement.setAttribute("rows","16"),this._passwordBoxElement.addEventListener("focus",i=>{this._passwordBoxElement.select()}),this._buttonWrapperElement=document.createElement("div"),this._buttonWrapperElement.classList.add("wwa-password-submit"),this._okButtonElement=document.createElement("button"),this._okButtonElement.textContent="OK",this._okButtonElement.addEventListener("click",()=>{this._wwa.hidePasswordWindow()}),this._cancelButtonElement=document.createElement("button"),this._cancelButtonElement.textContent="キャンセル",this._cancelButtonElement.addEventListener("click",()=>{this._wwa.hidePasswordWindow(!0)}),this._copyButtonElement=document.createElement("button"),this._copyButtonElement.textContent="コピー",this._copyButtonElement.addEventListener("click",async()=>{await navigator.clipboard.writeText(this.password),this._copyButtonElement.textContent="コピーしました",this._copyButtonElement.disabled=!0,setTimeout(()=>{this._copyButtonElement&&(this._copyButtonElement.textContent="コピー",this._copyButtonElement.disabled=!1)},this.COPIED_MESSAGE_DISPLAY_MS)}),this._buttonWrapperElement.appendChild(this._okButtonElement),this._buttonWrapperElement.appendChild(this._cancelButtonElement),this._buttonWrapperElement.appendChild(this._copyButtonElement),this._mode=1,this._element.appendChild(this._descriptionElement),this._element.appendChild(this._passwordBoxElement),this._element.appendChild(this._buttonWrapperElement),this._parent.appendChild(this._element),this.update()}get mode(){return this._mode}set mode(e){this._mode=e,e===1&&(this.password="")}get password(){return this._passwordBoxElement.value}set password(e){this._passwordBoxElement.value=e}show(e){e!==void 0&&(this.mode=e),this._isVisible=!0,this.update()}hide(){this._isVisible=!1,this.update()}update(){var e="";if(this._mode===1){e=Jh(this._isDisallowLoadOldSave);try{this._passwordBoxElement.removeAttribute("readonly")}catch{}this._cancelButtonElement.style.display="inline",this._copyButtonElement.style.display="none"}else e=Zh,this._passwordBoxElement.setAttribute("readonly","readonly"),this._cancelButtonElement.style.display="none",this._copyButtonElement.style.display="inline";var s=e.split(`
|
|
45
|
+
`);this._descriptionElement.textContent="";for(var a=0;a<s.length;a++){var i=document.createElement("span");i.textContent=s[a],this._descriptionElement.appendChild(i),this._descriptionElement.appendChild(document.createElement("br"))}this._isVisible?this._element.style.display="block":this._element.style.display="none"}}function Qh(t,e){const s=t?`
|
|
46
|
+
<div id="wwa-cover">
|
|
47
|
+
<div id="unstable-version-warning"></div>
|
|
48
|
+
<div id="version"></div>
|
|
49
|
+
<div id="progress-message-container">開始しています...</div>
|
|
50
|
+
<div id="progress-bar-bg"></div>
|
|
51
|
+
<div id="progress-bar" class="progress-bar"></div>
|
|
52
|
+
<div id="progress-bar-audio" class="progress-bar"></div>
|
|
53
|
+
<div id="progress-disp">---</div>
|
|
54
|
+
</div>
|
|
55
|
+
`:`
|
|
56
|
+
<div id="wwa-cover">
|
|
57
|
+
<canvas id="progress-panel" width="${o.SCREEN_WIDTH}" height="${o.SCREEN_HEIGHT}"></canvas>
|
|
58
|
+
</div>`,a=e?Ao():"";return`
|
|
59
|
+
<canvas id="wwa-map" class="wwa-canvas" width="440" height="440">
|
|
60
|
+
このブラウザは、Canvas要素をサポートしていません。
|
|
61
|
+
</canvas>
|
|
62
|
+
<canvas id="wwa-map-sub" class="wwa-canvas" width="440" height="440"></canvas>
|
|
63
|
+
<div id="wwa-sidebar">
|
|
64
|
+
<div class="wide-cell-row" id="disp-energy"><div class="status-icon"></div><div class="status-value-box">0</div></div>
|
|
65
|
+
<div class="wide-cell-row" id="disp-strength"><div class="status-icon"></div><div class="status-value-box"> 0 </div></div>
|
|
66
|
+
<div class="wide-cell-row" id="disp-defence"><div class="status-icon"></div><div class="status-value-box">0</div></div>
|
|
67
|
+
<div class="wide-cell-row" id="disp-gold"><div class="status-icon"></div><div class="status-value-box">0</div></div>
|
|
68
|
+
<div class="item-cell" id="item0"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
69
|
+
<div class="item-cell" id="item1"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
70
|
+
<div class="item-cell" id="item2"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
71
|
+
<div class="item-cell" id="item3"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
72
|
+
<div class="item-cell" id="item4"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
73
|
+
<div class="item-cell" id="item5"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
74
|
+
<div class="item-cell" id="item6"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
75
|
+
<div class="item-cell" id="item7"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
76
|
+
<div class="item-cell" id="item8"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
77
|
+
<div class="item-cell" id="item9"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
78
|
+
<div class="item-cell" id="item10"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
79
|
+
<div class="item-cell" id="item11"><div class="item-click-border"></div><div class="item-disp"></div></div>
|
|
80
|
+
<div class="wide-cell-row" id="cell-load">Password</div><div class="wide-button" id="button-load"></div>
|
|
81
|
+
<div class="wide-cell-row" id="cell-save">Quick Save</div><div class="wide-button" id="button-save"></div>
|
|
82
|
+
<div class="wide-cell-row" id="cell-restart">Restart Game</div><div class="wide-button" id="button-restart"></div>
|
|
83
|
+
<div class="wide-cell-row" id="cell-gotowwa">Goto WWA</div><div class="wide-button" id="button-gotowwa"></div>
|
|
84
|
+
</div>
|
|
85
|
+
<div id="wwa-controller"></div>
|
|
86
|
+
<div id="wwa-fader"></div>
|
|
87
|
+
${s}
|
|
88
|
+
${a}
|
|
89
|
+
`}function nr(){return"ontouchstart"in window&&"ontouchend"in window&&"ontouchmove"in window}function e0(t,e,s){var a=document.createElement("style");a.type="text/css",a.setAttribute("id",o.WWA_STYLE_TAG_ID),yo("head")[0].appendChild(a),t.innerHTML=Qh(e!==null,s),e!==null&&(O("wwa-cover").style.backgroundImage=`url(${e})`,O("wwa-cover").style.backgroundRepeat="no-repeat",O("wwa-cover").style.backgroundPosition="0 0")}const ke=class ke{update(){this.counter>0&&this.counter--}cursor_wait(){this.counter=o.CONTROLL_WAIT_FRAME}allClear(){this.col=0,this.row=0,this.counter=0}controll(e){if(!(this.counter>0))switch(e){case N.DOWN:this.row<ke.ROW_MAX-1&&(this.row++,this.openView(),this.cursor_wait());break;case N.UP:this.row>0&&(this.row--,this.openView(),this.cursor_wait());break;case N.LEFT:this.col>0&&(this.col--,this.openView(),this.cursor_wait());break;case N.RIGHT:this.col<ke.COL_MAX-1&&(this.col++,this.openView(),this.cursor_wait());break}}ok(){this.close();var e=null;e=Qe(ke.CLICK_DOM_QUERY_TABLE[this.row][this.col]),e.classList.contains("item-click-border")||this.allClear();var s=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});return e.dispatchEvent(s)}ng(){this.close()}close(){var e=null,s,a;for(s=0;s<ke.COL_MAX;s++)for(a=0;a<ke.ROW_MAX;a++)e=O(ke.DOM_ID_TABLE[a][s]),e.classList.contains("onpress")&&e.classList.remove("onpress")}openView(){this.close();var e=null;e=O(ke.DOM_ID_TABLE[this.row][this.col]),e.classList.add("onpress")}init(){this.allClear(),this.openView()}constructor(){this.allClear()}};ke.ROW_MAX=8,ke.COL_MAX=3,ke.DOM_ID_TABLE=[["item0","item1","item2"],["item3","item4","item5"],["item6","item7","item8"],["item9","item10","item11"],["cell-load","cell-load","cell-load"],["cell-save","cell-save","cell-save"],["cell-restart","cell-restart","cell-restart"],["cell-gotowwa","cell-gotowwa","cell-gotowwa"]],ke.CLICK_DOM_QUERY_TABLE=[["#item0 .item-click-border","#item1 .item-click-border","#item2 .item-click-border"],["#item3 .item-click-border","#item4 .item-click-border","#item5 .item-click-border"],["#item6 .item-click-border","#item7 .item-click-border","#item8 .item-click-border"],["#item9 .item-click-border","#item10 .item-click-border","#item11 .item-click-border"],["#button-load","#button-load","#button-load"],["#button-save","#button-save","#button-save"],["#button-restart","#button-restart","#button-restart"],["#button-gotowwa"," #button-gotowwa","#button-gotowwa"]];let La=ke;var Fa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t0(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var s=function a(){return this instanceof a?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};s.prototype=e.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(t).forEach(function(a){var i=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(s,a,i.get?i:{enumerable:!0,get:function(){return t[a]}})}),s}var Cs={exports:{}};function s0(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ds={exports:{}};const a0=t0(mh);var i0=Ds.exports,or;function ie(){return or||(or=1,(function(t,e){(function(s,a){t.exports=a()})(i0,function(){var s=s||(function(a,i){var r;if(typeof window<"u"&&window.crypto&&(r=window.crypto),typeof self<"u"&&self.crypto&&(r=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<"u"&&window.msCrypto&&(r=window.msCrypto),!r&&typeof Fa<"u"&&Fa.crypto&&(r=Fa.crypto),!r&&typeof s0=="function")try{r=a0}catch{}var n=function(){if(r){if(typeof r.getRandomValues=="function")try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes=="function")try{return r.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},h=Object.create||(function(){function g(){}return function(w){var A;return g.prototype=w,A=new g,g.prototype=null,A}})(),u={},c=u.lib={},l=c.Base=(function(){return{extend:function(g){var w=h(this);return g&&w.mixIn(g),(!w.hasOwnProperty("init")||this.init===w.init)&&(w.init=function(){w.$super.init.apply(this,arguments)}),w.init.prototype=w,w.$super=this,w},create:function(){var g=this.extend();return g.init.apply(g,arguments),g},init:function(){},mixIn:function(g){for(var w in g)g.hasOwnProperty(w)&&(this[w]=g[w]);g.hasOwnProperty("toString")&&(this.toString=g.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),f=c.WordArray=l.extend({init:function(g,w){g=this.words=g||[],w!=i?this.sigBytes=w:this.sigBytes=g.length*4},toString:function(g){return(g||p).stringify(this)},concat:function(g){var w=this.words,A=g.words,S=this.sigBytes,y=g.sigBytes;if(this.clamp(),S%4)for(var C=0;C<y;C++){var I=A[C>>>2]>>>24-C%4*8&255;w[S+C>>>2]|=I<<24-(S+C)%4*8}else for(var L=0;L<y;L+=4)w[S+L>>>2]=A[L>>>2];return this.sigBytes+=y,this},clamp:function(){var g=this.words,w=this.sigBytes;g[w>>>2]&=4294967295<<32-w%4*8,g.length=a.ceil(w/4)},clone:function(){var g=l.clone.call(this);return g.words=this.words.slice(0),g},random:function(g){for(var w=[],A=0;A<g;A+=4)w.push(n());return new f.init(w,g)}}),_=u.enc={},p=_.Hex={stringify:function(g){for(var w=g.words,A=g.sigBytes,S=[],y=0;y<A;y++){var C=w[y>>>2]>>>24-y%4*8&255;S.push((C>>>4).toString(16)),S.push((C&15).toString(16))}return S.join("")},parse:function(g){for(var w=g.length,A=[],S=0;S<w;S+=2)A[S>>>3]|=parseInt(g.substr(S,2),16)<<24-S%8*4;return new f.init(A,w/2)}},m=_.Latin1={stringify:function(g){for(var w=g.words,A=g.sigBytes,S=[],y=0;y<A;y++){var C=w[y>>>2]>>>24-y%4*8&255;S.push(String.fromCharCode(C))}return S.join("")},parse:function(g){for(var w=g.length,A=[],S=0;S<w;S++)A[S>>>2]|=(g.charCodeAt(S)&255)<<24-S%4*8;return new f.init(A,w)}},v=_.Utf8={stringify:function(g){try{return decodeURIComponent(escape(m.stringify(g)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(g){return m.parse(unescape(encodeURIComponent(g)))}},x=c.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new f.init,this._nDataBytes=0},_append:function(g){typeof g=="string"&&(g=v.parse(g)),this._data.concat(g),this._nDataBytes+=g.sigBytes},_process:function(g){var w,A=this._data,S=A.words,y=A.sigBytes,C=this.blockSize,I=C*4,L=y/I;g?L=a.ceil(L):L=a.max((L|0)-this._minBufferSize,0);var T=L*C,b=a.min(T*4,y);if(T){for(var M=0;M<T;M+=C)this._doProcessBlock(S,M);w=S.splice(0,T),A.sigBytes-=b}return new f.init(w,b)},clone:function(){var g=l.clone.call(this);return g._data=this._data.clone(),g},_minBufferSize:0});c.Hasher=x.extend({cfg:l.extend(),init:function(g){this.cfg=this.cfg.extend(g),this.reset()},reset:function(){x.reset.call(this),this._doReset()},update:function(g){return this._append(g),this._process(),this},finalize:function(g){g&&this._append(g);var w=this._doFinalize();return w},blockSize:16,_createHelper:function(g){return function(w,A){return new g.init(A).finalize(w)}},_createHmacHelper:function(g){return function(w,A){return new d.HMAC.init(g,A).finalize(w)}}});var d=u.algo={};return u})(Math);return s})})(Ds)),Ds.exports}var Ts={exports:{}},r0=Ts.exports,hr;function bs(){return hr||(hr=1,(function(t,e){(function(s,a){t.exports=a(ie())})(r0,function(s){return(function(a){var i=s,r=i.lib,n=r.Base,h=r.WordArray,u=i.x64={};u.Word=n.extend({init:function(c,l){this.high=c,this.low=l}}),u.WordArray=n.extend({init:function(c,l){c=this.words=c||[],l!=a?this.sigBytes=l:this.sigBytes=c.length*8},toX32:function(){for(var c=this.words,l=c.length,f=[],_=0;_<l;_++){var p=c[_];f.push(p.high),f.push(p.low)}return h.create(f,this.sigBytes)},clone:function(){for(var c=n.clone.call(this),l=c.words=this.words.slice(0),f=l.length,_=0;_<f;_++)l[_]=l[_].clone();return c}})})(),s})})(Ts)),Ts.exports}var Is={exports:{}},n0=Is.exports,cr;function o0(){return cr||(cr=1,(function(t,e){(function(s,a){t.exports=a(ie())})(n0,function(s){return(function(){if(typeof ArrayBuffer=="function"){var a=s,i=a.lib,r=i.WordArray,n=r.init,h=r.init=function(u){if(u instanceof ArrayBuffer&&(u=new Uint8Array(u)),(u instanceof Int8Array||typeof Uint8ClampedArray<"u"&&u instanceof Uint8ClampedArray||u instanceof Int16Array||u instanceof Uint16Array||u instanceof Int32Array||u instanceof Uint32Array||u instanceof Float32Array||u instanceof Float64Array)&&(u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength)),u instanceof Uint8Array){for(var c=u.byteLength,l=[],f=0;f<c;f++)l[f>>>2]|=u[f]<<24-f%4*8;n.call(this,l,c)}else n.apply(this,arguments)};h.prototype=r}})(),s.lib.WordArray})})(Is)),Is.exports}var Ps={exports:{}},h0=Ps.exports,ur;function c0(){return ur||(ur=1,(function(t,e){(function(s,a){t.exports=a(ie())})(h0,function(s){return(function(){var a=s,i=a.lib,r=i.WordArray,n=a.enc;n.Utf16=n.Utf16BE={stringify:function(u){for(var c=u.words,l=u.sigBytes,f=[],_=0;_<l;_+=2){var p=c[_>>>2]>>>16-_%4*8&65535;f.push(String.fromCharCode(p))}return f.join("")},parse:function(u){for(var c=u.length,l=[],f=0;f<c;f++)l[f>>>1]|=u.charCodeAt(f)<<16-f%2*16;return r.create(l,c*2)}},n.Utf16LE={stringify:function(u){for(var c=u.words,l=u.sigBytes,f=[],_=0;_<l;_+=2){var p=h(c[_>>>2]>>>16-_%4*8&65535);f.push(String.fromCharCode(p))}return f.join("")},parse:function(u){for(var c=u.length,l=[],f=0;f<c;f++)l[f>>>1]|=h(u.charCodeAt(f)<<16-f%2*16);return r.create(l,c*2)}};function h(u){return u<<8&4278255360|u>>>8&16711935}})(),s.enc.Utf16})})(Ps)),Ps.exports}var Ns={exports:{}},u0=Ns.exports,lr;function It(){return lr||(lr=1,(function(t,e){(function(s,a){t.exports=a(ie())})(u0,function(s){return(function(){var a=s,i=a.lib,r=i.WordArray,n=a.enc;n.Base64={stringify:function(u){var c=u.words,l=u.sigBytes,f=this._map;u.clamp();for(var _=[],p=0;p<l;p+=3)for(var m=c[p>>>2]>>>24-p%4*8&255,v=c[p+1>>>2]>>>24-(p+1)%4*8&255,x=c[p+2>>>2]>>>24-(p+2)%4*8&255,d=m<<16|v<<8|x,g=0;g<4&&p+g*.75<l;g++)_.push(f.charAt(d>>>6*(3-g)&63));var w=f.charAt(64);if(w)for(;_.length%4;)_.push(w);return _.join("")},parse:function(u){var c=u.length,l=this._map,f=this._reverseMap;if(!f){f=this._reverseMap=[];for(var _=0;_<l.length;_++)f[l.charCodeAt(_)]=_}var p=l.charAt(64);if(p){var m=u.indexOf(p);m!==-1&&(c=m)}return h(u,c,f)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function h(u,c,l){for(var f=[],_=0,p=0;p<c;p++)if(p%4){var m=l[u.charCodeAt(p-1)]<<p%4*2,v=l[u.charCodeAt(p)]>>>6-p%4*2,x=m|v;f[_>>>2]|=x<<24-_%4*8,_++}return r.create(f,_)}})(),s.enc.Base64})})(Ns)),Ns.exports}var Os={exports:{}},l0=Os.exports,_r;function _0(){return _r||(_r=1,(function(t,e){(function(s,a){t.exports=a(ie())})(l0,function(s){return(function(){var a=s,i=a.lib,r=i.WordArray,n=a.enc;n.Base64url={stringify:function(u,c){c===void 0&&(c=!0);var l=u.words,f=u.sigBytes,_=c?this._safe_map:this._map;u.clamp();for(var p=[],m=0;m<f;m+=3)for(var v=l[m>>>2]>>>24-m%4*8&255,x=l[m+1>>>2]>>>24-(m+1)%4*8&255,d=l[m+2>>>2]>>>24-(m+2)%4*8&255,g=v<<16|x<<8|d,w=0;w<4&&m+w*.75<f;w++)p.push(_.charAt(g>>>6*(3-w)&63));var A=_.charAt(64);if(A)for(;p.length%4;)p.push(A);return p.join("")},parse:function(u,c){c===void 0&&(c=!0);var l=u.length,f=c?this._safe_map:this._map,_=this._reverseMap;if(!_){_=this._reverseMap=[];for(var p=0;p<f.length;p++)_[f.charCodeAt(p)]=p}var m=f.charAt(64);if(m){var v=u.indexOf(m);v!==-1&&(l=v)}return h(u,l,_)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function h(u,c,l){for(var f=[],_=0,p=0;p<c;p++)if(p%4){var m=l[u.charCodeAt(p-1)]<<p%4*2,v=l[u.charCodeAt(p)]>>>6-p%4*2,x=m|v;f[_>>>2]|=x<<24-_%4*8,_++}return r.create(f,_)}})(),s.enc.Base64url})})(Os)),Os.exports}var Ms={exports:{}},f0=Ms.exports,fr;function Pt(){return fr||(fr=1,(function(t,e){(function(s,a){t.exports=a(ie())})(f0,function(s){return(function(a){var i=s,r=i.lib,n=r.WordArray,h=r.Hasher,u=i.algo,c=[];(function(){for(var v=0;v<64;v++)c[v]=a.abs(a.sin(v+1))*4294967296|0})();var l=u.MD5=h.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(v,x){for(var d=0;d<16;d++){var g=x+d,w=v[g];v[g]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360}var A=this._hash.words,S=v[x+0],y=v[x+1],C=v[x+2],I=v[x+3],L=v[x+4],T=v[x+5],b=v[x+6],M=v[x+7],B=v[x+8],K=v[x+9],j=v[x+10],Z=v[x+11],_e=v[x+12],ce=v[x+13],pe=v[x+14],fe=v[x+15],R=A[0],U=A[1],V=A[2],k=A[3];R=f(R,U,V,k,S,7,c[0]),k=f(k,R,U,V,y,12,c[1]),V=f(V,k,R,U,C,17,c[2]),U=f(U,V,k,R,I,22,c[3]),R=f(R,U,V,k,L,7,c[4]),k=f(k,R,U,V,T,12,c[5]),V=f(V,k,R,U,b,17,c[6]),U=f(U,V,k,R,M,22,c[7]),R=f(R,U,V,k,B,7,c[8]),k=f(k,R,U,V,K,12,c[9]),V=f(V,k,R,U,j,17,c[10]),U=f(U,V,k,R,Z,22,c[11]),R=f(R,U,V,k,_e,7,c[12]),k=f(k,R,U,V,ce,12,c[13]),V=f(V,k,R,U,pe,17,c[14]),U=f(U,V,k,R,fe,22,c[15]),R=_(R,U,V,k,y,5,c[16]),k=_(k,R,U,V,b,9,c[17]),V=_(V,k,R,U,Z,14,c[18]),U=_(U,V,k,R,S,20,c[19]),R=_(R,U,V,k,T,5,c[20]),k=_(k,R,U,V,j,9,c[21]),V=_(V,k,R,U,fe,14,c[22]),U=_(U,V,k,R,L,20,c[23]),R=_(R,U,V,k,K,5,c[24]),k=_(k,R,U,V,pe,9,c[25]),V=_(V,k,R,U,I,14,c[26]),U=_(U,V,k,R,B,20,c[27]),R=_(R,U,V,k,ce,5,c[28]),k=_(k,R,U,V,C,9,c[29]),V=_(V,k,R,U,M,14,c[30]),U=_(U,V,k,R,_e,20,c[31]),R=p(R,U,V,k,T,4,c[32]),k=p(k,R,U,V,B,11,c[33]),V=p(V,k,R,U,Z,16,c[34]),U=p(U,V,k,R,pe,23,c[35]),R=p(R,U,V,k,y,4,c[36]),k=p(k,R,U,V,L,11,c[37]),V=p(V,k,R,U,M,16,c[38]),U=p(U,V,k,R,j,23,c[39]),R=p(R,U,V,k,ce,4,c[40]),k=p(k,R,U,V,S,11,c[41]),V=p(V,k,R,U,I,16,c[42]),U=p(U,V,k,R,b,23,c[43]),R=p(R,U,V,k,K,4,c[44]),k=p(k,R,U,V,_e,11,c[45]),V=p(V,k,R,U,fe,16,c[46]),U=p(U,V,k,R,C,23,c[47]),R=m(R,U,V,k,S,6,c[48]),k=m(k,R,U,V,M,10,c[49]),V=m(V,k,R,U,pe,15,c[50]),U=m(U,V,k,R,T,21,c[51]),R=m(R,U,V,k,_e,6,c[52]),k=m(k,R,U,V,I,10,c[53]),V=m(V,k,R,U,j,15,c[54]),U=m(U,V,k,R,y,21,c[55]),R=m(R,U,V,k,B,6,c[56]),k=m(k,R,U,V,fe,10,c[57]),V=m(V,k,R,U,b,15,c[58]),U=m(U,V,k,R,ce,21,c[59]),R=m(R,U,V,k,L,6,c[60]),k=m(k,R,U,V,Z,10,c[61]),V=m(V,k,R,U,C,15,c[62]),U=m(U,V,k,R,K,21,c[63]),A[0]=A[0]+R|0,A[1]=A[1]+U|0,A[2]=A[2]+V|0,A[3]=A[3]+k|0},_doFinalize:function(){var v=this._data,x=v.words,d=this._nDataBytes*8,g=v.sigBytes*8;x[g>>>5]|=128<<24-g%32;var w=a.floor(d/4294967296),A=d;x[(g+64>>>9<<4)+15]=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360,x[(g+64>>>9<<4)+14]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360,v.sigBytes=(x.length+1)*4,this._process();for(var S=this._hash,y=S.words,C=0;C<4;C++){var I=y[C];y[C]=(I<<8|I>>>24)&16711935|(I<<24|I>>>8)&4278255360}return S},clone:function(){var v=h.clone.call(this);return v._hash=this._hash.clone(),v}});function f(v,x,d,g,w,A,S){var y=v+(x&d|~x&g)+w+S;return(y<<A|y>>>32-A)+x}function _(v,x,d,g,w,A,S){var y=v+(x&g|d&~g)+w+S;return(y<<A|y>>>32-A)+x}function p(v,x,d,g,w,A,S){var y=v+(x^d^g)+w+S;return(y<<A|y>>>32-A)+x}function m(v,x,d,g,w,A,S){var y=v+(d^(x|~g))+w+S;return(y<<A|y>>>32-A)+x}i.MD5=h._createHelper(l),i.HmacMD5=h._createHmacHelper(l)})(Math),s.MD5})})(Ms)),Ms.exports}var Bs={exports:{}},d0=Bs.exports,dr;function pr(){return dr||(dr=1,(function(t,e){(function(s,a){t.exports=a(ie())})(d0,function(s){return(function(){var a=s,i=a.lib,r=i.WordArray,n=i.Hasher,h=a.algo,u=[],c=h.SHA1=n.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(l,f){for(var _=this._hash.words,p=_[0],m=_[1],v=_[2],x=_[3],d=_[4],g=0;g<80;g++){if(g<16)u[g]=l[f+g]|0;else{var w=u[g-3]^u[g-8]^u[g-14]^u[g-16];u[g]=w<<1|w>>>31}var A=(p<<5|p>>>27)+d+u[g];g<20?A+=(m&v|~m&x)+1518500249:g<40?A+=(m^v^x)+1859775393:g<60?A+=(m&v|m&x|v&x)-1894007588:A+=(m^v^x)-899497514,d=x,x=v,v=m<<30|m>>>2,m=p,p=A}_[0]=_[0]+p|0,_[1]=_[1]+m|0,_[2]=_[2]+v|0,_[3]=_[3]+x|0,_[4]=_[4]+d|0},_doFinalize:function(){var l=this._data,f=l.words,_=this._nDataBytes*8,p=l.sigBytes*8;return f[p>>>5]|=128<<24-p%32,f[(p+64>>>9<<4)+14]=Math.floor(_/4294967296),f[(p+64>>>9<<4)+15]=_,l.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var l=n.clone.call(this);return l._hash=this._hash.clone(),l}});a.SHA1=n._createHelper(c),a.HmacSHA1=n._createHmacHelper(c)})(),s.SHA1})})(Bs)),Bs.exports}var Rs={exports:{}},p0=Rs.exports,mr;function ka(){return mr||(mr=1,(function(t,e){(function(s,a){t.exports=a(ie())})(p0,function(s){return(function(a){var i=s,r=i.lib,n=r.WordArray,h=r.Hasher,u=i.algo,c=[],l=[];(function(){function p(d){for(var g=a.sqrt(d),w=2;w<=g;w++)if(!(d%w))return!1;return!0}function m(d){return(d-(d|0))*4294967296|0}for(var v=2,x=0;x<64;)p(v)&&(x<8&&(c[x]=m(a.pow(v,.5))),l[x]=m(a.pow(v,.3333333333333333)),x++),v++})();var f=[],_=u.SHA256=h.extend({_doReset:function(){this._hash=new n.init(c.slice(0))},_doProcessBlock:function(p,m){for(var v=this._hash.words,x=v[0],d=v[1],g=v[2],w=v[3],A=v[4],S=v[5],y=v[6],C=v[7],I=0;I<64;I++){if(I<16)f[I]=p[m+I]|0;else{var L=f[I-15],T=(L<<25|L>>>7)^(L<<14|L>>>18)^L>>>3,b=f[I-2],M=(b<<15|b>>>17)^(b<<13|b>>>19)^b>>>10;f[I]=T+f[I-7]+M+f[I-16]}var B=A&S^~A&y,K=x&d^x&g^d&g,j=(x<<30|x>>>2)^(x<<19|x>>>13)^(x<<10|x>>>22),Z=(A<<26|A>>>6)^(A<<21|A>>>11)^(A<<7|A>>>25),_e=C+Z+B+l[I]+f[I],ce=j+K;C=y,y=S,S=A,A=w+_e|0,w=g,g=d,d=x,x=_e+ce|0}v[0]=v[0]+x|0,v[1]=v[1]+d|0,v[2]=v[2]+g|0,v[3]=v[3]+w|0,v[4]=v[4]+A|0,v[5]=v[5]+S|0,v[6]=v[6]+y|0,v[7]=v[7]+C|0},_doFinalize:function(){var p=this._data,m=p.words,v=this._nDataBytes*8,x=p.sigBytes*8;return m[x>>>5]|=128<<24-x%32,m[(x+64>>>9<<4)+14]=a.floor(v/4294967296),m[(x+64>>>9<<4)+15]=v,p.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var p=h.clone.call(this);return p._hash=this._hash.clone(),p}});i.SHA256=h._createHelper(_),i.HmacSHA256=h._createHmacHelper(_)})(Math),s.SHA256})})(Rs)),Rs.exports}var Ls={exports:{}},m0=Ls.exports,Er;function E0(){return Er||(Er=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),ka())})(m0,function(s){return(function(){var a=s,i=a.lib,r=i.WordArray,n=a.algo,h=n.SHA256,u=n.SHA224=h.extend({_doReset:function(){this._hash=new r.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var c=h._doFinalize.call(this);return c.sigBytes-=4,c}});a.SHA224=h._createHelper(u),a.HmacSHA224=h._createHmacHelper(u)})(),s.SHA224})})(Ls)),Ls.exports}var Fs={exports:{}},x0=Fs.exports,xr;function gr(){return xr||(xr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),bs())})(x0,function(s){return(function(){var a=s,i=a.lib,r=i.Hasher,n=a.x64,h=n.Word,u=n.WordArray,c=a.algo;function l(){return h.create.apply(h,arguments)}var f=[l(1116352408,3609767458),l(1899447441,602891725),l(3049323471,3964484399),l(3921009573,2173295548),l(961987163,4081628472),l(1508970993,3053834265),l(2453635748,2937671579),l(2870763221,3664609560),l(3624381080,2734883394),l(310598401,1164996542),l(607225278,1323610764),l(1426881987,3590304994),l(1925078388,4068182383),l(2162078206,991336113),l(2614888103,633803317),l(3248222580,3479774868),l(3835390401,2666613458),l(4022224774,944711139),l(264347078,2341262773),l(604807628,2007800933),l(770255983,1495990901),l(1249150122,1856431235),l(1555081692,3175218132),l(1996064986,2198950837),l(2554220882,3999719339),l(2821834349,766784016),l(2952996808,2566594879),l(3210313671,3203337956),l(3336571891,1034457026),l(3584528711,2466948901),l(113926993,3758326383),l(338241895,168717936),l(666307205,1188179964),l(773529912,1546045734),l(1294757372,1522805485),l(1396182291,2643833823),l(1695183700,2343527390),l(1986661051,1014477480),l(2177026350,1206759142),l(2456956037,344077627),l(2730485921,1290863460),l(2820302411,3158454273),l(3259730800,3505952657),l(3345764771,106217008),l(3516065817,3606008344),l(3600352804,1432725776),l(4094571909,1467031594),l(275423344,851169720),l(430227734,3100823752),l(506948616,1363258195),l(659060556,3750685593),l(883997877,3785050280),l(958139571,3318307427),l(1322822218,3812723403),l(1537002063,2003034995),l(1747873779,3602036899),l(1955562222,1575990012),l(2024104815,1125592928),l(2227730452,2716904306),l(2361852424,442776044),l(2428436474,593698344),l(2756734187,3733110249),l(3204031479,2999351573),l(3329325298,3815920427),l(3391569614,3928383900),l(3515267271,566280711),l(3940187606,3454069534),l(4118630271,4000239992),l(116418474,1914138554),l(174292421,2731055270),l(289380356,3203993006),l(460393269,320620315),l(685471733,587496836),l(852142971,1086792851),l(1017036298,365543100),l(1126000580,2618297676),l(1288033470,3409855158),l(1501505948,4234509866),l(1607167915,987167468),l(1816402316,1246189591)],_=[];(function(){for(var m=0;m<80;m++)_[m]=l()})();var p=c.SHA512=r.extend({_doReset:function(){this._hash=new u.init([new h.init(1779033703,4089235720),new h.init(3144134277,2227873595),new h.init(1013904242,4271175723),new h.init(2773480762,1595750129),new h.init(1359893119,2917565137),new h.init(2600822924,725511199),new h.init(528734635,4215389547),new h.init(1541459225,327033209)])},_doProcessBlock:function(m,v){for(var x=this._hash.words,d=x[0],g=x[1],w=x[2],A=x[3],S=x[4],y=x[5],C=x[6],I=x[7],L=d.high,T=d.low,b=g.high,M=g.low,B=w.high,K=w.low,j=A.high,Z=A.low,_e=S.high,ce=S.low,pe=y.high,fe=y.low,R=C.high,U=C.low,V=I.high,k=I.low,Ee=L,me=T,Me=b,te=M,os=B,Wt=K,di=j,hs=Z,rt=_e,Ue=ce,ga=pe,cs=fe,va=R,us=U,pi=V,ls=k,nt=0;nt<80;nt++){var Ze,yt,wa=_[nt];if(nt<16)yt=wa.high=m[v+nt*2]|0,Ze=wa.low=m[v+nt*2+1]|0;else{var Qn=_[nt-15],Ht=Qn.high,_s=Qn.low,dl=(Ht>>>1|_s<<31)^(Ht>>>8|_s<<24)^Ht>>>7,eo=(_s>>>1|Ht<<31)^(_s>>>8|Ht<<24)^(_s>>>7|Ht<<25),to=_[nt-2],Gt=to.high,fs=to.low,pl=(Gt>>>19|fs<<13)^(Gt<<3|fs>>>29)^Gt>>>6,so=(fs>>>19|Gt<<13)^(fs<<3|Gt>>>29)^(fs>>>6|Gt<<26),ao=_[nt-7],ml=ao.high,El=ao.low,io=_[nt-16],xl=io.high,ro=io.low;Ze=eo+El,yt=dl+ml+(Ze>>>0<eo>>>0?1:0),Ze=Ze+so,yt=yt+pl+(Ze>>>0<so>>>0?1:0),Ze=Ze+ro,yt=yt+xl+(Ze>>>0<ro>>>0?1:0),wa.high=yt,wa.low=Ze}var gl=rt&ga^~rt&va,no=Ue&cs^~Ue&us,vl=Ee&Me^Ee&os^Me&os,wl=me&te^me&Wt^te&Wt,Al=(Ee>>>28|me<<4)^(Ee<<30|me>>>2)^(Ee<<25|me>>>7),oo=(me>>>28|Ee<<4)^(me<<30|Ee>>>2)^(me<<25|Ee>>>7),yl=(rt>>>14|Ue<<18)^(rt>>>18|Ue<<14)^(rt<<23|Ue>>>9),Sl=(Ue>>>14|rt<<18)^(Ue>>>18|rt<<14)^(Ue<<23|rt>>>9),ho=f[nt],Cl=ho.high,co=ho.low,Ve=ls+Sl,St=pi+yl+(Ve>>>0<ls>>>0?1:0),Ve=Ve+no,St=St+gl+(Ve>>>0<no>>>0?1:0),Ve=Ve+co,St=St+Cl+(Ve>>>0<co>>>0?1:0),Ve=Ve+Ze,St=St+yt+(Ve>>>0<Ze>>>0?1:0),uo=oo+wl,Dl=Al+vl+(uo>>>0<oo>>>0?1:0);pi=va,ls=us,va=ga,us=cs,ga=rt,cs=Ue,Ue=hs+Ve|0,rt=di+St+(Ue>>>0<hs>>>0?1:0)|0,di=os,hs=Wt,os=Me,Wt=te,Me=Ee,te=me,me=Ve+uo|0,Ee=St+Dl+(me>>>0<Ve>>>0?1:0)|0}T=d.low=T+me,d.high=L+Ee+(T>>>0<me>>>0?1:0),M=g.low=M+te,g.high=b+Me+(M>>>0<te>>>0?1:0),K=w.low=K+Wt,w.high=B+os+(K>>>0<Wt>>>0?1:0),Z=A.low=Z+hs,A.high=j+di+(Z>>>0<hs>>>0?1:0),ce=S.low=ce+Ue,S.high=_e+rt+(ce>>>0<Ue>>>0?1:0),fe=y.low=fe+cs,y.high=pe+ga+(fe>>>0<cs>>>0?1:0),U=C.low=U+us,C.high=R+va+(U>>>0<us>>>0?1:0),k=I.low=k+ls,I.high=V+pi+(k>>>0<ls>>>0?1:0)},_doFinalize:function(){var m=this._data,v=m.words,x=this._nDataBytes*8,d=m.sigBytes*8;v[d>>>5]|=128<<24-d%32,v[(d+128>>>10<<5)+30]=Math.floor(x/4294967296),v[(d+128>>>10<<5)+31]=x,m.sigBytes=v.length*4,this._process();var g=this._hash.toX32();return g},clone:function(){var m=r.clone.call(this);return m._hash=this._hash.clone(),m},blockSize:1024/32});a.SHA512=r._createHelper(p),a.HmacSHA512=r._createHmacHelper(p)})(),s.SHA512})})(Fs)),Fs.exports}var ks={exports:{}},g0=ks.exports,vr;function v0(){return vr||(vr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),bs(),gr())})(g0,function(s){return(function(){var a=s,i=a.x64,r=i.Word,n=i.WordArray,h=a.algo,u=h.SHA512,c=h.SHA384=u.extend({_doReset:function(){this._hash=new n.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var l=u._doFinalize.call(this);return l.sigBytes-=16,l}});a.SHA384=u._createHelper(c),a.HmacSHA384=u._createHmacHelper(c)})(),s.SHA384})})(ks)),ks.exports}var Us={exports:{}},w0=Us.exports,wr;function A0(){return wr||(wr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),bs())})(w0,function(s){return(function(a){var i=s,r=i.lib,n=r.WordArray,h=r.Hasher,u=i.x64,c=u.Word,l=i.algo,f=[],_=[],p=[];(function(){for(var x=1,d=0,g=0;g<24;g++){f[x+5*d]=(g+1)*(g+2)/2%64;var w=d%5,A=(2*x+3*d)%5;x=w,d=A}for(var x=0;x<5;x++)for(var d=0;d<5;d++)_[x+5*d]=d+(2*x+3*d)%5*5;for(var S=1,y=0;y<24;y++){for(var C=0,I=0,L=0;L<7;L++){if(S&1){var T=(1<<L)-1;T<32?I^=1<<T:C^=1<<T-32}S&128?S=S<<1^113:S<<=1}p[y]=c.create(C,I)}})();var m=[];(function(){for(var x=0;x<25;x++)m[x]=c.create()})();var v=l.SHA3=h.extend({cfg:h.cfg.extend({outputLength:512}),_doReset:function(){for(var x=this._state=[],d=0;d<25;d++)x[d]=new c.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(x,d){for(var g=this._state,w=this.blockSize/2,A=0;A<w;A++){var S=x[d+2*A],y=x[d+2*A+1];S=(S<<8|S>>>24)&16711935|(S<<24|S>>>8)&4278255360,y=(y<<8|y>>>24)&16711935|(y<<24|y>>>8)&4278255360;var C=g[A];C.high^=y,C.low^=S}for(var I=0;I<24;I++){for(var L=0;L<5;L++){for(var T=0,b=0,M=0;M<5;M++){var C=g[L+5*M];T^=C.high,b^=C.low}var B=m[L];B.high=T,B.low=b}for(var L=0;L<5;L++)for(var K=m[(L+4)%5],j=m[(L+1)%5],Z=j.high,_e=j.low,T=K.high^(Z<<1|_e>>>31),b=K.low^(_e<<1|Z>>>31),M=0;M<5;M++){var C=g[L+5*M];C.high^=T,C.low^=b}for(var ce=1;ce<25;ce++){var T,b,C=g[ce],pe=C.high,fe=C.low,R=f[ce];R<32?(T=pe<<R|fe>>>32-R,b=fe<<R|pe>>>32-R):(T=fe<<R-32|pe>>>64-R,b=pe<<R-32|fe>>>64-R);var U=m[_[ce]];U.high=T,U.low=b}var V=m[0],k=g[0];V.high=k.high,V.low=k.low;for(var L=0;L<5;L++)for(var M=0;M<5;M++){var ce=L+5*M,C=g[ce],Ee=m[ce],me=m[(L+1)%5+5*M],Me=m[(L+2)%5+5*M];C.high=Ee.high^~me.high&Me.high,C.low=Ee.low^~me.low&Me.low}var C=g[0],te=p[I];C.high^=te.high,C.low^=te.low}},_doFinalize:function(){var x=this._data,d=x.words;this._nDataBytes*8;var g=x.sigBytes*8,w=this.blockSize*32;d[g>>>5]|=1<<24-g%32,d[(a.ceil((g+1)/w)*w>>>5)-1]|=128,x.sigBytes=d.length*4,this._process();for(var A=this._state,S=this.cfg.outputLength/8,y=S/8,C=[],I=0;I<y;I++){var L=A[I],T=L.high,b=L.low;T=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360,b=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360,C.push(b),C.push(T)}return new n.init(C,S)},clone:function(){for(var x=h.clone.call(this),d=x._state=this._state.slice(0),g=0;g<25;g++)d[g]=d[g].clone();return x}});i.SHA3=h._createHelper(v),i.HmacSHA3=h._createHmacHelper(v)})(Math),s.SHA3})})(Us)),Us.exports}var Vs={exports:{}},y0=Vs.exports,Ar;function S0(){return Ar||(Ar=1,(function(t,e){(function(s,a){t.exports=a(ie())})(y0,function(s){/** @preserve
|
|
90
|
+
(c) 2012 by Cédric Mesnil. All rights reserved.
|
|
91
|
+
|
|
92
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
93
|
+
|
|
94
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
95
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
96
|
+
|
|
97
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
98
|
+
*/return(function(a){var i=s,r=i.lib,n=r.WordArray,h=r.Hasher,u=i.algo,c=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),l=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),f=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),_=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),p=n.create([0,1518500249,1859775393,2400959708,2840853838]),m=n.create([1352829926,1548603684,1836072691,2053994217,0]),v=u.RIPEMD160=h.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(y,C){for(var I=0;I<16;I++){var L=C+I,T=y[L];y[L]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}var b=this._hash.words,M=p.words,B=m.words,K=c.words,j=l.words,Z=f.words,_e=_.words,ce,pe,fe,R,U,V,k,Ee,me,Me;V=ce=b[0],k=pe=b[1],Ee=fe=b[2],me=R=b[3],Me=U=b[4];for(var te,I=0;I<80;I+=1)te=ce+y[C+K[I]]|0,I<16?te+=x(pe,fe,R)+M[0]:I<32?te+=d(pe,fe,R)+M[1]:I<48?te+=g(pe,fe,R)+M[2]:I<64?te+=w(pe,fe,R)+M[3]:te+=A(pe,fe,R)+M[4],te=te|0,te=S(te,Z[I]),te=te+U|0,ce=U,U=R,R=S(fe,10),fe=pe,pe=te,te=V+y[C+j[I]]|0,I<16?te+=A(k,Ee,me)+B[0]:I<32?te+=w(k,Ee,me)+B[1]:I<48?te+=g(k,Ee,me)+B[2]:I<64?te+=d(k,Ee,me)+B[3]:te+=x(k,Ee,me)+B[4],te=te|0,te=S(te,_e[I]),te=te+Me|0,V=Me,Me=me,me=S(Ee,10),Ee=k,k=te;te=b[1]+fe+me|0,b[1]=b[2]+R+Me|0,b[2]=b[3]+U+V|0,b[3]=b[4]+ce+k|0,b[4]=b[0]+pe+Ee|0,b[0]=te},_doFinalize:function(){var y=this._data,C=y.words,I=this._nDataBytes*8,L=y.sigBytes*8;C[L>>>5]|=128<<24-L%32,C[(L+64>>>9<<4)+14]=(I<<8|I>>>24)&16711935|(I<<24|I>>>8)&4278255360,y.sigBytes=(C.length+1)*4,this._process();for(var T=this._hash,b=T.words,M=0;M<5;M++){var B=b[M];b[M]=(B<<8|B>>>24)&16711935|(B<<24|B>>>8)&4278255360}return T},clone:function(){var y=h.clone.call(this);return y._hash=this._hash.clone(),y}});function x(y,C,I){return y^C^I}function d(y,C,I){return y&C|~y&I}function g(y,C,I){return(y|~C)^I}function w(y,C,I){return y&I|C&~I}function A(y,C,I){return y^(C|~I)}function S(y,C){return y<<C|y>>>32-C}i.RIPEMD160=h._createHelper(v),i.HmacRIPEMD160=h._createHmacHelper(v)})(),s.RIPEMD160})})(Vs)),Vs.exports}var Ys={exports:{}},C0=Ys.exports,yr;function Ua(){return yr||(yr=1,(function(t,e){(function(s,a){t.exports=a(ie())})(C0,function(s){(function(){var a=s,i=a.lib,r=i.Base,n=a.enc,h=n.Utf8,u=a.algo;u.HMAC=r.extend({init:function(c,l){c=this._hasher=new c.init,typeof l=="string"&&(l=h.parse(l));var f=c.blockSize,_=f*4;l.sigBytes>_&&(l=c.finalize(l)),l.clamp();for(var p=this._oKey=l.clone(),m=this._iKey=l.clone(),v=p.words,x=m.words,d=0;d<f;d++)v[d]^=1549556828,x[d]^=909522486;p.sigBytes=m.sigBytes=_,this.reset()},reset:function(){var c=this._hasher;c.reset(),c.update(this._iKey)},update:function(c){return this._hasher.update(c),this},finalize:function(c){var l=this._hasher,f=l.finalize(c);l.reset();var _=l.finalize(this._oKey.clone().concat(f));return _}})})()})})(Ys)),Ys.exports}var Ws={exports:{}},D0=Ws.exports,Sr;function T0(){return Sr||(Sr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),ka(),Ua())})(D0,function(s){return(function(){var a=s,i=a.lib,r=i.Base,n=i.WordArray,h=a.algo,u=h.SHA256,c=h.HMAC,l=h.PBKDF2=r.extend({cfg:r.extend({keySize:128/32,hasher:u,iterations:25e4}),init:function(f){this.cfg=this.cfg.extend(f)},compute:function(f,_){for(var p=this.cfg,m=c.create(p.hasher,f),v=n.create(),x=n.create([1]),d=v.words,g=x.words,w=p.keySize,A=p.iterations;d.length<w;){var S=m.update(_).finalize(x);m.reset();for(var y=S.words,C=y.length,I=S,L=1;L<A;L++){I=m.finalize(I),m.reset();for(var T=I.words,b=0;b<C;b++)y[b]^=T[b]}v.concat(S),g[0]++}return v.sigBytes=w*4,v}});a.PBKDF2=function(f,_,p){return l.create(p).compute(f,_)}})(),s.PBKDF2})})(Ws)),Ws.exports}var Hs={exports:{}},b0=Hs.exports,Cr;function xt(){return Cr||(Cr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),pr(),Ua())})(b0,function(s){return(function(){var a=s,i=a.lib,r=i.Base,n=i.WordArray,h=a.algo,u=h.MD5,c=h.EvpKDF=r.extend({cfg:r.extend({keySize:128/32,hasher:u,iterations:1}),init:function(l){this.cfg=this.cfg.extend(l)},compute:function(l,f){for(var _,p=this.cfg,m=p.hasher.create(),v=n.create(),x=v.words,d=p.keySize,g=p.iterations;x.length<d;){_&&m.update(_),_=m.update(l).finalize(f),m.reset();for(var w=1;w<g;w++)_=m.finalize(_),m.reset();v.concat(_)}return v.sigBytes=d*4,v}});a.EvpKDF=function(l,f,_){return c.create(_).compute(l,f)}})(),s.EvpKDF})})(Hs)),Hs.exports}var Gs={exports:{}},I0=Gs.exports,Dr;function De(){return Dr||(Dr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),xt())})(I0,function(s){s.lib.Cipher||(function(a){var i=s,r=i.lib,n=r.Base,h=r.WordArray,u=r.BufferedBlockAlgorithm,c=i.enc;c.Utf8;var l=c.Base64,f=i.algo,_=f.EvpKDF,p=r.Cipher=u.extend({cfg:n.extend(),createEncryptor:function(T,b){return this.create(this._ENC_XFORM_MODE,T,b)},createDecryptor:function(T,b){return this.create(this._DEC_XFORM_MODE,T,b)},init:function(T,b,M){this.cfg=this.cfg.extend(M),this._xformMode=T,this._key=b,this.reset()},reset:function(){u.reset.call(this),this._doReset()},process:function(T){return this._append(T),this._process()},finalize:function(T){T&&this._append(T);var b=this._doFinalize();return b},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function T(b){return typeof b=="string"?L:y}return function(b){return{encrypt:function(M,B,K){return T(B).encrypt(b,M,B,K)},decrypt:function(M,B,K){return T(B).decrypt(b,M,B,K)}}}})()});r.StreamCipher=p.extend({_doFinalize:function(){var T=this._process(!0);return T},blockSize:1});var m=i.mode={},v=r.BlockCipherMode=n.extend({createEncryptor:function(T,b){return this.Encryptor.create(T,b)},createDecryptor:function(T,b){return this.Decryptor.create(T,b)},init:function(T,b){this._cipher=T,this._iv=b}}),x=m.CBC=(function(){var T=v.extend();T.Encryptor=T.extend({processBlock:function(M,B){var K=this._cipher,j=K.blockSize;b.call(this,M,B,j),K.encryptBlock(M,B),this._prevBlock=M.slice(B,B+j)}}),T.Decryptor=T.extend({processBlock:function(M,B){var K=this._cipher,j=K.blockSize,Z=M.slice(B,B+j);K.decryptBlock(M,B),b.call(this,M,B,j),this._prevBlock=Z}});function b(M,B,K){var j,Z=this._iv;Z?(j=Z,this._iv=a):j=this._prevBlock;for(var _e=0;_e<K;_e++)M[B+_e]^=j[_e]}return T})(),d=i.pad={},g=d.Pkcs7={pad:function(T,b){for(var M=b*4,B=M-T.sigBytes%M,K=B<<24|B<<16|B<<8|B,j=[],Z=0;Z<B;Z+=4)j.push(K);var _e=h.create(j,B);T.concat(_e)},unpad:function(T){var b=T.words[T.sigBytes-1>>>2]&255;T.sigBytes-=b}};r.BlockCipher=p.extend({cfg:p.cfg.extend({mode:x,padding:g}),reset:function(){var T;p.reset.call(this);var b=this.cfg,M=b.iv,B=b.mode;this._xformMode==this._ENC_XFORM_MODE?T=B.createEncryptor:(T=B.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==T?this._mode.init(this,M&&M.words):(this._mode=T.call(B,this,M&&M.words),this._mode.__creator=T)},_doProcessBlock:function(T,b){this._mode.processBlock(T,b)},_doFinalize:function(){var T,b=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(b.pad(this._data,this.blockSize),T=this._process(!0)):(T=this._process(!0),b.unpad(T)),T},blockSize:4});var w=r.CipherParams=n.extend({init:function(T){this.mixIn(T)},toString:function(T){return(T||this.formatter).stringify(this)}}),A=i.format={},S=A.OpenSSL={stringify:function(T){var b,M=T.ciphertext,B=T.salt;return B?b=h.create([1398893684,1701076831]).concat(B).concat(M):b=M,b.toString(l)},parse:function(T){var b,M=l.parse(T),B=M.words;return B[0]==1398893684&&B[1]==1701076831&&(b=h.create(B.slice(2,4)),B.splice(0,4),M.sigBytes-=16),w.create({ciphertext:M,salt:b})}},y=r.SerializableCipher=n.extend({cfg:n.extend({format:S}),encrypt:function(T,b,M,B){B=this.cfg.extend(B);var K=T.createEncryptor(M,B),j=K.finalize(b),Z=K.cfg;return w.create({ciphertext:j,key:M,iv:Z.iv,algorithm:T,mode:Z.mode,padding:Z.padding,blockSize:T.blockSize,formatter:B.format})},decrypt:function(T,b,M,B){B=this.cfg.extend(B),b=this._parse(b,B.format);var K=T.createDecryptor(M,B).finalize(b.ciphertext);return K},_parse:function(T,b){return typeof T=="string"?b.parse(T,this):T}}),C=i.kdf={},I=C.OpenSSL={execute:function(T,b,M,B,K){if(B||(B=h.random(64/8)),K)var j=_.create({keySize:b+M,hasher:K}).compute(T,B);else var j=_.create({keySize:b+M}).compute(T,B);var Z=h.create(j.words.slice(b),M*4);return j.sigBytes=b*4,w.create({key:j,iv:Z,salt:B})}},L=r.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:I}),encrypt:function(T,b,M,B){B=this.cfg.extend(B);var K=B.kdf.execute(M,T.keySize,T.ivSize,B.salt,B.hasher);B.iv=K.iv;var j=y.encrypt.call(this,T,b,K.key,B);return j.mixIn(K),j},decrypt:function(T,b,M,B){B=this.cfg.extend(B),b=this._parse(b,B.format);var K=B.kdf.execute(M,T.keySize,T.ivSize,b.salt,B.hasher);B.iv=K.iv;var j=y.decrypt.call(this,T,b,K.key,B);return j}})})()})})(Gs)),Gs.exports}var Ks={exports:{}},P0=Ks.exports,Tr;function N0(){return Tr||(Tr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(P0,function(s){return s.mode.CFB=(function(){var a=s.lib.BlockCipherMode.extend();a.Encryptor=a.extend({processBlock:function(r,n){var h=this._cipher,u=h.blockSize;i.call(this,r,n,u,h),this._prevBlock=r.slice(n,n+u)}}),a.Decryptor=a.extend({processBlock:function(r,n){var h=this._cipher,u=h.blockSize,c=r.slice(n,n+u);i.call(this,r,n,u,h),this._prevBlock=c}});function i(r,n,h,u){var c,l=this._iv;l?(c=l.slice(0),this._iv=void 0):c=this._prevBlock,u.encryptBlock(c,0);for(var f=0;f<h;f++)r[n+f]^=c[f]}return a})(),s.mode.CFB})})(Ks)),Ks.exports}var js={exports:{}},O0=js.exports,br;function M0(){return br||(br=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(O0,function(s){return s.mode.CTR=(function(){var a=s.lib.BlockCipherMode.extend(),i=a.Encryptor=a.extend({processBlock:function(r,n){var h=this._cipher,u=h.blockSize,c=this._iv,l=this._counter;c&&(l=this._counter=c.slice(0),this._iv=void 0);var f=l.slice(0);h.encryptBlock(f,0),l[u-1]=l[u-1]+1|0;for(var _=0;_<u;_++)r[n+_]^=f[_]}});return a.Decryptor=i,a})(),s.mode.CTR})})(js)),js.exports}var Xs={exports:{}},B0=Xs.exports,Ir;function R0(){return Ir||(Ir=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(B0,function(s){/** @preserve
|
|
99
|
+
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
100
|
+
* derived from CryptoJS.mode.CTR
|
|
101
|
+
* Jan Hruby jhruby.web@gmail.com
|
|
102
|
+
*/return s.mode.CTRGladman=(function(){var a=s.lib.BlockCipherMode.extend();function i(h){if((h>>24&255)===255){var u=h>>16&255,c=h>>8&255,l=h&255;u===255?(u=0,c===255?(c=0,l===255?l=0:++l):++c):++u,h=0,h+=u<<16,h+=c<<8,h+=l}else h+=16777216;return h}function r(h){return(h[0]=i(h[0]))===0&&(h[1]=i(h[1])),h}var n=a.Encryptor=a.extend({processBlock:function(h,u){var c=this._cipher,l=c.blockSize,f=this._iv,_=this._counter;f&&(_=this._counter=f.slice(0),this._iv=void 0),r(_);var p=_.slice(0);c.encryptBlock(p,0);for(var m=0;m<l;m++)h[u+m]^=p[m]}});return a.Decryptor=n,a})(),s.mode.CTRGladman})})(Xs)),Xs.exports}var $s={exports:{}},L0=$s.exports,Pr;function F0(){return Pr||(Pr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(L0,function(s){return s.mode.OFB=(function(){var a=s.lib.BlockCipherMode.extend(),i=a.Encryptor=a.extend({processBlock:function(r,n){var h=this._cipher,u=h.blockSize,c=this._iv,l=this._keystream;c&&(l=this._keystream=c.slice(0),this._iv=void 0),h.encryptBlock(l,0);for(var f=0;f<u;f++)r[n+f]^=l[f]}});return a.Decryptor=i,a})(),s.mode.OFB})})($s)),$s.exports}var qs={exports:{}},k0=qs.exports,Nr;function U0(){return Nr||(Nr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(k0,function(s){return s.mode.ECB=(function(){var a=s.lib.BlockCipherMode.extend();return a.Encryptor=a.extend({processBlock:function(i,r){this._cipher.encryptBlock(i,r)}}),a.Decryptor=a.extend({processBlock:function(i,r){this._cipher.decryptBlock(i,r)}}),a})(),s.mode.ECB})})(qs)),qs.exports}var Js={exports:{}},V0=Js.exports,Or;function Y0(){return Or||(Or=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(V0,function(s){return s.pad.AnsiX923={pad:function(a,i){var r=a.sigBytes,n=i*4,h=n-r%n,u=r+h-1;a.clamp(),a.words[u>>>2]|=h<<24-u%4*8,a.sigBytes+=h},unpad:function(a){var i=a.words[a.sigBytes-1>>>2]&255;a.sigBytes-=i}},s.pad.Ansix923})})(Js)),Js.exports}var Zs={exports:{}},W0=Zs.exports,Mr;function H0(){return Mr||(Mr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(W0,function(s){return s.pad.Iso10126={pad:function(a,i){var r=i*4,n=r-a.sigBytes%r;a.concat(s.lib.WordArray.random(n-1)).concat(s.lib.WordArray.create([n<<24],1))},unpad:function(a){var i=a.words[a.sigBytes-1>>>2]&255;a.sigBytes-=i}},s.pad.Iso10126})})(Zs)),Zs.exports}var zs={exports:{}},G0=zs.exports,Br;function K0(){return Br||(Br=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(G0,function(s){return s.pad.Iso97971={pad:function(a,i){a.concat(s.lib.WordArray.create([2147483648],1)),s.pad.ZeroPadding.pad(a,i)},unpad:function(a){s.pad.ZeroPadding.unpad(a),a.sigBytes--}},s.pad.Iso97971})})(zs)),zs.exports}var Qs={exports:{}},j0=Qs.exports,Rr;function X0(){return Rr||(Rr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(j0,function(s){return s.pad.ZeroPadding={pad:function(a,i){var r=i*4;a.clamp(),a.sigBytes+=r-(a.sigBytes%r||r)},unpad:function(a){for(var i=a.words,r=a.sigBytes-1,r=a.sigBytes-1;r>=0;r--)if(i[r>>>2]>>>24-r%4*8&255){a.sigBytes=r+1;break}}},s.pad.ZeroPadding})})(Qs)),Qs.exports}var ea={exports:{}},$0=ea.exports,Lr;function q0(){return Lr||(Lr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})($0,function(s){return s.pad.NoPadding={pad:function(){},unpad:function(){}},s.pad.NoPadding})})(ea)),ea.exports}var ta={exports:{}},J0=ta.exports,Fr;function Z0(){return Fr||(Fr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),De())})(J0,function(s){return(function(a){var i=s,r=i.lib,n=r.CipherParams,h=i.enc,u=h.Hex,c=i.format;c.Hex={stringify:function(l){return l.ciphertext.toString(u)},parse:function(l){var f=u.parse(l);return n.create({ciphertext:f})}}})(),s.format.Hex})})(ta)),ta.exports}var sa={exports:{}},z0=sa.exports,kr;function Q0(){return kr||(kr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),It(),Pt(),xt(),De())})(z0,function(s){return(function(){var a=s,i=a.lib,r=i.BlockCipher,n=a.algo,h=[],u=[],c=[],l=[],f=[],_=[],p=[],m=[],v=[],x=[];(function(){for(var w=[],A=0;A<256;A++)A<128?w[A]=A<<1:w[A]=A<<1^283;for(var S=0,y=0,A=0;A<256;A++){var C=y^y<<1^y<<2^y<<3^y<<4;C=C>>>8^C&255^99,h[S]=C,u[C]=S;var I=w[S],L=w[I],T=w[L],b=w[C]*257^C*16843008;c[S]=b<<24|b>>>8,l[S]=b<<16|b>>>16,f[S]=b<<8|b>>>24,_[S]=b;var b=T*16843009^L*65537^I*257^S*16843008;p[C]=b<<24|b>>>8,m[C]=b<<16|b>>>16,v[C]=b<<8|b>>>24,x[C]=b,S?(S=I^w[w[w[T^I]]],y^=w[w[y]]):S=y=1}})();var d=[0,1,2,4,8,16,32,64,128,27,54],g=n.AES=r.extend({_doReset:function(){var w;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var A=this._keyPriorReset=this._key,S=A.words,y=A.sigBytes/4,C=this._nRounds=y+6,I=(C+1)*4,L=this._keySchedule=[],T=0;T<I;T++)T<y?L[T]=S[T]:(w=L[T-1],T%y?y>6&&T%y==4&&(w=h[w>>>24]<<24|h[w>>>16&255]<<16|h[w>>>8&255]<<8|h[w&255]):(w=w<<8|w>>>24,w=h[w>>>24]<<24|h[w>>>16&255]<<16|h[w>>>8&255]<<8|h[w&255],w^=d[T/y|0]<<24),L[T]=L[T-y]^w);for(var b=this._invKeySchedule=[],M=0;M<I;M++){var T=I-M;if(M%4)var w=L[T];else var w=L[T-4];M<4||T<=4?b[M]=w:b[M]=p[h[w>>>24]]^m[h[w>>>16&255]]^v[h[w>>>8&255]]^x[h[w&255]]}}},encryptBlock:function(w,A){this._doCryptBlock(w,A,this._keySchedule,c,l,f,_,h)},decryptBlock:function(w,A){var S=w[A+1];w[A+1]=w[A+3],w[A+3]=S,this._doCryptBlock(w,A,this._invKeySchedule,p,m,v,x,u);var S=w[A+1];w[A+1]=w[A+3],w[A+3]=S},_doCryptBlock:function(w,A,S,y,C,I,L,T){for(var b=this._nRounds,M=w[A]^S[0],B=w[A+1]^S[1],K=w[A+2]^S[2],j=w[A+3]^S[3],Z=4,_e=1;_e<b;_e++){var ce=y[M>>>24]^C[B>>>16&255]^I[K>>>8&255]^L[j&255]^S[Z++],pe=y[B>>>24]^C[K>>>16&255]^I[j>>>8&255]^L[M&255]^S[Z++],fe=y[K>>>24]^C[j>>>16&255]^I[M>>>8&255]^L[B&255]^S[Z++],R=y[j>>>24]^C[M>>>16&255]^I[B>>>8&255]^L[K&255]^S[Z++];M=ce,B=pe,K=fe,j=R}var ce=(T[M>>>24]<<24|T[B>>>16&255]<<16|T[K>>>8&255]<<8|T[j&255])^S[Z++],pe=(T[B>>>24]<<24|T[K>>>16&255]<<16|T[j>>>8&255]<<8|T[M&255])^S[Z++],fe=(T[K>>>24]<<24|T[j>>>16&255]<<16|T[M>>>8&255]<<8|T[B&255])^S[Z++],R=(T[j>>>24]<<24|T[M>>>16&255]<<16|T[B>>>8&255]<<8|T[K&255])^S[Z++];w[A]=ce,w[A+1]=pe,w[A+2]=fe,w[A+3]=R},keySize:256/32});a.AES=r._createHelper(g)})(),s.AES})})(sa)),sa.exports}var aa={exports:{}},ec=aa.exports,Ur;function tc(){return Ur||(Ur=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),It(),Pt(),xt(),De())})(ec,function(s){return(function(){var a=s,i=a.lib,r=i.WordArray,n=i.BlockCipher,h=a.algo,u=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],c=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],f=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],_=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],p=h.DES=n.extend({_doReset:function(){for(var d=this._key,g=d.words,w=[],A=0;A<56;A++){var S=u[A]-1;w[A]=g[S>>>5]>>>31-S%32&1}for(var y=this._subKeys=[],C=0;C<16;C++){for(var I=y[C]=[],L=l[C],A=0;A<24;A++)I[A/6|0]|=w[(c[A]-1+L)%28]<<31-A%6,I[4+(A/6|0)]|=w[28+(c[A+24]-1+L)%28]<<31-A%6;I[0]=I[0]<<1|I[0]>>>31;for(var A=1;A<7;A++)I[A]=I[A]>>>(A-1)*4+3;I[7]=I[7]<<5|I[7]>>>27}for(var T=this._invSubKeys=[],A=0;A<16;A++)T[A]=y[15-A]},encryptBlock:function(d,g){this._doCryptBlock(d,g,this._subKeys)},decryptBlock:function(d,g){this._doCryptBlock(d,g,this._invSubKeys)},_doCryptBlock:function(d,g,w){this._lBlock=d[g],this._rBlock=d[g+1],m.call(this,4,252645135),m.call(this,16,65535),v.call(this,2,858993459),v.call(this,8,16711935),m.call(this,1,1431655765);for(var A=0;A<16;A++){for(var S=w[A],y=this._lBlock,C=this._rBlock,I=0,L=0;L<8;L++)I|=f[L][((C^S[L])&_[L])>>>0];this._lBlock=C,this._rBlock=y^I}var T=this._lBlock;this._lBlock=this._rBlock,this._rBlock=T,m.call(this,1,1431655765),v.call(this,8,16711935),v.call(this,2,858993459),m.call(this,16,65535),m.call(this,4,252645135),d[g]=this._lBlock,d[g+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function m(d,g){var w=(this._lBlock>>>d^this._rBlock)&g;this._rBlock^=w,this._lBlock^=w<<d}function v(d,g){var w=(this._rBlock>>>d^this._lBlock)&g;this._lBlock^=w,this._rBlock^=w<<d}a.DES=n._createHelper(p);var x=h.TripleDES=n.extend({_doReset:function(){var d=this._key,g=d.words;if(g.length!==2&&g.length!==4&&g.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var w=g.slice(0,2),A=g.length<4?g.slice(0,2):g.slice(2,4),S=g.length<6?g.slice(0,2):g.slice(4,6);this._des1=p.createEncryptor(r.create(w)),this._des2=p.createEncryptor(r.create(A)),this._des3=p.createEncryptor(r.create(S))},encryptBlock:function(d,g){this._des1.encryptBlock(d,g),this._des2.decryptBlock(d,g),this._des3.encryptBlock(d,g)},decryptBlock:function(d,g){this._des3.decryptBlock(d,g),this._des2.encryptBlock(d,g),this._des1.decryptBlock(d,g)},keySize:192/32,ivSize:64/32,blockSize:64/32});a.TripleDES=n._createHelper(x)})(),s.TripleDES})})(aa)),aa.exports}var ia={exports:{}},sc=ia.exports,Vr;function ac(){return Vr||(Vr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),It(),Pt(),xt(),De())})(sc,function(s){return(function(){var a=s,i=a.lib,r=i.StreamCipher,n=a.algo,h=n.RC4=r.extend({_doReset:function(){for(var l=this._key,f=l.words,_=l.sigBytes,p=this._S=[],m=0;m<256;m++)p[m]=m;for(var m=0,v=0;m<256;m++){var x=m%_,d=f[x>>>2]>>>24-x%4*8&255;v=(v+p[m]+d)%256;var g=p[m];p[m]=p[v],p[v]=g}this._i=this._j=0},_doProcessBlock:function(l,f){l[f]^=u.call(this)},keySize:256/32,ivSize:0});function u(){for(var l=this._S,f=this._i,_=this._j,p=0,m=0;m<4;m++){f=(f+1)%256,_=(_+l[f])%256;var v=l[f];l[f]=l[_],l[_]=v,p|=l[(l[f]+l[_])%256]<<24-m*8}return this._i=f,this._j=_,p}a.RC4=r._createHelper(h);var c=n.RC4Drop=h.extend({cfg:h.cfg.extend({drop:192}),_doReset:function(){h._doReset.call(this);for(var l=this.cfg.drop;l>0;l--)u.call(this)}});a.RC4Drop=r._createHelper(c)})(),s.RC4})})(ia)),ia.exports}var ra={exports:{}},ic=ra.exports,Yr;function rc(){return Yr||(Yr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),It(),Pt(),xt(),De())})(ic,function(s){return(function(){var a=s,i=a.lib,r=i.StreamCipher,n=a.algo,h=[],u=[],c=[],l=n.Rabbit=r.extend({_doReset:function(){for(var _=this._key.words,p=this.cfg.iv,m=0;m<4;m++)_[m]=(_[m]<<8|_[m]>>>24)&16711935|(_[m]<<24|_[m]>>>8)&4278255360;var v=this._X=[_[0],_[3]<<16|_[2]>>>16,_[1],_[0]<<16|_[3]>>>16,_[2],_[1]<<16|_[0]>>>16,_[3],_[2]<<16|_[1]>>>16],x=this._C=[_[2]<<16|_[2]>>>16,_[0]&4294901760|_[1]&65535,_[3]<<16|_[3]>>>16,_[1]&4294901760|_[2]&65535,_[0]<<16|_[0]>>>16,_[2]&4294901760|_[3]&65535,_[1]<<16|_[1]>>>16,_[3]&4294901760|_[0]&65535];this._b=0;for(var m=0;m<4;m++)f.call(this);for(var m=0;m<8;m++)x[m]^=v[m+4&7];if(p){var d=p.words,g=d[0],w=d[1],A=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,S=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360,y=A>>>16|S&4294901760,C=S<<16|A&65535;x[0]^=A,x[1]^=y,x[2]^=S,x[3]^=C,x[4]^=A,x[5]^=y,x[6]^=S,x[7]^=C;for(var m=0;m<4;m++)f.call(this)}},_doProcessBlock:function(_,p){var m=this._X;f.call(this),h[0]=m[0]^m[5]>>>16^m[3]<<16,h[1]=m[2]^m[7]>>>16^m[5]<<16,h[2]=m[4]^m[1]>>>16^m[7]<<16,h[3]=m[6]^m[3]>>>16^m[1]<<16;for(var v=0;v<4;v++)h[v]=(h[v]<<8|h[v]>>>24)&16711935|(h[v]<<24|h[v]>>>8)&4278255360,_[p+v]^=h[v]},blockSize:128/32,ivSize:64/32});function f(){for(var _=this._X,p=this._C,m=0;m<8;m++)u[m]=p[m];p[0]=p[0]+1295307597+this._b|0,p[1]=p[1]+3545052371+(p[0]>>>0<u[0]>>>0?1:0)|0,p[2]=p[2]+886263092+(p[1]>>>0<u[1]>>>0?1:0)|0,p[3]=p[3]+1295307597+(p[2]>>>0<u[2]>>>0?1:0)|0,p[4]=p[4]+3545052371+(p[3]>>>0<u[3]>>>0?1:0)|0,p[5]=p[5]+886263092+(p[4]>>>0<u[4]>>>0?1:0)|0,p[6]=p[6]+1295307597+(p[5]>>>0<u[5]>>>0?1:0)|0,p[7]=p[7]+3545052371+(p[6]>>>0<u[6]>>>0?1:0)|0,this._b=p[7]>>>0<u[7]>>>0?1:0;for(var m=0;m<8;m++){var v=_[m]+p[m],x=v&65535,d=v>>>16,g=((x*x>>>17)+x*d>>>15)+d*d,w=((v&4294901760)*v|0)+((v&65535)*v|0);c[m]=g^w}_[0]=c[0]+(c[7]<<16|c[7]>>>16)+(c[6]<<16|c[6]>>>16)|0,_[1]=c[1]+(c[0]<<8|c[0]>>>24)+c[7]|0,_[2]=c[2]+(c[1]<<16|c[1]>>>16)+(c[0]<<16|c[0]>>>16)|0,_[3]=c[3]+(c[2]<<8|c[2]>>>24)+c[1]|0,_[4]=c[4]+(c[3]<<16|c[3]>>>16)+(c[2]<<16|c[2]>>>16)|0,_[5]=c[5]+(c[4]<<8|c[4]>>>24)+c[3]|0,_[6]=c[6]+(c[5]<<16|c[5]>>>16)+(c[4]<<16|c[4]>>>16)|0,_[7]=c[7]+(c[6]<<8|c[6]>>>24)+c[5]|0}a.Rabbit=r._createHelper(l)})(),s.Rabbit})})(ra)),ra.exports}var na={exports:{}},nc=na.exports,Wr;function oc(){return Wr||(Wr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),It(),Pt(),xt(),De())})(nc,function(s){return(function(){var a=s,i=a.lib,r=i.StreamCipher,n=a.algo,h=[],u=[],c=[],l=n.RabbitLegacy=r.extend({_doReset:function(){var _=this._key.words,p=this.cfg.iv,m=this._X=[_[0],_[3]<<16|_[2]>>>16,_[1],_[0]<<16|_[3]>>>16,_[2],_[1]<<16|_[0]>>>16,_[3],_[2]<<16|_[1]>>>16],v=this._C=[_[2]<<16|_[2]>>>16,_[0]&4294901760|_[1]&65535,_[3]<<16|_[3]>>>16,_[1]&4294901760|_[2]&65535,_[0]<<16|_[0]>>>16,_[2]&4294901760|_[3]&65535,_[1]<<16|_[1]>>>16,_[3]&4294901760|_[0]&65535];this._b=0;for(var x=0;x<4;x++)f.call(this);for(var x=0;x<8;x++)v[x]^=m[x+4&7];if(p){var d=p.words,g=d[0],w=d[1],A=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360,S=(w<<8|w>>>24)&16711935|(w<<24|w>>>8)&4278255360,y=A>>>16|S&4294901760,C=S<<16|A&65535;v[0]^=A,v[1]^=y,v[2]^=S,v[3]^=C,v[4]^=A,v[5]^=y,v[6]^=S,v[7]^=C;for(var x=0;x<4;x++)f.call(this)}},_doProcessBlock:function(_,p){var m=this._X;f.call(this),h[0]=m[0]^m[5]>>>16^m[3]<<16,h[1]=m[2]^m[7]>>>16^m[5]<<16,h[2]=m[4]^m[1]>>>16^m[7]<<16,h[3]=m[6]^m[3]>>>16^m[1]<<16;for(var v=0;v<4;v++)h[v]=(h[v]<<8|h[v]>>>24)&16711935|(h[v]<<24|h[v]>>>8)&4278255360,_[p+v]^=h[v]},blockSize:128/32,ivSize:64/32});function f(){for(var _=this._X,p=this._C,m=0;m<8;m++)u[m]=p[m];p[0]=p[0]+1295307597+this._b|0,p[1]=p[1]+3545052371+(p[0]>>>0<u[0]>>>0?1:0)|0,p[2]=p[2]+886263092+(p[1]>>>0<u[1]>>>0?1:0)|0,p[3]=p[3]+1295307597+(p[2]>>>0<u[2]>>>0?1:0)|0,p[4]=p[4]+3545052371+(p[3]>>>0<u[3]>>>0?1:0)|0,p[5]=p[5]+886263092+(p[4]>>>0<u[4]>>>0?1:0)|0,p[6]=p[6]+1295307597+(p[5]>>>0<u[5]>>>0?1:0)|0,p[7]=p[7]+3545052371+(p[6]>>>0<u[6]>>>0?1:0)|0,this._b=p[7]>>>0<u[7]>>>0?1:0;for(var m=0;m<8;m++){var v=_[m]+p[m],x=v&65535,d=v>>>16,g=((x*x>>>17)+x*d>>>15)+d*d,w=((v&4294901760)*v|0)+((v&65535)*v|0);c[m]=g^w}_[0]=c[0]+(c[7]<<16|c[7]>>>16)+(c[6]<<16|c[6]>>>16)|0,_[1]=c[1]+(c[0]<<8|c[0]>>>24)+c[7]|0,_[2]=c[2]+(c[1]<<16|c[1]>>>16)+(c[0]<<16|c[0]>>>16)|0,_[3]=c[3]+(c[2]<<8|c[2]>>>24)+c[1]|0,_[4]=c[4]+(c[3]<<16|c[3]>>>16)+(c[2]<<16|c[2]>>>16)|0,_[5]=c[5]+(c[4]<<8|c[4]>>>24)+c[3]|0,_[6]=c[6]+(c[5]<<16|c[5]>>>16)+(c[4]<<16|c[4]>>>16)|0,_[7]=c[7]+(c[6]<<8|c[6]>>>24)+c[5]|0}a.RabbitLegacy=r._createHelper(l)})(),s.RabbitLegacy})})(na)),na.exports}var oa={exports:{}},hc=oa.exports,Hr;function cc(){return Hr||(Hr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),It(),Pt(),xt(),De())})(hc,function(s){return(function(){var a=s,i=a.lib,r=i.BlockCipher,n=a.algo;const h=16,u=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],c=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var l={pbox:[],sbox:[]};function f(x,d){let g=d>>24&255,w=d>>16&255,A=d>>8&255,S=d&255,y=x.sbox[0][g]+x.sbox[1][w];return y=y^x.sbox[2][A],y=y+x.sbox[3][S],y}function _(x,d,g){let w=d,A=g,S;for(let y=0;y<h;++y)w=w^x.pbox[y],A=f(x,w)^A,S=w,w=A,A=S;return S=w,w=A,A=S,A=A^x.pbox[h],w=w^x.pbox[h+1],{left:w,right:A}}function p(x,d,g){let w=d,A=g,S;for(let y=h+1;y>1;--y)w=w^x.pbox[y],A=f(x,w)^A,S=w,w=A,A=S;return S=w,w=A,A=S,A=A^x.pbox[1],w=w^x.pbox[0],{left:w,right:A}}function m(x,d,g){for(let C=0;C<4;C++){x.sbox[C]=[];for(let I=0;I<256;I++)x.sbox[C][I]=c[C][I]}let w=0;for(let C=0;C<h+2;C++)x.pbox[C]=u[C]^d[w],w++,w>=g&&(w=0);let A=0,S=0,y=0;for(let C=0;C<h+2;C+=2)y=_(x,A,S),A=y.left,S=y.right,x.pbox[C]=A,x.pbox[C+1]=S;for(let C=0;C<4;C++)for(let I=0;I<256;I+=2)y=_(x,A,S),A=y.left,S=y.right,x.sbox[C][I]=A,x.sbox[C][I+1]=S;return!0}var v=n.Blowfish=r.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var x=this._keyPriorReset=this._key,d=x.words,g=x.sigBytes/4;m(l,d,g)}},encryptBlock:function(x,d){var g=_(l,x[d],x[d+1]);x[d]=g.left,x[d+1]=g.right},decryptBlock:function(x,d){var g=p(l,x[d],x[d+1]);x[d]=g.left,x[d+1]=g.right},blockSize:64/32,keySize:128/32,ivSize:64/32});a.Blowfish=r._createHelper(v)})(),s.Blowfish})})(oa)),oa.exports}var uc=Cs.exports,Gr;function lc(){return Gr||(Gr=1,(function(t,e){(function(s,a,i){t.exports=a(ie(),bs(),o0(),c0(),It(),_0(),Pt(),pr(),ka(),E0(),gr(),v0(),A0(),S0(),Ua(),T0(),xt(),De(),N0(),M0(),R0(),F0(),U0(),Y0(),H0(),K0(),X0(),q0(),Z0(),Q0(),tc(),ac(),rc(),oc(),cc())})(uc,function(s){return s})})(Cs)),Cs.exports}var ut=lc();function _c(t,e){return`^ /${t*231+8310+e}P+>A[]`}function Kr(t){return`^ /${t*231+8310}P+>A[]`}function fc(t,e){return console.warn(ut.enc.Utf8.parse(t)),ut.AES.encrypt(ut.enc.Utf8.parse(t),Kr(e)).toString()}function dc(t,e,s){return ut.AES.decrypt(t,_c(e,s)).toString(ut.enc.Utf8)}function pc(t,e){return ut.AES.decrypt(t,Kr(e)).toString(ut.enc.Utf8)}function jr(t){return ut.MD5(t).toString()}const{parse:Xr,stringify:$r}=JSON,{keys:mc}=Object,es=String,qr="string",Jr={},Va="object",Zr=(t,e)=>e,Ec=t=>t instanceof es?es(t):t,xc=(t,e)=>typeof e===qr?new es(e):e,zr=(t,e,s,a)=>{const i=[];for(let r=mc(s),{length:n}=r,h=0;h<n;h++){const u=r[h],c=s[u];if(c instanceof es){const l=t[c];typeof l===Va&&!e.has(l)?(e.add(l),s[u]=Jr,i.push({k:u,a:[t,e,l,a]})):s[u]=a.call(s,u,l)}else s[u]!==Jr&&(s[u]=a.call(s,u,c))}for(let{length:r}=i,n=0;n<r;n++){const{k:h,a:u}=i[n];s[h]=a.call(s,h,zr.apply(null,u))}return s},Qr=(t,e,s)=>{const a=es(e.push(s)-1);return t.set(s,a),a},gc=(t,e)=>{const s=Xr(t,xc).map(Ec),a=s[0],i=e||Zr,r=typeof a===Va&&a?zr(s,new Set,a,i):a;return i.call({"":r},"",r)},vc=(t,e,s)=>{const a=Zr,i=new Map,r=[],n=[];let h=+Qr(i,r,a.call({"":t},"",t)),u=!h;for(;h<r.length;)u=!0,n[h]=$r(r[h++],c,s);return"["+n.join(",")+"]";function c(l,f){if(u)return u=!u,f;const _=a.call(this,l,f);switch(typeof _){case Va:if(_===null)return _;case qr:return i.get(_)||Qr(i,r,_)}return _}},wc=t=>Xr(vc(t)),Ac=t=>gc($r(t)),Le=Object.freeze({MAP:"map",MAP_OBJECT:"mapObject",SYSTEM_MESSAGE:"systemMessage",USER_VAR:"userVar",USER_NAMED_VAR:"userNamedVar"}),yc=Object.freeze({mapAttribute:!0,objectAttribute:!0,message:!0});class Sc{}const Rt=class Rt{static compress(e,s={}){var a=Object.create(null),i,r;for(i in e)if(!yc[i]){switch(r=e[i],typeof r){case"number":case"string":case"boolean":if(this._restartData[i]===r&&i!=="worldName")continue;break;case"object":if(r===null){if(this._restartData[i]===r)continue}else if(r=this.compressObject(i,r,this._restartData[i],s),r===void 0)continue;break;case"undefined":break;case"function":continue}a[i]=r}return a}static compressObject(e,s,a,i={}){var r,n,h,u;switch(e){case Le.MAP:case Le.MAP_OBJECT:var c,l,f,_,p,m,v,x,d,g,w,A,S,y;r=Object.create(null),d=Object.create(null),x=Object.create(null);for(p in s){n=s[p],h=a[p],u=Object.create(null),l=-1;for(_ in n)v=n[_],v!==h[_]&&(u[_]=v,d[v]===void 0&&(d[v]=Object.create(null)),w=d[v],w[p]===void 0&&(w[p]=[]),S=w[p],S.push(Number(_)))}for(A in d){w=d[A],x[A]===void 0&&(x[A]=Object.create(null)),g=x[A],r[A]===void 0&&(r[A]=[]),l=-1;for(p in w)S=w[p],S.length===1?(m=S[0],g[m]===void 0&&(g[m]=[]),y=g[m],y.push(Number(p))):(c=Number(p),f=c-l-1,l=c,r[A].push(this.getCompressArray(S),f))}for(A in x){v=Number(A),g=x[A],l=-1;for(_ in g)y=g[_],c=Number(_),f=c-l-1,l=c,y.length===1?r[A].push(f,y[0]):r[A].push(f,this.getCompressArray(y))}var C=[];l=-1;for(A in r)c=Number(A),f=c-l-1,l=c,C.push(f,r[A]);return this._usingByteFlag&&JSON.stringify(C).length>=this._mapByteLength?this.compressMapAllObject(s,a,this._firstRandomMapObjectUtf8Table[e]):C;case Le.SYSTEM_MESSAGE:r=Object.create(null);var e,I;for(e in s)I=s[e],a[e]!==I&&(r[e]=I);break;case Le.USER_VAR:return this.compressUserVars(s);case Le.USER_NAMED_VAR:if(!(s instanceof Map))throw new TypeError("USER_NAMED_VAR が正しい形式でないためセーブできません");return{version:2,data:wc(Ct(s))};default:return s}if(Object.keys(r).length!==0)return r}static compressUserVars(e){return e.map((s,a)=>[a,s]).filter(([s,a])=>a!==0)}static compressMapAllObject(e,s,a){var i,r,n,h,u,c,l,f,_=this._restartData.mapWidth,p,m,v,x,d,g,w,A,S=new Uint8Array(this._mapByteLength),y=-1,C;for(n=0,h=0,c=0,l=0,A=0,v=[],g=Object.create(null),p=[],m=[],r=0;r<_;r++)for(i=0;i<_;i++)f=e[r][i],f!==s[r][i]&&(y===-1&&(y=h),S[h]=S[h]|1<<n,c=h,g[f]===void 0&&(g[f]=new Cc(f,A++)),g[f].count++),n++,n===8&&(n=0,h++);for(u in g)w=g[u].index,v[w]=g[u];v.sort(this.idSort),d=Object.create(null);for(x in v)f=v[x].id,d[f]=Number(x),p[x]=f;for(r=0;r<_;r++)for(i=0;i<_;i++)f=e[r][i],f!==s[r][i]&&(m[l++]=d[f]);if(a){for(C=S.length,y=-1,c=0,h=0;h<C;h++)S[h]=S[h]&~a[h],S[h]!==0&&(y===-1&&(y=h),c=h);y===-1&&(y=0,c=0)}return[y,S.subarray(y,c+1),p,this.indexListCompress(m,p.length)]}static indexListCompress(e,s){var a=[],i,r,n,h,u,c,l;for(h=e.length,r=0,i=0;i<h;i++){for(u=e[i],l=0,n=i+1;n<h&&(c=e[n],u===c);n++)l++,i=n;switch(l){case 0:a[r++]=u;break;case 1:a[r++]=u,a[r++]=u;break;default:a[r++]=u,a[r++]=s+l;break}}return a}static idSort(e,s){return s.count-e.count}static getCompressArray(e){var s=[],a,i,r,n,h,u,c,l;for(a=-1,h=e.length,u=0,n=0;n<h;n++){for(r=e[n],i=r-a,c=0,l=n;l<h-1&&e[l]+1===e[l+1];)l++,c++;c<this.MIN_LOOP_COUNT?s[u++]=i:(n=l,r+=c,s[u++]=0,s[u++]=i,s[u++]=c-this.MIN_LOOP_COUNT),a=r}return s}static getDecompressArray(e){var s=[],a,i,r,n,h,u,c;for(a=-1,h=e.length,n=0,c=0;n<h;n++)if(i=e[n],i===0){for(i=e[++n],r=a+i,u=r+e[++n]+this.MIN_LOOP_COUNT;r<=u;r++)s[c++]=r;a=u}else r=a+i,s[c++]=r,a=r;return s}static decompress(e){var s;s=structuredClone(this._restartData);var a,i;for(a in e){switch(i=e[a],typeof i){case"number":case"string":case"boolean":break;case"object":i!==null&&(i=this.decompressObject(a,i,s[a]));break;case"undefined":break;case"function":continue}s[a]=i}return[s,{isWorldNameEmpty:e.worldName===void 0}]}static decompressObject(n,s,a,i={}){var r,n;switch(n){case Le.MAP:case Le.MAP_OBJECT:var h,u,c,l,f,_,p;r=Object.create(null),u=-1;var m,v,x=s;if(v=x.length,v===4&&typeof x[0]=="number"&&(x[1]instanceof Uint8Array||x[1]instanceof Array)&&x[2]instanceof Array&&x[3]instanceof Array)return this.decompressAllMapObject(x,a,this._firstRandomMapObjectUtf8Table[n]),a;for(m=0;m<v;m+=2)c=Number(x[m]),h=u+c+1,u=h,_=h,r[h]=x[m+1];var d,g;for(p in r){for(_=Number(p),x=r[p],v=x.length,d=[],g=[],m=0;m<v;m+=2){var w=x[m],A=x[m+1];w instanceof Array&&(w=this.getDecompressArray(w)),A instanceof Array&&(A=this.getDecompressArray(A)),typeof w=="object"?d.push({x:w,y:A}):g.push({x:w,y:A})}var S;u=-1;for(S in d)if(c=Number(d[S].y),h=u+c+1,u=h,w=d[S].x,f=String(h),w instanceof Array)for(x=w,v=x.length,m=0;m<v;m++)l=String(x[m]),a[f][l]=_;else l=String(w),a[f][l]=_;u=-1;for(S in g)if(c=Number(g[S].x),h=u+c+1,u=h,A=g[S].y,l=String(h),A instanceof Array)for(x=A,v=x.length,m=0;m<v;m++)f=String(x[m]),a[f][l]=_;else f=String(A),a[f][l]=_}return a;case Le.USER_VAR:return this.decompressUserVars(s);case Le.USER_NAMED_VAR:if(!s)return s;if(Array.isArray(s))return new Map(structuredClone(s).map(([y,C])=>[y,ps(C)]));if(s.version!==2||typeof s.data!="object")throw new TypeError("セーブデータが壊れています");return ps(Ac(s.data));case Le.SYSTEM_MESSAGE:default:if(!a)if(s)a instanceof Array?a=[]:a=Object.create(null);else return;for(n in s)a[n]=s[n];return a}}static decompressUserVars(e){return e.reduce((s,[a,i])=>(s[a]=i,s),this.generateEmptyUserVars())}static generateEmptyUserVars(){const e=new Array(o.USER_VAR_NUM);for(let s=0;s<o.USER_VAR_NUM;s++)e[s]=0;return e}static decompressAllMapObject(e,s,a){var _,p,i,m,v,x,i,r=this._restartData.mapWidth,n,h,u,c,l,f=new Uint8Array(this._mapByteLength),_,p,m,v,A,x,d=0;d=e[0],u=e[2],n=e[3];var g=e[1];if(f.set(g,d),a)for(A=f.length,v=0;v<A;v++)f[v]=f[v]|a[v];h=[];var w=u.length,A,S,y,C,I,L;for(A=n.length,S=0,y=0;S<A;S++){if(c=n[S],c>=w)for(C=c-w,I=0;I<C;I++)h[y++]=L;else h[y++]=c;L=c}for(m=0,v=0,x=0,l=0,A=f.length,v=0;v<A;v++)for(m=0;m<8;m++){if((f[v]&1<<m)!==0){if(c=h[l++],c===void 0)return!1;i=u[c],_=x%r,p=x/r|0,s[p][_]=i}x++}return!0}static setRestartData(e,s){this._restartData=e,this._mapByteLength=Math.ceil(e.mapWidth*e.mapWidth/8),this._firstRandomMapObjectUtf8Table[Le.MAP_OBJECT]=this.getChangedUint8Array(s[Le.MAP_OBJECT],e[Le.MAP_OBJECT])}static getChangedUint8Array(e,s){var a,i,r,n,h=this._restartData.mapWidth,u=new Uint8Array(this._mapByteLength);for(r=0,n=0,i=0;i<h;i++)for(a=0;a<h;a++)e[i][a]!==s[i][a]&&(u[n]=u[n]|1<<r),r++,r===8&&(r=0,n++);return u}static getStartWWAData(e){if(!e)return this._restartData;try{var s=JSON.parse(e)}catch{return this._restartData}if(s){var a;try{if([a]=this.decompress(s),a)return a}catch{}}return this._restartData}static usingByte(e){this._usingByteFlag=e}};Rt._usingByteFlag=!1,Rt.MIN_LOOP_COUNT=3,Rt._restartData=void 0,Rt._mapByteLength=0,Rt._firstRandomMapObjectUtf8Table=new Sc;let st=Rt;class Cc{constructor(e,s){this.id=0,this.index=0,this.count=0,this.id=e,this.index=s}}class en{constructor(e,s){this._id=0,this.flag=!1,this.date=void 0,this.cvs=void 0,this.ctx=void 0,this.quickSaveData=void 0,this._id=e,this._parent=s,this.cvs=document.createElement("canvas"),this.cvs.width=Se.QUICK_SAVE_THUMNAIL_WIDTH,this.cvs.height=Se.QUICK_SAVE_THUMNAIL_HEIGHT,this.ctx=this.cvs.getContext("2d",{alpha:!1})}showQickLoad(){O("cell-load").textContent=ze.QUICK_LOAD}save(e,s){return this._statusEnergy=s.statusEnergy,this.ctx.clearRect(0,0,this.cvs.width,this.cvs.height),this.ctx.drawImage(e,0,0,e.width,e.height,0,0,this.cvs.width,this.cvs.height),this.quickSaveData=s,this.flag=!0,this.date=new Date,this.showQickLoad(),!0}getStatusEnergy(){return this.flag?this._statusEnergy:-1}load(){return this.quickSaveData}saveDataSet(e,s,a){try{this.quickSaveData=s,this._statusEnergy=s.statusEnergy,this.date=a,this.flag=!0;var i=document.createElement("img");i.src=e,i.addEventListener("load",()=>{this.flag=!0,this.ctx.drawImage(i,0,0,i.width,i.height,0,0,this.cvs.width,this.cvs.height)}),this.showQickLoad()}catch{}}getDateText(){let e,s,a,i,r,n;return this.date?(e=this.date.getFullYear(),s=this.date.getMonth()+1,a=this.date.getDate(),i=this.date.getHours(),r=this.date.getMinutes(),n=this.date.getSeconds(),e=("000"+e).slice(-4),s=("0"+s).slice(-2),a=("0"+a).slice(-2),i=("0"+i).slice(-2),r=("0"+r).slice(-2),n=("0"+n).slice(-2),e+"/"+s+"/"+a+" "+i+":"+r+":"+n):""}isLastSaveData(){return this===this._parent.getLastSaveData()}}class Dc extends en{save(e,s){var a=super.save.apply(this,arguments);return this._parent.dbUpdateSaveData(this._id,e,s,this.date),a}}class ha extends Array{constructor(){super(),Object.setPrototypeOf(this,Object.create(ha.prototype))}hasSaveData(){for(var e=0;e<Se.QUICK_SAVE_MAX;e++)if(this[e].flag)return!0;return!1}getLastSaveData(){for(var e,s,a=0;a<Se.QUICK_SAVE_MAX;a++)s=this[a],s.flag&&(e?s.date&&e.date&&s.date.getTime()>e.date.getTime()&&(e=s):e=s);return e}}const Tc=t=>typeof t.isGameOverDisabled!="boolean"?t:t.isGameOverDisabled===!0?{...t,isGameOverDisabled:void 0,gameOverPolicy:"never"}:t.isGameOverDisabled===!1?{...t,isGameOverDisabled:void 0,gameOverPolicy:"default"}:t,tn=t=>Tc(t),Te=class Te extends ha{constructor(e,s,a=Te.prototype){super(),this.IDBTransaction={READ_ONLY:"readonly",READ_WRITE:"readwrite",VERSION_CHANGE:"versionchangetransaction"},this.keyPath=["id","url"],Object.setPrototypeOf(this,Object.create(a));for(var i=0;i<Se.QUICK_SAVE_MAX;i++)this[i]=new Dc(i,this);this.onCheckLoadingSaveData=e,this.onCompleteLoadingSaveData=s,this.createDataBase(),this.selectSaveData()}indexDBOpen(){return indexedDB.open(Se.INDEXEDDB_DB_NAME,201205201)}createDataBase(){try{var e=this.indexDBOpen();e.onupgradeneeded=s=>{var a=e.result,i={keyPath:this.keyPath};if(!a.objectStoreNames.contains(Se.INDEXEDDB_TABLE_NAME)){var r=a.createObjectStore(Se.INDEXEDDB_TABLE_NAME,i);r.createIndex("url","url",{unique:!1})}},e.onsuccess=Te.doNotAnything,e.onerror=Te.doNotAnything,e.onblocked=Te.doNotAnything}catch{}}getObjectStore(e){const s=e;try{var a=s.transaction(Se.INDEXEDDB_TABLE_NAME,this.IDBTransaction.READ_WRITE),i=a.objectStore(Se.INDEXEDDB_TABLE_NAME)}catch{return}return i}makeSaveDataItem(e,s,a,i){return{url:location.href,id:e,hash:gt.checkOriginalMapString,image:s.toDataURL(),data:a,date:i,worldName:gt.worldName,mapDataRevisionKey:gt.mapDataRevisionKey}}getSaveDataResult(e,s){const a=e.index("url"),i=IDBKeyRange.only(location.href),r=a.getAll(i);r.onsuccess=()=>{s(r.result)}}dbUpdateSaveData(e,s,a,i){const r=this.indexDBOpen();r.onupgradeneeded=Te.doNotAnything,r.onsuccess=()=>{const n=this.getObjectStore(r.result),h=st.compress(a),u=this.makeSaveDataItem(e,s,h,i);this.selectDatas[e]=u;const c=n.put(u);c.onsuccess=Te.doNotAnything,c.onerror=Te.doNotAnything},r.onerror=Te.doNotAnything,r.onblocked=Te.doNotAnything}dbDeleteSaveData(e){const s=this.indexDBOpen();s.onupgradeneeded=Te.doNotAnything,s.onsuccess=()=>{const a=this.getObjectStore(s.result);e.forEach(i=>{a.delete([i,location.href])})},s.onerror=Te.doNotAnything,s.onblocked=Te.doNotAnything}selectSaveData(){const e=this.indexDBOpen();e.onupgradeneeded=Te.doNotAnything,e.onsuccess=()=>{const s=this.getObjectStore(e.result);this.selectDatas=[];const a=i=>{var r,n,h;let u=[];for(n=i.length,r=0;r<n;r++){var c=i[r];try{h={id:c.id,hash:c.hash,data:c.data,date:c.date,image:c.image,worldName:c.worldName,mapDataRevisionKey:c.mapDataRevisionKey}}catch{continue}const f=this.onCheckLoadingSaveData(h.worldName,h.hash,h.mapDataRevisionKey);if(f!==null){u.push({id:h.id,cause:f});continue}if(!this[h.id])continue;const _=tn(st.decompress(h.data)[0]);this[h.id].saveDataSet(h.image,_,h.date)}u.length>0&&this.dbDeleteSaveData(u.map(f=>f.id));const l=u.map(f=>f.cause).filter((f,_,p)=>p.indexOf(f)===_);this.onCompleteLoadingSaveData(l)};this.getSaveDataResult(s,a)},e.onerror=Te.doNotAnything,e.onblocked=Te.doNotAnything}};Te.doNotAnything=()=>{};let Ya=Te;class bc extends en{}class Wa extends ha{constructor(){super(),this._saveNo=0,this._lastAutoSaveMove=0,this._autoInterval=Se.SAVE_INTERVAL_MOVE,Object.setPrototypeOf(this,Object.create(Wa.prototype));for(var e=0;e<Se.QUICK_SAVE_MAX;e++)this[e]=new bc(e,this);this._saveNo=0,this._lastAutoSaveMove=0}resumeStart(){this._lastAutoSaveMove=-1}setPlayer(e){this._lastAutoSaveMove=e.getMoveCount()}isAutoSaveFrame(e){if(this._autoInterval===0)return!1;var s=e.getMoveCount();return this._lastAutoSaveMove>=s||s%this._autoInterval!==0?!1:(this._lastAutoSaveMove=s,!0)}autoSave(e,s){this[this._saveNo].save(e,s),this._saveNo++,this._saveNo=this._saveNo%Se.QUICK_SAVE_MAX}setAutoSaveInterval(e){if(e<0){console.warn(`オートセーブの歩数 (${e}) に負の値が設定されています。`);return}this._autoInterval=e|0}}function sn(t,e){return ut.MD5(t+e).toString()}var Nt=(t=>(t.UNMATCHED_WORLD_NAME="UNMATCHED_WORLD_NAME",t.UNMATCHED_WORLD_PASS_NUMBER="UNMATCHED_WORLD_PASS_NUMBER",t.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA="DISALLOW_OLD_REVISION_WORLD_SAVE_DATA",t))(Nt||{});class gt{constructor(e,s,a,i,r){gt.checkOriginalMapString=e.checkOriginalMapString,gt.worldName=s,gt.mapDataRevisionKey=sn(s,a),this._wwaDBSaveList=new Ya(i,r),this._wwaLogSaveList=new Wa,this.selectDBSaveDataList()}resumeStart(){this._wwaLogSaveList.resumeStart()}isAutoSaveFrame(e){return this._wwaLogSaveList.isAutoSaveFrame(e)}autoSave(e,s){this._wwaLogSaveList.autoSave(e,s)}selectDBSaveDataList(){this.list=this._wwaDBSaveList}selectLogSaveDataList(){this.list=this._wwaLogSaveList}save(e,s,a){var i=this.list[a];return i?i.save(e,s):!1}load(e){var s=this.list[e];return s?s.load():null}hasSaveData(){return this.list.hasSaveData()}setAutoSaveInterval(e){return this._wwaLogSaveList.setAutoSaveInterval(e)}getFirstSaveChoiceCallInfo(e){return e?H.CALL_BY_PASSWORD_LOAD:this._wwaDBSaveList.hasSaveData()?H.CALL_BY_QUICK_LOAD:this._wwaLogSaveList.hasSaveData()?H.CALL_BY_LOG_QUICK_LOAD:H.CALL_BY_PASSWORD_LOAD}getSecondSaveChoiceCallInfo(e){return this.list===this._wwaDBSaveList&&this._wwaLogSaveList.hasSaveData()?H.CALL_BY_LOG_QUICK_LOAD:e?H.CALL_BY_PASSWORD_LOAD:H.NONE}gameStart(e,s){this._wwaLogSaveList.setPlayer(s),this.quickSaveButtonUpdate(e)}quickSaveButtonUpdate(e){e.disableSaveFlag?O("cell-save").textContent=ze.EMPTY_SAVE:O("cell-save").textContent=ze.QUICK_SAVE}}class Ic{constructor(e,s,a,i){this.id=e,this.fileName=s,this.audioContext=a,this.audioGain=i,this.disposeBufferSource=r=>{try{r.stop(),r.disconnect(this.audioGain),r.buffer=null}catch{}r.onended=null},this.audioContext=a,this.audioGain=i,this.audioBuffer=null,this.bufferSources=[],this.isLoaded=!1,this.delayBgmTimeoutId=null,this.load()}async fetchSoundFile(){try{return await fetch(this.fileName)}catch{console.warn(`サウンド ${this.id} 番の音声ファイルの取得失敗 (fetch)`);return}}async getArrayBuffer(e){try{return await e.arrayBuffer()}catch{console.warn(`サウンド ${this.id} 番の音声ファイルの取得失敗 (arrayBuffer)`);return}}async load(e=0){if(e>=10){console.log(`サウンド ${this.id} 番の音声ファイルの取得失敗 (最大リトライ回数超過)`),this.isExceededMaxRetryCount=!0;return}const s=await this.fetchSoundFile();if(!s){this.retry(e);return}if(s.status!==0&&s.status!==200){console.warn(`サウンド ${this.id} 番の音声ファイルが見つかりません! HTTPエラー番号: ${s.status}`),this.cancelLoad();return}const a=await this.getArrayBuffer(s);if(!a){this.retry(e);return}this.audioContext.decodeAudioData(a,i=>{if(i.length===0){console.log(`サウンド ${this.id} 番の音声ファイルのバッファサイズが 0 です `),this.retry(e);return}this.setData(i)})}retry(e){window.setTimeout(async()=>{await this.load(e+1)},100)}setData(e){this.audioBuffer=e,this.isLoaded=!0}cancelLoad(){this.audioBuffer=null,this.isLoaded=!0}play(e=0){const s=this.audioContext.createBufferSource();this.bufferSources.push(s),s.buffer=this.audioBuffer,this.isBgm()&&(s.loop=!0),s.connect(this.audioGain),s.duration,s.onended=()=>{const a=this.bufferSources.indexOf(s);a!==-1&&this.bufferSources.splice(a,1),this.disposeBufferSource(s)},this.delayBgmTimeoutId=window.setTimeout(()=>{this.delayBgmTimeoutId=null,s.start()},e),this.audioGain.connect(this.audioContext.destination)}pause(){this.delayBgmTimeoutId!==null&&(window.clearTimeout(this.delayBgmTimeoutId),this.delayBgmTimeoutId=null),this.bufferSources.forEach(this.disposeBufferSource),this.bufferSources.length=0}isBgm(){return this.id>=de.BGM_LB}hasData(){return this.audioBuffer!==null}isPlaying(){return this.hasData()||this.delayBgmTimeoutId!==null}isLoading(){return!this.isLoaded}isError(){return this.isExceededMaxRetryCount||this.isLoaded&&this.audioBuffer===null}}class an{constructor(e){this.target=e??document.createElement("div")}dispatch(e,s){const a=new CustomEvent(e,{detail:s});this.target.dispatchEvent(a)}addListener(e,s){const a=i=>s(i.detail);return this.target.addEventListener(e,a),a}removeListener(e,s){this.target.removeEventListener(e,s)}}var Ha={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},Ga="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Pc={5:Ga,"5module":Ga+" export import",6:Ga+" const class extends export import super"},Nc=/^in(stanceof)?$/,Ka="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",rn="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",Oc=new RegExp("["+Ka+"]"),Mc=new RegExp("["+Ka+rn+"]");Ka=rn=null;var nn=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Bc=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function ja(t,e){for(var s=65536,a=0;a<e.length;a+=2){if(s+=e[a],s>t)return!1;if(s+=e[a+1],s>=t)return!0}}function vt(t,e){return t<65?t===36:t<91?!0:t<97?t===95:t<123?!0:t<=65535?t>=170&&Oc.test(String.fromCharCode(t)):e===!1?!1:ja(t,nn)}function Yt(t,e){return t<48?t===36:t<58?!0:t<65?!1:t<91?!0:t<97?t===95:t<123?!0:t<=65535?t>=170&&Mc.test(String.fromCharCode(t)):e===!1?!1:ja(t,nn)||ja(t,Bc)}var he=function(e,s){s===void 0&&(s={}),this.label=e,this.keyword=s.keyword,this.beforeExpr=!!s.beforeExpr,this.startsExpr=!!s.startsExpr,this.isLoop=!!s.isLoop,this.isAssign=!!s.isAssign,this.prefix=!!s.prefix,this.postfix=!!s.postfix,this.binop=s.binop||null,this.updateContext=null};function je(t,e){return new he(t,{beforeExpr:!0,binop:e})}var Xe={beforeExpr:!0},Fe={startsExpr:!0},Xa={};function re(t,e){return e===void 0&&(e={}),e.keyword=t,Xa[t]=new he(t,e)}var E={num:new he("num",Fe),regexp:new he("regexp",Fe),string:new he("string",Fe),name:new he("name",Fe),eof:new he("eof"),bracketL:new he("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new he("]"),braceL:new he("{",{beforeExpr:!0,startsExpr:!0}),braceR:new he("}"),parenL:new he("(",{beforeExpr:!0,startsExpr:!0}),parenR:new he(")"),comma:new he(",",Xe),semi:new he(";",Xe),colon:new he(":",Xe),dot:new he("."),question:new he("?",Xe),questionDot:new he("?."),arrow:new he("=>",Xe),template:new he("template"),invalidTemplate:new he("invalidTemplate"),ellipsis:new he("...",Xe),backQuote:new he("`",Fe),dollarBraceL:new he("${",{beforeExpr:!0,startsExpr:!0}),eq:new he("=",{beforeExpr:!0,isAssign:!0}),assign:new he("_=",{beforeExpr:!0,isAssign:!0}),incDec:new he("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new he("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:je("||",1),logicalAND:je("&&",2),bitwiseOR:je("|",3),bitwiseXOR:je("^",4),bitwiseAND:je("&",5),equality:je("==/!=/===/!==",6),relational:je("</>/<=/>=",7),bitShift:je("<</>>/>>>",8),plusMin:new he("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:je("%",10),star:je("*",10),slash:je("/",10),starstar:new he("**",{beforeExpr:!0}),coalesce:je("??",1),_break:re("break"),_case:re("case",Xe),_catch:re("catch"),_continue:re("continue"),_debugger:re("debugger"),_default:re("default",Xe),_do:re("do",{isLoop:!0,beforeExpr:!0}),_else:re("else",Xe),_finally:re("finally"),_for:re("for",{isLoop:!0}),_function:re("function",Fe),_if:re("if"),_return:re("return",Xe),_switch:re("switch"),_throw:re("throw",Xe),_try:re("try"),_var:re("var"),_const:re("const"),_while:re("while",{isLoop:!0}),_with:re("with"),_new:re("new",{beforeExpr:!0,startsExpr:!0}),_this:re("this",Fe),_super:re("super",Fe),_class:re("class",Fe),_extends:re("extends",Xe),_export:re("export"),_import:re("import",Fe),_null:re("null",Fe),_true:re("true",Fe),_false:re("false",Fe),_in:re("in",{beforeExpr:!0,binop:7}),_instanceof:re("instanceof",{beforeExpr:!0,binop:7}),_typeof:re("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:re("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:re("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},$e=/\r\n?|\n|\u2028|\u2029/,ts=new RegExp($e.source,"g");function ss(t,e){return t===10||t===13||!e&&(t===8232||t===8233)}var on=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,qe=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,hn=Object.prototype,Rc=hn.hasOwnProperty,Lc=hn.toString;function ca(t,e){return Rc.call(t,e)}var cn=Array.isArray||(function(t){return Lc.call(t)==="[object Array]"});function Ot(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var as=function(e,s){this.line=e,this.column=s};as.prototype.offset=function(e){return new as(this.line,this.column+e)};var ua=function(e,s,a){this.start=s,this.end=a,e.sourceFile!==null&&(this.source=e.sourceFile)};function un(t,e){for(var s=1,a=0;;){ts.lastIndex=a;var i=ts.exec(t);if(i&&i.index<e)++s,a=i.index+i[0].length;else return new as(s,e-a)}}var $a={ecmaVersion:10,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1};function Fc(t){var e={};for(var s in $a)e[s]=t&&ca(t,s)?t[s]:$a[s];if(e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),e.allowReserved==null&&(e.allowReserved=e.ecmaVersion<5),cn(e.onToken)){var a=e.onToken;e.onToken=function(i){return a.push(i)}}return cn(e.onComment)&&(e.onComment=kc(e,e.onComment)),e}function kc(t,e){return function(s,a,i,r,n,h){var u={type:s?"Block":"Line",value:a,start:i,end:r};t.locations&&(u.loc=new ua(this,n,h)),t.ranges&&(u.range=[i,r]),e.push(u)}}var is=1,rs=2,qa=is|rs,ln=4,_n=8,fn=16,dn=32,pn=64,mn=128;function Ja(t,e){return rs|(t?ln:0)|(e?_n:0)}var En=0,Za=1,lt=2,xn=3,gn=4,vn=5,we=function(e,s,a){this.options=e=Fc(e),this.sourceFile=e.sourceFile,this.keywords=Ot(Pc[e.ecmaVersion>=6?6:e.sourceType==="module"?"5module":5]);var i="";if(e.allowReserved!==!0){for(var r=e.ecmaVersion;!(i=Ha[r]);r--);e.sourceType==="module"&&(i+=" await")}this.reservedWords=Ot(i);var n=(i?i+" ":"")+Ha.strict;this.reservedWordsStrict=Ot(n),this.reservedWordsStrictBind=Ot(n+" "+Ha.strictBind),this.input=String(s),this.containsEsc=!1,a?(this.pos=a,this.lineStart=this.input.lastIndexOf(`
|
|
103
|
+
`,a-1)+1,this.curLine=this.input.slice(0,this.lineStart).split($e).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=E.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=e.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},this.pos===0&&e.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(is),this.regexpState=null},Mt={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};we.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},Mt.inFunction.get=function(){return(this.currentVarScope().flags&rs)>0},Mt.inGenerator.get=function(){return(this.currentVarScope().flags&_n)>0},Mt.inAsync.get=function(){return(this.currentVarScope().flags&ln)>0},Mt.allowSuper.get=function(){return(this.currentThisScope().flags&pn)>0},Mt.allowDirectSuper.get=function(){return(this.currentThisScope().flags&mn)>0},Mt.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},we.prototype.inNonArrowFunction=function(){return(this.currentThisScope().flags&rs)>0},we.extend=function(){for(var e=[],s=arguments.length;s--;)e[s]=arguments[s];for(var a=this,i=0;i<e.length;i++)a=e[i](a);return a},we.parse=function(e,s){return new this(s,e).parse()},we.parseExpressionAt=function(e,s,a){var i=new this(a,e,s);return i.nextToken(),i.parseExpression()},we.tokenizer=function(e,s){return new this(s,e)},Object.defineProperties(we.prototype,Mt);var Ne=we.prototype,Uc=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;Ne.strictDirective=function(t){for(;;){qe.lastIndex=t,t+=qe.exec(this.input)[0].length;var e=Uc.exec(this.input.slice(t));if(!e)return!1;if((e[1]||e[2])==="use strict"){qe.lastIndex=t+e[0].length;var s=qe.exec(this.input),a=s.index+s[0].length,i=this.input.charAt(a);return i===";"||i==="}"||$e.test(s[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(i)||i==="!"&&this.input.charAt(a+1)==="=")}t+=e[0].length,qe.lastIndex=t,t+=qe.exec(this.input)[0].length,this.input[t]===";"&&t++}},Ne.eat=function(t){return this.type===t?(this.next(),!0):!1},Ne.isContextual=function(t){return this.type===E.name&&this.value===t&&!this.containsEsc},Ne.eatContextual=function(t){return this.isContextual(t)?(this.next(),!0):!1},Ne.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},Ne.canInsertSemicolon=function(){return this.type===E.eof||this.type===E.braceR||$e.test(this.input.slice(this.lastTokEnd,this.start))},Ne.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},Ne.semicolon=function(){!this.eat(E.semi)&&!this.insertSemicolon()&&this.unexpected()},Ne.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},Ne.expect=function(t){this.eat(t)||this.unexpected()},Ne.unexpected=function(t){this.raise(t??this.start,"Unexpected token")};function la(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}Ne.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var s=e?t.parenthesizedAssign:t.parenthesizedBind;s>-1&&this.raiseRecoverable(s,"Parenthesized pattern")}},Ne.checkExpressionErrors=function(t,e){if(!t)return!1;var s=t.shorthandAssign,a=t.doubleProto;if(!e)return s>=0||a>=0;s>=0&&this.raise(s,"Shorthand property assignments are valid only in destructuring patterns"),a>=0&&this.raiseRecoverable(a,"Redefinition of __proto__ property")},Ne.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},Ne.isSimpleAssignTarget=function(t){return t.type==="ParenthesizedExpression"?this.isSimpleAssignTarget(t.expression):t.type==="Identifier"||t.type==="MemberExpression"};var z=we.prototype;z.parseTopLevel=function(t){var e={};for(t.body||(t.body=[]);this.type!==E.eof;){var s=this.parseStatement(null,!0,e);t.body.push(s)}if(this.inModule)for(var a=0,i=Object.keys(this.undefinedExports);a<i.length;a+=1){var r=i[a];this.raiseRecoverable(this.undefinedExports[r].start,"Export '"+r+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var za={kind:"loop"},Vc={kind:"switch"};z.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;qe.lastIndex=this.pos;var e=qe.exec(this.input),s=this.pos+e[0].length,a=this.input.charCodeAt(s);if(a===91)return!0;if(t)return!1;if(a===123)return!0;if(vt(a,!0)){for(var i=s+1;Yt(this.input.charCodeAt(i),!0);)++i;var r=this.input.slice(s,i);if(!Nc.test(r))return!0}return!1},z.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;qe.lastIndex=this.pos;var t=qe.exec(this.input),e=this.pos+t[0].length;return!$e.test(this.input.slice(this.pos,e))&&this.input.slice(e,e+8)==="function"&&(e+8===this.input.length||!Yt(this.input.charAt(e+8)))},z.parseStatement=function(t,e,s){var a=this.type,i=this.startNode(),r;switch(this.isLet(t)&&(a=E._var,r="let"),a){case E._break:case E._continue:return this.parseBreakContinueStatement(i,a.keyword);case E._debugger:return this.parseDebuggerStatement(i);case E._do:return this.parseDoStatement(i);case E._for:return this.parseForStatement(i);case E._function:return t&&(this.strict||t!=="if"&&t!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!t);case E._class:return t&&this.unexpected(),this.parseClass(i,!0);case E._if:return this.parseIfStatement(i);case E._return:return this.parseReturnStatement(i);case E._switch:return this.parseSwitchStatement(i);case E._throw:return this.parseThrowStatement(i);case E._try:return this.parseTryStatement(i);case E._const:case E._var:return r=r||this.value,t&&r!=="var"&&this.unexpected(),this.parseVarStatement(i,r);case E._while:return this.parseWhileStatement(i);case E._with:return this.parseWithStatement(i);case E.braceL:return this.parseBlock(!0,i);case E.semi:return this.parseEmptyStatement(i);case E._export:case E._import:if(this.options.ecmaVersion>10&&a===E._import){qe.lastIndex=this.pos;var n=qe.exec(this.input),h=this.pos+n[0].length,u=this.input.charCodeAt(h);if(u===40||u===46)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),a===E._import?this.parseImport(i):this.parseExport(i,s);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!t);var c=this.value,l=this.parseExpression();return a===E.name&&l.type==="Identifier"&&this.eat(E.colon)?this.parseLabeledStatement(i,c,l,t):this.parseExpressionStatement(i,l)}},z.parseBreakContinueStatement=function(t,e){var s=e==="break";this.next(),this.eat(E.semi)||this.insertSemicolon()?t.label=null:this.type!==E.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var a=0;a<this.labels.length;++a){var i=this.labels[a];if((t.label==null||i.name===t.label.name)&&(i.kind!=null&&(s||i.kind==="loop")||t.label&&s))break}return a===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,s?"BreakStatement":"ContinueStatement")},z.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},z.parseDoStatement=function(t){return this.next(),this.labels.push(za),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(E._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(E.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},z.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(za),this.enterScope(0),this.expect(E.parenL),this.type===E.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var s=this.isLet();if(this.type===E._var||this.type===E._const||s){var a=this.startNode(),i=s?"let":this.value;return this.next(),this.parseVar(a,!0,i),this.finishNode(a,"VariableDeclaration"),(this.type===E._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&a.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===E._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,a)):(e>-1&&this.unexpected(e),this.parseFor(t,a))}var r=new la,n=this.parseExpression(!0,r);return this.type===E._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===E._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(n,!1,r),this.checkLVal(n),this.parseForIn(t,n)):(this.checkExpressionErrors(r,!0),e>-1&&this.unexpected(e),this.parseFor(t,n))},z.parseFunctionStatement=function(t,e,s){return this.next(),this.parseFunction(t,ns|(s?0:Qa),!1,e)},z.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(E._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},z.parseReturnStatement=function(t){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(E.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},z.parseSwitchStatement=function(t){this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(E.braceL),this.labels.push(Vc),this.enterScope(0);for(var e,s=!1;this.type!==E.braceR;)if(this.type===E._case||this.type===E._default){var a=this.type===E._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),a?e.test=this.parseExpression():(s&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),s=!0,e.test=null),this.expect(E.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},z.parseThrowStatement=function(t){return this.next(),$e.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var Yc=[];z.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===E._catch){var e=this.startNode();if(this.next(),this.eat(E.parenL)){e.param=this.parseBindingAtom();var s=e.param.type==="Identifier";this.enterScope(s?dn:0),this.checkLVal(e.param,s?gn:lt),this.expect(E.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0);e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(E._finally)?this.parseBlock():null,!t.handler&&!t.finalizer&&this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},z.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},z.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(za),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},z.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},z.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},z.parseLabeledStatement=function(t,e,s,a){for(var i=0,r=this.labels;i<r.length;i+=1){var n=r[i];n.name===e&&this.raise(s.start,"Label '"+e+"' is already declared")}for(var h=this.type.isLoop?"loop":this.type===E._switch?"switch":null,u=this.labels.length-1;u>=0;u--){var c=this.labels[u];if(c.statementStart===t.start)c.statementStart=this.start,c.kind=h;else break}return this.labels.push({name:e,kind:h,statementStart:this.start}),t.body=this.parseStatement(a?a.indexOf("label")===-1?a+"label":a:"label"),this.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")},z.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},z.parseBlock=function(t,e,s){for(t===void 0&&(t=!0),e===void 0&&(e=this.startNode()),e.body=[],this.expect(E.braceL),t&&this.enterScope(0);this.type!==E.braceR;){var a=this.parseStatement(null);e.body.push(a)}return s&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},z.parseFor=function(t,e){return t.init=e,this.expect(E.semi),t.test=this.type===E.semi?null:this.parseExpression(),this.expect(E.semi),t.update=this.type===E.parenR?null:this.parseExpression(),this.expect(E.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},z.parseForIn=function(t,e){var s=this.type===E._in;return this.next(),e.type==="VariableDeclaration"&&e.declarations[0].init!=null&&(!s||this.options.ecmaVersion<8||this.strict||e.kind!=="var"||e.declarations[0].id.type!=="Identifier")?this.raise(e.start,(s?"for-in":"for-of")+" loop variable declaration may not have an initializer"):e.type==="AssignmentPattern"&&this.raise(e.start,"Invalid left-hand side in for-loop"),t.left=e,t.right=s?this.parseExpression():this.parseMaybeAssign(),this.expect(E.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")},z.parseVar=function(t,e,s){for(t.declarations=[],t.kind=s;;){var a=this.startNode();if(this.parseVarId(a,s),this.eat(E.eq)?a.init=this.parseMaybeAssign(e):s==="const"&&!(this.type===E._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():a.id.type!=="Identifier"&&!(e&&(this.type===E._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):a.init=null,t.declarations.push(this.finishNode(a,"VariableDeclarator")),!this.eat(E.comma))break}return t},z.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,e==="var"?Za:lt,!1)};var ns=1,Qa=2,wn=4;z.parseFunction=function(t,e,s,a){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!a)&&(this.type===E.star&&e&Qa&&this.unexpected(),t.generator=this.eat(E.star)),this.options.ecmaVersion>=8&&(t.async=!!a),e&ns&&(t.id=e&wn&&this.type!==E.name?null:this.parseIdent(),t.id&&!(e&Qa)&&this.checkLVal(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?Za:lt:xn));var i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Ja(t.async,t.generator)),e&ns||(t.id=this.type===E.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,s,!1),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(t,e&ns?"FunctionDeclaration":"FunctionExpression")},z.parseFunctionParams=function(t){this.expect(E.parenL),t.params=this.parseBindingList(E.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},z.parseClass=function(t,e){this.next();var s=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var a=this.startNode(),i=!1;for(a.body=[],this.expect(E.braceL);this.type!==E.braceR;){var r=this.parseClassElement(t.superClass!==null);r&&(a.body.push(r),r.type==="MethodDefinition"&&r.kind==="constructor"&&(i&&this.raise(r.start,"Duplicate constructor in the same class"),i=!0))}return this.strict=s,this.next(),t.body=this.finishNode(a,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},z.parseClassElement=function(t){var e=this;if(this.eat(E.semi))return null;var s=this.startNode(),a=function(u,c){c===void 0&&(c=!1);var l=e.start,f=e.startLoc;return e.eatContextual(u)?e.type!==E.parenL&&(!c||!e.canInsertSemicolon())?!0:(s.key&&e.unexpected(),s.computed=!1,s.key=e.startNodeAt(l,f),s.key.name=u,e.finishNode(s.key,"Identifier"),!1):!1};s.kind="method",s.static=a("static");var i=this.eat(E.star),r=!1;i||(this.options.ecmaVersion>=8&&a("async",!0)?(r=!0,i=this.options.ecmaVersion>=9&&this.eat(E.star)):a("get")?s.kind="get":a("set")&&(s.kind="set")),s.key||this.parsePropertyName(s);var n=s.key,h=!1;return!s.computed&&!s.static&&(n.type==="Identifier"&&n.name==="constructor"||n.type==="Literal"&&n.value==="constructor")?(s.kind!=="method"&&this.raise(n.start,"Constructor can't have get/set modifier"),i&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method"),s.kind="constructor",h=t):s.static&&n.type==="Identifier"&&n.name==="prototype"&&this.raise(n.start,"Classes may not have a static property named prototype"),this.parseClassMethod(s,i,r,h),s.kind==="get"&&s.value.params.length!==0&&this.raiseRecoverable(s.value.start,"getter should have no params"),s.kind==="set"&&s.value.params.length!==1&&this.raiseRecoverable(s.value.start,"setter should have exactly one param"),s.kind==="set"&&s.value.params[0].type==="RestElement"&&this.raiseRecoverable(s.value.params[0].start,"Setter cannot use rest params"),s},z.parseClassMethod=function(t,e,s,a){return t.value=this.parseMethod(e,s,a),this.finishNode(t,"MethodDefinition")},z.parseClassId=function(t,e){this.type===E.name?(t.id=this.parseIdent(),e&&this.checkLVal(t.id,lt,!1)):(e===!0&&this.unexpected(),t.id=null)},z.parseClassSuper=function(t){t.superClass=this.eat(E._extends)?this.parseExprSubscripts():null},z.parseExport=function(t,e){if(this.next(),this.eat(E.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseIdent(!0),this.checkExport(e,t.exported.name,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==E.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(E._default)){this.checkExport(e,"default",this.lastTokStart);var s;if(this.type===E._function||(s=this.isAsyncFunction())){var a=this.startNode();this.next(),s&&this.next(),t.declaration=this.parseFunction(a,ns|wn,!1,s)}else if(this.type===E._class){var i=this.startNode();t.declaration=this.parseClass(i,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(null),t.declaration.type==="VariableDeclaration"?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==E.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var r=0,n=t.specifiers;r<n.length;r+=1){var h=n[r];this.checkUnreserved(h.local),this.checkLocalExport(h.local)}t.source=null}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},z.checkExport=function(t,e,s){t&&(ca(t,e)&&this.raiseRecoverable(s,"Duplicate export '"+e+"'"),t[e]=!0)},z.checkPatternExport=function(t,e){var s=e.type;if(s==="Identifier")this.checkExport(t,e.name,e.start);else if(s==="ObjectPattern")for(var a=0,i=e.properties;a<i.length;a+=1){var r=i[a];this.checkPatternExport(t,r)}else if(s==="ArrayPattern")for(var n=0,h=e.elements;n<h.length;n+=1){var u=h[n];u&&this.checkPatternExport(t,u)}else s==="Property"?this.checkPatternExport(t,e.value):s==="AssignmentPattern"?this.checkPatternExport(t,e.left):s==="RestElement"?this.checkPatternExport(t,e.argument):s==="ParenthesizedExpression"&&this.checkPatternExport(t,e.expression)},z.checkVariableExport=function(t,e){if(t)for(var s=0,a=e;s<a.length;s+=1){var i=a[s];this.checkPatternExport(t,i.id)}},z.shouldParseExportStatement=function(){return this.type.keyword==="var"||this.type.keyword==="const"||this.type.keyword==="class"||this.type.keyword==="function"||this.isLet()||this.isAsyncFunction()},z.parseExportSpecifiers=function(t){var e=[],s=!0;for(this.expect(E.braceL);!this.eat(E.braceR);){if(s)s=!1;else if(this.expect(E.comma),this.afterTrailingComma(E.braceR))break;var a=this.startNode();a.local=this.parseIdent(!0),a.exported=this.eatContextual("as")?this.parseIdent(!0):a.local,this.checkExport(t,a.exported.name,a.exported.start),e.push(this.finishNode(a,"ExportSpecifier"))}return e},z.parseImport=function(t){return this.next(),this.type===E.string?(t.specifiers=Yc,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===E.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},z.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===E.name){var s=this.startNode();if(s.local=this.parseIdent(),this.checkLVal(s.local,lt),t.push(this.finishNode(s,"ImportDefaultSpecifier")),!this.eat(E.comma))return t}if(this.type===E.star){var a=this.startNode();return this.next(),this.expectContextual("as"),a.local=this.parseIdent(),this.checkLVal(a.local,lt),t.push(this.finishNode(a,"ImportNamespaceSpecifier")),t}for(this.expect(E.braceL);!this.eat(E.braceR);){if(e)e=!1;else if(this.expect(E.comma),this.afterTrailingComma(E.braceR))break;var i=this.startNode();i.imported=this.parseIdent(!0),this.eatContextual("as")?i.local=this.parseIdent():(this.checkUnreserved(i.imported),i.local=i.imported),this.checkLVal(i.local,lt),t.push(this.finishNode(i,"ImportSpecifier"))}return t},z.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},z.isDirectiveCandidate=function(t){return t.type==="ExpressionStatement"&&t.expression.type==="Literal"&&typeof t.expression.value=="string"&&(this.input[t.start]==='"'||this.input[t.start]==="'")};var _t=we.prototype;_t.toAssignable=function(t,e,s){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&t.name==="await"&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",s&&this.checkPatternErrors(s,!0);for(var a=0,i=t.properties;a<i.length;a+=1){var r=i[a];this.toAssignable(r,e),r.type==="RestElement"&&(r.argument.type==="ArrayPattern"||r.argument.type==="ObjectPattern")&&this.raise(r.argument.start,"Unexpected token")}break;case"Property":t.kind!=="init"&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",s&&this.checkPatternErrors(s,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),t.argument.type==="AssignmentPattern"&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":t.operator!=="="&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);case"AssignmentPattern":break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,s);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else s&&this.checkPatternErrors(s,!0);return t},_t.toAssignableList=function(t,e){for(var s=t.length,a=0;a<s;a++){var i=t[a];i&&this.toAssignable(i,e)}if(s){var r=t[s-1];this.options.ecmaVersion===6&&e&&r&&r.type==="RestElement"&&r.argument.type!=="Identifier"&&this.unexpected(r.argument.start)}return t},_t.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},_t.parseRestBinding=function(){var t=this.startNode();return this.next(),this.options.ecmaVersion===6&&this.type!==E.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},_t.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case E.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(E.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case E.braceL:return this.parseObj(!0)}return this.parseIdent()},_t.parseBindingList=function(t,e,s){for(var a=[],i=!0;!this.eat(t);)if(i?i=!1:this.expect(E.comma),e&&this.type===E.comma)a.push(null);else{if(s&&this.afterTrailingComma(t))break;if(this.type===E.ellipsis){var r=this.parseRestBinding();this.parseBindingListItem(r),a.push(r),this.type===E.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}else{var n=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(n),a.push(n)}}return a},_t.parseBindingListItem=function(t){return t},_t.parseMaybeDefault=function(t,e,s){if(s=s||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(E.eq))return s;var a=this.startNodeAt(t,e);return a.left=s,a.right=this.parseMaybeAssign(),this.finishNode(a,"AssignmentPattern")},_t.checkLVal=function(t,e,s){switch(e===void 0&&(e=En),t.type){case"Identifier":e===lt&&t.name==="let"&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(e?"Binding ":"Assigning to ")+t.name+" in strict mode"),s&&(ca(s,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),s[t.name]=!0),e!==En&&e!==vn&&this.declareName(t.name,e,t.start);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":e&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ObjectPattern":for(var a=0,i=t.properties;a<i.length;a+=1){var r=i[a];this.checkLVal(r,e,s)}break;case"Property":this.checkLVal(t.value,e,s);break;case"ArrayPattern":for(var n=0,h=t.elements;n<h.length;n+=1){var u=h[n];u&&this.checkLVal(u,e,s)}break;case"AssignmentPattern":this.checkLVal(t.left,e,s);break;case"RestElement":this.checkLVal(t.argument,e,s);break;case"ParenthesizedExpression":this.checkLVal(t.expression,e,s);break;default:this.raise(t.start,(e?"Binding":"Assigning to")+" rvalue")}};var Q=we.prototype;Q.checkPropClash=function(t,e,s){if(!(this.options.ecmaVersion>=9&&t.type==="SpreadElement")&&!(this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var a=t.key,i;switch(a.type){case"Identifier":i=a.name;break;case"Literal":i=String(a.value);break;default:return}var r=t.kind;if(this.options.ecmaVersion>=6){i==="__proto__"&&r==="init"&&(e.proto&&(s?s.doubleProto<0&&(s.doubleProto=a.start):this.raiseRecoverable(a.start,"Redefinition of __proto__ property")),e.proto=!0);return}i="$"+i;var n=e[i];if(n){var h;r==="init"?h=this.strict&&n.init||n.get||n.set:h=n.init||n[r],h&&this.raiseRecoverable(a.start,"Redefinition of property")}else n=e[i]={init:!1,get:!1,set:!1};n[r]=!0}},Q.parseExpression=function(t,e){var s=this.start,a=this.startLoc,i=this.parseMaybeAssign(t,e);if(this.type===E.comma){var r=this.startNodeAt(s,a);for(r.expressions=[i];this.eat(E.comma);)r.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(r,"SequenceExpression")}return i},Q.parseMaybeAssign=function(t,e,s){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var a=!1,i=-1,r=-1;e?(i=e.parenthesizedAssign,r=e.trailingComma,e.parenthesizedAssign=e.trailingComma=-1):(e=new la,a=!0);var n=this.start,h=this.startLoc;(this.type===E.parenL||this.type===E.name)&&(this.potentialArrowAt=this.start);var u=this.parseMaybeConditional(t,e);if(s&&(u=s.call(this,u,n,h)),this.type.isAssign){var c=this.startNodeAt(n,h);return c.operator=this.value,c.left=this.type===E.eq?this.toAssignable(u,!1,e):u,a||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=c.left.start&&(e.shorthandAssign=-1),this.checkLVal(u),this.next(),c.right=this.parseMaybeAssign(t),this.finishNode(c,"AssignmentExpression")}else a&&this.checkExpressionErrors(e,!0);return i>-1&&(e.parenthesizedAssign=i),r>-1&&(e.trailingComma=r),u},Q.parseMaybeConditional=function(t,e){var s=this.start,a=this.startLoc,i=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return i;if(this.eat(E.question)){var r=this.startNodeAt(s,a);return r.test=i,r.consequent=this.parseMaybeAssign(),this.expect(E.colon),r.alternate=this.parseMaybeAssign(t),this.finishNode(r,"ConditionalExpression")}return i},Q.parseExprOps=function(t,e){var s=this.start,a=this.startLoc,i=this.parseMaybeUnary(e,!1);return this.checkExpressionErrors(e)||i.start===s&&i.type==="ArrowFunctionExpression"?i:this.parseExprOp(i,s,a,-1,t)},Q.parseExprOp=function(t,e,s,a,i){var r=this.type.binop;if(r!=null&&(!i||this.type!==E._in)&&r>a){var n=this.type===E.logicalOR||this.type===E.logicalAND,h=this.type===E.coalesce;h&&(r=E.logicalAND.binop);var u=this.value;this.next();var c=this.start,l=this.startLoc,f=this.parseExprOp(this.parseMaybeUnary(null,!1),c,l,r,i),_=this.buildBinary(e,s,t,f,u,n||h);return(n&&this.type===E.coalesce||h&&(this.type===E.logicalOR||this.type===E.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(_,e,s,a,i)}return t},Q.buildBinary=function(t,e,s,a,i,r){var n=this.startNodeAt(t,e);return n.left=s,n.operator=i,n.right=a,this.finishNode(n,r?"LogicalExpression":"BinaryExpression")},Q.parseMaybeUnary=function(t,e){var s=this.start,a=this.startLoc,i;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))i=this.parseAwait(),e=!0;else if(this.type.prefix){var r=this.startNode(),n=this.type===E.incDec;r.operator=this.value,r.prefix=!0,this.next(),r.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),n?this.checkLVal(r.argument):this.strict&&r.operator==="delete"&&r.argument.type==="Identifier"?this.raiseRecoverable(r.start,"Deleting local variable in strict mode"):e=!0,i=this.finishNode(r,n?"UpdateExpression":"UnaryExpression")}else{if(i=this.parseExprSubscripts(t),this.checkExpressionErrors(t))return i;for(;this.type.postfix&&!this.canInsertSemicolon();){var h=this.startNodeAt(s,a);h.operator=this.value,h.prefix=!1,h.argument=i,this.checkLVal(i),this.next(),i=this.finishNode(h,"UpdateExpression")}}return!e&&this.eat(E.starstar)?this.buildBinary(s,a,i,this.parseMaybeUnary(null,!1),"**",!1):i},Q.parseExprSubscripts=function(t){var e=this.start,s=this.startLoc,a=this.parseExprAtom(t);if(a.type==="ArrowFunctionExpression"&&this.input.slice(this.lastTokStart,this.lastTokEnd)!==")")return a;var i=this.parseSubscripts(a,e,s);return t&&i.type==="MemberExpression"&&(t.parenthesizedAssign>=i.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=i.start&&(t.parenthesizedBind=-1)),i},Q.parseSubscripts=function(t,e,s,a){for(var i=this.options.ecmaVersion>=8&&t.type==="Identifier"&&t.name==="async"&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&this.potentialArrowAt===t.start,r=!1;;){var n=this.parseSubscript(t,e,s,a,i,r);if(n.optional&&(r=!0),n===t||n.type==="ArrowFunctionExpression"){if(r){var h=this.startNodeAt(e,s);h.expression=n,n=this.finishNode(h,"ChainExpression")}return n}t=n}},Q.parseSubscript=function(t,e,s,a,i,r){var n=this.options.ecmaVersion>=11,h=n&&this.eat(E.questionDot);a&&h&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var u=this.eat(E.bracketL);if(u||h&&this.type!==E.parenL&&this.type!==E.backQuote||this.eat(E.dot)){var c=this.startNodeAt(e,s);c.object=t,c.property=u?this.parseExpression():this.parseIdent(this.options.allowReserved!=="never"),c.computed=!!u,u&&this.expect(E.bracketR),n&&(c.optional=h),t=this.finishNode(c,"MemberExpression")}else if(!a&&this.eat(E.parenL)){var l=new la,f=this.yieldPos,_=this.awaitPos,p=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var m=this.parseExprList(E.parenR,this.options.ecmaVersion>=8,!1,l);if(i&&!h&&!this.canInsertSemicolon()&&this.eat(E.arrow))return this.checkPatternErrors(l,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=f,this.awaitPos=_,this.awaitIdentPos=p,this.parseArrowExpression(this.startNodeAt(e,s),m,!0);this.checkExpressionErrors(l,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=_||this.awaitPos,this.awaitIdentPos=p||this.awaitIdentPos;var v=this.startNodeAt(e,s);v.callee=t,v.arguments=m,n&&(v.optional=h),t=this.finishNode(v,"CallExpression")}else if(this.type===E.backQuote){(h||r)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var x=this.startNodeAt(e,s);x.tag=t,x.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(x,"TaggedTemplateExpression")}return t},Q.parseExprAtom=function(t){this.type===E.slash&&this.readRegexp();var e,s=this.potentialArrowAt===this.start;switch(this.type){case E._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),e=this.startNode(),this.next(),this.type===E.parenL&&!this.allowDirectSuper&&this.raise(e.start,"super() call outside constructor of a subclass"),this.type!==E.dot&&this.type!==E.bracketL&&this.type!==E.parenL&&this.unexpected(),this.finishNode(e,"Super");case E._this:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case E.name:var a=this.start,i=this.startLoc,r=this.containsEsc,n=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!r&&n.name==="async"&&!this.canInsertSemicolon()&&this.eat(E._function))return this.parseFunction(this.startNodeAt(a,i),0,!1,!0);if(s&&!this.canInsertSemicolon()){if(this.eat(E.arrow))return this.parseArrowExpression(this.startNodeAt(a,i),[n],!1);if(this.options.ecmaVersion>=8&&n.name==="async"&&this.type===E.name&&!r)return n=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(E.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(a,i),[n],!0)}return n;case E.regexp:var h=this.value;return e=this.parseLiteral(h.value),e.regex={pattern:h.pattern,flags:h.flags},e;case E.num:case E.string:return this.parseLiteral(this.value);case E._null:case E._true:case E._false:return e=this.startNode(),e.value=this.type===E._null?null:this.type===E._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case E.parenL:var u=this.start,c=this.parseParenAndDistinguishExpression(s);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(t.parenthesizedAssign=u),t.parenthesizedBind<0&&(t.parenthesizedBind=u)),c;case E.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(E.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case E.braceL:return this.parseObj(!1,t);case E._function:return e=this.startNode(),this.next(),this.parseFunction(e,0);case E._class:return this.parseClass(this.startNode(),!1);case E._new:return this.parseNew();case E.backQuote:return this.parseTemplate();case E._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},Q.parseExprImport=function(){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var e=this.parseIdent(!0);switch(this.type){case E.parenL:return this.parseDynamicImport(t);case E.dot:return t.meta=e,this.parseImportMeta(t);default:this.unexpected()}},Q.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(E.parenR)){var e=this.start;this.eat(E.comma)&&this.eat(E.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},Q.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),t.property.name!=="meta"&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},Q.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),e.raw.charCodeAt(e.raw.length-1)===110&&(e.bigint=e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},Q.parseParenExpression=function(){this.expect(E.parenL);var t=this.parseExpression();return this.expect(E.parenR),t},Q.parseParenAndDistinguishExpression=function(t){var e=this.start,s=this.startLoc,a,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var r=this.start,n=this.startLoc,h=[],u=!0,c=!1,l=new la,f=this.yieldPos,_=this.awaitPos,p;for(this.yieldPos=0,this.awaitPos=0;this.type!==E.parenR;)if(u?u=!1:this.expect(E.comma),i&&this.afterTrailingComma(E.parenR,!0)){c=!0;break}else if(this.type===E.ellipsis){p=this.start,h.push(this.parseParenItem(this.parseRestBinding())),this.type===E.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}else h.push(this.parseMaybeAssign(!1,l,this.parseParenItem));var m=this.start,v=this.startLoc;if(this.expect(E.parenR),t&&!this.canInsertSemicolon()&&this.eat(E.arrow))return this.checkPatternErrors(l,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=f,this.awaitPos=_,this.parseParenArrowList(e,s,h);(!h.length||c)&&this.unexpected(this.lastTokStart),p&&this.unexpected(p),this.checkExpressionErrors(l,!0),this.yieldPos=f||this.yieldPos,this.awaitPos=_||this.awaitPos,h.length>1?(a=this.startNodeAt(r,n),a.expressions=h,this.finishNodeAt(a,"SequenceExpression",m,v)):a=h[0]}else a=this.parseParenExpression();if(this.options.preserveParens){var x=this.startNodeAt(e,s);return x.expression=a,this.finishNode(x,"ParenthesizedExpression")}else return a},Q.parseParenItem=function(t){return t},Q.parseParenArrowList=function(t,e,s){return this.parseArrowExpression(this.startNodeAt(t,e),s)};var Wc=[];Q.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(E.dot)){t.meta=e;var s=this.containsEsc;return t.property=this.parseIdent(!0),t.property.name!=="target"&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),s&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(t.start,"'new.target' can only be used in functions"),this.finishNode(t,"MetaProperty")}var a=this.start,i=this.startLoc,r=this.type===E._import;return t.callee=this.parseSubscripts(this.parseExprAtom(),a,i,!0),r&&t.callee.type==="ImportExpression"&&this.raise(a,"Cannot use new with import()"),this.eat(E.parenL)?t.arguments=this.parseExprList(E.parenR,this.options.ecmaVersion>=8,!1):t.arguments=Wc,this.finishNode(t,"NewExpression")},Q.parseTemplateElement=function(t){var e=t.isTagged,s=this.startNode();return this.type===E.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),s.value={raw:this.value,cooked:null}):s.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,`
|
|
104
|
+
`),cooked:this.value},this.next(),s.tail=this.type===E.backQuote,this.finishNode(s,"TemplateElement")},Q.parseTemplate=function(t){t===void 0&&(t={});var e=t.isTagged;e===void 0&&(e=!1);var s=this.startNode();this.next(),s.expressions=[];var a=this.parseTemplateElement({isTagged:e});for(s.quasis=[a];!a.tail;)this.type===E.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(E.dollarBraceL),s.expressions.push(this.parseExpression()),this.expect(E.braceR),s.quasis.push(a=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(s,"TemplateLiteral")},Q.isAsyncProp=function(t){return!t.computed&&t.key.type==="Identifier"&&t.key.name==="async"&&(this.type===E.name||this.type===E.num||this.type===E.string||this.type===E.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===E.star)&&!$e.test(this.input.slice(this.lastTokEnd,this.start))},Q.parseObj=function(t,e){var s=this.startNode(),a=!0,i={};for(s.properties=[],this.next();!this.eat(E.braceR);){if(a)a=!1;else if(this.expect(E.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(E.braceR))break;var r=this.parseProperty(t,e);t||this.checkPropClash(r,i,e),s.properties.push(r)}return this.finishNode(s,t?"ObjectPattern":"ObjectExpression")},Q.parseProperty=function(t,e){var s=this.startNode(),a,i,r,n;if(this.options.ecmaVersion>=9&&this.eat(E.ellipsis))return t?(s.argument=this.parseIdent(!1),this.type===E.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(this.type===E.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,e),this.type===E.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(t||e)&&(r=this.start,n=this.startLoc),t||(a=this.eat(E.star)));var h=this.containsEsc;return this.parsePropertyName(s),!t&&!h&&this.options.ecmaVersion>=8&&!a&&this.isAsyncProp(s)?(i=!0,a=this.options.ecmaVersion>=9&&this.eat(E.star),this.parsePropertyName(s,e)):i=!1,this.parsePropertyValue(s,t,a,i,r,n,e,h),this.finishNode(s,"Property")},Q.parsePropertyValue=function(t,e,s,a,i,r,n,h){if((s||a)&&this.type===E.colon&&this.unexpected(),this.eat(E.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,n),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===E.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(s,a);else if(!e&&!h&&this.options.ecmaVersion>=5&&!t.computed&&t.key.type==="Identifier"&&(t.key.name==="get"||t.key.name==="set")&&this.type!==E.comma&&this.type!==E.braceR&&this.type!==E.eq){(s||a)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var u=t.kind==="get"?0:1;if(t.value.params.length!==u){var c=t.value.start;t.kind==="get"?this.raiseRecoverable(c,"getter should have no params"):this.raiseRecoverable(c,"setter should have exactly one param")}else t.kind==="set"&&t.value.params[0].type==="RestElement"&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!t.computed&&t.key.type==="Identifier"?((s||a)&&this.unexpected(),this.checkUnreserved(t.key),t.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=i),t.kind="init",e?t.value=this.parseMaybeDefault(i,r,t.key):this.type===E.eq&&n?(n.shorthandAssign<0&&(n.shorthandAssign=this.start),t.value=this.parseMaybeDefault(i,r,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected()},Q.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(E.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(E.bracketR),t.key;t.computed=!1}return t.key=this.type===E.num||this.type===E.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},Q.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},Q.parseMethod=function(t,e,s){var a=this.startNode(),i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.initFunction(a),this.options.ecmaVersion>=6&&(a.generator=t),this.options.ecmaVersion>=8&&(a.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Ja(e,a.generator)|pn|(s?mn:0)),this.expect(E.parenL),a.params=this.parseBindingList(E.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(a,!1,!0),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(a,"FunctionExpression")},Q.parseArrowExpression=function(t,e,s){var a=this.yieldPos,i=this.awaitPos,r=this.awaitIdentPos;return this.enterScope(Ja(s,!1)|fn),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!s),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1),this.yieldPos=a,this.awaitPos=i,this.awaitIdentPos=r,this.finishNode(t,"ArrowFunctionExpression")},Q.parseFunctionBody=function(t,e,s){var a=e&&this.type!==E.braceL,i=this.strict,r=!1;if(a)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var n=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);(!i||n)&&(r=this.strictDirective(this.end),r&&n&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var h=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(t,!i&&!r&&!e&&!s&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLVal(t.id,vn),t.body=this.parseBlock(!1,void 0,r&&!i),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=h}this.exitScope()},Q.isSimpleParamList=function(t){for(var e=0,s=t;e<s.length;e+=1){var a=s[e];if(a.type!=="Identifier")return!1}return!0},Q.checkParams=function(t,e){for(var s={},a=0,i=t.params;a<i.length;a+=1){var r=i[a];this.checkLVal(r,Za,e?null:s)}},Q.parseExprList=function(t,e,s,a){for(var i=[],r=!0;!this.eat(t);){if(r)r=!1;else if(this.expect(E.comma),e&&this.afterTrailingComma(t))break;var n=void 0;s&&this.type===E.comma?n=null:this.type===E.ellipsis?(n=this.parseSpread(a),a&&this.type===E.comma&&a.trailingComma<0&&(a.trailingComma=this.start)):n=this.parseMaybeAssign(!1,a),i.push(n)}return i},Q.checkUnreserved=function(t){var e=t.start,s=t.end,a=t.name;if(this.inGenerator&&a==="yield"&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&a==="await"&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.keywords.test(a)&&this.raise(e,"Unexpected keyword '"+a+"'"),!(this.options.ecmaVersion<6&&this.input.slice(e,s).indexOf("\\")!==-1)){var i=this.strict?this.reservedWordsStrict:this.reservedWords;i.test(a)&&(!this.inAsync&&a==="await"&&this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+a+"' is reserved"))}},Q.parseIdent=function(t,e){var s=this.startNode();return this.type===E.name?s.name=this.value:this.type.keyword?(s.name=this.type.keyword,(s.name==="class"||s.name==="function")&&(this.lastTokEnd!==this.lastTokStart+1||this.input.charCodeAt(this.lastTokStart)!==46)&&this.context.pop()):this.unexpected(),this.next(!!t),this.finishNode(s,"Identifier"),t||(this.checkUnreserved(s),s.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=s.start)),s},Q.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===E.semi||this.canInsertSemicolon()||this.type!==E.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(E.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},Q.parseAwait=function(){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!1),this.finishNode(t,"AwaitExpression")};var _a=we.prototype;_a.raise=function(t,e){var s=un(this.input,t);e+=" ("+s.line+":"+s.column+")";var a=new SyntaxError(e);throw a.pos=t,a.loc=s,a.raisedAt=this.pos,a},_a.raiseRecoverable=_a.raise,_a.curPosition=function(){if(this.options.locations)return new as(this.curLine,this.pos-this.lineStart)};var wt=we.prototype,Hc=function(e){this.flags=e,this.var=[],this.lexical=[],this.functions=[]};wt.enterScope=function(t){this.scopeStack.push(new Hc(t))},wt.exitScope=function(){this.scopeStack.pop()},wt.treatFunctionsAsVarInScope=function(t){return t.flags&rs||!this.inModule&&t.flags&is},wt.declareName=function(t,e,s){var a=!1;if(e===lt){var i=this.currentScope();a=i.lexical.indexOf(t)>-1||i.functions.indexOf(t)>-1||i.var.indexOf(t)>-1,i.lexical.push(t),this.inModule&&i.flags&is&&delete this.undefinedExports[t]}else if(e===gn){var r=this.currentScope();r.lexical.push(t)}else if(e===xn){var n=this.currentScope();this.treatFunctionsAsVar?a=n.lexical.indexOf(t)>-1:a=n.lexical.indexOf(t)>-1||n.var.indexOf(t)>-1,n.functions.push(t)}else for(var h=this.scopeStack.length-1;h>=0;--h){var u=this.scopeStack[h];if(u.lexical.indexOf(t)>-1&&!(u.flags&dn&&u.lexical[0]===t)||!this.treatFunctionsAsVarInScope(u)&&u.functions.indexOf(t)>-1){a=!0;break}if(u.var.push(t),this.inModule&&u.flags&is&&delete this.undefinedExports[t],u.flags&qa)break}a&&this.raiseRecoverable(s,"Identifier '"+t+"' has already been declared")},wt.checkLocalExport=function(t){this.scopeStack[0].lexical.indexOf(t.name)===-1&&this.scopeStack[0].var.indexOf(t.name)===-1&&(this.undefinedExports[t.name]=t)},wt.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},wt.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(e.flags&qa)return e}},wt.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(e.flags&qa&&!(e.flags&fn))return e}};var ei=function(e,s,a){this.type="",this.start=s,this.end=0,e.options.locations&&(this.loc=new ua(e,a)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[s,0])},fa=we.prototype;fa.startNode=function(){return new ei(this,this.start,this.startLoc)},fa.startNodeAt=function(t,e){return new ei(this,t,e)};function An(t,e,s,a){return t.type=e,t.end=s,this.options.locations&&(t.loc.end=a),this.options.ranges&&(t.range[1]=s),t}fa.finishNode=function(t,e){return An.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},fa.finishNodeAt=function(t,e,s,a){return An.call(this,t,e,s,a)};var at=function(e,s,a,i,r){this.token=e,this.isExpr=!!s,this.preserveSpace=!!a,this.override=i,this.generator=!!r},xe={b_stat:new at("{",!1),b_expr:new at("{",!0),b_tmpl:new at("${",!1),p_stat:new at("(",!1),p_expr:new at("(",!0),q_tmpl:new at("`",!0,!0,function(t){return t.tryReadTemplateToken()}),f_stat:new at("function",!1),f_expr:new at("function",!0),f_expr_gen:new at("function",!0,!1,null,!0),f_gen:new at("function",!1,!1,null,!0)},da=we.prototype;da.initialContext=function(){return[xe.b_stat]},da.braceIsBlock=function(t){var e=this.curContext();return e===xe.f_expr||e===xe.f_stat?!0:t===E.colon&&(e===xe.b_stat||e===xe.b_expr)?!e.isExpr:t===E._return||t===E.name&&this.exprAllowed?$e.test(this.input.slice(this.lastTokEnd,this.start)):t===E._else||t===E.semi||t===E.eof||t===E.parenR||t===E.arrow?!0:t===E.braceL?e===xe.b_stat:t===E._var||t===E._const||t===E.name?!1:!this.exprAllowed},da.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if(e.token==="function")return e.generator}return!1},da.updateContext=function(t){var e,s=this.type;s.keyword&&t===E.dot?this.exprAllowed=!1:(e=s.updateContext)?e.call(this,t):this.exprAllowed=s.beforeExpr},E.parenR.updateContext=E.braceR.updateContext=function(){if(this.context.length===1){this.exprAllowed=!0;return}var t=this.context.pop();t===xe.b_stat&&this.curContext().token==="function"&&(t=this.context.pop()),this.exprAllowed=!t.isExpr},E.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?xe.b_stat:xe.b_expr),this.exprAllowed=!0},E.dollarBraceL.updateContext=function(){this.context.push(xe.b_tmpl),this.exprAllowed=!0},E.parenL.updateContext=function(t){var e=t===E._if||t===E._for||t===E._with||t===E._while;this.context.push(e?xe.p_stat:xe.p_expr),this.exprAllowed=!0},E.incDec.updateContext=function(){},E._function.updateContext=E._class.updateContext=function(t){t.beforeExpr&&t!==E.semi&&t!==E._else&&!(t===E._return&&$e.test(this.input.slice(this.lastTokEnd,this.start)))&&!((t===E.colon||t===E.braceL)&&this.curContext()===xe.b_stat)?this.context.push(xe.f_expr):this.context.push(xe.f_stat),this.exprAllowed=!1},E.backQuote.updateContext=function(){this.curContext()===xe.q_tmpl?this.context.pop():this.context.push(xe.q_tmpl),this.exprAllowed=!1},E.star.updateContext=function(t){if(t===E._function){var e=this.context.length-1;this.context[e]===xe.f_expr?this.context[e]=xe.f_expr_gen:this.context[e]=xe.f_gen}this.exprAllowed=!0},E.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==E.dot&&(this.value==="of"&&!this.exprAllowed||this.value==="yield"&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var yn="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Sn=yn+" Extended_Pictographic",Gc=Sn,Kc={9:yn,10:Sn,11:Gc},Cn="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Dn="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Tn=Dn+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",jc=Tn+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Xc={9:Dn,10:Tn,11:jc},bn={};function ti(t){var e=bn[t]={binary:Ot(Kc[t]+" "+Cn),nonBinary:{General_Category:Ot(Cn),Script:Ot(Xc[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}ti(9),ti(10),ti(11);var X=we.prototype,ft=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":""),this.unicodeProperties=bn[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};ft.prototype.reset=function(e,s,a){var i=a.indexOf("u")!==-1;this.start=e|0,this.source=s+"",this.flags=a,this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchN=i&&this.parser.options.ecmaVersion>=9},ft.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},ft.prototype.at=function(e,s){s===void 0&&(s=!1);var a=this.source,i=a.length;if(e>=i)return-1;var r=a.charCodeAt(e);if(!(s||this.switchU)||r<=55295||r>=57344||e+1>=i)return r;var n=a.charCodeAt(e+1);return n>=56320&&n<=57343?(r<<10)+n-56613888:r},ft.prototype.nextIndex=function(e,s){s===void 0&&(s=!1);var a=this.source,i=a.length;if(e>=i)return i;var r=a.charCodeAt(e),n;return!(s||this.switchU)||r<=55295||r>=57344||e+1>=i||(n=a.charCodeAt(e+1))<56320||n>57343?e+1:e+2},ft.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)},ft.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},ft.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)},ft.prototype.eat=function(e,s){return s===void 0&&(s=!1),this.current(s)===e?(this.advance(s),!0):!1};function pa(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}X.validateRegExpFlags=function(t){for(var e=t.validFlags,s=t.flags,a=0;a<s.length;a++){var i=s.charAt(a);e.indexOf(i)===-1&&this.raise(t.start,"Invalid regular expression flag"),s.indexOf(i,a+1)>-1&&this.raise(t.start,"Duplicate regular expression flag")}},X.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},X.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,s=t.backReferenceNames;e<s.length;e+=1){var a=s[e];t.groupNames.indexOf(a)===-1&&t.raise("Invalid named capture referenced")}},X.regexp_disjunction=function(t){for(this.regexp_alternative(t);t.eat(124);)this.regexp_alternative(t);this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},X.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},X.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))?(this.regexp_eatQuantifier(t),!0):!1},X.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var s=!1;if(this.options.ecmaVersion>=9&&(s=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!s,!0}return t.pos=e,!1},X.regexp_eatQuantifier=function(t,e){return e===void 0&&(e=!1),this.regexp_eatQuantifierPrefix(t,e)?(t.eat(63),!0):!1},X.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},X.regexp_eatBracedQuantifier=function(t,e){var s=t.pos;if(t.eat(123)){var a=0,i=-1;if(this.regexp_eatDecimalDigits(t)&&(a=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue),t.eat(125)))return i!==-1&&i<a&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=s}return!1},X.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},X.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},X.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)&&t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}t.pos=e}return!1},X.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):t.current()===63&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},X.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},X.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},X.regexp_eatSyntaxCharacter=function(t){var e=t.current();return In(e)?(t.lastIntValue=e,t.advance(),!0):!1};function In(t){return t===36||t>=40&&t<=43||t===46||t===63||t>=91&&t<=94||t>=123&&t<=125}X.regexp_eatPatternCharacters=function(t){for(var e=t.pos,s=0;(s=t.current())!==-1&&!In(s);)t.advance();return t.pos!==e},X.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return e!==-1&&e!==36&&!(e>=40&&e<=43)&&e!==46&&e!==63&&e!==91&&e!==94&&e!==124?(t.advance(),!0):!1},X.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t)){t.groupNames.indexOf(t.lastStringValue)!==-1&&t.raise("Duplicate capture group name"),t.groupNames.push(t.lastStringValue);return}t.raise("Invalid group")}},X.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},X.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=pa(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=pa(t.lastIntValue);return!0}return!1},X.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,a=t.current(s);return t.advance(s),a===92&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(a=t.lastIntValue),$c(a)?(t.lastIntValue=a,!0):(t.pos=e,!1)};function $c(t){return vt(t,!0)||t===36||t===95}X.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,a=t.current(s);return t.advance(s),a===92&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(a=t.lastIntValue),qc(a)?(t.lastIntValue=a,!0):(t.pos=e,!1)};function qc(t){return Yt(t,!0)||t===36||t===95||t===8204||t===8205}X.regexp_eatAtomEscape=function(t){return this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t)?!0:(t.switchU&&(t.current()===99&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},X.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var s=t.lastIntValue;if(t.switchU)return s>t.maxBackReference&&(t.maxBackReference=s),!0;if(s<=t.numCapturingParens)return!0;t.pos=e}return!1},X.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},X.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},X.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},X.regexp_eatZero=function(t){return t.current()===48&&!ma(t.lookahead())?(t.lastIntValue=0,t.advance(),!0):!1},X.regexp_eatControlEscape=function(t){var e=t.current();return e===116?(t.lastIntValue=9,t.advance(),!0):e===110?(t.lastIntValue=10,t.advance(),!0):e===118?(t.lastIntValue=11,t.advance(),!0):e===102?(t.lastIntValue=12,t.advance(),!0):e===114?(t.lastIntValue=13,t.advance(),!0):!1},X.regexp_eatControlLetter=function(t){var e=t.current();return Pn(e)?(t.lastIntValue=e%32,t.advance(),!0):!1};function Pn(t){return t>=65&&t<=90||t>=97&&t<=122}X.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){e===void 0&&(e=!1);var s=t.pos,a=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var i=t.lastIntValue;if(a&&i>=55296&&i<=56319){var r=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var n=t.lastIntValue;if(n>=56320&&n<=57343)return t.lastIntValue=(i-55296)*1024+(n-56320)+65536,!0}t.pos=r,t.lastIntValue=i}return!0}if(a&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&Jc(t.lastIntValue))return!0;a&&t.raise("Invalid unicode escape"),t.pos=s}return!1};function Jc(t){return t>=0&&t<=1114111}X.regexp_eatIdentityEscape=function(t){if(t.switchU)return this.regexp_eatSyntaxCharacter(t)?!0:t.eat(47)?(t.lastIntValue=47,!0):!1;var e=t.current();return e!==99&&(!t.switchN||e!==107)?(t.lastIntValue=e,t.advance(),!0):!1},X.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do t.lastIntValue=10*t.lastIntValue+(e-48),t.advance();while((e=t.current())>=48&&e<=57);return!0}return!1},X.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(Zc(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(e===80||e===112)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1};function Zc(t){return t===100||t===68||t===115||t===83||t===119||t===87}X.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var s=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var a=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,s,a),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,i),!0}return!1},X.regexp_validateUnicodePropertyNameAndValue=function(t,e,s){ca(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(s)||t.raise("Invalid property value")},X.regexp_validateUnicodePropertyNameOrValue=function(t,e){t.unicodeProperties.binary.test(e)||t.raise("Invalid property name")},X.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";Nn(e=t.current());)t.lastStringValue+=pa(e),t.advance();return t.lastStringValue!==""};function Nn(t){return Pn(t)||t===95}X.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";zc(e=t.current());)t.lastStringValue+=pa(e),t.advance();return t.lastStringValue!==""};function zc(t){return Nn(t)||ma(t)}X.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},X.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},X.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var s=t.lastIntValue;t.switchU&&(e===-1||s===-1)&&t.raise("Invalid character class"),e!==-1&&s!==-1&&e>s&&t.raise("Range out of order in character class")}}},X.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var s=t.current();(s===99||Bn(s))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var a=t.current();return a!==93?(t.lastIntValue=a,t.advance(),!0):!1},X.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},X.regexp_eatClassControlLetter=function(t){var e=t.current();return ma(e)||e===95?(t.lastIntValue=e%32,t.advance(),!0):!1},X.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},X.regexp_eatDecimalDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;ma(s=t.current());)t.lastIntValue=10*t.lastIntValue+(s-48),t.advance();return t.pos!==e};function ma(t){return t>=48&&t<=57}X.regexp_eatHexDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;On(s=t.current());)t.lastIntValue=16*t.lastIntValue+Mn(s),t.advance();return t.pos!==e};function On(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Mn(t){return t>=65&&t<=70?10+(t-65):t>=97&&t<=102?10+(t-97):t-48}X.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var s=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=e*64+s*8+t.lastIntValue:t.lastIntValue=e*8+s}else t.lastIntValue=e;return!0}return!1},X.regexp_eatOctalDigit=function(t){var e=t.current();return Bn(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)};function Bn(t){return t>=48&&t<=55}X.regexp_eatFixedHexDigits=function(t,e){var s=t.pos;t.lastIntValue=0;for(var a=0;a<e;++a){var i=t.current();if(!On(i))return t.pos=s,!1;t.lastIntValue=16*t.lastIntValue+Mn(i),t.advance()}return!0};var si=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new ua(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},ae=we.prototype;ae.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new si(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},ae.getToken=function(){return this.next(),new si(this)},typeof Symbol<"u"&&(ae[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===E.eof,value:e}}}}),ae.curContext=function(){return this.context[this.context.length-1]},ae.nextToken=function(){var t=this.curContext();if((!t||!t.preserveSpace)&&this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length)return this.finishToken(E.eof);if(t.override)return t.override(this);this.readToken(this.fullCharCodeAtPos())},ae.readToken=function(t){return vt(t,this.options.ecmaVersion>=6)||t===92?this.readWord():this.getTokenFromCode(t)},ae.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);if(t<=55295||t>=57344)return t;var e=this.input.charCodeAt(this.pos+1);return(t<<10)+e-56613888},ae.skipBlockComment=function(){var t=this.options.onComment&&this.curPosition(),e=this.pos,s=this.input.indexOf("*/",this.pos+=2);if(s===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=s+2,this.options.locations){ts.lastIndex=e;for(var a;(a=ts.exec(this.input))&&a.index<this.pos;)++this.curLine,this.lineStart=a.index+a[0].length}this.options.onComment&&this.options.onComment(!0,this.input.slice(e+2,s),e,this.pos,t,this.curPosition())},ae.skipLineComment=function(t){for(var e=this.pos,s=this.options.onComment&&this.curPosition(),a=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!ss(a);)a=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,s,this.curPosition())},ae.skipSpace=function(){e:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:this.input.charCodeAt(this.pos+1)===10&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break e}break;default:if(t>8&&t<14||t>=5760&&on.test(String.fromCharCode(t)))++this.pos;else break e}}},ae.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var s=this.type;this.type=t,this.value=e,this.updateContext(s)},ae.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&t===46&&e===46?(this.pos+=3,this.finishToken(E.ellipsis)):(++this.pos,this.finishToken(E.dot))},ae.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):t===61?this.finishOp(E.assign,2):this.finishOp(E.slash,1)},ae.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),s=1,a=t===42?E.star:E.modulo;return this.options.ecmaVersion>=7&&t===42&&e===42&&(++s,a=E.starstar,e=this.input.charCodeAt(this.pos+2)),e===61?this.finishOp(E.assign,s+1):this.finishOp(a,s)},ae.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);if(e===t){if(this.options.ecmaVersion>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(E.assign,3)}return this.finishOp(t===124?E.logicalOR:E.logicalAND,2)}return e===61?this.finishOp(E.assign,2):this.finishOp(t===124?E.bitwiseOR:E.bitwiseAND,1)},ae.readToken_caret=function(){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(E.assign,2):this.finishOp(E.bitwiseXOR,1)},ae.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?e===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||$e.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(E.incDec,2):e===61?this.finishOp(E.assign,2):this.finishOp(E.plusMin,1)},ae.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),s=1;return e===t?(s=t===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+s)===61?this.finishOp(E.assign,s+1):this.finishOp(E.bitShift,s)):e===33&&t===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(e===61&&(s=2),this.finishOp(E.relational,s))},ae.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(E.equality,this.input.charCodeAt(this.pos+2)===61?3:2):t===61&&e===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(E.arrow)):this.finishOp(t===61?E.eq:E.prefix,1)},ae.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(e===46){var s=this.input.charCodeAt(this.pos+2);if(s<48||s>57)return this.finishOp(E.questionDot,2)}if(e===63){if(t>=12){var a=this.input.charCodeAt(this.pos+2);if(a===61)return this.finishOp(E.assign,3)}return this.finishOp(E.coalesce,2)}}return this.finishOp(E.question,1)},ae.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(E.parenL);case 41:return++this.pos,this.finishToken(E.parenR);case 59:return++this.pos,this.finishToken(E.semi);case 44:return++this.pos,this.finishToken(E.comma);case 91:return++this.pos,this.finishToken(E.bracketL);case 93:return++this.pos,this.finishToken(E.bracketR);case 123:return++this.pos,this.finishToken(E.braceL);case 125:return++this.pos,this.finishToken(E.braceR);case 58:return++this.pos,this.finishToken(E.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(E.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(e===120||e===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(e===111||e===79)return this.readRadixNumber(8);if(e===98||e===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(E.prefix,1)}this.raise(this.pos,"Unexpected character '"+ai(t)+"'")},ae.finishOp=function(t,e){var s=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,s)},ae.readRegexp=function(){for(var t,e,s=this.pos;;){this.pos>=this.input.length&&this.raise(s,"Unterminated regular expression");var a=this.input.charAt(this.pos);if($e.test(a)&&this.raise(s,"Unterminated regular expression"),t)t=!1;else{if(a==="[")e=!0;else if(a==="]"&&e)e=!1;else if(a==="/"&&!e)break;t=a==="\\"}++this.pos}var i=this.input.slice(s,this.pos);++this.pos;var r=this.pos,n=this.readWord1();this.containsEsc&&this.unexpected(r);var h=this.regexpState||(this.regexpState=new ft(this));h.reset(s,i,n),this.validateRegExpFlags(h),this.validateRegExpPattern(h);var u=null;try{u=new RegExp(i,n)}catch{}return this.finishToken(E.regexp,{pattern:i,flags:n,value:u})},ae.readInt=function(t,e,s){for(var a=this.options.ecmaVersion>=12&&e===void 0,i=s&&this.input.charCodeAt(this.pos)===48,r=this.pos,n=0,h=0,u=0,c=e??1/0;u<c;++u,++this.pos){var l=this.input.charCodeAt(this.pos),f=void 0;if(a&&l===95){i&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),h===95&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),u===0&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),h=l;continue}if(l>=97?f=l-97+10:l>=65?f=l-65+10:l>=48&&l<=57?f=l-48:f=1/0,f>=t)break;h=l,n=n*t+f}return a&&h===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===r||e!=null&&this.pos-r!==e?null:n};function Qc(t,e){return e?parseInt(t,8):parseFloat(t.replace(/_/g,""))}function Rn(t){return typeof BigInt!="function"?null:BigInt(t.replace(/_/g,""))}ae.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var s=this.readInt(t);return s==null&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(s=Rn(this.input.slice(e,this.pos)),++this.pos):vt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(E.num,s)},ae.readNumber=function(t){var e=this.pos;!t&&this.readInt(10,void 0,!0)===null&&this.raise(e,"Invalid number");var s=this.pos-e>=2&&this.input.charCodeAt(e)===48;s&&this.strict&&this.raise(e,"Invalid number");var a=this.input.charCodeAt(this.pos);if(!s&&!t&&this.options.ecmaVersion>=11&&a===110){var i=Rn(this.input.slice(e,this.pos));return++this.pos,vt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(E.num,i)}s&&/[89]/.test(this.input.slice(e,this.pos))&&(s=!1),a===46&&!s&&(++this.pos,this.readInt(10),a=this.input.charCodeAt(this.pos)),(a===69||a===101)&&!s&&(a=this.input.charCodeAt(++this.pos),(a===43||a===45)&&++this.pos,this.readInt(10)===null&&this.raise(e,"Invalid number")),vt(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r=Qc(this.input.slice(e,this.pos),s);return this.finishToken(E.num,r)},ae.readCodePoint=function(){var t=this.input.charCodeAt(this.pos),e;if(t===123){this.options.ecmaVersion<6&&this.unexpected();var s=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(s,"Code point out of bounds")}else e=this.readHexChar(4);return e};function ai(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}ae.readString=function(t){for(var e="",s=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var a=this.input.charCodeAt(this.pos);if(a===t)break;a===92?(e+=this.input.slice(s,this.pos),e+=this.readEscapedChar(!1),s=this.pos):(ss(a,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(s,this.pos++),this.finishToken(E.string,e)};var Ln={};ae.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t===Ln)this.readInvalidTemplateToken();else throw t}this.inTemplateElement=!1},ae.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ln;this.raise(t,e)},ae.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var s=this.input.charCodeAt(this.pos);if(s===96||s===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===E.template||this.type===E.invalidTemplate)?s===36?(this.pos+=2,this.finishToken(E.dollarBraceL)):(++this.pos,this.finishToken(E.backQuote)):(t+=this.input.slice(e,this.pos),this.finishToken(E.template,t));if(s===92)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(ss(s)){switch(t+=this.input.slice(e,this.pos),++this.pos,s){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:t+=`
|
|
105
|
+
`;break;default:t+=String.fromCharCode(s);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},ae.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if(this.input[this.pos+1]!=="{")break;case"`":return this.finishToken(E.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},ae.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return`
|
|
106
|
+
`;case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return ai(this.readCodePoint());case 116:return" ";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(t){var s=this.pos-1;return this.invalidStringToken(s,"Invalid escape sequence in template string"),null}default:if(e>=48&&e<=55){var a=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(a,8);return i>255&&(a=a.slice(0,-1),i=parseInt(a,8)),this.pos+=a.length-1,e=this.input.charCodeAt(this.pos),(a!=="0"||e===56||e===57)&&(this.strict||t)&&this.invalidStringToken(this.pos-1-a.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(i)}return ss(e)?"":String.fromCharCode(e)}},ae.readHexChar=function(t){var e=this.pos,s=this.readInt(16,t);return s===null&&this.invalidStringToken(e,"Bad character escape sequence"),s},ae.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,s=this.pos,a=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(Yt(i,a))this.pos+=i<=65535?1:2;else if(i===92){this.containsEsc=!0,t+=this.input.slice(s,this.pos);var r=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var n=this.readCodePoint();(e?vt:Yt)(n,a)||this.invalidStringToken(r,"Invalid Unicode escape"),t+=ai(n),s=this.pos}else break;e=!1}return t+this.input.slice(s,this.pos)},ae.readWord=function(){var t=this.readWord1(),e=E.name;return this.keywords.test(t)&&(e=Xa[t]),this.finishToken(e,t)};var eu="7.4.1";we.acorn={Parser:we,version:eu,defaultOptions:$a,Position:as,SourceLocation:ua,getLineInfo:un,Node:ei,TokenType:he,tokTypes:E,keywordTypes:Xa,TokContext:at,tokContexts:xe,isIdentifierChar:Yt,isIdentifierStart:vt,Token:si,isNewLine:ss,lineBreak:$e,lineBreakG:ts,nonASCIIwhitespace:on};function tu(t,e){return we.parse(t,e)}function Bt(t){return["ArrayOrObject1D","ArrayOrObject2D","ArrayOrObject3DPlus","Literal","Symbol","UnaryOperation","BinaryOperation","Random","CallDefinedFunction","AnyFunction","ConditionalExpression","ArrayExpression","ObjectExpression"].includes(t.type)}function su(t){return t.type==="Program"?t.body.map(s=>ee(s)):[ee(t)]}function ee(t){switch(t.type){case"Program":return gu(t);case"ExpressionStatement":return vu(t);case"AssignmentExpression":return wu(t);case"MemberExpression":return Su(t);case"UnaryExpression":return Au(t);case"BinaryExpression":return yu(t);case"Identifier":return Cu(t);case"Literal":return Du(t);case"CallExpression":return du(t);case"IfStatement":return fu(t);case"BlockStatement":return _u(t);case"FunctionDeclaration":return au(t);case"ForStatement":return lu(t);case"BreakStatement":return cu(t);case"ReturnStatement":return uu(t);case"ContinueStatement":return hu(t);case"UpdateExpression":return iu(t);case"LogicalExpression":return ru(t);case"TemplateLiteral":return nu(t);case"TemplateElement":return ou(t);case"ConditionalExpression":return Tu(t);case"Property":return Fn(t);case"ObjectExpression":return bu(t);case"ArrayExpression":return Iu(t);default:throw console.log(t),new Error("未定義の AST ノードです :"+t.type)}}function au(t){return{type:"DefinedFunction",functionName:t.id.name,body:ee(t.body)}}function iu(t){return{type:"UpdateExpression",operator:t.operator,argument:ee(t.argument)}}function ru(t){return{type:"LogicalExpression",operator:t.operator,left:ee(t.left),right:ee(t.right)}}function nu(t){return{type:"TemplateLiteral",expressions:t.expressions.map(e=>ee(e)),quasis:t.quasis.map(e=>ee(e))}}function ou(t){return{type:"TemplateElement",value:t.value}}function hu(t){return{type:"Continue",label:t.label}}function cu(t){return{type:"Break",label:t.label}}function uu(t){return{type:"Return",argument:ee(t.argument)}}function lu(t){return{type:"ForStatement",body:t.body.body.map(s=>ee(s)),init:ee(t.init),test:ee(t.test),update:ee(t.update)}}function _u(t){return{type:"BlockStatement",value:t.body.map(e=>ee(e))}}function fu(t){const e=ee(t.consequent),s=ee(t.test);return{type:"IfStatement",consequent:e,test:s,alternate:t.alternate?ee(t.alternate):void 0}}function du(t){const e=t.callee.name;switch(e){case"RAND":return xu(t.arguments);case"JUMPGATE":return Eu(t.arguments);case"MSG":case"MESSAGE":return mu(t.arguments);case"SOUND":case"SAVE":case"LOG":case"ABLE_CHANGE_SPEED":case"SET_SPEED":case"CHANGE_GAMEOVER_POS":case"DEL_PLAYER":case"RESTART_GAME":case"URL_JUMPGATE":case"HIDE_STATUS":case"PARTS":case"FACE":case"EFFECT":case"CHANGE_PLAYER_IMAGE":case"HAS_ITEM":case"REMOVE_ITEM":case"MOVE":case"PARTS_MOVE":case"IS_PLAYER_WAITING_MESSAGE":case"GET_UNIXTIME":case"GET_DATE_YEAR":case"GET_DATE_MONTH":case"GET_DATE_DAY":case"GET_DATE_HOUR":case"GET_DATE_MINUTES":case"GET_DATE_SECONDS":case"GET_DATE_MILLISECONDS":case"GET_DATE_WEEKDAY":case"CHANGE_SYSMSG":case"PICTURE":case"PICTURE_FROM_PARTS":case"CLEAR_ALL_PICTURES":case"HAS_PICTURE":case"SHOW_USER_DEF_VAR":case"ABS":case"GET_GAMEOVER_POS_X":case"GET_GAMEOVER_POS_Y":case"ABORT_BATTLE":case"EXIT":case"GET_IMG_POS_X":case"GET_IMG_POS_Y":case"LENGTH":case"IS_NUMBER":return pu(t.arguments,e);default:return{type:"CallDefinedFunction",functionName:e}}}function pu(t,e){return{type:"AnyFunction",functionName:e,value:t.map(s=>ee(s))}}function mu(t){return{type:"Msg",value:ee(t[0])}}function Eu(t){if(t.length<2)throw new Error("RAND関数には引数が2つ必要です。");const e={x:t[0],y:t[1]};return{type:"Jumpgate",x:ee(e.x),y:ee(e.y)}}function xu(t){if(t.length<1)throw new Error("RAND関数には引数が必要です。");return{type:"Random",value:ee(t[0])}}function gu(t){if(t.body.length!==1)throw new Error("bodyが1以外の場合評価できません。");return ee(t.body[0])}function vu(t){return ee(t.expression)}function wu(t){const e=ee(t.left),s=ee(t.right);if(!Bt(s))throw new Error("値以外を代入式の右辺に設定できません");switch(t.operator){case"=":case"+=":case"-=":case"*=":case"/=":if(e.type==="ArrayOrObject2D"){if(e.name==="m"||e.name==="o")return{type:"PartsAssignment",partsKind:e.name==="m"?"map":"object",destinationX:e.indecies[0],destinationY:e.indecies[1],value:s,operator:t.operator};if(e.name==="v")return{type:"UserVariableAssignment",index:[e.indecies[0],e.indecies[1]],value:s,operator:t.operator};throw new Error("想定していない記号が2次元配列ででてきました")}else if(e.type==="ArrayOrObject1D"){if(e.name==="ITEM")return{type:"ItemAssignment",itemBoxPosition1to12:e.indecies[0],value:s,operator:t.operator};if(e.name==="v")return{type:"UserVariableAssignment",index:[e.indecies[0]],value:s,operator:t.operator};if(e.name==="LP")return{type:"LoopPointerAssignment",index:e.indecies[0],value:s,operator:t.operator};throw new Error(`1次元配列にて想定していないシンボルが指定されました ${e.name}`)}else if(e.type==="Symbol"){if(e.name==="m"||e.name==="o"||e.name==="v"||e.name==="ITEM"||e.name==="X"||e.name==="Y"||e.name==="ID"||e.name==="TYPE"||e.name==="CX"||e.name==="CY"||e.name==="PICTURE"||e.name==="PLAYER_PX"||e.name==="PLAYER_PY"||e.name==="MOVE_SPEED"||e.name==="MOVE_FRAME_TIME"||e.name==="LP"||e.name==="undefined")throw new Error("このシンボルには代入できません");if(e.name==="AT_TOTAL")throw new Error('"装備品込みの攻撃力(AT_TOTAL)への代入はできません。"');if(e.name==="DF_TOTAL")throw new Error('"装備品込みの防御力(DF_TOTAL)への代入はできません。"');if(e.name==="ENEMY_HP"||e.name==="ENEMY_AT"||e.name==="ENEMY_DF"||e.name==="ENEMY_GD")throw new Error("敵ステータス (ENEMY_HP, ENEMY_AT, ENEMY_DF, ENEMY_GD) への代入はできません。");return{type:"SpecialParameterAssignment",kind:e.name,value:s,operator:t.operator}}else{if(e.type==="Literal")throw new Error("数値には代入できません");if(e.type==="ArrayOrObject3DPlus"&&e.name==="v")return{type:"UserVariableAssignment",index:e.indecies,value:s,operator:t.operator};throw new Error("代入できません")}default:throw new Error("想定していないオペレーターです")}}function Au(t){const e=ee(t.argument);if(!["+","-","!"].includes(t.operator))throw new Error("未定義の演算子です :"+t.operator);if(!Bt(e))throw new Error("単項演算子が適用できません");return{type:"UnaryOperation",operator:t.operator,argument:e}}function yu(t){const e=ee(t.left),s=ee(t.right);if(!Bt(e)||!Bt(s))throw new Error("左辺または右辺が評価不能です");switch(t.operator){case"+":case"-":case"*":case"/":case"%":case">":case"<":case">=":case"<=":case"==":case"!=":return{type:"BinaryOperation",operator:t.operator,left:e,right:s};default:throw new Error("未定義の演算子です :"+t.operator)}}function Su(t){const e=ee(t.object),s=ee(t.property);if(e.type==="Symbol"){if(!["v","m","o","ITEM","LP","PICTURE"].includes(e.name))throw new Error("このシンボルは配列にできません");if(Bt(s))return{type:"ArrayOrObject1D",name:e.name,indecies:[s]};throw new Error("WWAでは存在しない構文です")}else if(e.type==="ArrayOrObject1D"){if(e.name==="ITEM"||e.name==="PICTURE")throw new Error("この配列は2次元以上にはできません。");if(Bt(s))return{type:"ArrayOrObject2D",name:e.name,indecies:[...e.indecies,s]};throw new Error("WWAでは存在しない構文です")}else if(e.type==="ArrayOrObject2D"||e.type==="ArrayOrObject3DPlus"){if(e.name==="m"||e.name==="o")throw new Error("この配列は3次元以上にはできません。");if(e.name==="v"&&Bt(s))return{type:"ArrayOrObject3DPlus",name:e.name,indecies:[...e.indecies,s]}}else throw new Error("WWAでは存在しない構文です")}function Cu(t){switch(t.name){case"m":case"o":case"ITEM":case"X":case"Y":case"ID":case"TYPE":case"PX":case"PY":case"CX":case"CY":case"v":case"HP":case"HPMAX":case"AT":case"AT_TOTAL":case"DF":case"DF_TOTAL":case"GD":case"STEP":case"TIME":case"PDIR":case"i":case"j":case"k":case"LOOPLIMIT":case"ITEM_ID":case"ITEM_POS":case"ENEMY_HP":case"ENEMY_AT":case"ENEMY_DF":case"PICTURE":case"PLAYER_PX":case"PLAYER_PY":case"MOVE_SPEED":case"MOVE_FRAME_TIME":case"LP":case"undefined":return{type:"Symbol",name:t.name};default:return{type:"Literal",value:t.name}}}function Du(t){return{type:"Literal",value:t.value}}function Tu(t){const e=ee(t.consequent),s=ee(t.alternate),a=ee(t.test);return{type:"ConditionalExpression",consequent:e,test:a,alternate:s}}function Fn(t){const e=ee(t.key);if(e.type==="Symbol")throw new Error(`Object のキー ${e.name} は予約されているため、使用できません。`);if(e.type!=="Literal")throw new Error(`Object のキーが不正です。 Literal を期待していましたが、実際は ${e.type} でした。`);return{type:"Property",key:e,value:ee(t.value)}}function bu(t){return{type:"ObjectExpression",properties:t.properties.map(Fn)}}function Iu(t){return{type:"ArrayExpression",elements:t.elements.map(ee)}}const kn=[W.OBJECT,W.MAP];function Pu(t){switch(typeof t){case"object":if(t===null)break;return Array.isArray(t)?t.length:Object.keys(t).length;case"string":return t.length}throw new Error("LENGTH: 対応できない値が指定されています。")}const Nu=(t,e)=>(t-e)*o.CHIP_SIZE,Ou=(t,e)=>(t-e)*o.CHIP_SIZE,Un=Object.freeze({"=":(t,e)=>e,"+=":(t,e)=>t+e,"-=":(t,e)=>t-e,"*=":(t,e)=>t*e,"/=":(t,e)=>t/e});class Mu{constructor(e){this.wwa=e,this.loop_limit=1e5,this.state={messagePageAdditionalQueue:[]}}setTriggerParts(e,s,a){this.state={...this.state,triggerParts:{id:e,type:s,position:a}}}clearTemporaryState(){this.state={...this.state,triggerParts:void 0,messagePageAdditionalQueue:[]}}setEarnedItem(e,s){this.state={...this.state,earnedItem:{partsId:e,itemPos1To12:s}}}clearEarnedItem(){this.state={...this.state,earnedItem:void 0}}setBattleDamageCalculationMode(e){this.state={...this.state,battleDamageCalculation:{estimatingParams:e}}}clearBattleDamageCalculationMode(){this.state={...this.state,battleDamageCalculation:void 0}}evalWwaNodes(e){return this.evalWwaNode({type:"BlockStatement",value:e})}evalWwaNode(e){if(!(e.type==="BlockStatement"&&Array.isArray(e.value)&&e.value.length===0))try{return new Bu(this).evalWwaNode(e)}catch(s){if(s instanceof ii||s instanceof ri)return s.value;throw s}}addPageAdditionalItem(e){this.state.messagePageAdditionalQueue.push(e)}pickPageAdditionalQueue(){const e=[...this.state.messagePageAdditionalQueue];return this.state.messagePageAdditionalQueue=[],e}updateLoopLimit(e){this.loop_limit=e}}class Bu{constructor(e){this.generator=e,this.for_id={i:null,j:null,k:null,LP:[],loopCount:0,break_flag:!1,continue_flag:!1}}evalWwaNodes(e){let s;return e.forEach(a=>{s=this.evalWwaNode(a)}),s}evalWwaNode(e){if(!(this.for_id.break_flag||this.for_id.continue_flag))switch(e.type){case"UnaryOperation":return this.evalUnaryOperation(e);case"BinaryOperation":return this.evalBinaryOperation(e);case"Symbol":return this.evalSymbol(e);case"ArrayOrObject1D":return this.evalArrayOrObject1D(e);case"ArrayOrObject2D":return this.evalArrayOrObject2D(e);case"ArrayOrObject3DPlus":return this.evalArrayOrObject3DPlus(e);case"Literal":return this.evalLiteral(e);case"UserVariableAssignment":return this.evalSetUserVariable(e);case"SpecialParameterAssignment":return this.evalSetSpecialParameter(e);case"Random":return this.evalRandom(e);case"Jumpgate":return this.evalJumpgate(e);case"Msg":return this.evalMessage(e);case"ItemAssignment":return this.itemAssignment(e);case"IfStatement":return this.ifStatement(e);case"BlockStatement":return this.blockStatement(e);case"PartsAssignment":return this.partsAssignment(e);case"ForStatement":return this.forStateMent(e);case"AnyFunction":return this.wrapCallFunction(e,s=>this.evalAnyFunction(s));case"CallDefinedFunction":return this.wrapCallFunction(e,s=>this.callDefinedFunction(s));case"Break":return this.breakStatement(e);case"Return":throw new ii(this.returnStatement(e));case"Continue":return this.contunueStatment(e);case"UpdateExpression":return this.updateExpression(e);case"LogicalExpression":return this.logicalExpression(e);case"TemplateLiteral":return this.convertTemplateLiteral(e);case"ConditionalExpression":return this.convertConditionalExpression(e);case"Property":return this.property(e);case"ObjectExpression":return this.objectExpression(e);case"ArrayExpression":return this.arrayExpression(e);case"LoopPointerAssignment":return this.convertLoopPointerExpression(e);default:throw console.log(e),new Error("未定義または未実装のノードです")}}wrapCallFunction(e,s){try{return s(e)}catch(a){if(a instanceof ii)return a.value;throw a}}callDefinedFunction(e){const s=this.generator.wwa.getUserScript(e.functionName);if(s===null)throw new Error(`未定義の関数が呼び出されました: ${e.functionName}`);return this.evalWwaNode(s)}updateExpression(e){if(e.argument.type!=="ArrayOrObject1D"&&e.argument.type!=="ArrayOrObject2D"&&e.argument.type!=="Symbol")throw new Error(`node.argument.typeが インクリメント/デクリメントできる対象ではありません。: ${e.argument.type}`);const s=n=>{switch(e.operator){case"++":return n+1;case"--":return n-1;default:throw new Error("想定外のOperatorが渡されました :"+e.operator)}},a=this.evalWwaNode(e.argument),r={type:"Literal",value:s(a)};switch(e.argument.type){case"ArrayOrObject1D":{if(e.argument.name==="v")this.evalSetUserVariable({type:"UserVariableAssignment",index:[e.argument.indecies[0]],value:r});else if(e.argument.name==="ITEM")this.itemAssignment({type:"ItemAssignment",itemBoxPosition1to12:e.argument.indecies[0],value:r});else if(e.argument.name==="LP")this.convertLoopPointerExpression({type:"LoopPointerAssignment",index:e.argument.indecies[0],value:r,operator:"="});else throw new Error(`このリテラルはインクリメント/デクリメントできません: ${e.argument.type}`);break}case"ArrayOrObject2D":{const n={type:"PartsAssignment",destinationX:e.argument.indecies[0],destinationY:e.argument.indecies[1],value:r,operator:"="};if(e.argument.name==="m")this.partsAssignment({...n,partsKind:"map"});else if(e.argument.name==="o")this.partsAssignment({...n,partsKind:"object"});else throw new Error(`このリテラルはインクリメント/デクリメントできません: ${e.argument.type}`);break}case"Symbol":{const n={type:"SpecialParameterAssignment",kind:e.argument.name,value:r};this.evalSetSpecialParameter(n);break}}return a}logicalExpression(e){const s=this.evalWwaNode(e.left),a=this.evalWwaNode(e.right);switch(e.operator){case"||":return s||a;case"&&":return s&&a;default:throw new Error("存在しない論理式です!: "+e.operator)}}convertTemplateLiteral(e){const s=e.expressions.map(r=>this.evalWwaNode(r)),a=e.quasis.map(r=>r.value.cooked);let i="";return a.forEach((r,n)=>{i+=r,s[n]!==void 0&&(i+=s[n])}),i}contunueStatment(e){this.for_id.continue_flag=!0}breakStatement(e){this.for_id.break_flag=!0}returnStatement(e){return this.evalWwaNode(e.argument)}forStateMent(e){const s=e.init,a=()=>{if("kind"in s)switch(s.kind){case"i":if(this.for_id.i!==null)throw new Error("iの値が既に外側のforループで使われています。");break;case"j":if(this.for_id.j!==null)throw new Error("jの値が既に外側のforループで使われています。");break;case"k":if(this.for_id.k!==null)throw new Error("kの値が既に外側のforループで使われています。");break;default:throw console.log(e),new Error("予想外の変数がfor文内で使用されました :"+s.kind)}else switch(s.type){case"LoopPointerAssignment":const i=Number(this.evalWwaNode(s.index));if(Number.isNaN(i))throw new Error(`LPのIndex値はNumberでないといけません。: ${i}`);if(this.for_id.LP[i]!==null&&this.for_id.LP[i]!==void 0)throw new Error(`LP[${i}]の値が既に外側のforループで使われています。`);break;default:throw console.log(e),new Error("予想外の1次元配列がfor文内で使用されました :"+s)}this.evalWwaNode(e.init)};for(a();this.evalWwaNode(e.test);this.evalWwaNode(e.update)){if(this.for_id.loopCount++,this.for_id.loopCount>this.generator.loop_limit)throw new Error(`処理回数が多すぎます!
|
|
107
|
+
上限値は LOOPLIMIT で変えられます。`);if(this.for_id.break_flag||!this.evalWwaNode(e.test))break;this.evalWwaNodes(e.body),this.for_id.continue_flag=!1}if(this.for_id.break_flag=!1,"kind"in s)switch(s.kind){case"i":this.for_id.i=null;break;case"j":this.for_id.j=null;break;case"k":this.for_id.k=null;break}else switch(s.type){case"LoopPointerAssignment":const i=Number(this.evalWwaNode(s.index));this.for_id.LP[i]=null;break}}_checkArgsLength(e,s){if(s.value.length<e)throw new Error(`関数 ${s.functionName} の引数が不足しています!`)}evalAnyFunction(e){const s=this.generator.wwa.getGameStatus();switch(e.functionName){case"SOUND":{this._checkArgsLength(1,e);const a=this.evalWwaNode(e.value[0]);return this.generator.wwa.playSound(a),a}case"SAVE":{this._checkArgsLength(1,e);const a=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.disableSave(a),a}case"LOG":{this._checkArgsLength(1,e);const a=this.evalWwaNode(e.value[0]);console.log(a instanceof Map?Ct(a):a);return}case"ABLE_CHANGE_SPEED":{this._checkArgsLength(1,e);const a=!!this.evalWwaNode(e.value[0]);return this.generator.wwa.speedChangeJudge(a),a}case"SET_SPEED":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0]));this.generator.wwa.setPlayerSpeedIndex(a);return}case"CHANGE_GAMEOVER_POS":{this._checkArgsLength(2,e);const a={x:Number(this.evalWwaNode(e.value[0])),y:Number(this.evalWwaNode(e.value[1]))};if(a.x<0||a.x>=this.generator.wwa.getMapWidth()||a.y<0||a.y>this.generator.wwa.getMapWidth())throw new Error("マップの範囲外が指定されています!");this.generator.wwa.setGameOverPosition(new Y(a.x,a.y));return}case"DEL_PLAYER":{this._checkArgsLength(1,e);const a=!!this.evalWwaNode(e.value[0]);this.generator.wwa.setDelPlayer(a);return}case"RESTART_GAME":{this.generator.wwa.restartGame();return}case"URL_JUMPGATE":throw new Error("URL_JUMPGATE 関数は調整中のためご利用になれません");case"HIDE_STATUS":{this._checkArgsLength(2,e);const a=Number(this.evalWwaNode(e.value[0])),i=!!this.evalWwaNode(e.value[1]);this.generator.wwa.hideStatus(a,i);return}case"PARTS":{this._checkArgsLength(2,e);const a=Number(this.evalWwaNode(e.value[0])),i=Number(this.evalWwaNode(e.value[1]));let r=e.value[2]?Number(this.evalWwaNode(e.value[2])):0,n=e.value[3]?!!this.evalWwaNode(e.value[3]):!1;if(a<0||i<0)throw new Error("パーツ番号が不正です");if(!kn.includes(r))throw new Error("パーツ種別が不明です");this.generator.wwa.replaceParts(a,i,r,n);return}case"FACE":{this._checkArgsLength(6,e);const a=Number(this.evalWwaNode(e.value[0])),i=Number(this.evalWwaNode(e.value[1])),r=Number(this.evalWwaNode(e.value[2])),n=Number(this.evalWwaNode(e.value[3])),h=Number(this.evalWwaNode(e.value[4])),u=Number(this.evalWwaNode(e.value[5]));if(a<0||i<0||r<0||n<0||h<0||u<0)throw new Error("各引数は0以上の整数でなければなりません。");this.generator.addPageAdditionalItem({type:"face",data:{face:new vi(new Y(a,i),new Y(r,n),new Y(h,u))}});return}case"EFFECT":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0]));if(a<0)throw new Error("待ち時間は0以上の整数でなければなりません。");if(a===0){this.generator.wwa.stopEffect();return}const i=[];for(let r=1;r<e.value.length;r+=2){const n=Number(this.evalWwaNode(e.value[r]));if(n<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");if(r+1===e.value.length)throw new Error("画像のパーツ座標指定で、Y座標が指定されていません。");const h=Number(this.evalWwaNode(e.value[r+1]));if(h<0)throw new Error("画像のパーツ座標指定は0以上の整数でなければなりません。");i.push(new Y(n,h))}this.generator.wwa.setEffect(a,i);return}case"CHANGE_PLAYER_IMAGE":{this._checkArgsLength(2,e);const a=Number(this.evalWwaNode(e.value[0])),i=Number(this.evalWwaNode(e.value[1])),r=new Y(a,i);this.generator.wwa.setPlayerImgCoord(r);return}case"HAS_ITEM":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0]));return s.itemBox.includes(a)}case"REMOVE_ITEM":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0])),i=e.value[1]?this.evalWwaNode(e.value[1])===1:!1;let r=0;for(let n=0;n<s.itemBox.length;n++)if(a===s.itemBox[n]&&(this.generator.wwa.setPlayerGetItem(n+1,0),r++,!i))return r;return r}case"MOVE":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0]));if(a<=0||a>9)throw Error("MOVEの移動先は2/4/6/8で指定してください!");return this.generator.wwa.movePlayer(a),this.generator.wwa.movePlayer(a),0}case"PARTS_MOVE":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0]));return this.generator.wwa.setMoveMacroWaitingToPlayer(a),0}case"IS_PLAYER_WAITING_MESSAGE":return this.generator.wwa.isPlayerWaitingMessage();case"GET_UNIXTIME":return Math.floor(new Date().getTime()/1e3);case"GET_DATE_YEAR":return new Date().getFullYear();case"GET_DATE_MONTH":return new Date().getMonth()+1;case"GET_DATE_DAY":return new Date().getDate();case"GET_DATE_HOUR":return new Date().getHours();case"GET_DATE_MINUTES":return new Date().getMinutes();case"GET_DATE_SECONDS":return new Date().getSeconds();case"GET_DATE_MILLISECONDS":return new Date().getMilliseconds();case"GET_DATE_WEEKDAY":return new Date().getDay();case"SHOW_USER_DEF_VAR":{console.log(this.generator.wwa.getAllUserNameVar());return}case"CHANGE_SYSMSG":{this._checkArgsLength(1,e);const a=this.evalWwaNode(e.value[0]),i=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0,r=this.resolveSystemMessageKeyFromMacroArg(a);if(!r)throw new Error("このIDのシステムメッセージは未定義です。");if(typeof i=="number"||typeof i=="string"||typeof i=="boolean")this.generator.wwa.overwriteSystemMessage(r,String(i));else if(typeof i>"u"||i===null)this.generator.wwa.overwriteSystemMessage(r,void 0);else throw new Error("この値は文字列に変換できないため、システムメッセージを表示できません。");break}case"PICTURE":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0])),i=e.value.length>=2?this.evalWwaNode(e.value[1]):void 0;if(i===void 0){this.generator.wwa.deletePictureRegistry(a);return}if(i instanceof Map)this.generator.wwa.setPictureRegistryFromObject(a,Ct(i));else if(typeof i=="string")this.generator.wwa.setPictureRegistryFromRawText(a,i);else throw new Error("ピクチャのプロパティ定義は文字列あるいはオブジェクトである必要があります。");break}case"PICTURE_FROM_PARTS":{this._checkArgsLength(2,e);const a=Number(this.evalWwaNode(e.value[0])),i=Number(this.evalWwaNode(e.value[1]));if(i===0){this.generator.wwa.deletePictureRegistry(a);return}const r=e.value.length>=3?Number(this.evalWwaNode(e.value[2])):W.OBJECT;if(!kn.includes(r))throw new Error("パーツ種別が不明です");const n=this.generator.wwa.getGameStatus();this.generator.wwa.setPictureRegistry(a,i,r,n.playerCoord);break}case"CLEAR_ALL_PICTURES":{this.generator.wwa.clearAllPictures();break}case"HAS_PICTURE":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0]));return s.wwaData.pictureRegistry.some(r=>r.layerNumber===a)}case"ABS":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0]));return Math.abs(a)}case"GET_GAMEOVER_POS_X":return this.generator.wwa.getGemeOverPosition().x;case"GET_GAMEOVER_POS_Y":return this.generator.wwa.getGemeOverPosition().y;case"ABORT_BATTLE":throw this.generator.state.battleDamageCalculation&&(this.generator.state.battleDamageCalculation.aborted=!0),new ri("ABORT_BATTLE");case"EXIT":throw new ri("EXIT",this.evalWwaNode(e.value[0]));case"GET_IMG_POS_X":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0])),r=(e.value[1]!==void 0?Number(this.evalWwaNode(e.value[1])):0)===0?W.OBJECT:W.MAP;if(r===W.OBJECT){const n=e.value[2]!==void 0?Number(this.evalWwaNode(e.value[2]))===0:!0,h=this.generator.wwa.getObjectInfo(a),u=n?h[o.ATR_X]:h[o.ATR_X2];return Math.floor(u/o.CHIP_SIZE)}else if(r===W.MAP){const h=this.generator.wwa.getMapInfo(a)[o.ATR_X];return Math.floor(h/o.CHIP_SIZE)}throw new Error("GET_IMG_POS_X: 指定したIDのパーツのTypeが異常です。")}case"GET_IMG_POS_Y":{this._checkArgsLength(1,e);const a=Number(this.evalWwaNode(e.value[0])),r=(e.value[1]!==void 0?Number(this.evalWwaNode(e.value[1])):0)===0?W.OBJECT:W.MAP;if(r===W.OBJECT){const n=e.value[2]!==void 0?Number(this.evalWwaNode(e.value[2]))===0:!0,h=this.generator.wwa.getObjectInfo(a),u=n?h[o.ATR_Y]:h[o.ATR_Y2];return Math.floor(u/o.CHIP_SIZE)}else if(r===W.MAP){const h=this.generator.wwa.getMapInfo(a)[o.ATR_Y];return Math.floor(h/o.CHIP_SIZE)}throw new Error("GET_IMG_POS_Y: 指定したIDのパーツのTypeが異常です。")}case"LENGTH":{this._checkArgsLength(1,e);const a=this.evalWwaNode(e.value[0]);return Pu(a)}case"IS_NUMBER":return this._checkArgsLength(1,e),typeof this.evalWwaNode(e.value[0])=="number";default:throw new Error("未定義の関数が指定されました: "+e.functionName)}}resolveSystemMessageKeyFromMacroArg(e){return typeof e=="string"?xi(e)?e:void 0:typeof e=="number"?gi(e):void 0}partsAssignment(e){const s=this.generator.wwa.getGameStatus(),a=this.evalWwaNode(e.destinationX),i=this.evalWwaNode(e.destinationY);if(typeof a!="number"||typeof i!="number")throw new Error(`座標は数値で指定してください (${a}, ${i})`);new Be(this.generator.wwa,a,i);const r=e.partsKind==="map"?W.MAP:W.OBJECT,n=this.resolveParts(r,a,i),h=this.evalWwaNode(e.value);switch(e.operator){case"=":case"+=":case"-=":case"*=":case"/=":{const u=Un[e.operator](n,h)|0;if(u<0)throw new Error(`負値のパーツ番号 ${u} は代入できません`);this.generator.wwa.appearPartsEval(s.playerCoord,`${a}`,`${i}`,u,r);break}default:throw new Error(`演算子 ${e.operator} は partsAssignment では使えません`)}}resolveParts(e,s,a){const i=this.generator.wwa.getGameStatus();switch(e){case W.MAP:return i.wwaData.map[a][s];case W.OBJECT:return i.wwaData.mapObject[a][s];default:throw new Error("存在しないPartsTypeです",e)}}blockStatement(e){return this.evalWwaNodes(e.value)}ifStatement(e){if(this.evalWwaNode(e.test))return this.evalWwaNode(e.consequent);if(e.alternate)return this.evalWwaNode(e.alternate)}convertConditionalExpression(e){const a=this.evalWwaNode(e.test)?e.consequent:e.alternate;return this.evalWwaNode(a)}property(e){const s=this.evalWwaNode(e.key);if(!jt(s))throw new Error(`オブジェクトのキーはプリミティブ値でなければなりません。: ${s}`);return[String(this.evalWwaNode(e.key)),this.evalWwaNode(e.value)]}objectExpression(e){const s=e.properties.map(a=>this.evalWwaNode(a));return new Map(s)}arrayExpression(e){return e.elements.map(s=>this.evalWwaNode(s))}convertLoopPointerExpression(e){const s=this.evalWwaNode(e.value),a=this.evalWwaNode(e.index);switch(e.operator){case"+=":this.for_id.LP[a]=s;break;case"-=":this.for_id.LP[a]=s;break;case"/=":this.for_id.LP[a]=s;break;case"*=":this.for_id.LP[a]=s;break;case"=":default:this.for_id.LP[a]=s;break}return 0}itemAssignment(e){const s=this.evalWwaNode(e.itemBoxPosition1to12);if(typeof s!="number"||s<0||s>12)throw new Error("ITEMの添字に想定外の値が入っています。0以上12以下の添字を指定してください。: "+s);const a=this.evalWwaNode(e.value);switch(e.operator){case"=":{this.generator.wwa.setPlayerGetItem(s,a|0);break}case"+=":case"-=":case"*=":case"/=":{if(s===0)throw new Error("複合代入では ITEM[0] への操作はできません");const i=this.generator.wwa.getGameStatus().itemBox[s-1],r=Un[e.operator](i,a)|0;if(r<0)throw new Error(`負値のパーツ番号 ${r} は代入できません`);this.generator.wwa.setPlayerGetItem(s,r);break}default:throw new Error(`演算子 ${e.operator} は itemAssignment では使えません`)}}evalMessage(e){const s=this.evalWwaNode(e.value),a=this.generator.pickPageAdditionalQueue();this.generator.wwa.handleMsgFunction({message:String(s),additionalItems:a})}evalJumpgate(e){const s=this.evalWwaNode(e.x),a=this.evalWwaNode(e.y);if(isNaN(s)||isNaN(a))throw new Error(`飛び先の値が数値になっていません。 x=${s} / y=${a}`);this.generator.wwa.forcedJumpGate(s,a)}evalRandom(e){const s=this.evalWwaNode(e.value);return Math.floor(Math.random()*s)}evalSetSpecialParameter(e){const s=this.evalWwaNode(e.value);if(!this.generator.wwa||isNaN(s))return s;const a=this.evalSymbol({type:"Symbol",name:e.kind});if(Array.isArray(a))throw new Error(`配列Objectに対して直接代入は出来ません: ${a}`);const i=(()=>{switch(e.operator){case"+=":return a+s;case"-=":return a-s;case"*=":return a*s;case"/=":return a/s;case"=":default:return s}})();switch(e.kind){case"PX":return this.generator.wwa.jumpSpecifiedXPos(i),i;case"PY":return this.generator.wwa.jumpSpecifiedYPos(i),i;case"AT":return this.generator.wwa.setPlayerStatus(ot.STRENGTH,i,!1),i;case"DF":return this.generator.wwa.setPlayerStatus(ot.DEFENCE,i,!1),i;case"GD":return this.generator.wwa.setPlayerStatus(ot.GOLD,i,!1),i;case"HP":return this.generator.wwa.setPlayerStatus(ot.ENERGY,i,!1),i;case"HPMAX":return this.generator.wwa.setPlayerEnergyMax(i),i;case"i":return this.for_id.i=this.evalWwaNode(e.value),this.for_id.i;case"j":return this.for_id.j=this.evalWwaNode(e.value),this.for_id.j;case"k":return this.for_id.k=this.evalWwaNode(e.value),this.for_id.k;case"LOOPLIMIT":{const r=this.evalWwaNode(e.value);return this.generator.updateLoopLimit(r),r}default:console.error("未実装の要素です: "+e.kind);return}}evalSetUserVariable(e){if(e.index.length>1){const s=this.evalWwaNode(e.value),a=e.index.map(i=>this.evalWwaNode(i));this.generator.wwa.setUserVarIndecies(a,s,e.operator);return}else{const s=this.evalWwaNode(e.value);if(!this.generator.wwa)return s;const a=this.evalWwaNode(e.index[0]);return this.generator.wwa.setUserVar(a,s,e.operator),s}}evalUnaryOperation(e){switch(e.operator){case"+":return this.evalWwaNode(e.argument);case"-":return-this.evalWwaNode(e.argument);case"!":return!this.evalWwaNode(e.argument);default:throw new Error("存在しない単項演算子です")}}evalBinaryOperation(e){const s=this.evalWwaNode(e.left),a=this.evalWwaNode(e.right);switch(e.operator){case"+":return s+a;case"-":return s-a;case"*":return s*a;case"/":return a===0?0:Math.floor(s/a);case"%":return a===0?0:s%a;case">":return s>a;case">=":return s>=a;case"<":return s<a;case"<=":return s<=a;case"==":return s==a;case"!=":return s!=a;default:throw new Error("存在しない単項演算子です")}}evalSymbol(e){const s=this.generator.wwa.getGameStatus(),a=this.generator.wwa.getEnemyStatus();switch(e.name){case"X":return this.generator.state.triggerParts?.position.x??s.playerCoord.x;case"Y":return this.generator.state.triggerParts?.position.y??s.playerCoord.y;case"ID":return this.generator.state.triggerParts?.id??-1;case"TYPE":return this.generator.state.triggerParts?.type??-1;case"PX":return s.playerCoord.x;case"PY":return s.playerCoord.y;case"CX":return s.cameraCoord.x;case"CY":return s.cameraCoord.y;case"AT":return s.bareStatus.strength;case"AT_TOTAL":return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.strength??s.totalStatus.strength;case"DF":return s.bareStatus.defence;case"DF_TOTAL":return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.defence??s.totalStatus.defence;case"GD":return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.gold??s.totalStatus.gold;case"HP":return this.generator.state.battleDamageCalculation?.estimatingParams?.playerStatus.energy??s.totalStatus.energy;case"HPMAX":return s.energyMax;case"STEP":return s.moveCount;case"TIME":return s.playTime;case"PDIR":return s.playerDirection;case"i":return this.for_id.i;case"j":return this.for_id.j;case"k":return this.for_id.k;case"LOOPLIMIT":return this.generator.loop_limit;case"ITEM_ID":return this.generator.state.earnedItem?.partsId??-1;case"ITEM_POS":return this.generator.state.earnedItem?.itemPos1To12??-1;case"ENEMY_HP":return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.energy??(typeof a=="number"?-1:a.energy);case"ENEMY_AT":return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.strength??(typeof a=="number"?-1:a.strength);case"ENEMY_DF":return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.defence??(typeof a=="number"?-1:a.defence);case"ENEMY_GD":return this.generator.state.battleDamageCalculation?.estimatingParams?.enemyStatus.gold??(typeof a=="number"?-1:a.gold);case"PICTURE":throw new Error("この機能はまだ実装されていません!");case"PLAYER_PX":return Nu(s.playerCoord.x,s.cameraCoord.x);case"PLAYER_PY":return Ou(s.playerCoord.y,s.cameraCoord.y);case"MOVE_SPEED":return Re[s.gameSpeedIndex];case"MOVE_FRAME_TIME":return o.CHIP_SIZE/Re[s.gameSpeedIndex];case"LP":return this.for_id.LP;case"undefined":return;default:throw new Error("このシンボルは取得できません")}}evalArrayOrObject1D(e){const s=this.evalWwaNode(e.indecies[0]);if(typeof s!="number")switch(e.name){case"v":return this.generator.wwa.getUserNameVar(s);default:throw new Error("このシンボルは取得できません")}const a=this.generator.wwa.getGameStatus();switch(e.name){case"v":return this.generator.wwa.getUserVar(s);case"ITEM":if(s<1||s>12)throw new Error("ITEMの添字に想定外の値が入っています。1以上12以下の添字を指定してください。: "+s);return a.itemBox[s-1];case"PICTURE":throw new Error("この機能はまだ実装されていません!");case"LP":return this.for_id.LP[s];default:throw new Error("このシンボルは取得できません")}}evalArrayOrObject2D(e){switch(e.name){case"m":case"o":const s=this.evalWwaNode(e.indecies[0]),a=this.evalWwaNode(e.indecies[1]);if(typeof s!="number"||typeof a!="number")throw new Error(`座標は数値で指定してください (${s}, ${a})`);new Be(this.generator.wwa,s,a);const i=e.name==="o"?W.OBJECT:W.MAP;return this.generator.wwa.getPartsID(new Y(s,a),i);case"v":{const n=e.indecies[0].value,h=this.generator.wwa.getUserNameVar(n);if(h===null||!Array.isArray(h)&&typeof h!="object"&&typeof h!="string")throw new Error(`指定したユーザー定義変数: v["${n}"] は配列・オブジェクト・文字列ではありません`);const u=this.evalWwaNode(e.indecies[1]);return bt(h,u)}default:throw new Error("このシンボルは取得できません")}}evalArrayOrObject3DPlus(e){const s=e.indecies.map(i=>this.evalWwaNode(i)),a=this.generator.wwa.getUserNameVar(s[0]);return s.slice(1).reduce((i,r)=>bt(i,r),a)}evalLiteral(e){return e.value}}class ii{constructor(e){this.value=e}}class ri{constructor(e,s){this.reason=e,this.value=s}}function Vn(t){return tu(t,{ecmaVersion:2020})}const Ru=async t=>{try{const e=await fetch(t);return e.status===200||e.status===304?{kind:"data",data:await new Response(e.body).text(),fileName:t}:{kind:"httpError",errorMessage:`ファイル ${t} が読み込めませんでした。ステータスコード: ${e.status}`,fileName:t}}catch(e){return{kind:"otherError",errorMessage:e.message,fileName:t}}},Yn="user-variable-label";function Lu(){const t=document.createElement("div");return t.textContent="-",t.setAttribute("aria-hidden","true"),t.classList.add(Yn),t}function Fu(t,e){t.textContent=e}const ku="-",ni="user-variable-card",Uu="user-variable-card--is-trimmed";function Vu({index:t,value:e}){const s=document.createElement("div");return s.classList.add(ni),Ku(e)&&s.classList.add(Uu),s.dataset.varIndex=String(t),s.appendChild(Yu(t)),s.appendChild(Wu(e)),s}function Yu(t){const e=document.createElement("div");return e.classList.add("index"),e.textContent=String(t),typeof t=="string"&&e.setAttribute("title",t),e.appendChild(Lu()),e}function Wu(t){const e=document.createElement("div");return e.classList.add("value"),typeof t=="string"&&e.setAttribute("title",Tt(t)),oi(e,t),e}function Hu(t,e){t.dataset.labelledVarIndex="true",t.addEventListener("mouseover",()=>e.removeAttribute("aria-hidden")),t.addEventListener("mouseleave",()=>e.setAttribute("aria-hidden","true"))}function oi(t,e){t.textContent=e===void 0?ku:Tt(e)}function Gu(t){return t.querySelector(`.${Yn}`)}function Ku(t){return typeof t!="object"}const Ea="user-variable-list";function ju({kind:t}){const e=document.createElement("ul");return e.classList.add(Ea),t==="numbered"&&Array.from({length:o.USER_VAR_NUM}).map((s,a)=>Wn({index:a})).forEach(s=>e.appendChild(s)),e}function Wn({index:t,value:e}){const s=document.createElement("li");return s.appendChild(Vu({index:t,value:e})),s}function Xu(t,{index:e,value:s}){t.appendChild(Wn({index:e,value:s}))}const hi="information";function $u(){const t=document.createElement("p");return t.classList.add(hi),Hn(t,"強調されている番号にカーソルを乗せると説明が表示されます。"),t}function Hn(t,e,s=!1){t.textContent=`${s?"【エラー】":""}${e}`}function qu({heading:t,contentVisibilityToggleButton:e,information:s}){const a=document.createElement("header");return a.appendChild(Ju({heading:t,contentVisibilityToggleButton:e})),s&&a.appendChild($u()),a}function ci(t,e){t.textContent=e?"▲隠す":"▼表示"}function Ju({heading:t,contentVisibilityToggleButton:e}){const s=document.createElement("div");s.classList.add("heading-area");const a=document.createElement("h2");a.textContent=t.text,s.appendChild(a);const i=document.createElement("button");return i.classList.add("content-visibility-toggle-button"),ci(i,!0),e.onClick&&i.addEventListener("click",e.onClick.bind(i)),s.appendChild(i),s}const ui="user-variable-list-section";function Gn({kind:t}){const e=document.createElement("section");e.classList.add(ui),e.dataset.kind=t;const s=ju({kind:t}),a=qu({heading:{text:t==="named"?"名前つき変数一覧":"変数一覧"},information:(t==="numbered"||void 0)&&{},contentVisibilityToggleButton:{onClick:i=>{const r=a.querySelector(`.${hi}`);s.getAttribute("aria-hidden")==="true"?Zu(s,r,i.target):zu(s,r,i.target)}}});return e.appendChild(a),e.appendChild(s),e}function Zu(t,e,s){t.removeAttribute("aria-hidden"),e instanceof HTMLElement&&e.removeAttribute("aria-hidden"),s instanceof HTMLElement&&ci(s,!0)}function zu(t,e,s){t.setAttribute("aria-hidden","true"),e instanceof HTMLElement&&e.setAttribute("aria-hidden","true"),s instanceof HTMLElement&&ci(s,!1)}function Qu(t,e){if(!(t instanceof HTMLElement))return;const s=sl(t),a=$n(t);if(a instanceof HTMLElement){for(const[i,r]of e){const n=tl(t,i);s.delete(i),n instanceof HTMLElement?oi(n,r):Xu(a,{index:i,value:r})}for(const i of s){const r=el(t,i).parentElement;r instanceof HTMLLIElement&&$n(t).removeChild(r)}}}const Kn=`.${ui}[data-kind="named"]`,jn=`${Kn} > .${Ea} > li > .${ni}`;function Xn(t){return`${jn}[data-var-index="${CSS.escape(t)}"]`}function $n(t){return t.querySelector(`${Kn} > .${Ea}`)}function el(t,e){return t.querySelector(Xn(e))}function tl(t,e){return t.querySelector(`${Xn(e)} > .value`)}function sl(t){return new Set([...t.querySelectorAll(jn)].map(e=>e instanceof HTMLElement?e.dataset.varIndex:void 0).filter(Boolean))}function al(t,e){t instanceof HTMLElement&&Array.from({length:o.USER_VAR_NUM}).map((s,a)=>{const i=ol(t,a);i instanceof HTMLElement&&oi(i,e[a])})}function il(t,e){t&&Array.from({length:o.USER_VAR_NUM}).map((s,a)=>{const i=e[a];if(!i)return;const r=nl(t,a);if(!(r instanceof HTMLElement))return;const n=Gu(r);n instanceof HTMLElement&&(Fu(n,i),Hu(r,n))})}function li(t,e,s=!1){if(!t)return;const a=rl(t);a instanceof HTMLElement&&Hn(a,e,s)}const qn=`.${ui}[data-kind="numbered"]`;function rl(t){return t.querySelector(`${qn} > header > .${hi}`)}function Jn(t){return`${qn} > .${Ea} > li > .${ni}[data-var-index="${CSS.escape(String(t))}"]`}function nl(t,e){return t.querySelector(`${Jn(e)} > .index`)}function ol(t,e){return t.querySelector(`${Jn(e)} > .value`)}function hl({dumpElement:t,namedUserVar:e,userVar:s}){e&&Qu(t,e),s&&al(t,s)}const cl="wwa-vardump-wrapper";function ul(t){const e=Di(t);return e instanceof HTMLElement?(e.classList.add(cl),e.appendChild(Gn({kind:"named"})),e.appendChild(Gn({kind:"numbered"})),e):null}function ll(){return{mapdata:"",urlGateEnable:!1,titleImg:void 0,audioDir:"./audio/",classicModeEnable:!1,itemEffectEnable:!0,useGoToWwa:!1,lookingAround:!1,autoSave:!0,disallowLoadOldSave:!1,resumeSaveData:void 0,varDumpElm:void 0,userVarNamesFile:void 0,displayUserVars:!1,virtualPadEnable:!1,virtualPadViewportFitEnable:!1,virtualPadControllerElm:void 0,userDefinedScriptsFile:"./script/script_file_list.json"}}let xa;function At(t,e,s){var a=new po;return a.current=t,a.total=e,a.stage=s,a}class Zn{constructor(e=ll()){this._useSuspend=!1,this._useLookingAround=!0,this._isDisallowLoadOldSave=!1,this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._windowCloseWaitingJumpGateRequest=void 0,this._debugConsoleElement=void 0,this.audioExtension="",this.soundLoadedCheckTimer=void 0,this._playTimeCalculator=void 0,this.userDefinedFunctions={},this.convertWwaNodes=h=>{const u=Vn(h);return su(u)},this.mainCaller=()=>this._main(),this.soundCheckCaller=()=>this.checkAllSoundLoaded(),this._checkTurnKeyPressed=()=>this._keyStore.checkHitKey(D.KEY_ESC)||this._keyStore.checkHitKey(D.KEY_SHIFT)||this._keyStore.checkHitKey(D.KEY_N),this._saveDataList=[],this.wwaCustomEventEmitter=new an(O("wwa-wrapper"));let s;window.addEventListener("click",h=>{this._isActive=!1}),O("wwa-wrapper").addEventListener("click",h=>{h.stopPropagation(),this._isActive=!0}),this._isActive=!0,e.titleImg===void 0?(this._hasTitleImg=!1,this._cvsCover=O("progress-panel"),s=this._cvsCover.getContext("2d"),s.fillStyle="rgb(0, 0, 0)"):this._hasTitleImg=!0;try{this._hasTitleImg?(O("unstable-version-warning").textContent="この WWA Wing は [不安定版] です。",O("version").textContent="WWA Wing Ver.4.0.2"):this._setLoadingMessage(s,0)}catch{}this._dumpElement=e.varDumpElm;const a=window.AudioContext||window.webkitAudioContext;a&&(this.audioContext=new a,this.audioGain=this.audioContext.createGain(),this.audioGain.gain.setValueAtTime(1,this.audioContext.currentTime));const i=new Audio;i.canPlayType("audio/mpeg")!=="no"&&i.canPlayType("audio/mpeg")!==""?this.audioExtension="mp3":this.audioExtension="m4a",this._isURLGateEnable=e.urlGateEnable,this._isClassicModeEnable=e.classicModeEnable,this._mainCallCounter=0,this._animationCounter=0,this._statusPressCounter=new Ae(0,0,0,0),e.audioDir?e.audioDir[e.audioDir.length-1]!=="/"&&(e.audioDir+="/"):e.audioDir="./audio/",this._audioDirectory=e.audioDir,this._bottomButtonType=e.useGoToWwa?Ye.GOTO_WWA:Ye.BATTLE_REPORT,this._userVarNameList=[],this.evalCalcWwaNodeGenerator=new Mu(this),this.userDevice=new lo;var r=!!location.href.match(/^file/);if(r)switch(this.userDevice.device){case be.GAME:switch(this.userDevice.os){case We.NINTENDO:o.BATTLE_INTERVAL_FRAME_NUM=5;break}this._bottomButtonType=Ye.GAME_END;break;default:alert(`【警告】直接HTMLファイルを開いているようです。
|
|
108
|
+
このプログラムは正常に動作しない可能性があります。
|
|
109
|
+
マップデータの確認を行う場合には同梱の「wwa-server.exe」をご利用ください。
|
|
110
|
+
`+(this.userDevice.browser===Ai.FIREFOX?"Firefoxの場合も、バージョン68以降はローカルのHTMLファイルを直接開いた場合、通常起動できないことを確認しております。":""));break}switch(this.userDevice.device){case be.VR:case be.GAME:this._usePassword=!1;break;default:this._usePassword=!0;break}switch(O("cell-save").textContent=ze.QUICK_SAVE,this._usePassword?O("cell-load").textContent=ze.PASSWORD:O("cell-load").textContent=ze.EMPTY_LOAD,this._bottomButtonType){case Ye.GOTO_WWA:O("cell-gotowwa").textContent=ze.GOTO_WWA;break;case Ye.BATTLE_REPORT:O("cell-gotowwa").textContent=ze.BATTLE_REPORT;break;case Ye.GAME_END:O("cell-gotowwa").textContent=ze.GAME_END;break}const n=performance.now();console.log("WWA のロード処理を開始します"),Promise.all([new Promise(async h=>{const u=performance.now();console.log(`(A-1) マップデータ ${e.mapdata} のロードを開始します`);const c=new an,l=p=>{c.removeListener("mapData",l),c.removeListener("progress",f),c.removeListener("error",_),console.log(`(A-1) マップデータ ${e.mapdata} のロードが完了しました (${performance.now()-u}ms)`),h(p)},f=p=>this._setProgressBar(p),_=p=>{throw this._setErrorMessage(`下記のエラーが発生しました。:
|
|
111
|
+
`+p.message,s),new Error("MapData Load Error: "+p.message)};c.addListener("mapData",l),c.addListener("progress",f),c.addListener("error",_),await new gh(e.mapdata,c).requestAndLoadMapData()}).then(h=>{const u=performance.now();console.log("(A-2) マップデータからリスタートデータの作成を開始します"),h.isItemEffectEnabled=e.itemEffectEnable;const c=e.mapdata.split("/");c.pop(),c.push(h.mapCGName),h.mapCGName=c.join("/");const l={wwaData:h,restartData:structuredClone(h),checkOriginalMapString:this._generateMapDataHash(h)};return console.log(`(A-2) マップデータからのリスタートデータの作成が完了しました (${performance.now()-u}ms)`),l}).then(h=>new Promise(u=>{const c=performance.now();console.log(`(A-3) マップ画像 ${h.wwaData.mapCGName} のロードを開始します`);const l=new Image;l.src=h.wwaData.mapCGName,l.decode().then(()=>{console.log(`(A-3) マップ画像 ${h.wwaData.mapCGName} のロードが完了しました (${performance.now()-c}ms)`),u(h)}).catch(()=>{throw this._setErrorMessage("画像ファイル「"+h.wwaData.mapCGName+`」が見つかりませんでした。
|
|
112
|
+
管理者の方へ: データがアップロードされているか、
|
|
113
|
+
パーミッションを確かめてください。`,s),new Error("Map CG Image Load Error")})})),new Promise(async h=>{if(this._canDisplayUserVars=e.displayUserVars,!this._canDisplayUserVars){console.log("(B) ユーザー変数の表示機能は無効化されています"),h();return}const u=performance.now();console.log(`(B) ユーザー変数名一覧のロードおよび初期化を開始します (名前一覧ファイル: ${e.userVarNamesFile??"未指定"})`),this._inlineUserVarViewer={topUserVarIndex:{named:0,numbered:0},isVisible:!1,kind:"numbered"};const c=await(e.userVarNamesFile?Na(e.userVarNamesFile):{kind:"noFileSpecified",errorMessage:"data-wwa-user-var-names-file 属性に、変数の説明を記したファイル名を書くことで、その説明を表示できます。詳しくはマニュアルをご覧ください。"});switch(this.setUserVarStatus(c,e.userVarNamesFile),c.kind){case"data":console.log(`(B) ユーザー変数名一覧のロードおよび初期化が完了しました (${performance.now()-u}ms)`);break;case"noFileSpecified":console.log(`(B) ユーザー変数名一覧のロードはスキップされました (${performance.now()-u}ms)`);break;default:console.warn(`(B) ユーザー変数名一覧のロード中にエラーが発生しました (${performance.now()-u}ms)`),console.warn("(B) "+c.errorMessage);break}h()}),new Promise(async h=>{const u=performance.now(),c=e.userDefinedScriptsFile??"./script/script_file_list.json";console.log(`(C) 外部 WWA Script のロード・解析を開始します (リストファイル: ${c})`);const l=await Na(c);if(l?.kind==="data"&&Array.isArray(l.data)){console.log("(C) これらの外部 WWA Script がロードされます:",l.data);const f=l.data.map(_=>Ru(_));(await Promise.allSettled(f)).forEach(_=>{if(_.status!=="fulfilled"){alert(`(C) 外部スクリプト ${_.reason.fileName} のロード中にエラーが発生しました。
|
|
114
|
+
このままゲームを開始することはできますが、正常に動作しない可能性が高いです。
|
|
115
|
+
|
|
116
|
+
詳細:
|
|
117
|
+
${_.reason.message}`),console.error(_.reason.message);return}switch(_.value.kind){case"data":try{this.setUserScript(_.value)}catch(p){alert(`外部スクリプト ${_.value.fileName} の解析中にエラーが発生しました。
|
|
118
|
+
このままゲームを開始することはできますが、正常に動作しない可能性が高いです。
|
|
119
|
+
|
|
120
|
+
詳細:
|
|
121
|
+
${p instanceof Error?p.message:String(p)}`),console.error(`(C) 外部スクリプト ${_.value.fileName} の解析中にエラーが発生しました。`,p)}return;case"httpError":console.warn(`(C) 外部スクリプト ${_.value.fileName} が見つからなかったか、その他のHTTPエラーが発生しました。`,_.value.errorMessage);return;case"otherError":alert(`外部スクリプト ${_.value.fileName} のロード中にエラーが発生しました。
|
|
122
|
+
このままゲームを開始することはできますが、正常に動作しない可能性が高いです。
|
|
123
|
+
|
|
124
|
+
詳細:
|
|
125
|
+
${_.value.errorMessage}`),console.error(`(C) 外部スクリプト ${_.value.fileName} のロード中にエラーが発生しました。`,_.value.errorMessage);return;default:alert("外部スクリプトの解析中に予期せぬエラーが発生しました"),console.error(`(C) 外部スクリプト ${_.value.fileName} の解析中に予期せぬエラーが発生しました`,_.value);return}})}else console.log(`(C) 外部 WWA Script のリスト ${c} が見つからなかったか、内容が不正だったため、外部スクリプトはロードされませんでした。`);console.log(`(C) 外部 WWA Script のロード・解析が完了しました (${performance.now()-u}ms)`),h()})]).then(([{wwaData:h,restartData:u,checkOriginalMapString:c}])=>{this._wwaData=h,this._restartData=u,this.checkOriginalMapString=c,console.log(`WWAのロード処理が完了しました。(${performance.now()-n}ms)`)}).then(()=>{try{this._hasTitleImg?O("version").textContent+=" (Map data Ver. "+Math.floor(this._wwaData.version/10)+"."+ +this._wwaData.version%10+")":this._setLoadingMessage(s,1)}catch{}this.initCSSRule(),this._setProgressBar(At(0,4,Ge.GAME_INIT)),this._setLoadingMessage(s,2);const h=this._wwaData.mapCGName.replace("(","\\(").replace(")","\\)"),u=d=>{d.style.backgroundImage="url("+h+")"};Array.prototype.forEach.call(et("div.item-cell"),d=>{d.style.backgroundPosition=`-${this._wwaData.imgItemboxX*o.CHIP_SIZE}px -${this._wwaData.imgItemboxY*o.CHIP_SIZE}px`,d.style.backgroundImage="url("+h+")"}),Array.prototype.forEach.call(et("div.wide-cell-row"),d=>{d.style.backgroundPosition="-160px -120px",d.style.backgroundImage="url("+h+")"}),Array.prototype.forEach.call(et(".item-cell>.item-click-border"),d=>{d.style.backgroundImage="url('"+o.ITEM_BORDER_IMG_DATA_URL+"')",d.style.backgroundPosition="0 0",d.style.display="none",d.style.cursor="pointer"}),Array.prototype.forEach.call(et(".item-cell>.item-disp"),u),Array.prototype.forEach.call(et("div.wide-cell-row>.status-icon"),u),this.setStatusIconCoord(ge.ENERGY,new Y(this._wwaData.imgStatusEnergyX,this._wwaData.imgStatusEnergyY)),this.setStatusIconCoord(ge.STRENGTH,new Y(this._wwaData.imgStatusStrengthX,this._wwaData.imgStatusStrengthY)),this.setStatusIconCoord(ge.DEFENCE,new Y(this._wwaData.imgStatusDefenceX,this._wwaData.imgStatusDefenceY)),this.setStatusIconCoord(ge.GOLD,new Y(this._wwaData.imgStatusGoldX,this._wwaData.imgStatusGoldY)),this._setProgressBar(At(1,4,Ge.GAME_INIT)),this._setLoadingMessage(s,3),this._mapIDTableCreate(),this._replaceAllRandomObjects(),this._cvs=O("wwa-map");var c=this._cvs.getContext("2d",{alpha:!1});c.fillStyle="rgba( 255, 255, 255, 0.5)",c.fillRect(0,0,440,440);var l=new Be(this,this._wwaData.playerX,this._wwaData.playerY);this._camera=new Dh(l),this._itemMenu=new La;var f=new Ae(this._wwaData.statusEnergy,this._wwaData.statusStrength,this._wwaData.statusDefence,this._wwaData.statusGold);this._player=new Ih(this,l,this._camera,f,this._wwaData.statusEnergyMax,this._wwaData.moves,this._wwaData.gameSpeedIndex),this._userVar={numbered:Array.from({length:o.USER_VAR_NUM}).map(()=>0),named:new Map},this._objectMovingDataManager=new Nh(this,this._player),this._camera.setPlayer(this._player),this._keyStore=new Ca,this._mouseStore=new Eo,e.virtualPadEnable?(this._virtualPadButtonElements={BUTTON_ENTER:O("wwa-enter-button"),BUTTON_ESC:O("wwa-esc-button"),BUTTON_FAST:O("wwa-fast-button"),BUTTON_SLOW:O("wwa-slow-button"),BUTTON_LEFT:O("wwa-left-button"),BUTTON_UP:O("wwa-up-button"),BUTTON_RIGHT:O("wwa-right-button"),BUTTON_DOWN:O("wwa-down-button")},this._virtualPadStore=new Es(this._virtualPadButtonElements,nr(),O("wwa-virtualpad-right"),O("wwa-virtualpad-left"),this._setVirtualPadTouch.bind(this),this._setVirtualPadLeave.bind(this)),_l(e.virtualPadControllerElm,()=>{this._virtualPadStore.toggleVisible()})):(this._virtualPadButtonElements=null,this._virtualPadStore=new Es({})),this._debugConsoleElement=fl(O("wwa-debug-console-area")),this._debugConsoleElement?.querySelector(".script-running-button").addEventListener("click",()=>{this._debugEvalString()}),this._gamePadStore=new xo,this._pages=[],this._yesNoJudge=ne.UNSELECTED,this._yesNoJudgeInNextFrame=ne.UNSELECTED,this._yesNoChoiceCallInfo=H.NONE,this._prevFrameEventExected=!1,this._isLastPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._shouldSetNextPage=!1,this._passwordLoadExecInNextFrame=!1,this._pageExecuting=!1,this._messageWindow=new jh(this,50,180,340,0,this._wwaData.mapCGName,!1,!0,!1,O("wwa-wrapper")),this._scoreWindow=new Ra(this,new Y(50,50),!1,O("wwa-wrapper")),this._wwaSave=new gt(xa,xa._wwaData.worldName,xa._wwaData.worldPassNumber,this._checkSaveDataCompatibility.bind(this),d=>{if(d.length>0){let g="これまでに保存されていたセーブデータは、下記の理由により消えたものがあります。";d.forEach(w=>{switch(w){case Nt.UNMATCHED_WORLD_NAME:g+=`
|
|
126
|
+
・制作者によるマップデータのワールド名の変更`;break;case Nt.UNMATCHED_WORLD_PASS_NUMBER:g+=`
|
|
127
|
+
・制作者によるマップデータの暗証番号の変更`;break;case Nt.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:g+=`
|
|
128
|
+
・制作者によるマップデータの内容変更 (マップデータ制作者の設定により、内容が変更されるとセーブデータが消去されます)`;break}}),alert(g)}}),this._isDisallowLoadOldSave=e.disallowLoadOldSave,this._messageWindow.setWWASave(this._wwaSave),st.setRestartData(this._restartData,this._wwaData),this.clearFaces();const _=O("wwa-wrapper").getAttribute("data-wwa-resume-savedata");if(typeof _=="string"&&(this._useSuspend=!0,_)){var p=st.getStartWWAData(_);this._restartData!==p&&(this._applyQuickLoad(p),this._wwaSave.resumeStart())}const m=O("wwa-wrapper").getAttribute("data-wwa-autosave");m!==null&&this._wwaSave.setAutoSaveInterval(Number(m)|0);const v=O("wwa-wrapper").getAttribute("data-wwa-looking-around");if(this._useLookingAround=!(v&&v.match(/false/i)),this._setProgressBar(At(2,4,Ge.GAME_INIT)),this._setLoadingMessage(s,4),window.addEventListener("keydown",d=>{if(this._isActive){switch(this.userDevice.os){case We.NINTENDO:d.preventDefault(),d.stopPropagation();return}if(this._keyStore.setPressInfo(d.keyCode),d.keyCode===D.KEY_F5){d.preventDefault();return}this._player.isWaitingMessage()?(d.keyCode===D.KEY_DOWN||d.keyCode===D.KEY_LEFT||d.keyCode===D.KEY_RIGHT||d.keyCode===D.KEY_UP||d.keyCode===D.KEY_SHIFT||d.keyCode===D.KEY_ENTER||d.keyCode===D.KEY_ESC||d.keyCode===D.KEY_SPACE)&&d.preventDefault():this._player.isWaitingPasswordWindow()||(d.keyCode===D.KEY_DOWN||d.keyCode===D.KEY_LEFT||d.keyCode===D.KEY_RIGHT||d.keyCode===D.KEY_UP||d.keyCode===D.KEY_SHIFT||d.keyCode===D.KEY_ENTER||d.keyCode===D.KEY_1||d.keyCode===D.KEY_2||d.keyCode===D.KEY_3||d.keyCode===D.KEY_A||d.keyCode===D.KEY_C||d.keyCode===D.KEY_D||d.keyCode===D.KEY_E||d.keyCode===D.KEY_M||d.keyCode===D.KEY_N||d.keyCode===D.KEY_Q||d.keyCode===D.KEY_S||d.keyCode===D.KEY_W||d.keyCode===D.KEY_X||d.keyCode===D.KEY_Y||d.keyCode===D.KEY_Z||d.keyCode===D.KEY_ESC||d.keyCode===D.KEY_F1||d.keyCode===D.KEY_F2||d.keyCode===D.KEY_F3||d.keyCode===D.KEY_F4||d.keyCode===D.KEY_F6||d.keyCode===D.KEY_F7||d.keyCode===D.KEY_F8||d.keyCode===D.KEY_F12||d.keyCode===D.KEY_SPACE)&&d.preventDefault()}}),window.addEventListener("keyup",d=>{if(this._isActive){switch(this.userDevice.os){case We.NINTENDO:d.preventDefault(),d.stopPropagation();return}this._keyStore.setReleaseInfo(d.keyCode),(d.keyCode===D.KEY_F5||(d.keyCode===D.KEY_DOWN||d.keyCode===D.KEY_LEFT||d.keyCode===D.KEY_RIGHT||d.keyCode===D.KEY_UP||d.keyCode===D.KEY_SHIFT||d.keyCode===D.KEY_ENTER||d.keyCode===D.KEY_1||d.keyCode===D.KEY_2||d.keyCode===D.KEY_3||d.keyCode===D.KEY_A||d.keyCode===D.KEY_C||d.keyCode===D.KEY_D||d.keyCode===D.KEY_E||d.keyCode===D.KEY_M||d.keyCode===D.KEY_N||d.keyCode===D.KEY_Q||d.keyCode===D.KEY_S||d.keyCode===D.KEY_W||d.keyCode===D.KEY_X||d.keyCode===D.KEY_Y||d.keyCode===D.KEY_Z||d.keyCode===D.KEY_ESC||d.keyCode===D.KEY_F1||d.keyCode===D.KEY_F3||d.keyCode===D.KEY_F4||d.keyCode===D.KEY_F6||d.keyCode===D.KEY_F7||d.keyCode===D.KEY_F8||d.keyCode===D.KEY_F9||d.keyCode===D.KEY_F12||d.keyCode===D.KEY_SPACE)&&!this._player.isWaitingMessage()&&!this._player.isWaitingPasswordWindow())&&d.preventDefault()}}),window.addEventListener("blur",d=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener("contextmenu",d=>{this._keyStore.allClear(),this._mouseStore.clear(),this._virtualPadStore.allClear()}),window.addEventListener("help",d=>{this._isActive&&d.preventDefault()}),this._mouseControllerElement=O("wwa-controller"),this._mouseControllerElement.addEventListener("mousedown",d=>{if(this._isActive&&d.which===1){if(this._mouseStore.getMouseState()!==mt.NONE){d.preventDefault();return}const g=Ti(d.clientX,d.clientY),w=this._player.getDrawingCenterPosition(),A=g.substract(w),S=Math.abs(A.x),y=Math.abs(A.y);let C,I=!1;if(S<o.CHIP_SIZE&&y<o.CHIP_SIZE){switch(w.x/o.CHIP_SIZE|0){case 0:I=!0,C=N.LEFT;break;case o.H_PARTS_NUM_IN_WINDOW-1:I=!0,C=N.RIGHT;break}switch(w.y/o.CHIP_SIZE|0){case 0:I=!0,C=N.UP;break;case o.V_PARTS_NUM_IN_WINDOW-1:I=!0,C=N.DOWN;break}}I||(A.y>0&&y>S?C=N.DOWN:A.y<0&&y>S?C=N.UP:A.x>0&&y<S?C=N.RIGHT:A.x<0&&y<S&&(C=N.LEFT)),this._mouseStore.setPressInfo(C,0)}}),this._mouseControllerElement.addEventListener("mouseleave",d=>{this._mouseStore.clear()}),this._mouseControllerElement.addEventListener("mouseup",d=>{this._isActive&&d.which===1&&(this._mouseStore.setReleaseInfo(),d.preventDefault())}),window.TouchEvent){if(this.audioContext){let g=()=>{this.audioContext.createBufferSource().start(0),this._mouseControllerElement.removeEventListener("touchstart",g),g=null};this._mouseControllerElement.addEventListener("touchstart",g)}this._mouseControllerElement.addEventListener("touchstart",g=>{if(!this._isActive)return;if(this._mouseStore.getMouseState()!==mt.NONE){g.preventDefault();return}const w=g.changedTouches,A=w.length;for(let S=0;S<A;S++){const y=w[S],C=Ti(y.clientX,y.clientY),I=this._player.getDrawingCenterPosition(),L=C.substract(I),T=Math.abs(L.x),b=Math.abs(L.y);let M,B=!1;if(T<o.CHIP_SIZE&&b<o.CHIP_SIZE){switch(I.x/o.CHIP_SIZE|0){case 0:B=!0,M=N.LEFT;break;case o.H_PARTS_NUM_IN_WINDOW-1:B=!0,M=N.RIGHT;break}switch(I.y/o.CHIP_SIZE|0){case 0:B=!0,M=N.UP;break;case o.V_PARTS_NUM_IN_WINDOW-1:B=!0,M=N.DOWN;break}}B||(L.y>0&&b>T?M=N.DOWN:L.y<0&&b>T?M=N.UP:L.x>0&&b<T?M=N.RIGHT:L.x<0&&b<T&&(M=N.LEFT)),this._mouseStore.setPressInfo(M,y.identifier)}g.cancelable&&g.preventDefault()});const d=g=>{if(this._isActive){for(let w=0;w<g.changedTouches.length;w++)if(this._mouseStore.getTouchID()===g.changedTouches[w].identifier){this._mouseStore.setReleaseInfo(),g.preventDefault();break}}};this._mouseControllerElement.addEventListener("touchend",d),this._mouseControllerElement.addEventListener("touchcancel",d)}O("button-load").addEventListener("click",()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(se.QUICK_LOAD)}),O("button-save").addEventListener("click",()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(se.QUICK_SAVE)}),O("button-restart").addEventListener("click",()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(se.RESTART_GAME)}),O("button-gotowwa").addEventListener("click",()=>{(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onselectbutton(se.GOTO_WWA,!1,!1)}),Array.prototype.forEach.call(et(".wide-cell-row"),d=>{d.addEventListener("click",()=>{this._displayHelp()})}),this._frameCoord=new Y(o.IMGPOS_DEFAULT_FRAME_X,o.IMGPOS_DEFAULT_YESNO_Y),this._battleEffectCoord=new Y(o.IMGPOS_DEFAULT_BATTLE_EFFECT_X,o.IMGPOS_DEFAULT_BATTLE_EFFECT_Y),this._battleEstimateWindow=new $h(this,this._wwaData.mapCGName,O("wwa-wrapper")),this._passwordWindow=new zh(this,O("wwa-wrapper"),e.disallowLoadOldSave),this._monsterWindow=new Kh(this,new Y(50,180),340,60,!1,O("wwa-wrapper"),this._wwaData.mapCGName),this._setProgressBar(At(3,4,Ge.GAME_INIT)),this._isLoadedSound=!1,this._temporaryInputDisable=!1,this._paintSkipByDoorOpen=!1,this._clearFacesInNextFrame=!1,this._useConsole=!1,this._playTimeCalculator=new ms,this.wwaCustomEvent("wwa_startup"),this._cgManager=new Ch(c,this._wwaData.mapCGName,this._frameCoord,this,e.pictureImageNamesFile,()=>{this._isSkippedSoundMessage=!0;const d=()=>{switch(this.userDevice.device){case be.PC:this.registerSystemMessagePage(`ゲームを開始します。
|
|
129
|
+
画面をクリックしてください。`,!1);break;case be.SP:this.registerSystemMessagePage(`ゲームを開始します。
|
|
130
|
+
画面にふれてください。`,!1);break}},g=this.resolveSystemMessage(Ie.CONFIRM_LOAD_SOUND);if(g==="ON"){this._isLoadedSound=!0,d(),this._setLoadingMessage(s,Ge.AUDIO),this.loadSound(),window.requestAnimationFrame(this.soundCheckCaller);return}else if(g==="OFF"){this._isLoadedSound=!1,d(),this.openGameWindow();return}if(this._isSkippedSoundMessage=!1,this._hasTitleImg||s.clearRect(0,0,o.SCREEN_WIDTH,o.SCREEN_HEIGHT),this._usePassword){let A=g;e.displayUserVars&&(A+=`
|
|
131
|
+
|
|
132
|
+
※変数表示が有効になっています。
|
|
133
|
+
公開前に必ずHTMLファイル内の
|
|
134
|
+
data-wwa-display-user-vars="true"
|
|
135
|
+
を消してください。`),this._messageWindow.setMessage(A),this._messageWindow.show(),this._setProgressBar(At(4,4,Ge.GAME_INIT));var w=setInterval(()=>{this._keyStore.update(),this._gamePadStore.update(),this._virtualPadStore.update(),this._yesNoJudgeInNextFrame===ne.UNSELECTED&&(this._keyStore.getKeyState(D.KEY_ENTER)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_Y)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this._yesNoJudgeInNextFrame=ne.YES:(this._keyStore.getKeyState(D.KEY_N)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_ESC)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&(this._yesNoJudgeInNextFrame=ne.NO)),this._yesNoJudgeInNextFrame===ne.YES?(clearInterval(w),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=ne.UNSELECTED,this._yesNoJudgeInNextFrame=ne.UNSELECTED,this._isLoadedSound=!0,this._setLoadingMessage(s,Ge.AUDIO),this.loadSound(),window.requestAnimationFrame(this.soundCheckCaller)},o.YESNO_PRESS_DISP_FRAME_NUM*o.DEFAULT_FRAME_INTERVAL)):this._yesNoJudgeInNextFrame===ne.NO&&(clearInterval(w),this._messageWindow.update(),this._yesNoJudge=this._yesNoJudgeInNextFrame,this._messageWindow.setInputDisable(),setTimeout(()=>{this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=ne.UNSELECTED,this._yesNoJudgeInNextFrame=ne.UNSELECTED,this._isLoadedSound=!1,this.openGameWindow()},o.YESNO_PRESS_DISP_FRAME_NUM*o.DEFAULT_FRAME_INTERVAL))},o.DEFAULT_FRAME_INTERVAL)}else clearInterval(w),this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoJudge=ne.UNSELECTED,this._yesNoJudgeInNextFrame=ne.UNSELECTED,this._isLoadedSound=!0,this.loadSound(),window.requestAnimationFrame(this.soundCheckCaller)}),console.log("WWA_START"),this.wwaCustomEvent("wwa_start");const x=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_WWA_START;if(x)try{this.evalCalcWwaNodeGenerator.evalWwaNode(x)}catch(d){alert(`CALL_WWA_START でエラーが発生しました。
|
|
136
|
+
|
|
137
|
+
詳細:
|
|
138
|
+
${d.message}`),console.error(d.message)}})}setEvalCalcWwaNodeEarnedItem(e,s){this.evalCalcWwaNodeGenerator.setEarnedItem(e,s)}clearEvalCalcWwaNodeEarnedItem(){this.evalCalcWwaNodeGenerator.clearEarnedItem()}callGetItemUserDefineFunction(){const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callGetItemFullUserDefineFunction(){const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GET_ITEM_FULL;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUseItemUserDefineFunction(){const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_USE_ITEM;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callJumpGateUserDefineFunction(){const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_JUMPGATE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callUserDefinedBattleDamageFunction(e,s){const a=this.getUserDefinedDamageFunctionNode(e);if(a){this.evalCalcWwaNodeGenerator.setBattleDamageCalculationMode(s);try{const i=this.evalCalcWwaNodeGenerator.evalWwaNode(a),r=this.evalCalcWwaNodeGenerator.state.battleDamageCalculation.aborted;return this.evalCalcWwaNodeGenerator.clearBattleDamageCalculationMode(),r?{damage:0,aborted:r}:typeof i=="number"?{damage:this.toAssignableValue(i),aborted:r}:(console.warn(`${e} のダメージ計算結果が数値になりませんでした。(結果: ${i})。このターンのダメージは無効になります。`),{damage:0,aborted:r})}catch(i){return console.warn(`${e} のダメージ計算中にエラーが発生しました。このターンのダメージは無効になります。`),console.warn(i),{damage:0,hasError:!0}}}}getUserDefinedDamageFunctionNode(e){const s={playerToEnemy:"CALC_PLAYER_TO_ENEMY_DAMAGE",enemyToPlayer:"CALC_ENEMY_TO_PLAYER_DAMAGE"};return this.userDefinedFunctions?.[s[e]]}callMoveUserDefineFunction(){const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}callCameraMoveUserDefineFunction(){const e=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CAMERA_MOVE;e&&this.evalCalcWwaNodeGenerator.evalWwaNode(e)}getUserScript(e){return this.userDefinedFunctions&&this.userDefinedFunctions[e]||null}setUserScript(e){if(e.kind!=="data"){console.error(e);return}this.convertWwaNodes(e.data).forEach(a=>{if(a.type==="DefinedFunction"&&this.userDefinedFunctions){const i=a.functionName;this.userDefinedFunctions[i]=a.body}})}callUserScript(e){const s=this.getUserScript(e);s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s)}setUserVarStatus(e,s){if(e){if(e.kind==="noFileSpecified"){li(this._dumpElement,e.errorMessage,!1);return}if(e.kind!=="data"){this._userVarNameListRequestError=e,li(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);return}if(!e.data||typeof e.data!="object"){this._userVarNameListRequestError={kind:"notObject",errorMessage:`ユーザ変数一覧 ${s} が正しい形式で書かれていません。`},li(this._dumpElement,this._userVarNameListRequestError.errorMessage,!0);return}this._userVarNameList=this.convertUserVariableNameListToArray(e.data),il(this._dumpElement,this._userVarNameList)}}convertUserVariableNameListToArray(e){const s=new Array(o.USER_VAR_NUM);for(let a=0;a<o.USER_VAR_NUM;a++)s[a]=void 0;return Object.keys(e).forEach(a=>{const i=parseInt(a,10);typeof e[a]!="string"||typeof a!="string"||isNaN(i)||i<0||i>=o.USER_VAR_NUM||(s[i]=e[a])}),s}_setProgressBar(e){this._hasTitleImg&&(e.stage<=o.LOAD_STAGE_MAX_EXCEPT_AUDIO?(O("progress-message-container").textContent=e.stage===o.LOAD_STAGE_MAX_EXCEPT_AUDIO?"World Name: "+this._wwaData.worldName:mo[e.stage],O("progress-bar").style.width=(1*e.stage+e.current/e.total*1)/(o.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*o.MAP_WINDOW_WIDTH+"px",O("progress-disp").textContent=((1*e.stage+e.current/e.total*1)/(o.LOAD_STAGE_MAX_EXCEPT_AUDIO+1)*100).toFixed(2)+"%"):(this._usePassword?O("progress-message-container").textContent="効果音/BGMを読み込んでいます。(スペースキーでスキップ)":O("progress-message-container").textContent="ゲームデータを読み込んでいます。",O("progress-bar-audio").style.width=e.current*o.MAP_WINDOW_WIDTH/e.total+"px",O("progress-disp").textContent=(e.current/e.total*100).toFixed(2)+"%"))}_setLoadingMessage(e,s){if(!this._hasTitleImg)if(s<=0)e.font=kt.TITLE+"px "+o.LOADING_FONT,e.fillText(Ft[0],oe.TITLE_X,oe.TITLE_Y),e.font=kt.FOOTER+"px "+o.LOADING_FONT,e.fillText("WWA Wing Ver.4.0.2",oe.FOOTER_X,oe.COPYRIGHT_Y);else if(s<=Ft.length)e.font=kt.LOADING+"px "+o.LOADING_FONT,s>=2&&(e.clearRect(oe.LOADING_X,oe.LOADING_Y+oe.LINE*(s-3),o.SCREEN_WIDTH-oe.LOADING_X,oe.LINE),e.fillText(Ft[s-1]+" Complete!",oe.LOADING_X,oe.LOADING_Y+oe.LINE*(s-2))),s<Ft.length&&e.fillText(Ft[s],oe.LOADING_X,oe.LOADING_Y+oe.LINE*(s-1)),s==1&&(e.font=kt.FOOTER+"px "+o.LOADING_FONT,e.fillText("World Name "+this._wwaData.worldName,oe.FOOTER_X,oe.WORLD_Y),e.fillText(" (Map data Ver. "+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10+")",oe.FOOTER_X,oe.WORLD_Y+oe.LINE));else{var a;this._isSkippedSoundMessage?a=oe.LOADING_Y+oe.LINE*(Ft.length-1):a=oe.FOOTER_Y,s<=Ge.AUDIO?e.fillText("Now Sound data Loading .....",oe.LOADING_X,a):(e.clearRect(oe.LOADING_X,a-oe.LINE,o.SCREEN_WIDTH-oe.LOADING_X,oe.LINE),e.fillText("Now Sound data Loading ..... Complete!",oe.LOADING_X,a))}}_setErrorMessage(e,s){if(this._hasTitleImg)alert(e);else{s.clearRect(0,0,o.SCREEN_WIDTH,o.SCREEN_HEIGHT),s.font=kt.ERRROR+"px "+o.LOADING_FONT;var a=e.split(`
|
|
139
|
+
`);a.forEach(function(i,r){s.fillText(i,oe.ERROR_X,oe.ERROR_Y+oe.LINE*r)})}}createSoundInstance(e){if(e===0||e===de.NO_SOUND||this.sounds[e])return;const s=`${this._audioDirectory}${e}.${this.audioExtension}`;this.sounds[e]=new Ic(e,s,this.audioContext,this.audioGain)}loadSound(){this.sounds=new Array(o.SOUND_MAX+1),this.createSoundInstance(de.DECISION),this.createSoundInstance(de.ATTACK);for(let e=1;e<this._wwaData.mapPartsMax;e++){const s=this._wwaData.mapAttribute[e][o.ATR_SOUND];this.createSoundInstance(s)}for(let e=1;e<this._wwaData.objPartsMax;e++){if(this._wwaData.objectAttribute[e][o.ATR_TYPE]===o.OBJECT_RANDOM)continue;const s=this._wwaData.objectAttribute[e][o.ATR_SOUND];this.createSoundInstance(s)}this._wwaData.message.forEach(e=>e.split(`
|
|
140
|
+
`).forEach(s=>{const a=s.match(/^\$sound=(\d+)/);if(!a||a.length<2)return;const i=parseInt(a[1],10);!isNaN(i)&&0<i&&i<de.NO_SOUND&&this.createSoundInstance(i)})),this._wwaData.bgm=0,this._soundLoadSkipFlag=!1}checkAllSoundLoaded(){let e=0,s=0;if(!this._hasTitleImg)var a=this._cvsCover.getContext("2d");this._keyStore.update(),this._keyStore.getKeyState(D.KEY_SPACE)===q.KEYDOWN&&(this._soundLoadSkipFlag=!0);for(let i=1;i<=o.SOUND_MAX;i++){const r=this.sounds[i];r===void 0||r.isError()||(s++,r.hasData()&&e++)}if(e<s&&!this._soundLoadSkipFlag){this._setProgressBar(At(e,s,Ge.AUDIO)),window.requestAnimationFrame(this.soundCheckCaller);return}this._setProgressBar(At(o.SOUND_MAX,o.SOUND_MAX,Ge.AUDIO)),this._setLoadingMessage(a,Ge.FINISH),this.openGameWindow()}_setSoundLoadedCheckTimer(e){const s=this.sounds[e];s.isError()||(this.soundLoadedCheckTimer=window.setInterval(()=>{this._wwaData.bgm===e?s.hasData()?(s.play(this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=e,this._clearSoundLoadedCheckTimer()):s.isError()&&this._clearSoundLoadedCheckTimer():this._clearSoundLoadedCheckTimer()},100))}_clearSoundLoadedCheckTimer(){this.soundLoadedCheckTimer&&(clearInterval(this.soundLoadedCheckTimer),this.soundLoadedCheckTimer=void 0)}playSound(e,s){if(!this._isLoadedSound){e===de.NO_SOUND?this._wwaData.bgm=0:e>=de.BGM_LB&&(this._wwaData.bgm=e);return}if(e<0||e>=o.SOUND_MAX){console.warn("サウンド番号が範囲外です。");return}if(e>=de.BGM_LB&&this._wwaData.bgm===e||((e===de.NO_SOUND||e>=de.BGM_LB)&&this._wwaData.bgm!==0&&(this.sounds[this._wwaData.bgm].isPlaying()&&this.sounds[this._wwaData.bgm].pause(),this._wwaData.bgm=0),e===0||e===de.NO_SOUND))return;this.sounds[e].hasData()?e>=de.BGM_LB?(this.sounds[e].play(s??this._wwaData.bgmDelayDurationMs),this._wwaData.bgm=e):this.sounds[e].play():e>=de.BGM_LB&&(this._wwaData.bgm=e,this._setSoundLoadedCheckTimer(e))}openGameWindow(){var e=this._player.getPosition();O("wwa-cover").style.opacity="0",this.getObjectIdByPosition(e)!==0&&this._player.setPartsAppearedFlag();var s=O("wwa-wrapper").getAttribute("data-wwa-resume-savedata");if(typeof s=="string"&&(this._useSuspend=!0,s)){var a=st.getStartWWAData(s);this._restartData!==a&&(this._applyQuickLoad(a),this._wwaSave.resumeStart())}setTimeout(()=>{O("wwa-wrapper").removeChild(O("wwa-cover")),this._main()},o.SPLASH_SCREEN_DISP_MILLS)}onselectitem(e){if(this._player.canUseItem(e)){var s=O("item"+(e-1));s.classList.add("onpress"),this.playSound(de.DECISION);const r=this.resolveSystemMessage(Ie.CONFIRM_USE_ITEM);if(r==="BLANK"){this._player.readyToUseItem(e);var a=this._player.useItem(),i=this.getObjectAttributeById(a,o.ATR_STRING);this.registerPageByMessage(this.getMessageById(i),{showChoice:!1,isSystemMessage:!1,triggerParts:{id:a,type:W.OBJECT,position:this._player.getPosition().getPartsCoord()}})}else this.registerPageByMessage(r,{showChoice:!0,isSystemMessage:!0}),this._yesNoChoiceCallInfo=H.CALL_BY_ITEM_USE,this._yesNoUseItemPos=e;return!0}return!1}onselectbutton(e,s=!1,a=!1){var i=O(ue[e]);if(this.playSound(de.DECISION),this._itemMenu.close(),i.classList.add("onpress"),e===se.QUICK_LOAD)switch(this._yesNoChoiceCallInfo=this._wwaSave.getFirstSaveChoiceCallInfo(s),this._yesNoChoiceCallInfo){case H.CALL_BY_QUICK_LOAD:case H.CALL_BY_LOG_QUICK_LOAD:var r,n="";switch(this._yesNoChoiceCallInfo){case H.CALL_BY_QUICK_LOAD:n="読み込むデータを選んでください。",this._wwaSave.selectDBSaveDataList();break;case H.CALL_BY_LOG_QUICK_LOAD:n="読み込むオートセーブを選んでください。",this._wwaSave.selectLogSaveDataList();break}switch(r=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._messageWindow.createSaveDom(),r){case H.CALL_BY_LOG_QUICK_LOAD:this.registerSystemMessagePage(n+`
|
|
141
|
+
→Noでオートセーブ復帰画面に移ります。`,!0);break;case H.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(n+`
|
|
142
|
+
→Noでデータ復帰用パスワードの
|
|
143
|
+
入力選択ができます。`,!0);break;case H.NONE:this.registerSystemMessagePage(n,!0);break}break;case H.CALL_BY_PASSWORD_LOAD:this.onpasswordloadcalled();break}else if(e===se.QUICK_SAVE)this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
|
|
144
|
+
使用できません。`):(this._wwaSave.selectDBSaveDataList(),this._messageWindow.createSaveDom(),this._usePassword?(this.registerSystemMessagePage(`データの一時保存先を選んでください。
|
|
145
|
+
→Noでデータ復帰用パスワードの
|
|
146
|
+
表示選択ができます。`,!0),this._yesNoChoiceCallInfo=H.CALL_BY_QUICK_SAVE):(this.registerSystemMessagePage("データの一時保存先を選んでください。",!0),this._yesNoChoiceCallInfo=H.CALL_BY_QUICK_SAVE));else if(e===se.RESTART_GAME)this.registerSystemMessagePage("初めからスタートしなおしますか?",!0),this._yesNoChoiceCallInfo=H.CALL_BY_RESTART_GAME;else if(e===se.GOTO_WWA)if(a)this._bottomButtonType!==Ye.GOTO_WWA&&O(ue[se.GOTO_WWA]).classList.remove("onpress"),this.registerSystemMessagePage("WWAの公式サイトを開きますか?",!0),this._yesNoChoiceCallInfo=H.CALL_BY_GOTO_WWA;else switch(this._bottomButtonType){case Ye.GOTO_WWA:this._yesNoChoiceCallInfo=H.CALL_BY_GOTO_WWA,this.registerSystemMessagePage("WWAの公式サイトを開きますか?",!0);break;case Ye.GAME_END:this._yesNoChoiceCallInfo=H.CALL_BY_END_GAME,this.registerSystemMessagePage("WWAゲームを終了しますか?",!0);break;case Ye.BATTLE_REPORT:this.launchBattleEstimateWindow();break}}onpasswordloadcalled(){if(this._usePassword){var e=O(ue[se.QUICK_LOAD]);e.classList.add("onpress"),this.registerSystemMessagePage("データ復帰用のパスワードを入力しますか?",!0),this._yesNoChoiceCallInfo=H.CALL_BY_PASSWORD_LOAD}else this.registerSystemMessagePage("セーブデータがありません。")}onpasswordsavecalled(){var e=O(ue[se.QUICK_SAVE]);e.classList.add("onpress"),this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
|
|
147
|
+
使用できません。`):this._useSuspend?(this.registerSystemMessagePage("ゲームを中断しますか?",!0),this._yesNoChoiceCallInfo=H.CALL_BY_SUSPEND):this._usePassword&&(this.registerSystemMessagePage("データ復帰用のパスワードを表示しますか?",!0),this._yesNoChoiceCallInfo=H.CALL_BY_PASSWORD_SAVE)}onpasssuspendsavecalled(){var e=O(ue[se.QUICK_SAVE]);e.classList.add("onpress"),this._wwaData.disableSaveFlag?this.registerSystemMessagePage(`ここではセーブ機能は
|
|
148
|
+
使用できません。`):(this.registerSystemMessagePage("ゲームを中断しますか?",!0),this._yesNoChoiceCallInfo=H.CALL_BY_SUSPEND)}onitemmenucalled(){this.registerSystemMessagePage("右のメニューを選択してください。"),this._messageWindow.setItemMenuChoice(!0),this.playSound(de.DECISION),this._itemMenu.openView()}onchangespeed(e){if(!this._wwaData.permitChangeGameSpeed){this.registerSystemMessagePageByKey(Ie.GAME_SPEED_CHANGE_DISABLED);return}switch(e){case Xt.UP:this._player.speedUp();break;case Xt.DOWN:this._player.speedDown();break}const s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_CHANGE_SPEED;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s),this.registerSystemMessagePageByKey(Ie.GAME_SPEED_CHANGED)}isBattleSpeedIndexForQuickBattle(e){return o.QUICK_BATTLE_SPEED_INDECIES.some(s=>s===e)}_main(){this._temporaryInputDisable=!1,this._stopUpdateByLoadFlag=!1,this._keyStore.update(),this._mouseStore.update(),this._virtualPadStore.update(),this._gamePadStore.update();const e=this._reservedPartsAppearances.length>0;if(this._reservedPartsAppearances.forEach(c=>this.appearParts(c)),this._reservedPartsAppearances=[],this._waitFrame-- >0){e&&this._drawAll(),window.requestAnimationFrame(this.mainCaller);return}if(this._waitFrame=0,this._yesNoJudgeInNextFrame!==void 0&&(this._yesNoJudge=this._yesNoJudgeInNextFrame,this._yesNoJudgeInNextFrame=void 0),this._clearFacesInNextFrame&&(this.clearFaces(),this._clearFacesInNextFrame=!1),this._pageExecuting=!0,this._pages.length>0&&this._shouldSetNextPage)for(this._shouldSetNextPage=!1;this._pages.length>0;){const c=this._pages.shift(),l=Ma.executeNodes(c.firstNode,c.triggerParts);if(l.isError===!0){this._isLastPage=!1;break}this._reservedMoveMacroTurn!==void 0&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0);const f=l.messages.filter(m=>!m.isEmpty()),_=!!c.scoreOption;if(_&&f.length===0&&f.push(this._createSimpleMessage("スコアを表示します。",c.triggerParts)),c.additionalItems&&c.additionalItems.forEach(m=>{switch(m.type){case"face":this.addFace(m.data.face)}}),f.length>0){const m=f.map(v=>v.generatePrintableMessage()).join(`
|
|
149
|
+
`);this._messageWindow.setMessage(m),this._messageWindow.setYesNoChoice(c.showChoice),this._messageWindow.setPositionByPlayerPosition(this._faces.length!==0,_,c.isSystemMessage,this._player.getPosition(),this._camera.getPosition()),_&&(this._lastScoreOptions=c.scoreOption,this.updateScore(c.scoreOption),this._scoreWindow.show()),this._player.setMessageWaiting(),this._isLastPage=c.isLastPage,this._shouldSetNextPage=!1;break}if(this._pages.length===0){if(this._hideMessageWindow().newPageGenerated||this._dispatchWindowClosedTimeRequests().newPageGenerated)continue;this.clearFaces();break}}if(this._pageExecuting=!1,this._reservedJumpDestination&&(this._player.jumpTo(this._reservedJumpDestination),this._reservedJumpDestination=void 0),this._player.mainFrameCount(),this._player.isControllable()){if(this._wwaData.disableSaveFlag||this._wwaSave.isAutoSaveFrame(this._player)&&this._quickSave(H.CALL_BY_LOG_QUICK_SAVE),this._player.isDelayFrame())this._player.updateDelayFrame();else{const c=this._player.getDir(),f=[NaN,NaN,D.KEY_DOWN,NaN,D.KEY_LEFT,NaN,D.KEY_RIGHT,NaN,D.KEY_UP,NaN][c];this._actionGamePadButtonItemMacro()||(this._keyStore.getKeyStateForControllPlayer(D.KEY_LEFT)===q.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(N.LEFT):(this._player.controll(N.LEFT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(D.KEY_UP)===q.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(N.UP):(this._player.controll(N.UP),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(D.KEY_RIGHT)===q.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(N.RIGHT):(this._player.controll(N.RIGHT),this._objectMovingDataManager.update()):this._keyStore.getKeyStateForControllPlayer(D.KEY_DOWN)===q.KEYDOWN?this._checkTurnKeyPressed()?this._player.setDir(N.DOWN):(this._player.controll(N.DOWN),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(N.LEFT)===mt.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.LEFT):(this._player.controll(N.LEFT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(N.UP)===mt.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.UP):(this._player.controll(N.UP),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(N.RIGHT)===mt.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.RIGHT):(this._player.controll(N.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.getMouseStateForControllPlayer(N.DOWN)===mt.MOUSEDOWN?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.DOWN):(this._player.controll(N.DOWN),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(f)?this._checkTurnKeyPressed()?this._player.setDir(c):(this._player.controll(c),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(D.KEY_LEFT)?this._checkTurnKeyPressed()?this._player.setDir(N.LEFT):(this._player.controll(N.LEFT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(D.KEY_UP)?this._checkTurnKeyPressed()?this._player.setDir(N.UP):(this._player.controll(N.UP),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(D.KEY_RIGHT)?this._checkTurnKeyPressed()?this._player.setDir(N.RIGHT):(this._player.controll(N.RIGHT),this._objectMovingDataManager.update()):this._keyStore.checkHitKey(D.KEY_DOWN)?this._checkTurnKeyPressed()?this._player.setDir(N.DOWN):(this._player.controll(N.DOWN),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(N.LEFT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.LEFT):(this._player.controll(N.LEFT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(N.UP)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.UP):(this._player.controll(N.UP),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(N.RIGHT)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.RIGHT):(this._player.controll(N.RIGHT),this._objectMovingDataManager.update()):this._mouseStore.checkClickMouse(N.DOWN)?this._mouseStore.touchIDIsSetDir()?this._player.setDir(N.DOWN):(this._player.controll(N.DOWN),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_LEFT)?this._gamePadStore.buttonPressed(J.BUTTON_INDEX_B)?this._player.setDir(N.LEFT):(this._player.controll(N.LEFT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_UP)?this._gamePadStore.buttonPressed(J.BUTTON_INDEX_B)?this._player.setDir(N.UP):(this._player.controll(N.UP),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_RIGHT)?this._gamePadStore.buttonPressed(J.BUTTON_INDEX_B)?this._player.setDir(N.RIGHT):(this._player.controll(N.RIGHT),this._objectMovingDataManager.update()):this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_DOWN)?this._gamePadStore.buttonPressed(J.BUTTON_INDEX_B)?this._player.setDir(N.DOWN):(this._player.controll(N.DOWN),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_LEFT")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(N.LEFT):(this._player.controll(N.LEFT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_UP")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(N.UP):(this._player.controll(N.UP),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_RIGHT")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(N.RIGHT):(this._player.controll(N.RIGHT),this._objectMovingDataManager.update()):this._virtualPadStore.checkTouchingButton("BUTTON_DOWN")?this._virtualPadStore.checkTouchingButton("BUTTON_ESC")?this._player.setDir(N.DOWN):(this._player.controll(N.DOWN),this._objectMovingDataManager.update()):this._keyStore.getKeyState(D.KEY_1)===q.KEYDOWN?this.onselectitem(1):this._keyStore.getKeyState(D.KEY_2)===q.KEYDOWN?this.onselectitem(2):this._keyStore.getKeyState(D.KEY_3)===q.KEYDOWN?this.onselectitem(3):this._keyStore.getKeyState(D.KEY_Q)===q.KEYDOWN?this.onselectitem(4):this._keyStore.getKeyState(D.KEY_W)===q.KEYDOWN?this.onselectitem(5):this._keyStore.getKeyState(D.KEY_E)===q.KEYDOWN?this.onselectitem(6):this._keyStore.getKeyState(D.KEY_A)===q.KEYDOWN?this.onselectitem(7):this._keyStore.getKeyState(D.KEY_S)===q.KEYDOWN?this.onselectitem(8):this._keyStore.getKeyState(D.KEY_D)===q.KEYDOWN?this.onselectitem(9):this._keyStore.getKeyState(D.KEY_Z)===q.KEYDOWN?this.onselectitem(10):this._keyStore.getKeyState(D.KEY_X)===q.KEYDOWN?this.onselectitem(11):this._keyStore.getKeyState(D.KEY_C)===q.KEYDOWN?this.onselectitem(12):this._keyStore.getKeyState(D.KEY_I)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_MINUS)||this._virtualPadStore.checkTouchButton("BUTTON_SLOW")?this.onchangespeed(Xt.DOWN):this._keyStore.getKeyState(D.KEY_P)===q.KEYDOWN||this._keyStore.checkHitKey(D.KEY_F2)||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_PLUS)||this._virtualPadStore.checkTouchButton("BUTTON_FAST")?this.onchangespeed(Xt.UP):this._keyStore.getKeyState(D.KEY_F1)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_M)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this.launchBattleEstimateWindow():this._keyStore.checkHitKey(D.KEY_F3)?(this.playSound(de.DECISION),this.onselectbutton(se.QUICK_LOAD,!0)):this._keyStore.checkHitKey(D.KEY_F4)?(this.playSound(de.DECISION),this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled()):this._keyStore.checkHitKey(D.KEY_F5)||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A,J.BUTTON_INDEX_ZR)?this.onselectbutton(se.QUICK_LOAD):this._keyStore.checkHitKey(D.KEY_F6)||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A,J.BUTTON_INDEX_ZL)?this.onselectbutton(se.QUICK_SAVE):this._keyStore.checkHitKey(D.KEY_F7)||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A,J.BUTTON_INDEX_R)?this.onselectbutton(se.RESTART_GAME):this._keyStore.checkHitKey(D.KEY_F8)?this.onselectbutton(se.GOTO_WWA,!1,!0):this._keyStore.checkHitKey(D.KEY_F9)||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_X)||this._virtualPadStore.checkTouchButton("BUTTON_ESC")?(this._player.isControllable()||this._messageWindow.isItemMenuChoice())&&this.onitemmenucalled():this._keyStore.checkHitKey(D.KEY_V)?this._displayUserVars():this._keyStore.checkHitKey(D.KEY_X)?this._debugConsoleElement&&this._debugEvalString():(this._keyStore.checkHitKey(D.KEY_F12)||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_Y))&&this._displayHelp()),[{key:D.KEY_A,func:"CALL_PUSH_A"},{key:D.KEY_B,func:"CALL_PUSH_B"},{key:D.KEY_C,func:"CALL_PUSH_C"},{key:D.KEY_D,func:"CALL_PUSH_D"},{key:D.KEY_E,func:"CALL_PUSH_E"},{key:D.KEY_F,func:"CALL_PUSH_F"},{key:D.KEY_G,func:"CALL_PUSH_G"},{key:D.KEY_H,func:"CALL_PUSH_H"},{key:D.KEY_I,func:"CALL_PUSH_I"},{key:D.KEY_J,func:"CALL_PUSH_J"},{key:D.KEY_K,func:"CALL_PUSH_K"},{key:D.KEY_L,func:"CALL_PUSH_L"},{key:D.KEY_M,func:"CALL_PUSH_M"},{key:D.KEY_N,func:"CALL_PUSH_N"},{key:D.KEY_O,func:"CALL_PUSH_O"},{key:D.KEY_P,func:"CALL_PUSH_P"},{key:D.KEY_Q,func:"CALL_PUSH_Q"},{key:D.KEY_R,func:"CALL_PUSH_R"},{key:D.KEY_S,func:"CALL_PUSH_S"},{key:D.KEY_T,func:"CALL_PUSH_T"},{key:D.KEY_U,func:"CALL_PUSH_U"},{key:D.KEY_V,func:"CALL_PUSH_V"},{key:D.KEY_W,func:"CALL_PUSH_W"},{key:D.KEY_X,func:"CALL_PUSH_X"},{key:D.KEY_Y,func:"CALL_PUSH_Y"},{key:D.KEY_Z,func:"CALL_PUSH_Z"},{key:D.KEY_ENTER,func:"CALL_PUSH_ENTER"},{key:D.KEY_ESC,func:"CALL_PUSH_ESC"},{key:D.KEY_SPACE,func:"CALL_PUSH_SPACE"},{key:D.KEY_LEFT,func:"CALL_PUSH_LEFT"},{key:D.KEY_RIGHT,func:"CALL_PUSH_RIGHT"},{key:D.KEY_UP,func:"CALL_PUSH_UP"},{key:D.KEY_DOWN,func:"CALL_PUSH_DOWN"}].forEach(p=>{if(this._keyStore.checkHitKey(p.key)){const m=this.userDefinedFunctions&&this.userDefinedFunctions[p.func];m&&this.evalCalcWwaNodeGenerator.evalWwaNode(m)}})}this._keyStore.memorizeKeyStateOnControllableFrame(),this._mouseStore.memorizeMouseStateOnControllableFrame()}else if(this._player.isJumped())this._camera.isResetting()||this._player.processAfterJump();else if(this._player.isMoving())this._player.move(),this._objectMovingDataManager.update(),this._player.getPosition().isJustPosition()&&this._dispatchPlayerAndObjectsStopTimeRequests();else if(this._player.isWaitingMessage()){if(this._messageWindow.isVisible()||this._messageWindow.show(),this._messageWindow.isYesNoChoice())this._messageWindow.isSaveChoice()&&(this._messageWindow.saveUpdate(),this._messageWindow.isSaveClose()||(this._keyStore.checkHitKey(D.KEY_LEFT)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchButton("BUTTON_LEFT")?this._messageWindow.saveControll(N.LEFT):this._keyStore.checkHitKey(D.KEY_UP)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchButton("BUTTON_UP")?this._messageWindow.saveControll(N.UP):this._keyStore.checkHitKey(D.KEY_RIGHT)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchButton("BUTTON_RIGHT")?this._messageWindow.saveControll(N.RIGHT):(this._keyStore.checkHitKey(D.KEY_DOWN)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchButton("BUTTON_DOWN"))&&this._messageWindow.saveControll(N.DOWN))),this._messageWindow.isInputDisable()||(this._yesNoJudge===ne.UNSELECTED&&(this._keyStore.getKeyState(D.KEY_ENTER)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_Y)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")?this._yesNoJudge=ne.YES:(this._keyStore.getKeyState(D.KEY_N)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_ESC)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&(this._yesNoJudge=ne.NO)),this._yesNoJudge===ne.YES?(this.playSound(de.DECISION),this._yesNoDispCounter=o.YESNO_PRESS_DISP_FRAME_NUM,this._messageWindow.setInputDisable(),this._messageWindow.update()):this._yesNoJudge===ne.NO&&(this.playSound(de.DECISION),this._yesNoDispCounter=o.YESNO_PRESS_DISP_FRAME_NUM,this._messageWindow.setInputDisable(),this._messageWindow.update()));else if(this._messageWindow.isItemMenuChoice()){if(this._itemMenu.update(),this._keyStore.checkHitKey(D.KEY_LEFT)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_LEFT)||this._virtualPadStore.checkTouchingButton("BUTTON_LEFT")?this._itemMenu.controll(N.LEFT):this._keyStore.checkHitKey(D.KEY_UP)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_UP)||this._virtualPadStore.checkTouchingButton("BUTTON_UP")?this._itemMenu.controll(N.UP):this._keyStore.checkHitKey(D.KEY_RIGHT)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_RIGHT)||this._virtualPadStore.checkTouchingButton("BUTTON_RIGHT")?this._itemMenu.controll(N.RIGHT):(this._keyStore.checkHitKey(D.KEY_DOWN)||this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_DOWN)||this._virtualPadStore.checkTouchingButton("BUTTON_DOWN"))&&this._itemMenu.controll(N.DOWN),this._keyStore.getKeyState(D.KEY_ENTER)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_Y)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER"))this._setNextPage(),this._messageWindow.setItemMenuChoice(!1),this._itemMenu.ok();else if(this._mouseStore.checkClickMouse(N.LEFT)||this._mouseStore.checkClickMouse(N.UP)||this._mouseStore.checkClickMouse(N.RIGHT)||this._mouseStore.checkClickMouse(N.DOWN)||this._keyStore.getKeyState(D.KEY_N)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_ESC)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ESC")){for(var s=0;s<ue.length;s++){var a=O(ue[s]);a.classList.contains("onpress")&&a.classList.remove("onpress")}this._itemMenu.ng(),this._setNextPage(),this.playSound(de.DECISION),this._messageWindow.setItemMenuChoice(!1)}}else{var i=this._keyStore.getKeyStateForMessageCheck(D.KEY_ENTER),r=this._keyStore.getKeyStateForMessageCheck(D.KEY_SPACE),n=this._keyStore.getKeyStateForMessageCheck(D.KEY_ESC);if(i===q.KEYDOWN||i===q.KEYPRESS_MESSAGECHANGE||r===q.KEYDOWN||r===q.KEYPRESS_MESSAGECHANGE||n===q.KEYDOWN||n===q.KEYPRESS_MESSAGECHANGE||this._mouseStore.getMouseState()===mt.MOUSEDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A,J.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")||this._virtualPadStore.checkTouchButton("BUTTON_ESC")){for(var s=0;s<ue.length;s++){var a=O(ue[s]);a.classList.contains("onpress")&&a.classList.remove("onpress")}this._setNextPage()}}if(this._inlineUserVarViewer?.isVisible){const c=this._inlineUserVarViewer.kind;let l=!1;const f=c==="named"?this._userVar.named.size:o.USER_VAR_NUM;this._keyStore.getKeyState(D.KEY_DOWN)===q.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[c]++,l=!0),this._keyStore.getKeyState(D.KEY_UP)===q.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[c]--,l=!0),this._keyStore.getKeyState(D.KEY_RIGHT)===q.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[c]+=o.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,l=!0),this._keyStore.getKeyState(D.KEY_LEFT)===q.KEYDOWN&&(this._inlineUserVarViewer.topUserVarIndex[c]-=o.INLINE_USER_VAR_VIEWER_DISPLAY_NUM,l=!0),this._keyStore.getKeyState(D.KEY_V)===q.KEYDOWN&&(this._inlineUserVarViewer.kind==="named"?this._inlineUserVarViewer.kind="numbered":this._inlineUserVarViewer.kind==="numbered"&&(this._inlineUserVarViewer.kind="named"),l=!0),this._inlineUserVarViewer.topUserVarIndex[c]<0&&(this._inlineUserVarViewer.topUserVarIndex[c]+=f),this._inlineUserVarViewer.topUserVarIndex[c]>f&&(this._inlineUserVarViewer.topUserVarIndex[c]-=f),l&&(this._setNextPage(),this._inlineUserVarViewer.isVisible=!0,this._displayUserVars())}}else this._player.isWaitingEstimateWindow()?(this._keyStore.getKeyState(D.KEY_ENTER)===q.KEYDOWN||this._keyStore.getKeyState(D.KEY_SPACE)===q.KEYDOWN||this._gamePadStore.buttonTrigger(J.BUTTON_INDEX_A,J.BUTTON_INDEX_B)||this._virtualPadStore.checkTouchButton("BUTTON_ENTER")||this._virtualPadStore.checkTouchButton("BUTTON_ESC"))&&this.hideBattleEstimateWindow():this._player.isFighting()?(this._player.fight(),this._monsterWindow.update(this._monster)):this._player.isWaitingMoveMacro()&&(this._player.isMoveObjectAutoExecTime()&&(this.moveObjects(!1),this._player.resetMoveObjectAutoExecTimer()),this._objectMovingDataManager.update());if(this.updatePicturesAnimation(),this._cgManager.picture.updateFrameTimerValue(),this._prevFrameEventExected=!1,this._player.getPosition().isJustPosition()&&this._camera.getPosition().isScreenTopPosition()){if(!this._shouldTreatWillMessageDisplay(this._pages)&&!this._player.isPausing()){this._player.isPartsAppearedTime()&&this._player.clearPartsAppearedFlag(),this._replaceRandomObjectsInScreen();var h=this.checkMap();h||this.checkObject(),this._prevFrameEventExected=h}this._player.isWaitingMessage()&&this._messageWindow.isYesNoChoice()&&this._yesNoJudge!==ne.UNSELECTED&&!this._player.isWaitingMoveMacro()&&!this._player.isFighting()&&this._execChoiceWindowRunningEvent()}this._passwordLoadExecInNextFrame&&(this._stopUpdateByLoadFlag=!0,this._loadType=Dt.PASSWORD,this._player.clearPasswordWindowWaiting(),this._passwordLoadExecInNextFrame=!1),this._drawAll(),this._mainCallCounter++,this._mainCallCounter%=1e9,(!this._player.isWaitingMessage()||!this._isClassicModeEnable)&&(this._animationCounter=(this._animationCounter+1)%(o.ANIMATION_REP_HALF_FRAME*2),(this._animationCounter===0||this._animationCounter===o.ANIMATION_REP_HALF_FRAME+1)&&this.updateAllPicturesCache()),this._camera.isResetting()&&this._camera.advanceTransitionStepNum(),this._player.isWaitingMessage()||(this._player.decrementLookingAroundTimer(),this._statusPressCounter.energy>0&&--this._statusPressCounter.energy===0&&O("disp-energy").classList.remove("onpress"),this._statusPressCounter.strength>0&&--this._statusPressCounter.strength===0&&O("disp-strength").classList.remove("onpress"),this._statusPressCounter.defence>0&&--this._statusPressCounter.defence===0&&O("disp-defence").classList.remove("onpress"),this._statusPressCounter.gold>0&&--this._statusPressCounter.gold===0&&O("disp-gold").classList.remove("onpress")),this._player.isWaitingMoveMacro()&&(this._player.decrementMoveObjectAutoExecTimer(),this._player.isWaitingMoveMacro()||this._dispatchPlayerAndObjectsStopTimeRequests()),this._stopUpdateByLoadFlag?this._fadeout(()=>{if(this._loadType===Dt.QUICK_LOAD){this._quickLoad(),this.wwaCustomEvent("wwa_quickload");const c=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_QUICKLOAD;c&&this.evalCalcWwaNodeGenerator.evalWwaNode(c)}else if(this._loadType===Dt.RESTART_GAME){this.restartGame(),this.wwaCustomEvent("wwa_restert");const c=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_RESTART;c&&this.evalCalcWwaNodeGenerator.evalWwaNode(c)}else if(this._loadType===Dt.PASSWORD){this._applyQuickLoad(this._passwordSaveExtractData),this._passwordSaveExtractData=void 0,this.wwaCustomEvent("wwa_passwordload");const c=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_PASSWORDLOAD;c&&this.evalCalcWwaNodeGenerator.evalWwaNode(c)}setTimeout(this.mainCaller,o.DEFAULT_FRAME_INTERVAL,this)}):window.requestAnimationFrame(this.mainCaller),hl({dumpElement:this._dumpElement,userVar:this._userVar.numbered,namedUserVar:this._userVar.named});const u=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_FRAME;u&&this.evalCalcWwaNodeGenerator.evalWwaNode(u)}vibration(e){this._gamePadStore.vibration(e)}_isMainAnimation(){return this._animationCounter>o.ANIMATION_REP_HALF_FRAME}_drawAll(){var e=this._camera.getPosition().getPartsCoord(),s=this._camera.getPosition().getOffsetCoord(),a=o.MAP_WINDOW_HEIGHT,i,r,n=this._player.getPosition().getPartsCoord();if(this._paintSkipByDoorOpen){this._paintSkipByDoorOpen=!1;return}if(this._cgManager.clearCanvas(0,0,o.MAP_WINDOW_WIDTH,o.MAP_WINDOW_HEIGHT),this._cgManager.drawBase(0,0,o.MAP_WINDOW_WIDTH,o.MAP_WINDOW_HEIGHT),this._camera.isResetting()){if(this._camera.getPreviousPosition()!==null)var h=this._camera.getPreviousPosition().getPartsCoord(),u=this._camera.getPreviousPosition().getOffsetCoord();a=this._camera.getTransitionStepNum()*o.CHIP_SIZE}var c=!1;if(a!==this._cgManager.mapCacheYLimit&&(this._cgManager.mapCacheYLimit=a,c=!0),(e.x!==this._cgManager.cpPartsLog.x||e.y!==this._cgManager.cpPartsLog.y)&&(this._cgManager.cpPartsLog.x=e.x,this._cgManager.cpPartsLog.y=e.y,c=!0),c&&(this._cgManager.clearBackCanvas(),this._cgManager.clearObjectCanvases()),this._camera.isResetting()&&(this._drawMap(h,u,a,!0),this._drawPlayer(h,u,a,!0),this._drawObjects(h,u,a,!0),this._camera.isFinalStep()))var l=255,f=setInterval(()=>{var _=O("wwa-fader");if(l-=o.FADEOUT_SPEED*3,l<=0){clearInterval(f),_.style.backgroundColor="transparent",_.removeAttribute("style"),_.style.display="none";return}_.style.opacity=l/255+""},20);this._drawMap(e,s,a,!1,c),this._drawPlayer(e,s,a),this._drawObjects(e,s,a,!1,c),this._player.isFighting()&&!this._player.isBattleStartFrame()&&(i=this._player.isTurn()?this._monster.position.x:n.x,r=this._player.isTurn()?this._monster.position.y:n.y,this._cgManager.drawCanvas(this._battleEffectCoord.x,this._battleEffectCoord.y,o.CHIP_SIZE*(i-e.x)-s.x,o.CHIP_SIZE*(r-e.y)-s.y)),this._drawEffect(),this._drawPictures(),this._drawFaces(),this._drawFrame()}_drawMap(e,s,a,i=!1,r=!1){if(e!==void 0){var n=Math.max(0,e.x-1),h=Math.min(this._wwaData.mapWidth-1,e.x+o.H_PARTS_NUM_IN_WINDOW),u=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+o.V_PARTS_NUM_IN_WINDOW),l;if(l=0,i)for(var f=n;f<=h;f++)for(var _=u;_<=c;_++){var p=this._wwaData.map[_][f],m=this._wwaData.mapAttribute[p][o.ATR_X]/o.CHIP_SIZE,v=this._wwaData.mapAttribute[p][o.ATR_Y]/o.CHIP_SIZE,x=o.CHIP_SIZE*(f-e.x)-s.x,d=o.CHIP_SIZE*(_-e.y)-s.y;this._cgManager.copyBackCanvasWithLowerYLimit(m,v,x,d,a)}else{for(var f=n;f<=h;f++)for(var _=u;_<=c;_++){var p=this._wwaData.map[_][f];this._cgManager.mapCache[l]!==p&&(this._cgManager.mapCache[l]=p,r=!0),l++}if(r){this._cgManager.clearBackCanvasWithLowerYLimit(a);for(var f=n;f<=h;f++)for(var _=u;_<=c;_++){var p=this._wwaData.map[_][f],m=this._wwaData.mapAttribute[p][o.ATR_X]/o.CHIP_SIZE,v=this._wwaData.mapAttribute[p][o.ATR_Y]/o.CHIP_SIZE,x=o.CHIP_SIZE*(f-e.x)-s.x,d=o.CHIP_SIZE*(_-e.y)-s.y;this._cgManager.copyBackCanvasWithUpperYLimit(m,v,x,d,a)}}this._cgManager.drawBackCanvas()}}}_drawPlayer(e,s,a,i=!1){if(e===void 0||this._wwaData.delPlayerFlag)return;const r=this._player.getPosition().getPartsCoord(),n=this._player.getPosition().getOffsetCoord(),u=[NaN,NaN,2,NaN,4,NaN,6,NaN,0,NaN][this._player.getDir()],c=(r.x-e.x)*o.CHIP_SIZE+n.x-s.x,l=(r.y-e.y)*o.CHIP_SIZE+n.y-s.y;let f;if(this._useLookingAround&&this._player.isLookingAround()&&!this._player.isWaitingMessage()){const _=[2,3,4,5,0,1,6,7];f=this._wwaData.playerImgPosX+_[Math.floor(this._mainCallCounter%64/8)]}else this._player.isMovingImage()?f=this._wwaData.playerImgPosX+u+1:f=this._wwaData.playerImgPosX+u;i?this._cgManager.drawCanvasWithLowerYLimit(f,this._wwaData.playerImgPosY,c,l,a):this._cgManager.drawCanvasWithUpperYLimit(f,this._wwaData.playerImgPosY,c,l,a)}_drawObjects(e,s,a,i=!1,r=!1){if(e!==void 0){var n=Math.max(0,e.x-1),h=Math.min(this._wwaData.mapWidth-1,e.x+o.H_PARTS_NUM_IN_WINDOW),u=Math.max(0,e.y-1),c=Math.min(this._wwaData.mapWidth-1,e.y+o.V_PARTS_NUM_IN_WINDOW),l,f=0,_=this._isMainAnimation(),p,m,v,x,d,g,w,A,S,y,C,I,L,T=this._player.isFighting()&&this._player.isTurn()&&this._player.getPosition().getPartsCoord().equals(this._monster.position);if(i)for(S=n;S<=h;S++)for(y=u;y<=c;y++)T&&new Y(S,y).equals(this._monster.position)||(C=this._wwaData.mapObject[y][S],l=new Y(0,0),this._wwaData.objectAttribute[C][o.ATR_MOVE]!==He.STATIC&&(A=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new Y(S,y)),A!==null&&(l=A)),x=o.CHIP_SIZE*(S-e.x)+l.x-s.x,d=o.CHIP_SIZE*(y-e.y)+l.y-s.y,p=_||this._wwaData.objectAttribute[C][o.ATR_X2]===0&&this._wwaData.objectAttribute[C][o.ATR_Y2]===0,m=this._wwaData.objectAttribute[C][p?o.ATR_X:o.ATR_X2]/o.CHIP_SIZE,v=this._wwaData.objectAttribute[C][p?o.ATR_Y:o.ATR_Y2]/o.CHIP_SIZE,g=this._wwaData.objectAttribute[C][o.ATR_TYPE],w=this._wwaData.objectAttribute[C][o.ATR_NUMBER],C!==0&&!this._checkNoDrawObject(new Y(S,y),g,w)&&this._cgManager.copyObjectCanvasWithLowerYLimit(_?1:0,m,v,x,d,a));else{var b=[],M=[],B,K,j;for(S=n;S<=h;S++)for(y=u;y<=c;y++)I=C=this._wwaData.mapObject[y][S],g=this._wwaData.objectAttribute[C][o.ATR_TYPE],w=this._wwaData.objectAttribute[C][o.ATR_NUMBER],this._checkNoDrawObject(new Y(S,y),g,w)&&(I=0),K=this._wwaData.objectAttribute[C][o.ATR_MOVE]===He.STATIC,I!==0&&(T&&new Y(S,y).equals(this._monster.position)?j=!0:j=!1,K?M.push(new wi(C,S,y,K,j)):(b.push(new wi(C,S,y,K,j)),I=0),j&&(I=0)),this._cgManager.mapObjectCache[f]!==I&&(this._cgManager.mapObjectCache[f]=I,r=!0),f++;r&&(this._cgManager.clearObjectCanvasesWithLowerYLimit(a),Array.prototype.push.apply(b,M));var Z,_e;for(_e=b.length,Z=0;Z<_e;Z++)if(B=b[Z],S=B.x,y=B.y,C=B.partsIDObj,K=B.isStatic,j=B.isFighting,x=o.CHIP_SIZE*(S-e.x)-s.x,d=o.CHIP_SIZE*(y-e.y)-s.y,K){if(j)continue;for(L=0;L<2;L++)p=!!L||this._wwaData.objectAttribute[C][o.ATR_X2]===0&&this._wwaData.objectAttribute[C][o.ATR_Y2]===0,m=this._wwaData.objectAttribute[C][p?o.ATR_X:o.ATR_X2]/o.CHIP_SIZE,v=this._wwaData.objectAttribute[C][p?o.ATR_Y:o.ATR_Y2]/o.CHIP_SIZE,this._cgManager.copyObjectCanvasWithUpperYLimit(L,m,v,x,d,a)}else A=this._objectMovingDataManager.getOffsetByBeforePartsCoord(new Y(S,y)),A!==null&&(x+=A.x,d+=A.y),p=_||this._wwaData.objectAttribute[C][o.ATR_X2]===0&&this._wwaData.objectAttribute[C][o.ATR_Y2]===0,m=this._wwaData.objectAttribute[C][p?o.ATR_X:o.ATR_X2]/o.CHIP_SIZE,v=this._wwaData.objectAttribute[C][p?o.ATR_Y:o.ATR_Y2]/o.CHIP_SIZE,this._cgManager.drawCanvasWithUpperYLimit(m,v,x,d,a);this._cgManager.drawObjectCanvas(_?1:0)}}}_drawEffect(){if(!(this._wwaData.effectCoords.length===0||this._wwaData.effectWaits===0)){var e=Math.floor(this._mainCallCounter%(this._wwaData.effectCoords.length*this._wwaData.effectWaits)/this._wwaData.effectWaits);this._cgManager.drawEffect(e)}}_drawFaces(){for(var e=0;e<this._faces.length;e++)this._cgManager.drawCanvasWithSize(this._faces[e].srcPos.x,this._faces[e].srcPos.y,this._faces[e].srcSize.x,this._faces[e].srcSize.y,this._faces[e].destPos.x,this._faces[e].destPos.y)}_drawFrame(){this._cgManager.drawFrame()}_drawPictures(){this._cgManager.drawPictures()}_checkNoDrawObject(e,s,a){var i=this._player.getPosition(),r=i.getPartsCoord();return!i.isJustPosition()||r.x!==e.x||r.y!==e.y||this._wwaData.objectNoCollapseDefaultFlag?!1:s===o.OBJECT_DOOR&&a===0?!0:s===o.OBJECT_STATUS||s===o.OBJECT_MESSAGE||s===o.OBJECT_ITEM||s===o.OBJECT_SELL||s===o.OBJECT_BUY||s===o.OBJECT_SELL||s===o.OBJECT_LOCALGATE}getMapWidth(){if(this._wwaData===void 0)throw new Error("マップデータがロードされていません");return this._wwaData.mapWidth}getMapIdByPosition(e){var s=e.getPartsCoord();return this._wwaData.map[s.y][s.x]}getObjectIdByPosition(e){var s=e.getPartsCoord();return this._wwaData.mapObject[s.y][s.x]}getMapTypeByPosition(e){var s=e.getPartsCoord(),a=this._wwaData.map[s.y][s.x];return this._wwaData.mapAttribute[a][o.ATR_TYPE]}getObjectTypeByPosition(e){var s=e.getPartsCoord(),a=this._wwaData.mapObject[s.y][s.x];return this._wwaData.objectAttribute[a][o.ATR_TYPE]}getMapAttributeByPosition(e,s){var a=e.getPartsCoord(),i=this._wwaData.map[a.y][a.x];return this._wwaData.mapAttribute[i][s]}isCurrentPosMapPartsIncludingMessage(e){var s=this.getMapAttributeByPosition(e,o.ATR_STRING);return s!==0}getObjectAttributeByPosition(e,s){var a=e.getPartsCoord(),i=this._wwaData.mapObject[a.y][a.x];return this._wwaData.objectAttribute[i][s]}getMapAttributeById(e,s){return this._wwaData.mapAttribute[e][s]}getObjectAttributeById(e,s){return this._wwaData.objectAttribute[e][s]}getObjectCropXById(e){return this._wwaData.objectAttribute[e][o.ATR_X]}getObjectCropYById(e){return this._wwaData.objectAttribute[e][o.ATR_Y]}getMessageById(e){return this._wwaData.message[e]}getSystemMessageById(e){return this._wwaData.systemMessage[e]}getMapInfo(e){return this._wwaData.mapAttribute[e]}checkMap(e){var s=this._player.getPosition().getPartsCoord();e=e??s;var a=this._wwaData.map[e.y][e.x],r=this.getMapInfo(a)[o.ATR_TYPE],n=e.x===s.x&&e.y===s.y,h=!1;return n&&this._player.getLastExecPartsIDOnSamePosition(W.MAP)===a?!1:(r===o.MAP_STREET?h=this._execMapStreetEvent(e,a,r):r===o.MAP_WALL?h=this._execMapWallEvent(e,a,r):r===o.MAP_LOCALGATE?h=this._execMapLocalGateEvent(e,a,r):r===o.MAP_URLGATE&&(h=this._execMapUrlGateEvent(e,a,r)),n&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(W.MAP,a),h)}getObjectInfo(e){return this._wwaData.objectAttribute[e]}checkObject(e){var s=this._player.getPosition().getPartsCoord();e=e??s;var a=this._wwaData.mapObject[e.y][e.x],r=this.getObjectInfo(a)[o.ATR_TYPE],n=e.x===s.x&&e.y===s.y;n&&this._player.getLastExecPartsIDOnSamePosition(W.OBJECT)===a||(r===o.OBJECT_NORMAL?this._execObjectNormalEvent(e,a,r):r===o.OBJECT_MESSAGE?this._execObjectMessageEvent(e,a,r):r===o.OBJECT_MONSTER?this._execObjectMonsterEvent(e,a,r):r===o.OBJECT_ITEM?this._execObjectItemEvent(e,a,r):r===o.OBJECT_DOOR?this._execObjectDoorEvent(e,a,r):r===o.OBJECT_STATUS?this._execObjectStatusEvent(e,a,r):r===o.OBJECT_BUY?this._execObjectBuyEvent(e,a,r):r===o.OBJECT_SELL?this._execObjectSellEvent(e,a,r):r===o.OBJECT_URLGATE?this._execObjectUrlGateEvent(e,a,r):r===o.OBJECT_SCORE?this._execObjectScoreEvent(e,a,r):r===o.OBJECT_SELECT?this._execObjectYesNoChoiceEvent(e,a,r):r===o.OBJECT_LOCALGATE&&this._execObjectLocalGateEvent(e,a,r),n&&!this._player.isJumped()&&this._player.setLastExecInfoOnSamePosition(W.OBJECT,a))}_execMapStreetEvent(e,s,a){var i=this._wwaData.mapAttribute[s][o.ATR_ITEM];if(i!==0&&!this._player.hasItem(i))return!1;this.reserveAppearPartsInNextFrame(e,ye.MAP,s);const r=this._wwaData.mapAttribute[s][o.ATR_STRING],n=this._wwaData.message[r],h=this._wwaData.mapAttribute[s][o.ATR_NUMBER];return this._waitFrame+=h*o.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.registerPageByMessage(n,{triggerParts:{id:s,type:W.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[s][o.ATR_SOUND]),r!==0&&this._shouldTreatWillMessageDisplay(this._pages)||h!==0}_shouldTreatWillMessageDisplay(e){return e.reduce((s,a)=>s||!Ba(a.firstNode),!1)}_execMapWallEvent(e,s,a){var i=this.getObjectIdByPosition(e.convertIntoPosition(this)),r=this.getObjectAttributeById(i,o.ATR_TYPE);if(i===0||r===o.OBJECT_NORMAL||r===o.OBJECT_DOOR&&(!this._player.hasItem(this.getObjectAttributeById(i,o.ATR_ITEM))||this.getObjectAttributeById(r,o.ATR_MODE)===o.PASSABLE_OBJECT)){this.reserveAppearPartsInNextFrame(e,ye.MAP,s);var n=this._wwaData.mapAttribute[s][o.ATR_STRING],h=this._wwaData.message[n];return this.registerPageByMessage(h,{triggerParts:{id:s,type:W.MAP,position:e.clone()}}),this.playSound(this._wwaData.mapAttribute[s][o.ATR_SOUND]),!1}return!1}_execMapLocalGateEvent(e,s,a){var i=this._player.getPosition().getPartsCoord(),r=this._wwaData.mapAttribute[s][o.ATR_JUMP_X],n=this._wwaData.mapAttribute[s][o.ATR_JUMP_Y];return r>o.RELATIVE_COORD_LOWER&&(r=e.x+r-o.RELATIVE_COORD_BIAS),n>o.RELATIVE_COORD_LOWER&&(n=e.y+n-o.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,ye.MAP,s),0<=r&&0<=n&&r<this._wwaData.mapWidth&&n<this._wwaData.mapWidth&&(r!==i.x||n!==i.y)?(this.reserveJumpInNextFrame(new Be(this,r,n,0,0)),this.playSound(this._wwaData.mapAttribute[s][o.ATR_SOUND]),!0):!1}_execMapUrlGateEvent(e,s,a){var i=this._wwaData.mapAttribute[s][o.ATR_STRING];if(!this._isURLGateEnable)return!0;const r=this.resolveSystemMessage(Ie.CONFIRM_ENTER_URL_GATE);if(r==="BLANK"){location.href=Jt(this._wwaData.message[i].split(/\s/g)[0]);return}return this.registerSystemMessagePage(r,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=s,this._yesNoChoiceCallInfo=H.CALL_BY_MAP_PARTS,this._yesNoURL=this._wwaData.message[i].split(/\s/g)[0],!0}_execObjectNormalEvent(e,s,a){}_execObjectMessageEvent(e,s,a){var i=this._wwaData.objectAttribute[s][o.ATR_STRING],r=this._wwaData.message[i],n=this._player.getPosition().getPartsCoord(),h=this._wwaData.objectAttribute[s][o.ATR_SOUND];e.x===n.x&&e.y===n.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(W.OBJECT,0,e),this.registerPageByMessage(r,{triggerParts:{id:s,type:W.OBJECT,position:e}}),this._waitFrame+=this._wwaData.objectAttribute[s][o.ATR_NUMBER]*o.WAIT_TIME_FRAME_NUM,this._temporaryInputDisable=!0,this.reserveAppearPartsInNextFrame(e,ye.OBJECT,s),this.playSound(h)}_execObjectStatusEvent(e,s,a){var i=new Ae(this._wwaData.objectAttribute[s][o.ATR_ENERGY],this._wwaData.objectAttribute[s][o.ATR_STRENGTH],this._wwaData.objectAttribute[s][o.ATR_DEFENCE],this._wwaData.objectAttribute[s][o.ATR_GOLD]),r=this._wwaData.objectAttribute[s][o.ATR_STRING],n=this._wwaData.message[r],h=this._player.getStatusWithoutEquipments();if(i.strength>o.STATUS_MINUS_BORDER&&h.strength<i.strength-o.STATUS_MINUS_BORDER||i.defence>o.STATUS_MINUS_BORDER&&h.defence<i.defence-o.STATUS_MINUS_BORDER||i.gold>o.STATUS_MINUS_BORDER&&h.gold<i.gold-o.STATUS_MINUS_BORDER){this.setPartsOnPosition(W.OBJECT,0,e),this._keyStore.allClear(),this._mouseStore.clear();return}if(i.energy=i.energy>o.STATUS_MINUS_BORDER?o.STATUS_MINUS_BORDER-i.energy:i.energy,i.strength=i.strength>o.STATUS_MINUS_BORDER?o.STATUS_MINUS_BORDER-i.strength:i.strength,i.defence=i.defence>o.STATUS_MINUS_BORDER?o.STATUS_MINUS_BORDER-i.defence:i.defence,i.gold=i.gold>o.STATUS_MINUS_BORDER?o.STATUS_MINUS_BORDER-i.gold:i.gold,this._player.addStatusAll(i),this.setStatusChangedEffect(i),this._player.isDead()&&this._wwaData.objectAttribute[s][o.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})){this.gameover();return}this.registerPageByMessage(n,{triggerParts:{id:s,type:W.OBJECT,position:e.clone()}}),this.setPartsOnPosition(W.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,ye.OBJECT,s),this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND])}_execObjectMonsterEvent(e,s,a){this._monster=this._createMonster(s,e,()=>{this._monster=void 0,this._monsterWindow.hide(),this._dispatchWindowClosedTimeRequests()}),this._player.startBattleWith(this._monster)}_execObjectBuyEvent(e,s,a){var i=this._wwaData.objectAttribute[s][o.ATR_STRING],r=this._wwaData.message[i],n=this._player.getPosition().getPartsCoord();e.x===n.x&&e.y===n.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(W.OBJECT,0,e),this.registerPageByMessage(r,{showChoice:!0,triggerParts:{id:s,type:W.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=s,this._yesNoChoiceCallInfo=H.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND])}_execObjectSellEvent(e,s,a){var i=this._wwaData.objectAttribute[s][o.ATR_STRING],r=this._wwaData.message[i],n=this._player.getPosition().getPartsCoord();e.x===n.x&&e.y===n.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(W.OBJECT,0,e),this.registerPageByMessage(r,{showChoice:!0,triggerParts:{id:s,type:W.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=s,this._yesNoChoiceCallInfo=H.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND])}_execObjectItemEvent(e,s,a){var i=this._wwaData.objectAttribute[s][o.ATR_STRING],r=this._wwaData.message[i];try{var n=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),h=(e.x-n.x)*o.CHIP_SIZE,u=(e.y-n.y)*o.CHIP_SIZE;this._player.addItem(s,this._wwaData.objectAttribute[s][o.ATR_NUMBER],!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new Y(h,u),itemBoxBackgroundImageCoord:new Y(this._wwaData.imgItemboxX*o.CHIP_SIZE,this._wwaData.imgItemboxY*o.CHIP_SIZE)}:void 0),this.setPartsOnPosition(W.OBJECT,0,e),this._wwaData.objectAttribute[s][o.ATR_MODE]!==0||(this.registerPageByMessage(r,{triggerParts:{id:s,type:W.OBJECT,position:e.clone()}}),this.reserveAppearPartsInNextFrame(e,ye.OBJECT,s))}catch{this.registerSystemMessagePageByKey(Ie.ITEM_BOX_FULL)}this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND])}_execObjectDoorEvent(e,s,a){var i=this._wwaData.objectAttribute[s][o.ATR_ITEM],r=this._wwaData.objectAttribute[s][o.ATR_STRING],n=this._wwaData.message[r];this._player.hasItem(i)&&(this._wwaData.objectAttribute[s][o.ATR_MODE]===0&&this._player.removeItemByPartsID(i),this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND]),this.registerPageByMessage(n,{triggerParts:{id:s,type:W.OBJECT,position:e.clone()}}),this.setPartsOnPosition(W.OBJECT,0,e),this.reserveAppearPartsInNextFrame(e,ye.OBJECT,s),this._paintSkipByDoorOpen=!0)}_execObjectYesNoChoiceEvent(e,s,a){var i=this._wwaData.objectAttribute[s][o.ATR_STRING],r=this._wwaData.message[i],n=this._player.getPosition().getPartsCoord();e.x===n.x&&e.y===n.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(W.OBJECT,0,e),this.registerPageByMessage(r,{showChoice:!0,triggerParts:{id:s,type:W.OBJECT,position:e.clone()}}),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=s,this._yesNoChoiceCallInfo=H.CALL_BY_OBJECT_PARTS,this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND])}_execObjectLocalGateEvent(e,s,a){var i=this._player.getPosition().getPartsCoord();e.x===i.x&&e.y===i.y&&!this._wwaData.objectNoCollapseDefaultFlag&&this.setPartsOnPosition(W.OBJECT,0,e);var r=this._wwaData.objectAttribute[s][o.ATR_JUMP_X],n=this._wwaData.objectAttribute[s][o.ATR_JUMP_Y];r>o.RELATIVE_COORD_LOWER&&(r=i.x+r-o.RELATIVE_COORD_BIAS),n>o.RELATIVE_COORD_LOWER&&(n=i.y+n-o.RELATIVE_COORD_BIAS),this.reserveAppearPartsInNextFrame(e,ye.OBJECT,s),0<=r&&0<=n&&r<this._wwaData.mapWidth&&n<this._wwaData.mapWidth&&(r!==i.x||n!==i.y)&&(this.reserveJumpInNextFrame(new Be(this,r,n,0,0)),this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND]))}_execObjectUrlGateEvent(e,s,a){var i=this._wwaData.objectAttribute[s][o.ATR_STRING];if(!this._isURLGateEnable)return;const r=this.resolveSystemMessage(Ie.CONFIRM_ENTER_URL_GATE);if(r==="BLANK"){location.href=Jt(this._wwaData.message[i].split(/\s/g)[0]);return}this.registerSystemMessagePage(r,!0),this._yesNoChoicePartsCoord=e,this._yesNoChoicePartsID=s,this._yesNoChoiceCallInfo=H.CALL_BY_OBJECT_PARTS,this._yesNoURL=this._wwaData.message[i].split(/\s/g)[0]}_execObjectScoreEvent(e,s,a){const i=this._wwaData.objectAttribute[s][o.ATR_STRING];this.registerPageByMessage(this._wwaData.message[i],{triggerParts:{id:s,type:W.OBJECT,position:e},scoreOption:{rates:{energy:this._wwaData.objectAttribute[s][o.ATR_ENERGY],strength:this._wwaData.objectAttribute[s][o.ATR_STRENGTH],defence:this._wwaData.objectAttribute[s][o.ATR_DEFENCE],gold:this._wwaData.objectAttribute[s][o.ATR_GOLD]}}}),this.playSound(this._wwaData.objectAttribute[s][o.ATR_SOUND])}updateScore(e){const s=e||this._lastScoreOptions;if(!s)return;const a=this._player.getStatus().calculateScore(s);this._scoreWindow.update(a)}_execChoiceWindowObjectSellEvent(){if(!this._player.hasGold(this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_GOLD]))return this.registerSystemMessagePageByKey(Ie.NO_MONEY),{};if(this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_ITEM]!==0){const s=this._yesNoChoicePartsCoord,a=this._camera.getPosition().getScreenTopPosition().getPartsCoord(),i=(s.x-a.x)*o.CHIP_SIZE,r=(s.y-a.y)*o.CHIP_SIZE,n=this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_ITEM],h=this._wwaData.objectAttribute[n][o.ATR_NUMBER];try{this._player.addItem(n,h,!1,this._wwaData.isItemEffectEnabled?{screenPixelCoord:new Y(i,r),itemBoxBackgroundImageCoord:new Y(this._wwaData.imgItemboxX*o.CHIP_SIZE,this._wwaData.imgItemboxY*o.CHIP_SIZE)}:void 0)}catch{return this.registerSystemMessagePageByKey(Ie.ITEM_BOX_FULL),{}}}const e=new Ae(this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_ENERGY],this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_STRENGTH],this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_DEFENCE],-this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_GOLD]);return e.energy=e.energy>o.STATUS_MINUS_BORDER?o.STATUS_MINUS_BORDER-e.energy:e.energy,this.setStatusChangedEffect(e),this._player.addStatusAll(e),this._player.isDead()&&this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_ENERGY]!==0&&this.shouldApplyGameOver({isCalledByMacro:!1})?(this.gameover(),{isGameOver:!0}):(this.appearParts({pos:this._yesNoChoicePartsCoord,triggerType:ye.OBJECT,triggerPartsId:this._yesNoChoicePartsID}),{})}_execChoiceWindowRunningEvent(){var e,s;if(--this._yesNoDispCounter===0){if(this._yesNoJudge===ne.YES){if(this._yesNoChoiceCallInfo===H.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][o.ATR_TYPE],e===o.MAP_URLGATE&&(location.href=Jt(this._yesNoURL));else if(this._yesNoChoiceCallInfo===H.CALL_BY_OBJECT_PARTS)if(e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_TYPE],e===o.OBJECT_BUY)this._player.hasItem(this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_ITEM])?(this._player.removeItemByPartsID(this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_ITEM]),s=this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_GOLD],this._player.earnGold(s),this.setStatusChangedEffect(new Ae(0,0,0,s)),this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,ye.OBJECT,this._yesNoChoicePartsID)):this.registerSystemMessagePageByKey(Ie.NO_ITEM);else if(e===o.OBJECT_SELL){const{isGameOver:r}=this._execChoiceWindowObjectSellEvent();if(r)return}else e===o.OBJECT_SELECT?this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,ye.CHOICE_YES,this._yesNoChoicePartsID):e===o.OBJECT_URLGATE&&(location.href=Jt(this._yesNoURL));else this._yesNoChoiceCallInfo===H.CALL_BY_ITEM_USE?this._player.readyToUseItem(this._yesNoUseItemPos):this._yesNoChoiceCallInfo===H.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===H.CALL_BY_LOG_QUICK_LOAD?(this._messageWindow.deleteSaveDom(),O(ue[se.QUICK_LOAD]).classList.remove("onpress"),this._messageWindow.load()&&(this._stopUpdateByLoadFlag=!0,this._loadType=Dt.QUICK_LOAD)):this._yesNoChoiceCallInfo===H.CALL_BY_QUICK_SAVE?(this._messageWindow.deleteSaveDom(),O(ue[se.QUICK_SAVE]).classList.remove("onpress"),this._quickSave(H.CALL_BY_QUICK_SAVE)):this._yesNoChoiceCallInfo===H.CALL_BY_RESTART_GAME?(O(ue[se.RESTART_GAME]).classList.remove("onpress"),this._stopUpdateByLoadFlag=!0,this._loadType=Dt.RESTART_GAME):this._yesNoChoiceCallInfo===H.CALL_BY_END_GAME?(window.history.back(-1),O(ue[se.GOTO_WWA]).classList.remove("onpress")):this._yesNoChoiceCallInfo===H.CALL_BY_GOTO_WWA?(location.href=Jt(o.WWA_HOME),O(ue[se.GOTO_WWA]).classList.remove("onpress")):this._yesNoChoiceCallInfo===H.CALL_BY_PASSWORD_LOAD?(O(ue[se.QUICK_LOAD]).classList.remove("onpress"),this._player.setPasswordWindowWating(),this._passwordWindow.show(Ss.LOAD)):this._yesNoChoiceCallInfo===H.CALL_BY_PASSWORD_SAVE?(O(ue[se.QUICK_SAVE]).classList.remove("onpress"),this._player.setPasswordWindowWating(),this._passwordWindow.password=this._quickSave(H.CALL_BY_PASSWORD_SAVE),this._passwordWindow.show(Ss.SAVE)):this._yesNoChoiceCallInfo===H.CALL_BY_SUSPEND&&(O(ue[se.QUICK_SAVE]).classList.remove("onpress"),this._quickSave(H.CALL_BY_SUSPEND));this._yesNoJudge=ne.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=H.NONE,this._messageWindow.setYesNoChoice(!1)}else if(this._yesNoJudge===ne.NO){if(this._yesNoChoiceCallInfo===H.CALL_BY_MAP_PARTS)e=this._wwaData.mapAttribute[this._yesNoChoicePartsID][o.ATR_TYPE];else if(this._yesNoChoiceCallInfo===H.CALL_BY_OBJECT_PARTS)e=this._wwaData.objectAttribute[this._yesNoChoicePartsID][o.ATR_TYPE],e===o.OBJECT_BUY||e===o.OBJECT_SELL||e===o.OBJECT_SELECT&&this.reserveAppearPartsInNextFrame(this._yesNoChoicePartsCoord,ye.CHOICE_NO,this._yesNoChoicePartsID);else if(this._yesNoChoiceCallInfo===H.CALL_BY_ITEM_USE){var a=O("item"+(this._yesNoUseItemPos-1));a.classList.remove("onpress")}else if(this._yesNoChoiceCallInfo===H.CALL_BY_QUICK_LOAD||this._yesNoChoiceCallInfo===H.CALL_BY_LOG_QUICK_LOAD)switch(this._messageWindow.deleteSaveDom(),this._yesNoChoiceCallInfo=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword),this._yesNoChoiceCallInfo){case H.NONE:O(ue[se.QUICK_LOAD]).classList.remove("onpress");break;case H.CALL_BY_PASSWORD_LOAD:this._yesNoJudge=ne.UNSELECTED,this.onpasswordloadcalled();return;case H.CALL_BY_LOG_QUICK_LOAD:this._wwaSave.selectLogSaveDataList(),this._messageWindow.createSaveDom();var i=this._wwaSave.getSecondSaveChoiceCallInfo(this._usePassword);switch(this._yesNoJudge=ne.UNSELECTED,i){case H.CALL_BY_PASSWORD_LOAD:this.registerSystemMessagePage(`読み込むオートセーブを選んでください。
|
|
150
|
+
→Noでデータ復帰用パスワードの
|
|
151
|
+
入力選択ができます。`,!0);break;case H.NONE:this.registerSystemMessagePage("読み込むオートセーブを選んでください。",!0);break}return}else if(this._yesNoChoiceCallInfo===H.CALL_BY_QUICK_SAVE)if(this._messageWindow.deleteSaveDom(),this._usePassword||this._useSuspend){this._yesNoJudge=ne.UNSELECTED,this._useSuspend?this.onpasssuspendsavecalled():this._usePassword&&this.onpasswordsavecalled();return}else O(ue[se.QUICK_SAVE]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===H.CALL_BY_RESTART_GAME)O(ue[se.RESTART_GAME]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===H.CALL_BY_END_GAME)O(ue[se.GOTO_WWA]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===H.CALL_BY_GOTO_WWA)O(ue[se.GOTO_WWA]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===H.CALL_BY_PASSWORD_LOAD)O(ue[se.QUICK_LOAD]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===H.CALL_BY_PASSWORD_SAVE)O(ue[se.QUICK_SAVE]).classList.remove("onpress");else if(this._yesNoChoiceCallInfo===H.CALL_BY_SUSPEND)if(this._usePassword){this._yesNoJudge=ne.UNSELECTED,this.onpasswordsavecalled();return}else O(ue[se.QUICK_SAVE]).classList.remove("onpress");this._yesNoJudge=ne.UNSELECTED,this._setNextPage(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=H.NONE,this._messageWindow.setYesNoChoice(!1)}}}_dispatchWindowClosedTimeRequests(){if(this._windowCloseWaitingJumpGateRequest&&this.forcedJumpGate(this._windowCloseWaitingJumpGateRequest.x,this._windowCloseWaitingJumpGateRequest.y),this._windowCloseWaitingMessageDisplayRequests.length>0){const e=this._windowCloseWaitingMessageDisplayRequests.shift();return this.registerPageByMessage(e.message,{additionalItems:e.additionalItems}),{newPageGenerated:!0}}return{newPageGenerated:!1}}_dispatchPlayerAndObjectsStopTimeRequests(){this._playerAndObjectsStopWaitingGameSpeedChangeRequest&&(this.setPlayerSpeedIndex(this._playerAndObjectsStopWaitingGameSpeedChangeRequest.speedIndex),this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0),this._playerAndObjectsStopWaitingMessageDisplayRequests.length>0&&(this.registerPageByMessage(this._playerAndObjectsStopWaitingMessageDisplayRequests.map(e=>e.message).join("<p>"),{additionalItems:this._playerAndObjectsStopWaitingMessageDisplayRequests.map(e=>e.additionalItems).flat()}),this._playerAndObjectsStopWaitingMessageDisplayRequests=[])}_clearAllRequests(){this._playerAndObjectsStopWaitingMessageDisplayRequests=[],this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0,this._windowCloseWaitingJumpGateRequest=void 0,this._windowCloseWaitingMessageDisplayRequests=[]}reserveMessageDisplayWhenShouldOpen(e){this._player.isWaitingMessage()||this._player.isFighting()||this._player.isWaitingPasswordWindow()||this._player.isWaitingEstimateWindow()?this._windowCloseWaitingMessageDisplayRequests.push(e):this._player.isMoving()||this._player.isWaitingMoveMacro()?this._playerAndObjectsStopWaitingMessageDisplayRequests.push(e):this.registerPageByMessage(e.message,{additionalItems:e.additionalItems})}handleMsgFunction(e){this._pageExecuting?this._windowCloseWaitingMessageDisplayRequests.push(e):this.reserveMessageDisplayWhenShouldOpen(e)}registerSystemMessagePage(e,s=!1){this.registerPageByMessage(e,{showChoice:s,isSystemMessage:!0})}registerSystemMessagePageByKey(e){const s=this.resolveSystemMessage(e);s!=="BLANK"&&this.registerPageByMessage(s,{isSystemMessage:!0})}_createSimpleMessage(e,s){return new tt(e,()=>this.generateTokenValues(s),(a,i)=>this._execEvalString(a,i))}registerPageByMessage(e,{showChoice:s=!1,isSystemMessage:a=!1,triggerParts:i={id:0,type:W.OBJECT,position:new Y(0,0)},scoreOption:r=void 0,additionalItems:n=[]}={}){const h=Hh(e,{triggerParts:i,isSystemMessage:a,showChoice:s,scoreOption:r,additionalItems:n},u=>Bh(this,i,u),(u,c)=>this._execEvalString(u,c),u=>this.generateTokenValues(u));this._pages=this._pages.concat(h),this._shouldSetNextPage=!0}appearParts({pos:e,triggerType:s,triggerPartsId:a}){var i,r=s===ye.CHOICE_NO?o.APPERANCE_PARTS_MIN_INDEX_NO:o.APPERANCE_PARTS_MIN_INDEX,n=s===ye.CHOICE_YES?o.APPERANCE_PARTS_MAX_INDEX_YES:o.APPERANCE_PARTS_MAX_INDEX,h,u,c,l,f,_;for(s===ye.MAP?(a=a===0?this._wwaData.map[e.y][e.x]:a,i=W.MAP):(a=a===0?this._wwaData.mapObject[e.y][e.x]:a,i=W.OBJECT),_=r;_<=n;_++){var p=o.ATR_APPERANCE_BASE+_*o.REL_ATR_APPERANCE_UNIT_LENGTH,m=p+o.REL_ATR_APPERANCE_ID,v=p+o.REL_ATR_APPERANCE_X,x=p+o.REL_ATR_APPERANCE_Y,d=p+o.REL_ATR_APPERANCE_TYPE;if(h=i===W.MAP?this._wwaData.mapAttribute[a][m]:this._wwaData.objectAttribute[a][m],u=i===W.MAP?this._wwaData.mapAttribute[a][d]:this._wwaData.objectAttribute[a][d],c=i===W.MAP?this._wwaData.mapAttribute[a][v]:this._wwaData.objectAttribute[a][v],l=i===W.MAP?this._wwaData.mapAttribute[a][x]:this._wwaData.objectAttribute[a][x],c===o.PLAYER_COORD?(c=this._player.getPosition().getPartsCoord().x,this._player.resetEventExecutionInfo()):c>o.RELATIVE_COORD_LOWER&&(c=e.x+c-o.RELATIVE_COORD_BIAS),l===o.PLAYER_COORD?(l=this._player.getPosition().getPartsCoord().y,this._player.resetEventExecutionInfo()):l>o.RELATIVE_COORD_LOWER&&(l=e.y+l-o.RELATIVE_COORD_BIAS),!(c===0&&l===0))try{if(f=new Be(this,c,l,0,0),u===W.MAP){if(h>=this._wwaData.mapPartsMax)throw new Error("背景パーツの範囲外IDが指定されました");var g=new Y(c,l);this.setPartsOnPosition(W.MAP,h,g)}else{if(h>=this._wwaData.objPartsMax)throw new Error("物体パーツの範囲外IDが指定されました");var g=new Y(c,l);this.setPartsOnPosition(W.OBJECT,h,g),this._replaceRandomObject(new Y(c,l)),c===this._player.getPosition().getPartsCoord().x&&l===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch{}}}reserveAppearPartsInNextFrame(e,s,a=0){this._reservedPartsAppearances.push({pos:e,triggerType:s,triggerPartsId:a})}reserveJumpInNextFrame(e){this._reservedJumpDestination=e}appearPartsByDirection(e,s,a){var i=this._player.getPosition().getPartsCoord(),r=this._player.getDir(),n=ya[r],h=Sa[r];this.appearPartsEval(i,(n>=0?"+":"-")+Math.abs(n)*e,(h>=0?"+":"-")+Math.abs(h)*e,s,a)}appearPartsEval(e,s,a,i,r){var n,h,u=this._player.getPosition().getPartsCoord();if(s==="P"||s==="p")n=u.x;else if(s[0]==="+")n=e.x+parseInt(s.substr(1));else if(s[0]==="-")n=e.x-parseInt(s.substr(1));else if(n=parseInt(s),isNaN(n))throw new Error("座標として解釈できない文字が含まれています。");if(a==="P"||a==="p")h=u.y;else if(a[0]==="+")h=e.y+parseInt(a.substr(1));else if(a[0]==="-")h=e.y-parseInt(a.substr(1));else if(h=parseInt(a),isNaN(h))throw new Error("座標として解釈できない文字が含まれています。");try{var c=new Be(this,n,h,0,0);if(r===W.MAP){if(i>=this._wwaData.mapPartsMax)throw new Error("背景パーツの範囲外IDが指定されました");var l=new Y(n,h);this.setPartsOnPosition(W.MAP,i,l)}else{if(i>=this._wwaData.objPartsMax)throw new Error("物体パーツの範囲外IDが指定されました");var l=new Y(n,h);this.setPartsOnPosition(W.OBJECT,i,l),this._replaceRandomObject(new Y(n,h)),n===this._player.getPosition().getPartsCoord().x&&h===this._player.getPosition().getPartsCoord().y&&this._player.setPartsAppearedFlag()}}catch{}}getPartsID(e,s){if(e.x<0||e.y<0)throw new Error("想定外の座標が指定されました");return s===W.MAP?this._wwaData.map[e.y][e.x]:this._wwaData.mapObject[e.y][e.x]}_replaceRandomObject(e){var s=this._wwaData.mapObject[e.y][e.x],a=this._wwaData.objectAttribute[s][o.ATR_TYPE],i,r;if(a===o.OBJECT_RANDOM){for(var n=0;n<o.RANDOM_ITERATION_MAX;n++){if(r=Math.floor(Math.random()*10),i=this._wwaData.objectAttribute[s][o.ATR_RANDOM_BASE+r],i>=this._wwaData.objPartsMax){i=0;break}if(this._wwaData.objectAttribute[i][o.ATR_TYPE]!==o.OBJECT_RANDOM)break;s=i}this.setPartsOnPosition(W.OBJECT,i,e)}}_replaceRandomObjectsInScreen(){for(var e=this._camera.getPosition().getPartsCoord(),s=Math.max(0,e.x-1),a=Math.min(this._wwaData.mapWidth-1,e.x+o.H_PARTS_NUM_IN_WINDOW),i=Math.max(0,e.y-1),r=Math.min(this._wwaData.mapWidth-1,e.y+o.V_PARTS_NUM_IN_WINDOW),n=s;n<=a;n++)for(var h=i;h<=r;h++)this._replaceRandomObject(new Y(n,h))}_replaceAllRandomObjects(){for(var e=0;e<this._wwaData.mapWidth;e++)for(var s=0;s<this._wwaData.mapWidth;s++)this._replaceRandomObject(new Y(e,s))}gameover(){var e=this._wwaData.gameoverX,s=this._wwaData.gameoverY;this._yesNoJudge=ne.UNSELECTED,this._pages=[],this._player.setDelayFrame(),this._messageWindow.hide(),this._yesNoChoicePartsCoord=void 0,this._yesNoChoicePartsID=void 0,this._yesNoUseItemPos=void 0,this._yesNoChoiceCallInfo=H.NONE,this._player.clearMessageWaiting(),this._messageWindow.clear(),this._messageWindow.setYesNoChoice(!1),this._waitFrame=0,this._temporaryInputDisable=!0,this._shouldSetNextPage=!1,this._reservedPartsAppearances=[],this._reservedJumpDestination=void 0,this._clearAllRequests(),this._player.jumpTo(new Be(this,e,s,0,0));const a=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_GAMEOVER;a&&this.evalCalcWwaNodeGenerator.evalWwaNode(a)}setYesNoInput(e){this._yesNoJudgeInNextFrame=e}getYesNoState(){return this._yesNoJudgeInNextFrame!==void 0?this._yesNoJudgeInNextFrame:this._yesNoJudge}setStatusChangedEffect(e){this._wwaData.isItemEffectEnabled&&(e.strength!==0&&(O("disp-strength").classList.add("onpress"),this._statusPressCounter.strength=o.STATUS_CHANGED_EFFECT_FRAME_NUM),e.defence!==0&&(O("disp-defence").classList.add("onpress"),this._statusPressCounter.defence=o.STATUS_CHANGED_EFFECT_FRAME_NUM),e instanceof Ae&&(e.energy!==0&&(O("disp-energy").classList.add("onpress"),this._statusPressCounter.energy=o.STATUS_CHANGED_EFFECT_FRAME_NUM),e.gold!==0&&(O("disp-gold").classList.add("onpress"),this._statusPressCounter.gold=o.STATUS_CHANGED_EFFECT_FRAME_NUM)))}setPartsOnPosition(e,s,a){var i,r,n=a.y<<Pe.BITSHIFT|a.x;e===W.MAP?(i=this._wwaData.map[a.y][a.x],s=this.loadMapPartsID(s),i=this.loadMapPartsID(i),this._wwaData.map[a.y][a.x]=s,r=this._mapIDTable[i].indexOf(n),r!==-1&&this._mapIDTable[i].splice(r,1),r=this._mapIDTable[s].indexOf(n),r===-1&&this._mapIDTable[s].push(n)):(i=this._wwaData.mapObject[a.y][a.x],s=this.loadMapPartsObjectID(s),i=this.loadMapPartsObjectID(i),this._wwaData.mapObject[a.y][a.x]=s,r=this._mapObjectIDTable[i].indexOf(n),r!==-1&&this._mapObjectIDTable[i].splice(r,1),r=this._mapObjectIDTable[s].indexOf(n),r===-1&&this._mapObjectIDTable[s].push(n))}_countSamePartsLength(e,s){var a;for(a=s+1;a<e.length&&e[a]===e[a-1];a++);return a-s}_compressMap(e){for(var s=[],a=0;a<e.length;a++){s[a]=[];for(var i=0;i<e[a].length;){var r=this._countSamePartsLength(e[a],i);s[a].push([e[a][i],r]),i+=r}}return s}_decompressMap(e){for(var s=[],a=0;a<e.length;a++){s[a]=[];for(var i=0;i<e[a].length;i++)for(var r=e[a][i][1],n=0;n<r;n++)s[a].push(e[a][i][0])}return s}_generateMapDataHash(e){var s="A",a=0,i=0,r=0;for(r=0;r<e.map.length;r++){for(i=0;i<e.map[r].length;)a=this._countSamePartsLength(e.map[r],i),s+=e.map[r][i]+"|"+a+"/",i+=a;for(i=0;i<e.mapObject[r].length;)a=this._countSamePartsLength(e.mapObject[r],i),s+=e.mapObject[r][i]+"|"+a+"/",i+=a}for(var n=0;n<e.mapAttribute.length;n++)for(var h=0;h<e.mapAttribute[n].length;h++)s+=e.mapAttribute[n][h]+"/";for(var u=0;u<e.objectAttribute.length;u++)for(var c=0;c<e.objectAttribute[u].length;c++)s+=e.objectAttribute[u][c]+"/";return s+="Z",jr(s)}_generateSaveDataHash(e){var s=this._generateMapDataHash(e),a=s,i=[];for(var r in e)r==="map"||r==="mapObject"||r==="mapCompressed"||r==="mapObjectCompressed"||r==="mapAttribute"||r==="objectAttribute"||r==="checkString"||i.push(r);i.sort();for(var n=0;n<i.length;n++)a+=bi(e[i[n]]);return jr(a)}compressSystem(){return st}_quickSave(e){const s=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_SAVE;s&&this.evalCalcWwaNodeGenerator.evalWwaNode(s);var a=structuredClone(this._wwaData),i=this._player.getPosition().getPartsCoord(),r=this._player.getStatusWithoutEquipments();switch(a.itemBox=this._player.getCopyOfItemBox(),a.playerX=i.x,a.playerY=i.y,a.statusEnergyMax=this._player.getEnergyMax(),a.statusEnergy=r.energy,a.statusStrength=r.strength,a.statusDefence=r.defence,a.statusGold=r.gold,a.moves=this._player.getMoveCount(),a.frameCount=this._player.getFrameCount(),a.gameSpeedIndex=this._player.getSpeedIndex(),a.playTime=this._playTimeCalculator?.calculateTimeMs()??0,a.userVar=this._userVar.numbered.slice(),a.userNamedVar=structuredClone(this._userVar.named),e){case H.CALL_BY_LOG_QUICK_SAVE:case H.CALL_BY_QUICK_SAVE:case H.CALL_BY_SUSPEND:break;case H.CALL_BY_PASSWORD_SAVE:a.checkOriginalMapString=this.checkOriginalMapString,a.checkString=this._generateSaveDataHash(a);break}switch(a.message=void 0,a.mapAttribute=void 0,a.objectAttribute=void 0,e){case H.CALL_BY_QUICK_SAVE:return this._messageWindow.save(this._cvs,a),this.wwaCustomEvent("wwa_quicksave",{data:a}),"";case H.CALL_BY_PASSWORD_SAVE:const n=st.compress(a,{isPassword:!0});n.isCompress=1;const h=JSON.stringify(n);return this.wwaCustomEvent("wwa_passwordsave",{data:a,compress:n}),fc(h,this._wwaData.worldPassNumber);case H.CALL_BY_SUSPEND:this.wwaCustomEvent("wwa_suspend",{data:a,compress:st.compress(a)});break;case H.CALL_BY_LOG_QUICK_SAVE:this.wwaCustomEvent("wwa_autosave",{data:a}),this._wwaSave.autoSave(this._cvs,a);break}}wwaCustomEvent(e,s={}){this.wwaCustomEventEmitter.dispatch(e,s)}_decodePassword(e){let s="",a;try{s=pc(e,this._wwaData.worldPassNumber)}catch(r){a=r}if(!s){console.warn("新方式でのパスワード暗号化解除失敗:",a);try{s=dc(e,this._wwaData.worldPassNumber,this.checkOriginalMapString)}catch(r){a=r}}if(!s){console.warn("旧方式でのパスワード暗号化解除失敗:",a);const r=a&&a.message?a.message:"";throw new Error(`パスワード取得時からワールド制作者によってマップの暗証番号が変更されたか、
|
|
152
|
+
パスワードが壊れているために正常にセーブデータが復元できませんでした。
|
|
153
|
+
`+r)}var i;try{i=JSON.parse(s)}catch{throw new Error(`マップデータ以外のものが暗号化されたか、マップデータに何かが不足しているようです。
|
|
154
|
+
JSON PARSE FAILED`)}if(i.isCompress){delete i.isCompress;const[r,n]=st.decompress(i);return[tn(r),n]}else return[i,{isWorldNameEmpty:!1}]}_quickLoad(e=!1,s=null,a=!0){if(!e&&this._wwaSave.hasSaveData()===void 0&&s===null)throw new Error("セーブデータがありません。");let i,r=!1;if(s!==null){const n=this._decodePassword(s);i=n[0],r=n[1].isWorldNameEmpty}else i=structuredClone(e?this._restartData:this._messageWindow.load());if(i.message=structuredClone(this._restartData.message),i.mapAttribute=structuredClone(this._restartData.mapAttribute),i.objectAttribute=structuredClone(this._restartData.objectAttribute),i.map===void 0&&(i.map=this._decompressMap(i.mapCompressed)),i.mapObject===void 0&&(i.mapObject=this._decompressMap(i.mapObjectCompressed)),delete i.mapCompressed,delete i.mapObjectCompressed,s!==null){if(!r&&i.worldName!==this._wwaData.worldName)throw console.error("Invalid title",`(password)=${i.worldName} (current map)=${this._wwaData.worldName}`),new Error(`前回パスワード取得時から、制作者によってワールド名が変更されたためロードできませんでした。
|
|
155
|
+
予めご了承ください。`);const n=this.checkOriginalMapString;if(this._isDisallowLoadOldSave&&i.checkOriginalMapString!==n)throw console.error("Invalid hash",`(password)=${i.checkOriginalMapString} (current map)=${n}`),new Error(`前回パスワード取得時から、制作者によってマップが変更されたためロードできませんでした。
|
|
156
|
+
(マップデータ制作者の設定により、内容が変更されると以前のパスワードは利用できなくなります。)
|
|
157
|
+
予めご了承ください。`);console.log("Valid Password!")}return a&&this._applyQuickLoad(i),i}_applyQuickLoad(e){this._userVar.named=e.userNamedVar,this._userVar.numbered=e.userVar,this._player.setEnergyMax(e.statusEnergyMax),this._player.setEnergy(e.statusEnergy),this._player.setStrength(e.statusStrength),this._player.setDefence(e.statusDefence),this._player.setGold(e.statusGold),this._player.setMoveCount(e.moves),this._player.setFrameCount(e.frameCount),this._player.clearItemBox();for(var s=0;s<e.itemBox.length;s++)this._player.addItem(e.itemBox[s],s+1,!0);this._player.systemJumpTo(new Be(this,e.playerX,e.playerY,0,0)),e.bgm===0?this.playSound(de.NO_SOUND):this.playSound(e.bgm,e.bgmDelayDurationMs),this.setImgClick(new Y(e.imgClickX,e.imgClickY)),this.getObjectIdByPosition(this._player.getPosition())!==0&&this._player.setPartsAppearedFlag(),this._clearAllRequests(),this._playTimeCalculator=new ms(e.playTime),this._wwaData=e,this._mapIDTableCreate(),this._replaceAllRandomObjects(),this.setStatusIconCoord(ge.ENERGY,new Y(e.imgStatusEnergyX,e.imgStatusEnergyY)),this.setStatusIconCoord(ge.STRENGTH,new Y(e.imgStatusStrengthX,e.imgStatusStrengthY)),this.setStatusIconCoord(ge.DEFENCE,new Y(e.imgStatusDefenceX,e.imgStatusDefenceY)),this.setStatusIconCoord(ge.GOLD,new Y(e.imgStatusGoldX,e.imgStatusGoldY)),this.setWideCellCoord(new Y(e.imgWideCellX,e.imgWideCellY)),this.setItemboxBackgroundPosition({x:e.imgItemboxX,y:e.imgItemboxY}),this.setFrameCoord(new Y(e.imgFrameX,e.imgFrameY)),this.setPlayerSpeedIndex(e.gameSpeedIndex),this.updateCSSRule(),this.updateEffect(),this._cgManager.restorePictures(this._wwaData.pictureRegistry),this.updateAllPicturesCache(),this._player.updateStatusValueBox(),this._wwaSave.quickSaveButtonUpdate(this._wwaData)}_mapIDTableCreate(){var e;for(this._mapIDTable=[],this._mapObjectIDTable=[],e=0;e<this._wwaData.mapPartsMax;e++)this._mapIDTable[e]=[];for(e=0;e<this._wwaData.objPartsMax;e++)this._mapObjectIDTable[e]=[];for(var s=0;s<this._wwaData.mapWidth;s++)for(var a=0;a<this._wwaData.mapWidth;a++){var i=a<<Pe.BITSHIFT|s;e=this._wwaData.map[a][s],this._mapIDTable[e]instanceof Array||(this._mapIDTable[e]=[]),this._mapIDTable[e].push(i),e=this._wwaData.mapObject[a][s],this._mapObjectIDTable[e]instanceof Array||(this._mapObjectIDTable[e]=[]),this._mapObjectIDTable[e].push(i)}}restartGame(){this._quickLoad(!0)}_fadeout(e){var s=0,a=o.MAP_WINDOW_WIDTH,i=o.FADEOUT_SPEED,r=O("wwa-fader");r.style.display="block";var n=setInterval(()=>{if(s+=i,a-=i*2,a<=0||s*2>o.MAP_WINDOW_WIDTH){r.removeAttribute("style"),r.style.display="block",r.style.borderWidth="0",r.style.width=o.MAP_WINDOW_WIDTH+"px",r.style.height=o.MAP_WINDOW_HEIGHT+"px",r.style.backgroundColor="#808080",clearInterval(n),e();return}r.style.width=a+"px",r.style.height=a+"px",r.style.borderWidth=s+"px"},20)}moveObjects(e){var s=this._camera.getPosition();this._player.getPosition(),s.getPartsCoord();var a=s.getPartsCoord().x,i=s.getPartsCoord().y,r,n,h;if(!(this.getMapAttributeByPosition(this._player.getPosition(),o.ATR_TYPE)===o.MAP_LOCALGATE||this.getObjectAttributeByPosition(this._player.getPosition(),o.ATR_TYPE)===o.OBJECT_LOCALGATE)){for(r=new Array(o.V_PARTS_NUM_IN_WINDOW+2),this.hoge=new Array(o.V_PARTS_NUM_IN_WINDOW+2),h=-1;h<=o.V_PARTS_NUM_IN_WINDOW;h++)for(r[h+1]=new Array(o.H_PARTS_NUM_IN_WINDOW+2),this.hoge[h+1]=new Array(o.H_PARTS_NUM_IN_WINDOW+2),n=-1;n<=o.H_PARTS_NUM_IN_WINDOW;n++){if(i+h<0||i+h>=this._wwaData.mapWidth||a+n<0||a+n>=this._wwaData.mapWidth){r[h+1][n+1]=0,this.hoge[h+1][n+1]=0;continue}try{var u=new Be(this,a+n,i+h,0,0),c=u.getPartsCoord()}catch{r[h+1][n+1]=0,this.hoge[h+1][n+1]=0;continue}this._wwaData.mapObject[c.y][c.x],r[h+1][n+1]=this._wwaData.mapObject[c.y][c.x],this.hoge[h+1][n+1]=-this._wwaData.mapObject[c.y][c.x]}for(n=-1;n<=o.H_PARTS_NUM_IN_WINDOW;n++)if(!(a+n<0||a+n>=this._wwaData.mapWidth)){for(h=-1;h<=o.V_PARTS_NUM_IN_WINDOW;h++)if(!(i+h<0||i+h>=this._wwaData.mapWidth)){try{var u=new Be(this,a+n,i+h,0,0),c=u.getPartsCoord()}catch{continue}var l=this._wwaData.mapObject[c.y][c.x];if(!(l===0||this._wwaData.objectAttribute[l][o.ATR_MOVE]===He.STATIC||this._wwaData.objectAttribute[l][o.ATR_TYPE]===o.OBJECT_LOCALGATE||this._wwaData.objectAttribute[l][o.ATR_TYPE]===o.OBJECT_RANDOM)&&!(this._wwaData.objectAttribute[l][o.ATR_MOVE]!==He.CHASE_PLAYER&&this._wwaData.objectAttribute[l][o.ATR_MOVE]!==He.RUN_OUT&&this._wwaData.objectAttribute[l][o.ATR_MOVE]!==He.HANG_AROUND)){var f=this._wwaData.objectAttribute[l][o.ATR_MOVE];if(f!==He.HANG_AROUND){var _=this._getCandidateCoord(e,u,f),p=new Y(_.x,c.y),m=new Y(c.x,_.y),v=null,x;if(this._objectCanMoveTo(e,_,r))this._setObjectsInNextFrame(c,_,a,i,r,l);else{var d=this._getSecondCandidateMoveMode(e,c,_,p,m,this._wwaData.objectAttribute[l][o.ATR_TYPE]===o.OBJECT_MONSTER,r);d===ht.MODE_X?this._setObjectsInNextFrame(c,p,a,i,r,l):d===ht.MODE_Y?this._setObjectsInNextFrame(c,m,a,i,r,l):(v=this._getThirdCandidate(e,u,_,f,r),v!==null&&!this._wwaData.isOldMove?this._setObjectsInNextFrame(c,v,a,i,r,l):(x=this._getRandomMoveCoord(e,u,r),this._setObjectsInNextFrame(c,x,a,i,r,l)))}}else x=this._getRandomMoveCoord(e,u,r),this._setObjectsInNextFrame(c,x,a,i,r,l)}}}}}_getCandidateCoord(e,s,a){var i=s.getPartsCoord();this._player.getPosition().getOffsetCoord(),this._player.getPosition().getPartsCoord();try{var r=e?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord()}catch{throw new Error("予期せぬ方向への移動のようです。")}var n=i.clone(),h=0,u=0;return a===He.CHASE_PLAYER?(h=i.x>r.x?-1:i.x<r.x?1:0,u=i.y>r.y?-1:i.y<r.y?1:0):a===He.RUN_OUT&&(h=i.x>r.x?1:i.x<r.x?-1:0,u=i.y>r.y?1:i.y<r.y?-1:0),n.x+=h,n.y+=u,n.x=Math.min(this._wwaData.mapWidth-1,Math.max(0,n.x)),n.y=Math.min(this._wwaData.mapWidth-1,Math.max(0,n.y)),n}_getSecondCandidateMoveMode(e,s,a,i,r,n,h){return e&&((this._player.getDir()===N.UP||this._player.getDir()===N.DOWN)&&n||(this._player.getDir()===N.LEFT||this._player.getDir()===N.RIGHT)&&!n)?this._objectCanMoveTo(e,r,h)?ht.MODE_Y:this._objectCanMoveTo(e,i,h)?ht.MODE_X:ht.UNDECIDED:this._objectCanMoveTo(e,i,h)?ht.MODE_X:this._objectCanMoveTo(e,r,h)?ht.MODE_Y:ht.UNDECIDED}_getThirdCandidate(e,s,a,i,r){var n=i===He.CHASE_PLAYER?1:i===He.RUN_OUT?-1:0,h=e?this._player.getPosition().getNextJustPosition().getPartsCoord():this._player.getPosition().getPartsCoord(),u=s.getPartsCoord(),c;return h.x!==u.x&&(c=new Y(a.x,u.y+1*n),this._objectCanMoveTo(e,c,r)||(c=new Y(a.x,u.y-1*n),this._objectCanMoveTo(e,c,r))||(c=new Y(u.x,u.y+1*n),this._objectCanMoveTo(e,c,r))||(c=new Y(u.x,u.y-1*n),this._objectCanMoveTo(e,c,r)))||h.y!==u.y&&(c=new Y(u.x+1*n,a.y),this._objectCanMoveTo(e,c,r)||(c=new Y(u.x-1*n,a.y),this._objectCanMoveTo(e,c,r))||(c=new Y(u.x+1*n,u.y),this._objectCanMoveTo(e,c,r))||(c=new Y(u.x-1*n,u.y),this._objectCanMoveTo(e,c,r)))?c:null}_getRandomMoveCoord(e,s,a){const i=s.getPartsCoord(),r=i.clone(),n=this._wwaData.isOldMove?o.RANDOM_MOVE_ITERATION_NUM_BEFORE_V31:o.RANDOM_MOVE_ITERATION_NUM;for(let h=0;h<n;h++){const u=[-1,1,0,0,-1,-1,1,1],c=[0,0,1,-1,1,-1,1,-1],l=Math.floor(Math.random()*u.length);if(r.x=i.x+u[l],r.y=i.y+c[l],this._objectCanMoveTo(e,r,a))return r}return i}isPrevFrameEventExecuted(){return this._prevFrameEventExected}_objectCanMoveTo(e,s,a){if(s.x<0||s.y<0||this._wwaData.mapWidth<=s.x||this._wwaData.mapWidth<=s.y)return!1;var i=this._wwaData.map[s.y][s.x],r=this._wwaData.mapObject[s.y][s.x],n=this._wwaData.mapAttribute[i][o.ATR_TYPE],h=this._camera.getPosition(),u=h.getPartsCoord().x,c=h.getPartsCoord().y;if(i===0&&!this.isOldMap()||n===o.MAP_WALL)return!1;var l=s.x-u+1,f=s.y-c+1;if(0<=l&&0<=f&&l<a.length&&f<a.length){if(a[f][l]!==0)return!1}else if(r!==0)return!1;if(e){if(this._player.getPosition().getNextJustPosition().getPartsCoord().equals(s))return!1}else if(this._player.getPosition().getPartsCoord().equals(s))return!1;return!0}_setObjectsInNextFrame(e,s,a,i,r,n){var h=s.x-a+1,u=s.y-i+1;0<=s.x&&s.x<=this._wwaData.mapWidth&&0<=s.y&&s.y<=this._wwaData.mapWidth&&(0<=h&&h<r.length&&0<=u&&u<r.length&&(r[e.y-i+1][e.x-a+1]=0,r[s.y-i+1][s.x-a+1]=n,this.hoge[s.y-i+1][s.x-a+1]=n),this._objectMovingDataManager.add(n,e.convertIntoPosition(this),s.convertIntoPosition(this),e.getDirectionTo(s)))}launchBattleEstimateWindow(){const e=this._camera.getPosition().getPartsCoord(),s=Math.max(0,e.x),a=Math.min(this._wwaData.mapWidth-1,e.x+o.H_PARTS_NUM_IN_WINDOW-1),i=Math.max(0,e.y),r=Math.min(this._wwaData.mapWidth-1,e.y+o.V_PARTS_NUM_IN_WINDOW-1),n=[];this.playSound(de.DECISION);for(let u=s;u<=a;u++)for(let c=i;c<=r;c++){const l=this._wwaData.mapObject[c][u];this._wwaData.objectAttribute[l][o.ATR_TYPE]!==o.OBJECT_MONSTER||n.find(f=>f.partsID===l)||n.push(this._createMonster(l,new Y(u,c)))}if(this._bottomButtonType===Ye.BATTLE_REPORT&&O(ue[se.GOTO_WWA]).classList.add("onpress"),n.length===0)return O(ue[se.GOTO_WWA]).classList.remove("onpress"),this.hideBattleEstimateWindow(),!1;this._battleEstimateWindow.update(this._player.getStatus(),n,(u,c)=>this._player.calcBattleResultForPlayerTurn(u,c.status,!0),(u,c)=>this._player.calcBattleResultForEnemyTurn(u.status,c,!0),this.isUsingDefaultDamageCalcFunction()),this._battleEstimateWindow.show(),this._player.setEstimateWindowWating();const h=this.userDefinedFunctions&&this.userDefinedFunctions.CALL_BATTLE_REPORT;return h&&this.evalCalcWwaNodeGenerator.evalWwaNode(h),!0}isUsingDefaultDamageCalcFunction(){return this.getUserDefinedDamageFunctionNode("enemyToPlayer")===void 0&&this.getUserDefinedDamageFunctionNode("playerToEnemy")===void 0}_createMonster(e,s,a){return new Oa(e,s,new Y(this._wwaData.objectAttribute[e][o.ATR_X],this._wwaData.objectAttribute[e][o.ATR_Y]),new Ae(this._wwaData.objectAttribute[e][o.ATR_ENERGY],this._wwaData.objectAttribute[e][o.ATR_STRENGTH],this._wwaData.objectAttribute[e][o.ATR_DEFENCE],this._wwaData.objectAttribute[e][o.ATR_GOLD]),this._wwaData.message[this._wwaData.objectAttribute[e][o.ATR_STRING]],this._wwaData.objectAttribute[e][o.ATR_ITEM],a)}hideBattleEstimateWindow(){this._battleEstimateWindow.hide(),this._player.clearEstimateWindowWaiting(),O(ue[se.GOTO_WWA]).classList.remove("onpress"),this._dispatchWindowClosedTimeRequests()}hidePasswordWindow(e=!1){if(this._passwordWindow.hide(),e||this._passwordWindow.mode===Ss.SAVE){this._player.clearPasswordWindowWaiting(),this._dispatchWindowClosedTimeRequests();return}try{var s=this._quickLoad(!1,this._passwordWindow.password,!1)}catch(a){this._player.clearPasswordWindowWaiting(),this._dispatchWindowClosedTimeRequests(),alert(`セーブデータの復元に失敗しました。
|
|
158
|
+
エラー詳細:
|
|
159
|
+
`+a.message);return}this._passwordLoadExecInNextFrame=!0,this._passwordSaveExtractData=s}_displayUserVars(){if(!this._canDisplayUserVars||!this._inlineUserVarViewer)return;let e="";if(this._inlineUserVarViewer.isVisible=!0,this._player.isControllable()){const s=[...this._userVar.named];if(this._inlineUserVarViewer.kind==="named")if(e=`名前つき変数一覧
|
|
160
|
+
`,s.length===0)e+=`名前つき変数はありません
|
|
161
|
+
`;else if(s.length<=o.INLINE_USER_VAR_VIEWER_DISPLAY_NUM)e+=s.map(([a,i])=>`${a}: ${Tt(i)}`).join(`
|
|
162
|
+
`),e+=`
|
|
163
|
+
`;else for(let a=0;a<o.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;a++){let i=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+a)%s.length;e+=`${s[i][0]}: ${Tt(s[i][1],!0)}
|
|
164
|
+
`}else if(this._inlineUserVarViewer.kind==="numbered"){e=`変数一覧
|
|
165
|
+
`,this._userVarNameListRequestError&&(this._userVarNameListRequestError.kind==="noFileSpecified"?e+=this._userVarNameListRequestError.errorMessage+`
|
|
166
|
+
`:(e+=`【変数名取得失敗】
|
|
167
|
+
`,e+=` すべての変数を名無しとしています。
|
|
168
|
+
`,e+=` エラー詳細: ${this._userVarNameListRequestError.errorMessage}
|
|
169
|
+
`));for(let a=0;a<o.INLINE_USER_VAR_VIEWER_DISPLAY_NUM;a++){let i=(this._inlineUserVarViewer.topUserVarIndex[this._inlineUserVarViewer.kind]+a)%o.USER_VAR_NUM;const r=this._userVarNameList&&this._userVarNameList[i]?this._userVarNameList[i]:"名無し",n=`変数 ${i}: ${r}`;e+=`${n}: ${Tt(this._userVar.numbered[i],!0)}
|
|
170
|
+
`}}e+=`
|
|
171
|
+
操作方法
|
|
172
|
+
`,e+=`上キー:1つ戻す 下キー:1つ進める
|
|
173
|
+
`,e+=`左キー:10個戻す 右キー:10個進める
|
|
174
|
+
`,e+="Vキー: 名前付き変数/通常変数の切り替え",this.registerSystemMessagePage(e)}}_displayHelp(){if(this._player.isControllable()){const s=this._playTimeCalculator?.calculatePlayTimeFormat();var e="";switch(this.userDevice.device){case be.GAME:switch(this.userDevice.os){case We.NINTENDO:e=` 【操作方法】
|
|
175
|
+
A:Yes,戦闘結果予測の表示
|
|
176
|
+
B:No
|
|
177
|
+
X:メニュー
|
|
178
|
+
Y:このリストの表示
|
|
179
|
+
R:初めからスタート
|
|
180
|
+
ZL:データの一時保存
|
|
181
|
+
ZR:一時保存データの読み込み
|
|
182
|
+
+: 移動速度を上げる
|
|
183
|
+
-: 移動速度を落とす
|
|
184
|
+
WWA Wing バージョン:4.0.2
|
|
185
|
+
マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;case We.PLAY_STATION:e=` 【操作方法】
|
|
186
|
+
〇:Yes,戦闘結果予測の表示
|
|
187
|
+
×:No
|
|
188
|
+
△:メニュー
|
|
189
|
+
□:このリストの表示
|
|
190
|
+
R1:初めからスタート
|
|
191
|
+
L2:データの一時保存
|
|
192
|
+
R2:一時保存データの読み込み
|
|
193
|
+
OPTIONS: 移動速度を上げる
|
|
194
|
+
SHARE: 移動速度を落とす
|
|
195
|
+
現在の移動回数:`+this._player.getMoveCount()+`
|
|
196
|
+
`+(s?" プレイ時間:"+s+`
|
|
197
|
+
`:"")+` WWA Wing バージョン:4.0.2
|
|
198
|
+
マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;case We.XBOX:e=` 【操作方法】
|
|
199
|
+
B:Yes,戦闘結果予測の表示
|
|
200
|
+
A:No
|
|
201
|
+
Y:メニュー
|
|
202
|
+
X:このリストの表示
|
|
203
|
+
RB:初めからスタート
|
|
204
|
+
LT:データの一時保存
|
|
205
|
+
RT:一時保存データの読み込み
|
|
206
|
+
MENU: 移動速度を上げる
|
|
207
|
+
WINDOW: 移動速度を落とす
|
|
208
|
+
現在の移動回数:`+this._player.getMoveCount()+`
|
|
209
|
+
`+(s?" プレイ時間:"+s+`
|
|
210
|
+
`:"")+` WWA Wing バージョン:4.0.2
|
|
211
|
+
マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;default:return}break;case be.SP:return;case be.VR:return;case be.PC:e=` 【操作方法】
|
|
212
|
+
F1、M:戦闘結果予測の表示
|
|
213
|
+
F3:復帰用パスワード入力
|
|
214
|
+
F4:復帰用パスワード表示
|
|
215
|
+
F5:一時保存データの読み込み
|
|
216
|
+
F6:データの一時保存
|
|
217
|
+
F7:初めからスタート
|
|
218
|
+
F8:WWA公式ページにリンク
|
|
219
|
+
F12:このリストの表示
|
|
220
|
+
キーボードの「123、QWE、ASD、ZXC」は右のアイテムボックスに対応。
|
|
221
|
+
「Enter、Y」はYes,
|
|
222
|
+
「Esc、N」はNoに対応。
|
|
223
|
+
I: 移動速度を落とす/
|
|
224
|
+
F2、P: 移動速度を上げる
|
|
225
|
+
現在の移動回数:`+this._player.getMoveCount()+`
|
|
226
|
+
`+(s?" プレイ時間:"+s+`
|
|
227
|
+
`:"")+` WWA Wing バージョン:4.0.2
|
|
228
|
+
マップデータ バージョン: `+Math.floor(this._wwaData.version/10)+"."+this._wwaData.version%10;break;default:return}e&&this.registerSystemMessagePage(e)}}_setNextPage(){if(this._clearFacesInNextFrame=!0,this._scoreWindow.isVisible()&&this._scoreWindow.hide(),this._isLastPage&&this._reservedMoveMacroTurn!==void 0&&(this._player.setMoveMacroWaiting(this._reservedMoveMacroTurn),this._reservedMoveMacroTurn=void 0),this._pages.length===0){const{newPageGenerated:e}=this._hideMessageWindow();e||(this.clearFaces(),this._dispatchWindowClosedTimeRequests())}else this._shouldSetNextPage=!0;this._inlineUserVarViewer&&(this._inlineUserVarViewer.isVisible=!1)}_hideMessageWindow(){const e=this._player.isReadyToUseItem()?this._player.useItem():0,s=this.getObjectAttributeById(e,o.ATR_STRING);return s===0?(this._messageWindow.isVisible()&&(this._player.setDelayFrame(),this._messageWindow.hide(),this._keyStore.allClear(),this._mouseStore.clear()),this._player.clearMessageWaiting(),{newPageGenerated:!1}):(this.registerPageByMessage(this.getMessageById(s),{triggerParts:{id:e,type:W.OBJECT,position:this._player.getPosition().getPartsCoord()}}),{newPageGenerated:this._pages.length!==0})}getPlayerPositon(){return this._player.getPosition()}loadMapPartsObjectID(e){return e=e|0,e<0||e>=this._wwaData.objPartsMax?0:e}loadMapPartsID(e){return e=e|0,e<0||e>=this._wwaData.mapPartsMax?0:e}replaceParts(e,s,a=W.OBJECT,i=!1){var r=this._camera.getPosition().getPartsCoord(),n=i?Math.max(0,r.x):0,h=i?Math.min(this._wwaData.mapWidth-1,r.x+o.H_PARTS_NUM_IN_WINDOW-1):this._wwaData.mapWidth-1,u=i?Math.max(0,r.y):0,c=i?Math.min(this._wwaData.mapWidth-1,r.y+o.V_PARTS_NUM_IN_WINDOW)-1:this._wwaData.mapWidth-1;i=n!==0||h!==this._wwaData.mapWidth-1||u!==0||c!==this._wwaData.mapWidth-1;var l,f,_,p,m,v,x,d;if(a===W.OBJECT)if(e=this.loadMapPartsObjectID(e),s=this.loadMapPartsObjectID(s),p=this._mapObjectIDTable[e].concat(),x=this._mapObjectIDTable[e],x.length=0,d=this._mapObjectIDTable[s],f=p.length,i)for(_=0;_<f;_++)l=p[_],m=l&Pe.BITMASK,v=l>>>Pe.BITSHIFT&Pe.BITMASK,n<=m&&m<=h&&u<=v&&v<=c?(this._wwaData.mapObject[v][m]=s,d.push(l)):x.push(l);else{for(_=0;_<f;_++)l=p[_],m=l&Pe.BITMASK,v=l>>>Pe.BITSHIFT&Pe.BITMASK,this._wwaData.mapObject[v][m]=s;Array.prototype.push.apply(d,p)}else if(e=this.loadMapPartsID(e),s=this.loadMapPartsID(s),p=this._mapIDTable[e].concat(),x=this._mapIDTable[e],x.length=0,d=this._mapIDTable[s],f=p.length,i)for(_=0;_<f;_++)l=p[_],m=l&Pe.BITMASK,v=l>>>Pe.BITSHIFT&Pe.BITMASK,n<=m&&m<=h&&u<=v&&v<=c?(this._wwaData.map[v][m]=s,d.push(l)):x.push(l);else{for(_=0;_<f;_++)l=p[_],m=l&Pe.BITMASK,v=l>>>Pe.BITSHIFT&Pe.BITMASK,this._wwaData.map[v][m]=s;Array.prototype.push.apply(d,p)}}getYesNoImgCoord(){return new Y(this._wwaData.yesnoImgPosX,this._wwaData.yesnoImgPosY)}setYesNoImgCoord(e){return this._wwaData.yesnoImgPosX=e.x,this._wwaData.yesnoImgPosY=e.y,e}getPlayerImgCoord(){return new Y(this._wwaData.playerImgPosX,this._wwaData.playerImgPosY)}setPlayerImgCoord(e){return this._wwaData.playerImgPosX=e.x,this._wwaData.playerImgPosY=e.y,e}setPlayerEnergyMax(e){return this._player.setEnergyMax(this.toValidStatusValue(e))}getMapPartsNum(){return this._wwaData.mapPartsMax}getObjectPartsNum(){return this._wwaData.objPartsMax}setMoveMacroWaitingToPlayer(e){this._reservedMoveMacroTurn=e}disableSave(e){return this._wwaData.disableSaveFlag=e,this._wwaSave.quickSaveButtonUpdate(this._wwaData),e}isOldMap(){return this._wwaData.isOldMap}setOldMap(e){return this._wwaData.isOldMap=e}setObjectNotCollapseOnPartsOnPlayer(e){return this._wwaData.objectNoCollapseDefaultFlag=e}setGameOverPosition(e){if(e.x<0||e.x>=this.getMapWidth()||e.y<0||e.y>=this.getMapWidth())throw new Error("マップの範囲外が指定されています!");return this._wwaData.gameoverX=e.x,this._wwaData.gameoverY=e.y,e}getGemeOverPosition(){return new Y(this._wwaData.gameoverX,this._wwaData.gameoverY)}toValidStatusValue(e){return this.isNotNumberTypeOrNaN(e)||e<0?0:Math.floor(e)}setPlayerStatus(e,s,a){if(e===ot.ENERGY){if(this._player.setEnergy(this.toValidStatusValue(s)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:a}))return this.gameover(),{isGameOver:!0}}else if(e===ot.STRENGTH)this._player.setStrength(this.toValidStatusValue(s));else if(e===ot.DEFENCE)this._player.setDefence(this.toValidStatusValue(s));else if(e===ot.GOLD)this._player.setGold(this.toValidStatusValue(s));else if(e===ot.MOVES)this._player.setMoveCount(this.toValidStatusValue(s));else throw new Error("未定義のステータスタイプです");return{}}setDelPlayer(e){return this._wwaData.delPlayerFlag=e}setPlayerGetItem(e,s){try{this._player.addItem(s,e,!0)}catch{}}setStatusIconCoord(e,s){const a=s.x*o.CHIP_SIZE,i=s.y*o.CHIP_SIZE,r=n=>{const h=Qe(`${n}>.status-icon`);h.style.backgroundPosition=`-${a}px -${i}px`};switch(e){case ge.ENERGY:this._wwaData.imgStatusEnergyX=s.x,this._wwaData.imgStatusEnergyY=s.y,r("#disp-energy");break;case ge.STRENGTH:this._wwaData.imgStatusStrengthX=s.x,this._wwaData.imgStatusStrengthY=s.y,r("#disp-strength");break;case ge.DEFENCE:this._wwaData.imgStatusDefenceX=s.x,this._wwaData.imgStatusDefenceY=s.y,r("#disp-defence");break;case ge.GOLD:this._wwaData.imgStatusGoldX=s.x,this._wwaData.imgStatusGoldY=s.y,r("#disp-gold");break;default:throw new Error("種別が不正です。")}return s.clone()}setWideCellCoord(e){this._wwaData.imgWideCellX=e.x,this._wwaData.imgWideCellY=e.y;const s=e.x*o.CHIP_SIZE,a=e.y*o.CHIP_SIZE;return Array.prototype.forEach.call(et("div.wide-cell-row"),i=>{i.style.backgroundPosition="-"+s+"px -"+a+"px"}),e.clone()}setFrameCoord(e){return this._wwaData.imgFrameX=e.x,this._wwaData.imgFrameY=e.y,this._cgManager.setFrameImage(e),e.clone()}setBattleEffectCoord(e){return this._battleEffectCoord=e.clone()}canInput(){return!this._temporaryInputDisable&&!this._cgManager.picture.isWaiting()}setEffect(e,s){this._wwaData.effectWaits=e,this._wwaData.effectCoords=s,this.updateEffect()}stopEffect(){this._wwaData.effectCoords=[],this.updateEffect()}updateEffect(){this._cgManager.updateEffects(this._wwaData.effectCoords)}updateAllPicturesCache(){this._cgManager.updateAllPicturesCache(this._isMainAnimation())}updatePicturesAnimation(){this._player.isPausing()||this._cgManager.updatePicturesAnimation(this._isMainAnimation())}setImgClick(e){if(this._wwaData.imgClickX=e.x,this._wwaData.imgClickY=e.y,e.equals(new Y(0,0)))Array.prototype.forEach.call(et(".item-cell>.item-click-border"),a=>{a.style.backgroundImage="url('"+o.ITEM_BORDER_IMG_DATA_URL+"')",a.style.backgroundPosition="0 0"});else{var s=this._wwaData.mapCGName.replace("(","\\(").replace(")","\\)");Array.prototype.forEach.call(et(".item-cell>.item-click-border"),a=>{a.style.backgroundImage="url('"+s+"')",a.style.backgroundPosition="-"+e.x*o.CHIP_SIZE+"px -"+e.y*o.CHIP_SIZE+"px"})}}addFace(e){this._faces.push(e),this._messageWindow.setPositionByPlayerPosition(this._faces.length!==0,this._scoreWindow.isVisible(),!1,this._player.getPosition(),this._camera.getPosition())}clearFaces(){this._faces=[]}updateItemEffectEnabled(e){this._wwaData.isItemEffectEnabled=e}setOldMove(e){this._wwaData.isOldMove=e}setGameOverPolicy(e){switch(e){case 0:this._wwaData.gameOverPolicy="default";return;case 1:this._wwaData.gameOverPolicy="never";return;case 2:this._wwaData.gameOverPolicy="except-macro";return;default:return}}setBgmDelay(e){this._wwaData.bgmDelayDurationMs=e}setPictureRegistry(e,s,a,i,r){const n=a===W.OBJECT?this._wwaData.objectAttribute[s]:a===W.MAP?this._wwaData.mapAttribute[s]:null;if(n===null)throw new Error("対応していないパーツ番号です。");const h=this.getMessageById(n[o.ATR_STRING]);if(!h)throw a===W.OBJECT?new Error(`物体パーツ ${s} 番に対応したテキストが見つかりませんでした。`):new Error(`背景パーツ ${s} 番に対応したテキストが見つかりませんでした。`);const u=this._returnEvalString("("+h+")"),c=this._cgManager.picture.registerPictureFromRawRegistry({layerNumber:e,imgPosX:(n[o.ATR_X]??0)/o.CHIP_SIZE,imgPosX2:(n[o.ATR_X2]??0)/o.CHIP_SIZE,imgPosY:(n[o.ATR_Y]??0)/o.CHIP_SIZE,imgPosY2:(n[o.ATR_Y2]??0)/o.CHIP_SIZE,triggerPartsX:i.x,triggerPartsY:i.y,soundNumber:n[o.ATR_SOUND]??0,properties:Ct(u)},s,a,r);this._wwaData.pictureRegistry=c,this.updateAllPicturesCache()}setPictureRegistryFromRawText(e,s){const a=this._cgManager.picture.registerPictureFromRawText(e,s);this._wwaData.pictureRegistry=a,this.updateAllPicturesCache()}setPictureRegistryFromObject(e,s){const a=this._cgManager.picture.registerPictureFromObject(e,s);this._wwaData.pictureRegistry=a,this.updateAllPicturesCache()}deletePictureRegistry(e){const s=this._cgManager.picture.deletePicture(e);this._wwaData.pictureRegistry=s}clearAllPictures(){this._cgManager.picture.clearAllPictures(),this._wwaData.pictureRegistry=[]}initCSSRule(){this._styleElm=O(o.WWA_STYLE_TAG_ID),this._sheet=this._styleElm.sheet,this.updateCSSRule()}updateCSSRule(){if(this._stylePos===void 0)this._stylePos=new Array(2);else if(this._sheet.addRule!==void 0)for(var e=0;e<this._stylePos.length;e++)this._sheet.removeRule(this._stylePos[this._styleElm[e]]);else for(var e=0;e<this._stylePos.length;e++)this._sheet.deleteRule(this._stylePos[this._styleElm[e]]);const s="div.wwa-message-window, div#wwa-text-message-window, div#wwa-battle-estimate, div#wwa-password-window",a=this._isClassicModeEnable?1:.9,i=`
|
|
229
|
+
background-color: rgba(${this._wwaData.frameColorR}, ${this._wwaData.frameColorG}, ${this._wwaData.frameColorB}, ${a});
|
|
230
|
+
border-color: rgba(${this._wwaData.frameOutColorR}, ${this._wwaData.frameOutColorG}, ${this._wwaData.frameOutColorB}, 1);
|
|
231
|
+
color: rgba(${this._wwaData.fontColorR}, ${this._wwaData.fontColorG}, ${this._wwaData.fontColorB}, 1);
|
|
232
|
+
white-space: pre-wrap;
|
|
233
|
+
`,r="div#wwa-sidebar",n=`
|
|
234
|
+
color: rgba(${this._wwaData.statusColorR}, ${this._wwaData.statusColorG}, ${this._wwaData.statusColorB},1);
|
|
235
|
+
font-weight: bold;
|
|
236
|
+
`;this._sheet.addRule!==void 0?(this._stylePos[qt.MESSAGE_WINDOW]=this._sheet.addRule(s,i),this._stylePos[qt.SIDEBAR]=this._sheet.addRule(r,n)):(this._stylePos[qt.MESSAGE_WINDOW]=this._sheet.insertRule(`${s} { ${i} }`,0),this._stylePos[qt.SIDEBAR]=this._sheet.insertRule(`${r} { ${n} }`,1))}changeStyleRule(e,s,a,i){e===$t.COLOR_FRAME?(this._wwaData.frameColorR=s,this._wwaData.frameColorG=a,this._wwaData.frameColorB=i):e===$t.COLOR_FRAMEOUT?(this._wwaData.frameOutColorR=s,this._wwaData.frameOutColorG=a,this._wwaData.frameOutColorB=i):e===$t.COLOR_STR?(this._wwaData.fontColorR=s,this._wwaData.fontColorG=a,this._wwaData.fontColorB=i):e===$t.COLOR_STATUS_STR&&(this._wwaData.statusColorR=s,this._wwaData.statusColorG=a,this._wwaData.statusColorB=i),this.updateCSSRule()}showMonsterWindow(){this._monsterWindow.show()}isClassicMode(){return this._isClassicModeEnable}isConsoleOutputMode(){return this._useConsole}forcedJumpGate(e,s){this._player.isWaitingMessage()?this._windowCloseWaitingJumpGateRequest={x:e,y:s}:(this._windowCloseWaitingJumpGateRequest=void 0,this._player.jumpTo(new Be(this,e,s,0,0)))}setUserVarIndecies(e,s,a="="){const i=this._userVar.named.get(e[0]),r=e.length-1,n=e.slice(1,r).reduce((c,l)=>bt(c,l),i);let h=s;const u=e[r];if(e.length>1){switch(a){case"=":h=s;break;case"+=":h=bt(n,u)+s;break;case"-=":if(typeof s!="number")throw new TypeError(`その演算子は利用できません: ${a}`);h=bt(n,u)-s;break;case"*=":if(typeof s!="number")throw new TypeError(`その演算子は利用できません: ${a}`);h=bt(n,u)*s;break;case"/=":if(typeof s!="number")throw new TypeError(`その演算子は利用できません: ${a}`);h=bt(n,u)/s;break;default:throw new TypeError(`その演算子は利用できません: ${a}`)}if(Array.isArray(n))if(typeof u=="number")n[u]=h;else throw new TypeError(`配列の添字に数字以外は使えません: ${e[r]}`);else if(typeof n=="object"&&n!==null){const c=String(u);Pi(n,c,h)}else{if(typeof n=="string")throw new TypeError(`文字列 "${n}" の特定の文字を直接書き換えることはできません`);Pi(n,u,h)}this._userVar.named.set(e[0],i)}else throw new Error(`indeciesの引数が足りていません: ${e}`)}setUserVar(e,s,a){const i=(h,u)=>{if(typeof h=="number"){if(typeof u!="number")throw new TypeError("数字index変数への数値以外の代入は今のところできません。あらかじめご了承ください。");this._userVar.numbered[h]=typeof u=="number"?this.toAssignableValue(u):u}else this._userVar.named.set(h,u)},n=(h=>typeof h=="number"?this._userVar.numbered[h]:this._userVar.named.get(h))(e);if(typeof s=="number")switch(a){case"+=":{if(typeof n=="number")i(e,n+s);else if(typeof n=="string")i(e,String(n)+s);else throw new TypeError("boolean に number は足せません");break}case"-=":{if(typeof n=="number")i(e,n-s);else throw new TypeError("string/boolean から number は引けません");break}case"*=":if(typeof n=="number")i(e,n*s);else throw new TypeError("string/boolean に number はかけられません");break;case"/=":if(typeof n=="number")i(e,n/s);else throw new TypeError("string/boolean は number で割れません");break;case"=":default:i(e,s);break}else if(typeof s=="string")switch(a){case"+=":i(e,n+s);break;case"=":i(e,s);break;default:throw new TypeError("文字列を -=, *=, /= で複合代入することはできません")}else switch(a){case"+=":if(typeof n=="string")i(e,n+s);else throw new TypeError("number/boolean に boolean を足せません");break;case"=":i(e,s);break;default:throw new TypeError("booleanを -=, *=, /= で複合代入することはできません")}this._messageWindow.update()}toAssignableValue(e){const s=e>0?Math.floor(e):Math.ceil(e),a=Math.max(Math.min(s,o.USER_VAR_NUM_MAX_VALUE),o.USET_VAR_NUM_MIN_VALUE);return this.isNotNumberTypeOrNaN(a)?0:a}isValidUserVarIndex(e){return typeof e=="number"&&e>=0&&e<o.USER_VAR_NUM&&(e|0)===e}isNotNumberTypeOrNaN(e){return typeof e!="number"||e!==e}getUserVar(e){return this._userVar.numbered[e]}getUserNameVar(e){return this._userVar.named.get(e.toString())}getAllUserNameVar(){return Ct(this._userVar.named)}recUserPosition(e,s){var a=this._player.getPosition().getPartsCoord();this.setUserVar(e,a.x),this.setUserVar(s,a.y)}jumpRecUserPosition(e,s){const a=this._userVar.numbered[e],i=this._userVar.numbered[s];!Ce(a,`v[${e}]`)||Ce(i,`v[${s}]`),this.forcedJumpGate(a,i)}jumpSpecifiedXPos(e){const s=this._player.getPosition().getPartsCoord();this.forcedJumpGate(e,s.y)}jumpSpecifiedYPos(e){const s=this._player.getPosition().getPartsCoord();this.forcedJumpGate(s.x,e)}outputUserVar(e){console.log("Var["+e+"] = "+this._userVar.numbered[e])}setUserVarHP(e){this.setUserVar(e,this._player.getStatus().energy)}setUserVarHPMAX(e){this.setUserVar(e,this._player.getEnergyMax())}setUserVarAT(e,s){switch(s){case"bare":this.setUserVar(e,this._player.getStatusWithoutEquipments().strength);return;case"equipment":this.setUserVar(e,this._player.getStatusOfEquipments().strength);return;case"all":default:this.setUserVar(e,this._player.getStatus().strength);return}}setUserVarDF(e,s){switch(s){case"bare":this.setUserVar(e,this._player.getStatusWithoutEquipments().defence);return;case"equipment":this.setUserVar(e,this._player.getStatusOfEquipments().defence);return;case"all":default:this.setUserVar(e,this._player.getStatus().defence);return}}setUserVarMONEY(e){this.setUserVar(e,this._player.getStatus().gold)}setHPUserVar(e,s){if(!this.isValidUserVarIndex(e))throw new Error("ユーザ変数の添字が範囲外です。");const a=this._userVar.numbered[e];return Ce(a,`v[${e}]`),this._player.setEnergy(this.toValidStatusValue(a)),this._player.updateStatusValueBox(),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:s})?(this.gameover(),{isGameOver:!0}):{}}setHPMAXUserVar(e){if(!this.isValidUserVarIndex(e))throw new Error("ユーザ変数の添字が範囲外です。");const s=this._userVar.numbered[e];Ce(s,`v[${e}]`),this._player.setEnergyMax(this.toValidStatusValue(s)),this._player.updateStatusValueBox()}setATUserVar(e){if(!this.isValidUserVarIndex(e))throw new Error("ユーザ変数の添字が範囲外です。");const s=this._userVar.numbered[e];Ce(s,`v[${e}]`),this._player.setStrength(this.toValidStatusValue(s)),this._player.updateStatusValueBox()}setDFUserVar(e){if(!this.isValidUserVarIndex(e))throw new Error("ユーザ変数の添字が範囲外です。");const s=this._userVar.numbered[e];Ce(s,`v[${e}]`),this._player.setDefence(this.toValidStatusValue(s)),this._player.updateStatusValueBox()}setMONEYUserVar(e){if(!this.isValidUserVarIndex(e))throw new Error("ユーザ変数の添字が範囲外です。");const s=this._userVar.numbered[e];Ce(s,`v[${e}]`),this._player.setGold(this.toValidStatusValue(s)),this._player.updateStatusValueBox()}setUserVarStep(e){this.setUserVar(e,this._player.getMoveCount())}setUserVarVal(e,s){this.setUserVar(e,s)}setUserValOtherUserVal(e,s){this.setUserVar(e,this._userVar.numbered[s])}setUserValAdd(e,s){const a=this._userVar.numbered[e],i=this._userVar.numbered[s];typeof a!="boolean"&&typeof i!="boolean"&&this.setUserVar(e,a+i)}setUserValSub(e,s){const a=this._userVar.numbered[e],i=this._userVar.numbered[s];Ce(a,`v[${e}]`)&&Ce(i,`v[${s}]`)&&this.setUserVar(e,a-i)}setUserValMul(e,s){const a=this._userVar.numbered[e],i=this._userVar.numbered[s];Ce(a,`v[${e}]`)&&Ce(i,`v[${s}]`)&&this.setUserVar(e,a*i)}setUserValDiv(e,s){const a=this._userVar.numbered[e],i=this._userVar.numbered[s];Ce(a,`v[${e}]`)&&Ce(i,`v[${s}]`)&&this.setUserVar(e,i===0?0:a/i)}setUserValMod(e,s){const a=this._userVar.numbered[e],i=this._userVar.numbered[s];Ce(a,`v[${e}]`)&&Ce(i,`v[${s}]`)&&this.setUserVar(e,i===0?0:a%i)}setUserValRandNum(e,s,a){this.setUserVar(e,Math.floor(Math.random()*this.toAssignableValue(s))+a)}speedChangeJudge(e){this._wwaData.permitChangeGameSpeed=e}execSetMacro(e="",s){const a=Zo(e,this.generateTokenValues(s.triggerParts)),{assignee:i,rawValue:r}=a;switch(i){case"energy":if(this._player.setEnergy(this.toValidStatusValue(r)),this._player.isDead()&&this.shouldApplyGameOver({isCalledByMacro:!0}))return this._player.updateStatusValueBox(),this.gameover(),{isGameOver:!0};break;case"energyMax":this._player.setEnergyMax(this.toValidStatusValue(r));break;case"strength":this._player.setStrength(this.toValidStatusValue(r));break;case"defence":this._player.setDefence(this.toValidStatusValue(r));break;case"gold":this._player.setGold(this.toValidStatusValue(r));break;case"moveCount":this._player.setMoveCount(this.toValidStatusValue(r));break;case"variable":if(isNaN(a.index)||!this.isValidUserVarIndex(a.index))throw new Error("ユーザ変数の添字が範囲外です。");this.setUserVar(a.index,this.toAssignableValue(r));break;case"map":this.appearPartsEval(s.triggerParts.position,`${a.x}`,`${a.y}`,a.rawValue,W.MAP);break;case"mapObject":this.appearPartsEval(s.triggerParts.position,`${a.x}`,`${a.y}`,a.rawValue,W.OBJECT);break;case"item":this.setPlayerGetItem(a.boxIndex1to12,r);break;case"playerDirection":this._player.setDir(r);break}return this._player.updateStatusValueBox(),{}}generateTokenValues(e){return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:this._playTimeCalculator?.calculateTimeMs()??0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),itemBox:this._player.getCopyOfItemBox(),partsId:e?.id,partsType:e?.type,partsPosition:e?.position,map:this._wwaData.map,mapObject:this._wwaData.mapObject}}userVarUserIf(e,s){if(s[5]===void 0)throw new Error("$if の引数不足 str="+s);const a=parseInt(s[0],10),i=parseInt(s[2],10);if(!this.isValidUserVarIndex(a)||!this.isValidUserVarIndex(i))throw new Error("判定対象のユーザ変数の添字が範囲外です!");const r=this._userVar.numbered[a],n=s[1],h=this._userVar.numbered[i];!Ce(r,`v[${a}]`)||Ce(h,`v[${i}]`);const u=p=>parseInt(p,10)?W.MAP:W.OBJECT;if(this.compareUserVar(r,n,h)){const p=parseInt(s[3],10),m=s[4],v=s[5],x=u(s[6]);this.appearPartsEval(e,m,v,p,x);return}if(s[9]===void 0)return;const c=parseInt(s[7],10),l=s[8],f=s[9],_=u(s[10]);this.appearPartsEval(e,l,f,c,_)}compareUserVar(e,s,a){switch(s){case"==":return e===a;case"!=":return e!==a;case">=":return e>=a;case">":return e>a;case"<=":return e<=a;case"<":return e<a;default:throw new Error(`未定義の演算子です: ${s}`)}}setPlayerSpeedIndex(e){if(e<o.MIN_SPEED_INDEX||o.MAX_SPEED_INDEX<e)throw new Error("#set_speed の引数が異常です:"+e);if(this._player.isMoving()){this._playerAndObjectsStopWaitingGameSpeedChangeRequest={speedIndex:e};return}this._wwaData.gameSpeedIndex=this._player.setSpeedIndex(e),this._playerAndObjectsStopWaitingGameSpeedChangeRequest=void 0}setUserVarPlayTime(e){this.setUserVar(e,this._playTimeCalculator?.calculateTimeMs()??0)}hideStatus(e,s){if(e<0||e>yi.length)throw new Error("隠すパラメータは0から3の間で指定してください。");this._changeStatusVisibility(yi[e],!s),this._player.updateStatusValueBox()}varMap(e,s,a,i,r){if(!this.isValidUserVarIndex(i))throw new Error("対象のユーザ変数の添字が範囲外です");const n=this._userVar.numbered[i];if(typeof n!="number")throw new Error("数値でないパーツ番号は指定できません");if(n<0)throw new Error("負のパーツ番号は指定できません");if(r===W.OBJECT&&n>=this.getObjectPartsNum())throw new Error("物体パーツ番号の最大値を超えるパーツ番号が指定されました");if(r===W.MAP&&n>=this.getMapPartsNum())throw new Error("背景パーツ番号の最大値を超えるパーツ番号が指定されました");this.appearPartsEval(e,s,a,n,r)}setItemboxBackgroundPosition(e){this._wwaData.imgItemboxX=e.x,this._wwaData.imgItemboxY=e.y,Array.prototype.forEach.call(et("div.item-cell"),s=>{s.style.backgroundPosition=`-${e.x*o.CHIP_SIZE}px -${e.y*o.CHIP_SIZE}px`})}_getVirtualPadButton(e){if(!go.includes(e))throw new ReferenceError(`WWAの仮想パッド ${e} は存在しません。`);return this._virtualPadButtonElements[e]}_setVirtualPadTouch(e){this._getVirtualPadButton(e).classList.add("wwa-virtualpad__button--pressed")}_setVirtualPadLeave(e){this._getVirtualPadButton(e).classList.remove("wwa-virtualpad__button--pressed")}_actionGamePadButtonItemMacro(){if(!this._wwaData.gamePadButtonItemTable)return!1;var e,s,a,i;for(e=this._wwaData.gamePadButtonItemTable.length,s=0;s<e;s++)if(a=this._wwaData.gamePadButtonItemTable[s],!!a){switch(i=!1,s){case J.BUTTON_CROSS_KEY_LEFT:this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_LEFT)&&(i=!0);break;case J.BUTTON_CROSS_KEY_RIGHT:this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_RIGHT)&&(i=!0);break;case J.BUTTON_CROSS_KEY_UP:this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_UP)&&(i=!0);break;case J.BUTTON_CROSS_KEY_DOWN:this._gamePadStore.crossPressed(J.BUTTON_CROSS_KEY_DOWN)&&(i=!0);break}if(this._gamePadStore.buttonTrigger(s)&&(i=!0),i&&this.onselectitem(a))return!0}return!1}setGamePadButtonItemTable(e,s){if(!this._wwaData.gamePadButtonItemTable){var a,i;this._wwaData.gamePadButtonItemTable=[];for(i in J)a=i,this._wwaData.gamePadButtonItemTable[a]=0}this._wwaData.gamePadButtonItemTable.length>e&&(this._wwaData.gamePadButtonItemTable[e]=s)}_checkSaveDataCompatibility(e,s,a){return e!==void 0&&e!==this._wwaData.worldName?Nt.UNMATCHED_WORLD_NAME:a&&a!==sn(this._wwaData.worldName,this._wwaData.worldPassNumber)?Nt.UNMATCHED_WORLD_PASS_NUMBER:this._isDisallowLoadOldSave&&s!==this.checkOriginalMapString?Nt.DISALLOW_OLD_REVISION_WORLD_SAVE_DATA:null}isVisibleStatus(e){switch(e){case"energy":return this._wwaData.isVisibleStatusEnergy;case"strength":return this._wwaData.isVisibleStatusStrength;case"defence":return this._wwaData.isVisibleStatusDefence;case"gold":return this._wwaData.isVisibleStatusGold;default:throw new Error("存在しないステータスが与えられました")}}_changeStatusVisibility(e,s){switch(e){case"energy":this._wwaData.isVisibleStatusEnergy=s;return;case"strength":this._wwaData.isVisibleStatusStrength=s;return;case"defence":this._wwaData.isVisibleStatusDefence=s;return;case"gold":this._wwaData.isVisibleStatusGold=s;return;default:throw new Error("存在しないステータスが与えられました")}}shouldApplyGameOver({isCalledByMacro:e}){return e?this._wwaData.gameOverPolicy==="default":this._wwaData.gameOverPolicy==="default"||this._wwaData.gameOverPolicy==="except-macro"}getEnemyStatus(){return this._monster?this._monster.status:-1}setEnemyStatus(e){if(this._monster)this._monster.setStatus(e);else throw new Error("敵が存在しません")}getGameStatus(){return{totalStatus:this._player.getStatus(),bareStatus:this._player.getStatusWithoutEquipments(),itemStatus:this._player.getStatusOfEquipments(),energyMax:this._player.getEnergyMax(),moveCount:this._player.getMoveCount(),playTime:this._playTimeCalculator?.calculateTimeMs()??0,userVars:this._userVar.numbered,playerCoord:this._player.getPosition().getPartsCoord(),playerDirection:this._player.getDir(),cameraCoord:this._camera.getPosition().getPartsCoord(),itemBox:this._player.getCopyOfItemBox(),gameSpeedIndex:this._player.getSpeedIndex(),wwaData:this._wwaData}}_debugEvalString(){if(this._player.isControllable())try{const e=this._debugConsoleElement.querySelector(".console-text-area");if(!(e instanceof HTMLTextAreaElement))throw new Error("要素 #wwa-debug-console > .console-text-area が textarea 要素でありません");this._execEvalString(e.value)}catch(e){console.error(e),this.registerSystemMessagePage(`解析中にエラーが発生しました :
|
|
237
|
+
`+e.message)}}_execEvalString(e,s){try{const a=this.convertWwaNodes(e);s&&this.evalCalcWwaNodeGenerator.setTriggerParts(s.id,s.type,s.position),this.evalCalcWwaNodeGenerator.evalWwaNodes(a),this.evalCalcWwaNodeGenerator.clearTemporaryState()}catch(a){console.error(a),this.registerSystemMessagePage(`解析中にエラーが発生しました :
|
|
238
|
+
`+a.message)}}_returnEvalString(e){try{const s=Vn("("+e+")"),a=ee(s);return this.evalCalcWwaNodeGenerator.evalWwaNode(a)}catch(s){console.error(s),this.registerSystemMessagePage(`解析中にエラーが発生しました :
|
|
239
|
+
`+s.message,!1)}}movePlayer(e){this._player.controll(e)}isPlayerWaitingMessage(){return this._player.isWaitingMessage()}_loadSystemMessage(e){if(this._wwaData.customSystemMessages[e])return this._wwaData.customSystemMessages[e];const s=Ei[e];if(s.mapdataParams)switch(s.mapdataParams.messageArea){case"message":{const a=this._wwaData.message[s.mapdataParams.index];return a===""?s.defaultText:a}case"systemMessage":{const a=this._wwaData.systemMessage[s.mapdataParams.index];return a===""?s.defaultText:a}default:throw new Error("システムエラー: システムメッセージの設定がおかしいようです")}return s.defaultText}resolveSystemMessage(e){const s=this._loadSystemMessage(e);switch(e){case Ie.ITEM_SELECT_TUTORIAL:return s.replaceAll("%HOW_TO_USE_ITEM%",(()=>{switch(this.userDevice.device){case be.PC:return"右のボックスを選択する";case be.VR:return"右のボックスをクリックする";case be.SP:return"右のボックスをタップする";case be.GAME:switch(this.userDevice.os){case We.NINTENDO:return"Xボタンを押すか、右のボックスをタップする";case We.PLAY_STATION:return"△ボタンを押す";case We.XBOX:return"Yボタンを押す";default:return"右のボックスを選択する"}default:return"右のボックスを選択する"}})());case Ie.GAME_SPEED_CHANGED:{const a=this._player.getSpeedIndex();return s.replaceAll("%GAME_SPEED_NAME%",fo[a]).replaceAll("%HIGH_SPEED_MESSAGE%",this.isBattleSpeedIndexForQuickBattle(a)?`戦闘も速くなります。
|
|
240
|
+
`:"").replaceAll("%MAX_SPEED_INDEX%",String(o.MAX_SPEED_INDEX+1)).replaceAll("%GAME_SPEED_INDEX%",String(a+1)).replaceAll("%SPEED_UP_BUTTON%",this.userDevice.os===We.NINTENDO?"+ボタン":"Pキー").replaceAll("%SPEED_DOWN_BUTTON%",this.userDevice.os===We.NINTENDO?"-ボタン":"Iキー")}default:return s}}overwriteSystemMessage(e,s){this._wwaData.customSystemMessages[e]=s}}var _i=!1;function _l(t,e){if(t===null)return;const s=document.createElement("button");s.classList.add("wwa-virtualpad-toggle-button"),s.textContent="仮想パッド表示切り替え",s.addEventListener("click",e),t.appendChild(s)}function fl(t){if(t===null)return;const e=document.createElement("section");e.setAttribute("id","wwa-debug-console");const s=document.createElement("textarea");s.setAttribute("rows","10"),s.setAttribute("cols","60"),s.textContent=`v["money"] = 100;
|
|
241
|
+
v["name"] = "ヤツロウ";
|
|
242
|
+
MSG(v["name"]+"「俺の所持金は"+v["money"]+"ゴールドだ」");
|
|
243
|
+
for(LP[0]=0; LP[0]<2; LP[0]++) {
|
|
244
|
+
LOG(LP);
|
|
245
|
+
}`;const a=r=>r.stopPropagation();s.addEventListener("keydown",a),s.addEventListener("keypress",a),s.addEventListener("keyup",a),s.classList.add("console-text-area"),e.appendChild(s);const i=document.createElement("button");return i.classList.add("script-running-button"),i.textContent="実行(X)",e.appendChild(i),t.appendChild(e),e}function zn(){if(navigator.userAgent.match(/(?:msie|trident)/i)||navigator.userAgent.match(/edge/i)){alert(`このゲームをプレイするには、Google Chrome や Mozilla Firefox などの最新のブラウザでこのページを開いてください。
|
|
246
|
+
ご利用の環境のサポートは、既に終了しています。`);return}Array.prototype.forEach.call(et("a.wwa-copyright"),y=>{y.addEventListener("click",()=>{_i=!0})}),window.addEventListener("beforeunload",y=>{var C="このページを離れますか?";if(_i)return _i=!1,y.returnValue=C,C});const t=O("wwa-wrapper").getAttribute("data-wwa-title-img"),e=O("wwa-wrapper").getAttribute("data-wwa-virtualpad-enable"),s=e!==null&&e.match(/^true$/i)!==null;e0(O("wwa-wrapper"),t,s);var a=O("wwa-wrapper").getAttribute("data-wwa-mapdata"),i=O("wwa-wrapper").getAttribute("data-wwa-audio-dir"),r=O("wwa-wrapper").getAttribute("data-wwa-var-dump-elm"),n=null,h=O("wwa-wrapper").getAttribute("data-wwa-display-user-vars")==="true",u=O("wwa-wrapper").getAttribute("data-wwa-user-var-names-file");O("wwa-wrapper").hasAttribute("data-wwa-var-dump-elm")&&h&&(n=ul(r));var c=!0;O("wwa-wrapper").getAttribute("data-wwa-urlgate-enable").match(/^false$/i)&&(c=!1);var l=O("wwa-wrapper").getAttribute("data-wwa-classic-mode-enable"),f=!1;l!==null&&l.match(/^true$/i)&&(f=!0);var _=!0,p=O("wwa-wrapper").getAttribute("data-wwa-item-effect-enable");p!==null&&p.match(/^false$/i)&&(_=!1);let m=!1;const v=O("wwa-wrapper").getAttribute("data-wwa-use-go-to-wwa");v!==null&&v.match(/^true$/i)&&(m=!0);const x=O("wwa-wrapper").getAttribute("data-wwa-virtualpad-viewport-fit-enable");nr()&&x!==null&&x.match(/^true$/i)&&(wo(),window.addEventListener("resize",Ci));const d=O("wwa-wrapper").getAttribute("data-wwa-virtualpad-controller-elm"),g=s&&d?Qe(d):null,w=O("wwa-wrapper").getAttribute("data-wwa-picture-image-names-file"),A=(()=>{const y=O("wwa-wrapper").getAttribute("data-wwa-disallow-load-old-save");return!!(y!==null&&y.match(/^true$/i))})(),S=O("wwa-wrapper").getAttribute("data-wwa-user-defined-scripts-file");xa=new Zn({mapdata:a,urlGateEnable:c,titleImg:t??void 0,audioDir:i,classicModeEnable:f,itemEffectEnable:_,useGoToWwa:m,disallowLoadOldSave:A,varDumpElm:n,userVarNamesFile:u,displayUserVars:h,virtualPadEnable:s,virtualPadControllerElm:g,userDefinedScriptsFile:S,pictureImageNamesFile:w})}return document.readyState==="complete"?setTimeout(zn):window.addEventListener("load",function(){setTimeout(zn)}),ds.WWA=Zn,ds.getProgress=At,Object.defineProperty(ds,Symbol.toStringTag,{value:"Module"}),ds})({});
|