virtual-keypad 5.15.2 → 5.17.0
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/.claude/settings.local.json +16 -0
- package/Procfile +1 -0
- package/dist/ExperimentPeer.js +2 -0
- package/dist/ExperimentPeer.js.map +1 -0
- package/dist/PhonePeer.js +2 -0
- package/dist/PhonePeer.js.map +1 -0
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/receiver.html +2 -0
- package/dist/server.js +16 -14
- package/package.json +11 -3
- package/src/ExperimentPeer.js +270 -0
- package/src/PhonePeer.js +394 -0
- package/src/__tests__/maxKeySize.test.js +80 -0
- package/src/keypad.css +35 -10
- package/src/keypad.js +19 -17
- package/src/main.js +2 -1
- package/src/maxKeySize.js +223 -48
- package/webpack.common.js +44 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhonePeer.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAuB,cAAID,IAE3BD,EAAoB,cAAIC,GACzB,CATD,CASGK,MAAM,I,2FCNLC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACL,EAAOM,GAAI,shGAAuhG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,8BAA8B,MAAQ,GAAG,SAAW,2tCAA2tC,eAAiB,CAAC,uhGAAuhG,WAAa,MAEh6O,S,WCCAN,EAAOD,QAAU,SAAUQ,GACzB,IAAIC,EAAO,GAuDX,OArDAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,KAAI,SAAUC,GACxB,IAAIC,EAAUN,EAAuBK,GAErC,OAAIA,EAAK,GACA,UAAUE,OAAOF,EAAK,GAAI,MAAME,OAAOD,EAAS,KAGlDA,CACT,IAAGE,KAAK,GACV,EAIAP,EAAKQ,EAAI,SAAUC,EAASC,EAAYC,GACf,iBAAZF,IAETA,EAAU,CAAC,CAAC,KAAMA,EAAS,MAG7B,IAAIG,EAAyB,CAAC,EAE9B,GAAID,EACF,IAAK,IAAIH,EAAI,EAAGA,EAAIN,KAAKW,OAAQL,IAAK,CAEpC,IAAIV,EAAKI,KAAKM,GAAG,GAEP,MAANV,IACFc,EAAuBd,IAAM,EAEjC,CAGF,IAAK,IAAIgB,EAAK,EAAGA,EAAKL,EAAQI,OAAQC,IAAM,CAC1C,IAAIV,EAAO,GAAGE,OAAOG,EAAQK,IAEzBH,GAAUC,EAAuBR,EAAK,MAKtCM,IACGN,EAAK,GAGRA,EAAK,GAAK,GAAGE,OAAOI,EAAY,SAASJ,OAAOF,EAAK,IAFrDA,EAAK,GAAKM,GAMdV,EAAKH,KAAKO,GACZ,CACF,EAEOJ,CACT,C,WCzDA,SAASe,EAAkBC,EAAKC,IAAkB,MAAPA,GAAeA,EAAMD,EAAIH,UAAQI,EAAMD,EAAIH,QAAQ,IAAK,IAAIL,EAAI,EAAGU,EAAO,IAAIC,MAAMF,GAAMT,EAAIS,EAAKT,IAAOU,EAAKV,GAAKQ,EAAIR,GAAM,OAAOU,CAAM,CAMtL1B,EAAOD,QAAU,SAAgCa,GAC/C,IAbsBY,EAAKR,EAavBY,GAbuBZ,EAaM,EAHnC,SAAyBQ,GAAO,GAAIG,MAAME,QAAQL,GAAM,OAAOA,CAAK,CAV3BM,CAAjBN,EAaKZ,IAL7B,SAA+BY,EAAKR,GAAK,IAAIM,EAAKE,IAA0B,oBAAXO,QAA0BP,EAAIO,OAAOC,WAAaR,EAAI,eAAgB,GAAU,MAANF,EAAJ,CAAwB,IAAkDW,EAAIC,EAAlDC,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAmB,IAAM,IAAKf,EAAKA,EAAGgB,KAAKd,KAAQY,GAAMH,EAAKX,EAAGiB,QAAQC,QAAoBL,EAAK9B,KAAK4B,EAAGQ,QAAYzB,GAAKmB,EAAKd,SAAWL,GAA3DoB,GAAK,GAAkE,CAAE,MAAOM,GAAOL,GAAK,EAAMH,EAAKQ,CAAK,CAAE,QAAU,IAAWN,GAAsB,MAAhBd,EAAW,QAAWA,EAAW,QAAK,CAAE,QAAU,GAAIe,EAAI,MAAMH,CAAI,CAAE,CAAE,OAAOC,CAAjV,CAAuV,CARnbQ,CAAsBnB,EAAKR,IAI5F,SAAqC4B,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,iBAANA,EAAgB,OAAOrB,EAAkBqB,EAAGC,GAAS,IAAIC,EAAIC,OAAOC,UAAUvC,SAAS6B,KAAKM,GAAGK,MAAM,GAAI,GAAiE,MAAnD,WAANH,GAAkBF,EAAEM,cAAaJ,EAAIF,EAAEM,YAAYC,MAAgB,QAANL,GAAqB,QAANA,EAAoBnB,MAAMyB,KAAKR,GAAc,cAANE,GAAqB,2CAA2CO,KAAKP,GAAWvB,EAAkBqB,EAAGC,QAAzG,CAA7O,CAA+V,CAJ7TS,CAA4B9B,EAAKR,IAEnI,WAA8B,MAAM,IAAIuC,UAAU,4IAA8I,CAFvDC,IAcnI3C,EAAUe,EAAM,GAChB6B,EAAa7B,EAAM,GAEvB,IAAK6B,EACH,OAAO5C,EAGT,GAAoB,mBAAT6C,KAAqB,CAE9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDO,EAAO,+DAA+DlD,OAAO6C,GAC7EM,EAAgB,OAAOnD,OAAOkD,EAAM,OACpCE,EAAaT,EAAWU,QAAQxD,KAAI,SAAUyD,GAChD,MAAO,iBAAiBtD,OAAO2C,EAAWY,YAAc,IAAIvD,OAAOsD,EAAQ,MAC7E,IACA,MAAO,CAACvD,GAASC,OAAOoD,GAAYpD,OAAO,CAACmD,IAAgBlD,KAAK,KACnE,CAEA,MAAO,CAACF,GAASE,KAAK,KACxB,C,iBCjCA,IACMuD,EAeFC,EAAY,WACd,IAAID,EAAO,CAAC,EACZ,OAAO,SAAkBE,GACvB,QAA4B,IAAjBF,EAAKE,GAAyB,CACvC,IAAIC,EAAcC,SAASC,cAAcH,GAEzC,GAAII,OAAOC,mBAAqBJ,aAAuBG,OAAOC,kBAC5D,IAGEJ,EAAcA,EAAYK,gBAAgBC,IAC5C,CAAE,MAAOC,GAEPP,EAAc,IAChB,CAGFH,EAAKE,GAAUC,CACjB,CAEA,OAAOH,EAAKE,EACd,CACF,CAtBgB,GAwBZS,EAAc,GAElB,SAASC,EAAqBC,GAG5B,IAFA,IAAIC,GAAU,EAELpE,EAAI,EAAGA,EAAIiE,EAAY5D,OAAQL,IACtC,GAAIiE,EAAYjE,GAAGmE,aAAeA,EAAY,CAC5CC,EAASpE,EACT,KACF,CAGF,OAAOoE,CACT,CAEA,SAASC,EAAa7E,EAAM8E,GAI1B,IAHA,IAAIC,EAAa,CAAC,EACdC,EAAc,GAETxE,EAAI,EAAGA,EAAIR,EAAKa,OAAQL,IAAK,CACpC,IAAIJ,EAAOJ,EAAKQ,GACZV,EAAKgF,EAAQG,KAAO7E,EAAK,GAAK0E,EAAQG,KAAO7E,EAAK,GAClD8E,EAAQH,EAAWjF,IAAO,EAC1B6E,EAAa,GAAGrE,OAAOR,EAAI,KAAKQ,OAAO4E,GAC3CH,EAAWjF,GAAMoF,EAAQ,EACzB,IAAIC,EAAQT,EAAqBC,GAC7BS,EAAM,CACRC,IAAKjF,EAAK,GACVkF,MAAOlF,EAAK,GACZmF,UAAWnF,EAAK,KAGH,IAAX+E,GACFV,EAAYU,GAAOK,aACnBf,EAAYU,GAAOM,QAAQL,IAE3BX,EAAY5E,KAAK,CACf8E,WAAYA,EACZc,QAASC,EAASN,EAAKN,GACvBU,WAAY,IAIhBR,EAAYnF,KAAK8E,EACnB,CAEA,OAAOK,CACT,CAEA,SAASW,EAAmBb,GAC1B,IAAIc,EAAQ1B,SAAS2B,cAAc,SAC/BC,EAAahB,EAAQgB,YAAc,CAAC,EAExC,QAAgC,IAArBA,EAAWC,MAAuB,CAC3C,IAAIA,EAAmD,KAEnDA,IACFD,EAAWC,MAAQA,EAEvB,CAMA,GAJAxD,OAAOyD,KAAKF,GAAYG,SAAQ,SAAUC,GACxCN,EAAMO,aAAaD,EAAKJ,EAAWI,GACrC,IAE8B,mBAAnBpB,EAAQsB,OACjBtB,EAAQsB,OAAOR,OACV,CACL,IAAI5B,EAASD,EAAUe,EAAQsB,QAAU,QAEzC,IAAKpC,EACH,MAAM,IAAIqC,MAAM,2GAGlBrC,EAAOsC,YAAYV,EACrB,CAEA,OAAOA,CACT,CAaA,IACMW,EADFC,GACED,EAAY,GACT,SAAiBpB,EAAOsB,GAE7B,OADAF,EAAUpB,GAASsB,EACZF,EAAUG,OAAOC,SAASpG,KAAK,KACxC,GAGF,SAASqG,EAAoBhB,EAAOT,EAAO0B,EAAQzB,GACjD,IAAIC,EAAMwB,EAAS,GAAKzB,EAAIE,MAAQ,UAAUhF,OAAO8E,EAAIE,MAAO,MAAMhF,OAAO8E,EAAIC,IAAK,KAAOD,EAAIC,IAIjG,GAAIO,EAAMkB,WACRlB,EAAMkB,WAAWC,QAAUP,EAAYrB,EAAOE,OACzC,CACL,IAAI2B,EAAU9C,SAAS+C,eAAe5B,GAClC6B,EAAatB,EAAMsB,WAEnBA,EAAW/B,IACbS,EAAMuB,YAAYD,EAAW/B,IAG3B+B,EAAWrG,OACb+E,EAAMwB,aAAaJ,EAASE,EAAW/B,IAEvCS,EAAMU,YAAYU,EAEtB,CACF,CAEA,SAASK,EAAWzB,EAAOd,EAASM,GAClC,IAAIC,EAAMD,EAAIC,IACVC,EAAQF,EAAIE,MACZC,EAAYH,EAAIG,UAepB,GAbID,EACFM,EAAMO,aAAa,QAASb,GAE5BM,EAAM0B,gBAAgB,SAGpB/B,GAA6B,oBAATrC,OACtBmC,GAAO,uDAAuD/E,OAAO4C,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUgC,MAAe,QAMlIK,EAAMkB,WACRlB,EAAMkB,WAAWC,QAAU1B,MACtB,CACL,KAAOO,EAAM2B,YACX3B,EAAMuB,YAAYvB,EAAM2B,YAG1B3B,EAAMU,YAAYpC,SAAS+C,eAAe5B,GAC5C,CACF,CAEA,IAAImC,EAAY,KACZC,EAAmB,EAEvB,SAAS/B,EAASN,EAAKN,GACrB,IAAIc,EACA8B,EACAb,EAEJ,GAAI/B,EAAQ0C,UAAW,CACrB,IAAIG,EAAaF,IACjB7B,EAAQ4B,IAAcA,EAAY7B,EAAmBb,IACrD4C,EAASd,EAAoBgB,KAAK,KAAMhC,EAAO+B,GAAY,GAC3Dd,EAASD,EAAoBgB,KAAK,KAAMhC,EAAO+B,GAAY,EAC7D,MACE/B,EAAQD,EAAmBb,GAC3B4C,EAASL,EAAWO,KAAK,KAAMhC,EAAOd,GAEtC+B,EAAS,YAxFb,SAA4BjB,GAE1B,GAAyB,OAArBA,EAAMiC,WACR,OAAO,EAGTjC,EAAMiC,WAAWV,YAAYvB,EAC/B,CAkFMkC,CAAmBlC,EACrB,EAIF,OADA8B,EAAOtC,GACA,SAAqB2C,GAC1B,GAAIA,EAAQ,CACV,GAAIA,EAAO1C,MAAQD,EAAIC,KAAO0C,EAAOzC,QAAUF,EAAIE,OAASyC,EAAOxC,YAAcH,EAAIG,UACnF,OAGFmC,EAAOtC,EAAM2C,EACf,MACElB,GAEJ,CACF,CAEArH,EAAOD,QAAU,SAAUS,EAAM8E,IAC/BA,EAAUA,GAAW,CAAC,GAGT0C,WAA0C,kBAAtB1C,EAAQ0C,YACvC1C,EAAQ0C,gBArOY,IAAT1D,IAMTA,EAAO6C,QAAQvC,QAAUF,UAAYA,SAAS8D,MAAQ5D,OAAO6D,OAGxDnE,IAgOT,IAAIoE,EAAkBrD,EADtB7E,EAAOA,GAAQ,GAC0B8E,GACzC,OAAO,SAAgBqD,GAGrB,GAFAA,EAAUA,GAAW,GAE2B,mBAA5C5F,OAAOC,UAAUvC,SAAS6B,KAAKqG,GAAnC,CAIA,IAAK,IAAI3H,EAAI,EAAGA,EAAI0H,EAAgBrH,OAAQL,IAAK,CAC/C,IACI2E,EAAQT,EADKwD,EAAgB1H,IAEjCiE,EAAYU,GAAOK,YACrB,CAIA,IAFA,IAAI4C,EAAqBvD,EAAasD,EAASrD,GAEtChE,EAAK,EAAGA,EAAKoH,EAAgBrH,OAAQC,IAAM,CAClD,IAEIuH,EAAS3D,EAFKwD,EAAgBpH,IAIK,IAAnC2D,EAAY4D,GAAQ7C,aACtBf,EAAY4D,GAAQ5C,UAEpBhB,EAAY6D,OAAOD,EAAQ,GAE/B,CAEAH,EAAkBE,CAtBlB,CAuBF,CACF,C,gBC3QA,IAAIG,EAAa,EAAQ,MACrBC,EAAc,EAAQ,MAEtBC,EAAa1F,UAGjBvD,EAAOD,QAAU,SAAUmJ,GACzB,GAAIH,EAAWG,GAAW,OAAOA,EACjC,MAAM,IAAID,EAAWD,EAAYE,GAAY,qBAC/C,C,iBCTA,IAAIC,EAAsB,EAAQ,KAE9BC,EAAUC,OACVJ,EAAa1F,UAEjBvD,EAAOD,QAAU,SAAUmJ,GACzB,GAAIC,EAAoBD,GAAW,OAAOA,EAC1C,MAAM,IAAID,EAAW,aAAeG,EAAQF,GAAY,kBAC1D,C,iBCRA,IAAII,EAAkB,EAAQ,MAC1BC,EAAS,EAAQ,MACjBC,EAAiB,UAEjBC,EAAcH,EAAgB,eAC9BI,EAAiB/H,MAAMqB,eAIS2G,IAAhCD,EAAeD,IACjBD,EAAeE,EAAgBD,EAAa,CAC1CG,cAAc,EACdnH,MAAO8G,EAAO,QAKlBvJ,EAAOD,QAAU,SAAU2G,GACzBgD,EAAeD,GAAa/C,IAAO,CACrC,C,iBCnBA,IAAImD,EAAW,EAAQ,MAEnBT,EAAUC,OACVJ,EAAa1F,UAGjBvD,EAAOD,QAAU,SAAUmJ,GACzB,GAAIW,EAASX,GAAW,OAAOA,EAC/B,MAAM,IAAID,EAAWG,EAAQF,GAAY,oBAC3C,C,iBCTA,IAAIY,EAAkB,EAAQ,MAC1BC,EAAkB,EAAQ,MAC1BC,EAAoB,EAAQ,MAG5BC,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAAIC,EAAIR,EAAgBK,GACpB9I,EAAS2I,EAAkBM,GAC/B,GAAe,IAAXjJ,EAAc,OAAQ6I,IAAgB,EAC1C,IACIzH,EADAkD,EAAQoE,EAAgBM,EAAWhJ,GAIvC,GAAI6I,GAAeE,GAAOA,GAAI,KAAO/I,EAASsE,GAG5C,IAFAlD,EAAQ6H,EAAE3E,OAEIlD,EAAO,OAAO,OAEvB,KAAMpB,EAASsE,EAAOA,IAC3B,IAAKuE,GAAevE,KAAS2E,IAAMA,EAAE3E,KAAWyE,EAAI,OAAOF,GAAevE,GAAS,EACnF,OAAQuE,IAAgB,CAC5B,CACF,EAEAlK,EAAOD,QAAU,CAGfwK,SAAUN,GAAa,GAGvBO,QAASP,GAAa,G,iBC/BxB,IAAIQ,EAAc,EAAQ,MAEtBhK,EAAWgK,EAAY,CAAC,EAAEhK,UAC1BiK,EAAcD,EAAY,GAAGxH,OAEjCjD,EAAOD,QAAU,SAAU4K,GACzB,OAAOD,EAAYjK,EAASkK,GAAK,GAAI,EACvC,C,iBCPA,IAAIC,EAAS,EAAQ,MACjBC,EAAU,EAAQ,MAClBC,EAAiC,EAAQ,MACzCC,EAAuB,EAAQ,MAEnC/K,EAAOD,QAAU,SAAUyE,EAAQJ,EAAQ4G,GAIzC,IAHA,IAAIxE,EAAOqE,EAAQzG,GACfoF,EAAiBuB,EAAqBE,EACtCC,EAA2BJ,EAA+BG,EACrDjK,EAAI,EAAGA,EAAIwF,EAAKnF,OAAQL,IAAK,CACpC,IAAI0F,EAAMF,EAAKxF,GACV4J,EAAOpG,EAAQkC,IAAUsE,GAAcJ,EAAOI,EAAYtE,IAC7D8C,EAAehF,EAAQkC,EAAKwE,EAAyB9G,EAAQsC,GAEjE,CACF,C,iBCfA,IAAIyE,EAAQ,EAAQ,MAEpBnL,EAAOD,SAAWoL,GAAM,WACtB,SAASC,IAAkB,CAG3B,OAFAA,EAAEpI,UAAUE,YAAc,KAEnBH,OAAOsI,eAAe,IAAID,KAASA,EAAEpI,SAC9C,G,WCLAhD,EAAOD,QAAU,SAAU0C,EAAOD,GAChC,MAAO,CAAEC,MAAOA,EAAOD,KAAMA,EAC/B,C,iBCJA,IAAI8I,EAAc,EAAQ,MACtBP,EAAuB,EAAQ,MAC/BQ,EAA2B,EAAQ,MAEvCvL,EAAOD,QAAUuL,EAAc,SAAUE,EAAQ9E,EAAKjE,GACpD,OAAOsI,EAAqBE,EAAEO,EAAQ9E,EAAK6E,EAAyB,EAAG9I,GACzE,EAAI,SAAU+I,EAAQ9E,EAAKjE,GAEzB,OADA+I,EAAO9E,GAAOjE,EACP+I,CACT,C,WCTAxL,EAAOD,QAAU,SAAU0L,EAAQhJ,GACjC,MAAO,CACLiJ,aAAuB,EAATD,GACd7B,eAAyB,EAAT6B,GAChBE,WAAqB,EAATF,GACZhJ,MAAOA,EAEX,C,iBCPA,IAAIsG,EAAa,EAAQ,MACrBgC,EAAuB,EAAQ,MAC/Ba,EAAc,EAAQ,MACtBC,EAAuB,EAAQ,MAEnC7L,EAAOD,QAAU,SAAUuK,EAAG5D,EAAKjE,EAAO6C,GACnCA,IAASA,EAAU,CAAC,GACzB,IAAIwG,EAASxG,EAAQoG,WACjBvI,OAAwBwG,IAAjBrE,EAAQnC,KAAqBmC,EAAQnC,KAAOuD,EAEvD,GADIqC,EAAWtG,IAAQmJ,EAAYnJ,EAAOU,EAAMmC,GAC5CA,EAAQyG,OACND,EAAQxB,EAAE5D,GAAOjE,EAChBoJ,EAAqBnF,EAAKjE,OAC1B,CACL,IACO6C,EAAQ0G,OACJ1B,EAAE5D,KAAMoF,GAAS,UADExB,EAAE5D,EAEhC,CAAE,MAAOuF,GAAqB,CAC1BH,EAAQxB,EAAE5D,GAAOjE,EAChBsI,EAAqBE,EAAEX,EAAG5D,EAAK,CAClCjE,MAAOA,EACPiJ,YAAY,EACZ9B,cAAetE,EAAQ4G,gBACvBP,UAAWrG,EAAQ6G,aAEvB,CAAE,OAAO7B,CACX,C,iBC1BA,IAAI8B,EAAa,EAAQ,MAGrB5C,EAAiBzG,OAAOyG,eAE5BxJ,EAAOD,QAAU,SAAU2G,EAAKjE,GAC9B,IACE+G,EAAe4C,EAAY1F,EAAK,CAAEjE,MAAOA,EAAOmH,cAAc,EAAM+B,UAAU,GAChF,CAAE,MAAOM,GACPG,EAAW1F,GAAOjE,CACpB,CAAE,OAAOA,CACX,C,iBCXA,IAAI0I,EAAQ,EAAQ,MAGpBnL,EAAOD,SAAWoL,GAAM,WAEtB,OAA+E,IAAxEpI,OAAOyG,eAAe,CAAC,EAAG,EAAG,CAAE6C,IAAK,WAAc,OAAO,CAAG,IAAK,EAC1E,G,iBCNA,IAAID,EAAa,EAAQ,MACrBvC,EAAW,EAAQ,MAEnBnF,EAAW0H,EAAW1H,SAEtB4H,EAASzC,EAASnF,IAAamF,EAASnF,EAAS2B,eAErDrG,EAAOD,QAAU,SAAU4K,GACzB,OAAO2B,EAAS5H,EAAS2B,cAAcsE,GAAM,CAAC,CAChD,C,WCPA3K,EAAOD,QAAU,CACfwM,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,E,iBChCb,IAEIC,EAFwB,EAAQ,KAEpBC,CAAsB,QAAQD,UAC1CE,EAAwBF,GAAaA,EAAUpL,aAAeoL,EAAUpL,YAAYF,UAExFhD,EAAOD,QAAUyO,IAA0BzL,OAAOC,eAAY2G,EAAY6E,C,WCL1ExO,EAAOD,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,U,iBCRF,IAEI0O,EAFa,EAAQ,MAEEA,UACvBC,EAAYD,GAAaA,EAAUC,UAEvC1O,EAAOD,QAAU2O,EAAYrF,OAAOqF,GAAa,E,iBCLjD,IAOIC,EAAOC,EAPPxC,EAAa,EAAQ,MACrBsC,EAAY,EAAQ,MAEpBG,EAAUzC,EAAWyC,QACrBC,EAAO1C,EAAW0C,KAClBC,EAAWF,GAAWA,EAAQE,UAAYD,GAAQA,EAAKF,QACvDI,EAAKD,GAAYA,EAASC,GAG1BA,IAIFJ,GAHAD,EAAQK,EAAGC,MAAM,MAGD,GAAK,GAAKN,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DC,GAAWF,MACdC,EAAQD,EAAUC,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQD,EAAUC,MAAM,oBACbC,GAAWD,EAAM,IAIhC3O,EAAOD,QAAU6O,C,iBC1BjB,IAAIxC,EAAa,EAAQ,MACrBlB,EAA2B,UAC3BgE,EAA8B,EAAQ,MACtCC,EAAgB,EAAQ,MACxBtD,EAAuB,EAAQ,MAC/BuD,EAA4B,EAAQ,MACpCC,EAAW,EAAQ,MAiBvBrP,EAAOD,QAAU,SAAUuF,EAASlB,GAClC,IAGYI,EAAQkC,EAAK4I,EAAgBC,EAAgBC,EAHrDC,EAASnK,EAAQd,OACjBkL,EAASpK,EAAQyG,OACjB4D,EAASrK,EAAQsK,KASrB,GANEpL,EADEkL,EACOtD,EACAuD,EACAvD,EAAWqD,IAAW5D,EAAqB4D,EAAQ,CAAC,GAEpDrD,EAAWqD,IAAWrD,EAAWqD,GAAQzM,UAExC,IAAK0D,KAAOtC,EAAQ,CAQ9B,GAPAmL,EAAiBnL,EAAOsC,GAGtB4I,EAFEhK,EAAQuK,gBACVL,EAAatE,EAAyB1G,EAAQkC,KACf8I,EAAW/M,MACpB+B,EAAOkC,IACtB2I,EAASK,EAAShJ,EAAM+I,GAAUE,EAAS,IAAM,KAAOjJ,EAAKpB,EAAQwK,cAE5CnG,IAAnB2F,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDF,EAA0BG,EAAgBD,EAC5C,EAEIhK,EAAQyK,MAAST,GAAkBA,EAAeS,OACpDb,EAA4BK,EAAgB,QAAQ,GAEtDJ,EAAc3K,EAAQkC,EAAK6I,EAAgBjK,EAC7C,CACF,C,WCrDAtF,EAAOD,QAAU,SAAUiQ,GACzB,IACE,QAASA,GACX,CAAE,MAAO/D,GACP,OAAO,CACT,CACF,C,iBCNA,IAAId,EAAQ,EAAQ,MAEpBnL,EAAOD,SAAWoL,GAAM,WAEtB,IAAI9H,EAAO,WAA4B,EAAE+E,OAEzC,MAAsB,mBAAR/E,GAAsBA,EAAK4M,eAAe,YAC1D,G,iBCPA,IAAIC,EAAc,EAAQ,MAEtB5N,EAAO6N,SAASnN,UAAUV,KAE9BtC,EAAOD,QAAUmQ,EAAc5N,EAAK8F,KAAK9F,GAAQ,WAC/C,OAAOA,EAAK8N,MAAM9N,EAAM+N,UAC1B,C,iBCNA,IAAI/E,EAAc,EAAQ,MACtBV,EAAS,EAAQ,MAEjB0F,EAAoBH,SAASnN,UAE7BuN,EAAgBjF,GAAevI,OAAOmI,yBAEtCoB,EAAS1B,EAAO0F,EAAmB,QAEnCE,EAASlE,GAA0D,cAAhD,WAAqC,EAAEnJ,KAC1DsN,EAAenE,KAAYhB,GAAgBA,GAAeiF,EAAcD,EAAmB,QAAQ1G,cAEvG5J,EAAOD,QAAU,CACfuM,OAAQA,EACRkE,OAAQA,EACRC,aAAcA,E,iBCfhB,IAAIhG,EAAc,EAAQ,MACtBiG,EAAY,EAAQ,KAExB1Q,EAAOD,QAAU,SAAUyL,EAAQ9E,EAAKiK,GACtC,IAEE,OAAOlG,EAAYiG,EAAU3N,OAAOmI,yBAAyBM,EAAQ9E,GAAKiK,IAC5E,CAAE,MAAO1E,GAAqB,CAChC,C,iBCRA,IAAIiE,EAAc,EAAQ,MAEtBI,EAAoBH,SAASnN,UAC7BV,EAAOgO,EAAkBhO,KAEzBsO,EAAsBV,GAAeI,EAAkBlI,KAAKA,KAAK9F,EAAMA,GAE3EtC,EAAOD,QAAUmQ,EAAcU,EAAsB,SAAUC,GAC7D,OAAO,WACL,OAAOvO,EAAK8N,MAAMS,EAAIR,UACxB,CACF,C,iBCXA,IAAIjE,EAAa,EAAQ,MACrBrD,EAAa,EAAQ,MAMzB/I,EAAOD,QAAU,SAAU+Q,EAAWH,GACpC,OAAON,UAAUhP,OAAS,GALF6H,EAKgBkD,EAAW0E,GAJ5C/H,EAAWG,GAAYA,OAAWS,GAIwByC,EAAW0E,IAAc1E,EAAW0E,GAAWH,GALlG,IAAUzH,CAM1B,C,iBCTA,IAAIwH,EAAY,EAAQ,KACpBK,EAAoB,EAAQ,KAIhC/Q,EAAOD,QAAU,SAAUiR,EAAGC,GAC5B,IAAIC,EAAOF,EAAEC,GACb,OAAOF,EAAkBG,QAAQvH,EAAY+G,EAAUQ,EACzD,C,uBCRA,IAAIC,EAAQ,SAAUxG,GACpB,OAAOA,GAAMA,EAAGyG,OAASA,MAAQzG,CACnC,EAGA3K,EAAOD,QAELoR,EAA2B,iBAAd/E,YAA0BA,aACvC+E,EAAuB,iBAAVvM,QAAsBA,SAEnCuM,EAAqB,iBAARhR,MAAoBA,OACjCgR,EAAuB,iBAAV,EAAAE,GAAsB,EAAAA,IACnCF,EAAqB,iBAARzQ,MAAoBA,OAEjC,WAAe,OAAOA,IAAO,CAA7B,IAAoCyP,SAAS,cAATA,E,iBCdtC,IAAI1F,EAAc,EAAQ,MACtB6G,EAAW,EAAQ,KAEnBrB,EAAiBxF,EAAY,CAAC,EAAEwF,gBAKpCjQ,EAAOD,QAAUgD,OAAO6H,QAAU,SAAgBD,EAAIjE,GACpD,OAAOuJ,EAAeqB,EAAS3G,GAAKjE,EACtC,C,WCVA1G,EAAOD,QAAU,CAAC,C,iBCAlB,IAAIwR,EAAa,EAAQ,MAEzBvR,EAAOD,QAAUwR,EAAW,WAAY,kB,iBCFxC,IAAIjG,EAAc,EAAQ,MACtBH,EAAQ,EAAQ,MAChB9E,EAAgB,EAAQ,MAG5BrG,EAAOD,SAAWuL,IAAgBH,GAAM,WAEtC,OAES,IAFFpI,OAAOyG,eAAenD,EAAc,OAAQ,IAAK,CACtDgG,IAAK,WAAc,OAAO,CAAG,IAC5BmF,CACL,G,iBCVA,IAAI/G,EAAc,EAAQ,MACtBU,EAAQ,EAAQ,MAChBsG,EAAU,EAAQ,MAElBC,EAAU3O,OACVkM,EAAQxE,EAAY,GAAGwE,OAG3BjP,EAAOD,QAAUoL,GAAM,WAGrB,OAAQuG,EAAQ,KAAKC,qBAAqB,EAC5C,IAAK,SAAUhH,GACb,MAAuB,WAAhB8G,EAAQ9G,GAAmBsE,EAAMtE,EAAI,IAAM+G,EAAQ/G,EAC5D,EAAI+G,C,iBCdJ,IAAIjH,EAAc,EAAQ,MACtB1B,EAAa,EAAQ,MACrB6I,EAAQ,EAAQ,MAEhBC,EAAmBpH,EAAY0F,SAAS1P,UAGvCsI,EAAW6I,EAAME,iBACpBF,EAAME,cAAgB,SAAUnH,GAC9B,OAAOkH,EAAiBlH,EAC1B,GAGF3K,EAAOD,QAAU6R,EAAME,a,gBCbvB,IAYIC,EAAK1F,EAAK2F,EAZVC,EAAkB,EAAQ,MAC1B7F,EAAa,EAAQ,MACrBvC,EAAW,EAAQ,MACnBqF,EAA8B,EAAQ,MACtCtE,EAAS,EAAQ,MACjBsH,EAAS,EAAQ,MACjBC,EAAY,EAAQ,MACpBC,EAAa,EAAQ,MAErBC,EAA6B,6BAC7B9O,EAAY6I,EAAW7I,UACvB+O,EAAUlG,EAAWkG,QAgBzB,GAAIL,GAAmBC,EAAOK,MAAO,CACnC,IAAIX,EAAQM,EAAOK,QAAUL,EAAOK,MAAQ,IAAID,GAEhDV,EAAMvF,IAAMuF,EAAMvF,IAClBuF,EAAMI,IAAMJ,EAAMI,IAClBJ,EAAMG,IAAMH,EAAMG,IAElBA,EAAM,SAAUpH,EAAI6H,GAClB,GAAIZ,EAAMI,IAAIrH,GAAK,MAAM,IAAIpH,EAAU8O,GAGvC,OAFAG,EAASC,OAAS9H,EAClBiH,EAAMG,IAAIpH,EAAI6H,GACPA,CACT,EACAnG,EAAM,SAAU1B,GACd,OAAOiH,EAAMvF,IAAI1B,IAAO,CAAC,CAC3B,EACAqH,EAAM,SAAUrH,GACd,OAAOiH,EAAMI,IAAIrH,EACnB,CACF,KAAO,CACL,IAAI+H,EAAQP,EAAU,SACtBC,EAAWM,IAAS,EACpBX,EAAM,SAAUpH,EAAI6H,GAClB,GAAI5H,EAAOD,EAAI+H,GAAQ,MAAM,IAAInP,EAAU8O,GAG3C,OAFAG,EAASC,OAAS9H,EAClBuE,EAA4BvE,EAAI+H,EAAOF,GAChCA,CACT,EACAnG,EAAM,SAAU1B,GACd,OAAOC,EAAOD,EAAI+H,GAAS/H,EAAG+H,GAAS,CAAC,CAC1C,EACAV,EAAM,SAAUrH,GACd,OAAOC,EAAOD,EAAI+H,EACpB,CACF,CAEA1S,EAAOD,QAAU,CACfgS,IAAKA,EACL1F,IAAKA,EACL2F,IAAKA,EACLW,QArDY,SAAUhI,GACtB,OAAOqH,EAAIrH,GAAM0B,EAAI1B,GAAMoH,EAAIpH,EAAI,CAAC,EACtC,EAoDEiI,UAlDc,SAAUC,GACxB,OAAO,SAAUlI,GACf,IAAI4H,EACJ,IAAK1I,EAASc,KAAQ4H,EAAQlG,EAAI1B,IAAKmI,OAASD,EAC9C,MAAM,IAAItP,EAAU,0BAA4BsP,EAAO,aACvD,OAAON,CACX,CACF,E,WCxBA,IAAIQ,EAAiC,iBAAZrO,UAAwBA,SAAS8D,IAK1DxI,EAAOD,aAAgC,IAAfgT,QAA8CpJ,IAAhBoJ,EAA4B,SAAU7J,GAC1F,MAA0B,mBAAZA,GAA0BA,IAAa6J,CACvD,EAAI,SAAU7J,GACZ,MAA0B,mBAAZA,CAChB,C,iBCVA,IAAIiC,EAAQ,EAAQ,MAChBpC,EAAa,EAAQ,MAErB9B,EAAc,kBAEdoI,EAAW,SAAU2D,EAASC,GAChC,IAAIxQ,EAAQuB,EAAKkP,EAAUF,IAC3B,OAAOvQ,IAAU0Q,GACb1Q,IAAU2Q,IACVrK,EAAWkK,GAAa9H,EAAM8H,KAC5BA,EACR,EAEIC,EAAY7D,EAAS6D,UAAY,SAAUG,GAC7C,OAAOhK,OAAOgK,GAAQC,QAAQrM,EAAa,KAAKsM,aAClD,EAEIvP,EAAOqL,EAASrL,KAAO,CAAC,EACxBoP,EAAS/D,EAAS+D,OAAS,IAC3BD,EAAW9D,EAAS8D,SAAW,IAEnCnT,EAAOD,QAAUsP,C,UCnBjBrP,EAAOD,QAAU,SAAU4K,GACzB,OAAOA,OACT,C,iBCJA,IAAI5B,EAAa,EAAQ,MAEzB/I,EAAOD,QAAU,SAAU4K,GACzB,MAAoB,iBAANA,EAAwB,OAAPA,EAAc5B,EAAW4B,EAC1D,C,gBCJA,IAAId,EAAW,EAAQ,MAEvB7J,EAAOD,QAAU,SAAUmJ,GACzB,OAAOW,EAASX,IAA0B,OAAbA,CAC/B,C,WCJAlJ,EAAOD,SAAU,C,gBCAjB,IAAIwR,EAAa,EAAQ,MACrBxI,EAAa,EAAQ,MACrByK,EAAgB,EAAQ,MACxBC,EAAoB,EAAQ,MAE5B/B,EAAU3O,OAEd/C,EAAOD,QAAU0T,EAAoB,SAAU9I,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAI+I,EAAUnC,EAAW,UACzB,OAAOxI,EAAW2K,IAAYF,EAAcE,EAAQ1Q,UAAW0O,EAAQ/G,GACzE,C,gBCZA,IAAIgJ,EAAoB,0BACpBpK,EAAS,EAAQ,MACjBgC,EAA2B,EAAQ,MACnCqI,EAAiB,EAAQ,MACzBC,EAAY,EAAQ,MAEpBC,EAAa,WAAc,OAAOpT,IAAM,EAE5CV,EAAOD,QAAU,SAAUgU,EAAqBC,EAAMzR,EAAM0R,GAC1D,IAAIC,EAAgBF,EAAO,YAI3B,OAHAD,EAAoB/Q,UAAYuG,EAAOoK,EAAmB,CAAEpR,KAAMgJ,IAA2B0I,EAAiB1R,KAC9GqR,EAAeG,EAAqBG,GAAe,GAAO,GAC1DL,EAAUK,GAAiBJ,EACpBC,CACT,C,iBCdA,IAAII,EAAI,EAAQ,MACZ7R,EAAO,EAAQ,MACf8R,EAAU,EAAQ,MAClBC,EAAe,EAAQ,MACvBtL,EAAa,EAAQ,MACrBuL,EAA4B,EAAQ,KACpCjJ,EAAiB,EAAQ,MACzBkJ,EAAiB,EAAQ,MACzBX,EAAiB,EAAQ,MACzB1E,EAA8B,EAAQ,MACtCC,EAAgB,EAAQ,MACxB7F,EAAkB,EAAQ,MAC1BuK,EAAY,EAAQ,MACpBW,EAAgB,EAAQ,MAExBC,EAAuBJ,EAAa7D,OACpCkE,EAA6BL,EAAa5D,aAC1CkD,EAAoBa,EAAcb,kBAClCgB,EAAyBH,EAAcG,uBACvCC,EAAWtL,EAAgB,YAC3BuL,EAAO,OACPC,EAAS,SACTC,EAAU,UAEVjB,EAAa,WAAc,OAAOpT,IAAM,EAE5CV,EAAOD,QAAU,SAAUiV,EAAUhB,EAAMD,EAAqBxR,EAAM0S,EAASC,EAAQC,GACrFb,EAA0BP,EAAqBC,EAAMzR,GAErD,IAqBI6S,EAA0BC,EAASC,EArBnCC,EAAqB,SAAUC,GACjC,GAAIA,IAASP,GAAWQ,EAAiB,OAAOA,EAChD,IAAKd,GAA0Ba,GAAQA,KAAQE,EAAmB,OAAOA,EAAkBF,GAE3F,OAAQA,GACN,KAAKX,EACL,KAAKC,EACL,KAAKC,EAAS,OAAO,WAAqB,OAAO,IAAIhB,EAAoBrT,KAAM8U,EAAO,EAGxF,OAAO,WAAc,OAAO,IAAIzB,EAAoBrT,KAAO,CAC7D,EAEIwT,EAAgBF,EAAO,YACvB2B,GAAwB,EACxBD,EAAoBV,EAAShS,UAC7B4S,EAAiBF,EAAkBd,IAClCc,EAAkB,eAClBT,GAAWS,EAAkBT,GAC9BQ,GAAmBd,GAA0BiB,GAAkBL,EAAmBN,GAClFY,EAA6B,UAAT7B,GAAmB0B,EAAkBI,SAA4BF,EA+BzF,GA3BIC,IACFT,EAA2B/J,EAAewK,EAAkBvT,KAAK,IAAI0S,OACpCjS,OAAOC,WAAaoS,EAAyB7S,OACvE6R,GAAW/I,EAAe+J,KAA8BzB,IACvDY,EACFA,EAAea,EAA0BzB,GAC/B5K,EAAWqM,EAAyBR,KAC9CzF,EAAciG,EAA0BR,EAAUd,IAItDF,EAAewB,EAA0BlB,GAAe,GAAM,GAC1DE,IAASP,EAAUK,GAAiBJ,IAKxCW,GAAwBQ,IAAYH,GAAUc,GAAkBA,EAAezS,OAAS2R,KACrFV,GAAWM,EACdxF,EAA4BwG,EAAmB,OAAQZ,IAEvDa,GAAwB,EACxBF,EAAkB,WAAoB,OAAOnT,EAAKsT,EAAgBlV,KAAO,IAKzEuU,EAMF,GALAI,EAAU,CACRU,OAAQR,EAAmBT,GAC3BtO,KAAM0O,EAASO,EAAkBF,EAAmBV,GACpDiB,QAASP,EAAmBR,IAE1BI,EAAQ,IAAKG,KAAOD,GAClBV,GAA0BgB,KAA2BL,KAAOI,KAC9DvG,EAAcuG,EAAmBJ,EAAKD,EAAQC,SAE3CnB,EAAE,CAAE3P,OAAQwP,EAAMgC,OAAO,EAAMlG,OAAQ6E,GAA0BgB,GAAyBN,GASnG,OALMjB,IAAWe,GAAWO,EAAkBd,KAAca,GAC1DtG,EAAcuG,EAAmBd,EAAUa,EAAiB,CAAEtS,KAAM8R,IAEtEpB,EAAUG,GAAQyB,EAEXJ,CACT,C,iBCpGA,IAcI1B,EAAmBsC,EAAmCC,EAdtD/K,EAAQ,EAAQ,MAChBpC,EAAa,EAAQ,MACrBc,EAAW,EAAQ,MACnBN,EAAS,EAAQ,MACjB8B,EAAiB,EAAQ,MACzB8D,EAAgB,EAAQ,MACxB7F,EAAkB,EAAQ,MAC1B8K,EAAU,EAAQ,MAElBQ,EAAWtL,EAAgB,YAC3BqL,GAAyB,EAOzB,GAAGnO,OAGC,SAFN0P,EAAgB,GAAG1P,SAIjByP,EAAoC5K,EAAeA,EAAe6K,OACxBnT,OAAOC,YAAW2Q,EAAoBsC,GAHlDtB,GAAyB,IAO7B9K,EAAS8J,IAAsBxI,GAAM,WACjE,IAAI9H,EAAO,CAAC,EAEZ,OAAOsQ,EAAkBiB,GAAUtS,KAAKe,KAAUA,CACpD,IAE4BsQ,EAAoB,CAAC,EACxCS,IAAST,EAAoBpK,EAAOoK,IAIxC5K,EAAW4K,EAAkBiB,KAChCzF,EAAcwE,EAAmBiB,GAAU,WACzC,OAAOlU,IACT,IAGFV,EAAOD,QAAU,CACf4T,kBAAmBA,EACnBgB,uBAAwBA,E,WC9C1B3U,EAAOD,QAAU,CAAC,C,iBCAlB,IAAIoW,EAAW,EAAQ,MAIvBnW,EAAOD,QAAU,SAAU6F,GACzB,OAAOuQ,EAASvQ,EAAIvE,OACtB,C,iBCNA,IAAIoJ,EAAc,EAAQ,MACtBU,EAAQ,EAAQ,MAChBpC,EAAa,EAAQ,MACrB6B,EAAS,EAAQ,MACjBU,EAAc,EAAQ,MACtBoJ,EAA6B,qBAC7B5C,EAAgB,EAAQ,MACxBsE,EAAsB,EAAQ,KAE9BC,EAAuBD,EAAoBzD,QAC3C2D,EAAmBF,EAAoB/J,IACvCjD,EAAUC,OAEVG,EAAiBzG,OAAOyG,eACxBkB,EAAcD,EAAY,GAAGxH,OAC7BqQ,EAAU7I,EAAY,GAAG6I,SACzBvS,EAAO0J,EAAY,GAAG1J,MAEtBwV,EAAsBjL,IAAgBH,GAAM,WAC9C,OAAsF,IAA/E3B,GAAe,WAA0B,GAAG,SAAU,CAAE/G,MAAO,IAAKpB,MAC7E,IAEImV,EAAWnN,OAAOA,QAAQ4F,MAAM,UAEhCrD,EAAc5L,EAAOD,QAAU,SAAU0C,EAAOU,EAAMmC,GACf,YAArCoF,EAAYtB,EAAQjG,GAAO,EAAG,KAChCA,EAAO,IAAMmQ,EAAQlK,EAAQjG,GAAO,wBAAyB,MAAQ,KAEnEmC,GAAWA,EAAQmR,SAAQtT,EAAO,OAASA,GAC3CmC,GAAWA,EAAQoR,SAAQvT,EAAO,OAASA,KAC1CyH,EAAOnI,EAAO,SAAYiS,GAA8BjS,EAAMU,OAASA,KACtEmI,EAAa9B,EAAe/G,EAAO,OAAQ,CAAEA,MAAOU,EAAMyG,cAAc,IACvEnH,EAAMU,KAAOA,GAEhBoT,GAAuBjR,GAAWsF,EAAOtF,EAAS,UAAY7C,EAAMpB,SAAWiE,EAAQqR,OACzFnN,EAAe/G,EAAO,SAAU,CAAEA,MAAO6C,EAAQqR,QAEnD,IACMrR,GAAWsF,EAAOtF,EAAS,gBAAkBA,EAAQpC,YACnDoI,GAAa9B,EAAe/G,EAAO,YAAa,CAAEkJ,UAAU,IAEvDlJ,EAAMO,YAAWP,EAAMO,eAAY2G,EAChD,CAAE,MAAOsC,GAAqB,CAC9B,IAAIsG,EAAQ8D,EAAqB5T,GAG/B,OAFGmI,EAAO2H,EAAO,YACjBA,EAAMnO,OAASrD,EAAKyV,EAAyB,iBAARrT,EAAmBA,EAAO,KACxDV,CACX,EAIA0N,SAASnN,UAAUvC,SAAWmL,GAAY,WACxC,OAAO7C,EAAWrI,OAAS4V,EAAiB5V,MAAM0D,QAAU0N,EAAcpR,KAC5E,GAAG,W,WCrDH,IAAIkW,EAAOxF,KAAKwF,KACZC,EAAQzF,KAAKyF,MAKjB7W,EAAOD,QAAUqR,KAAK0F,OAAS,SAAeC,GAC5C,IAAIjU,GAAKiU,EACT,OAAQjU,EAAI,EAAI+T,EAAQD,GAAM9T,EAChC,C,iBCRA,IAoDIkU,EApDAC,EAAW,EAAQ,MACnBC,EAAyB,EAAQ,MACjCC,EAAc,EAAQ,MACtB/E,EAAa,EAAQ,MACrBgF,EAAO,EAAQ,MACf7I,EAAwB,EAAQ,MAChC4D,EAAY,EAAQ,MAIpBkF,EAAY,YACZC,EAAS,SACTC,EAAWpF,EAAU,YAErBqF,EAAmB,WAA0B,EAE7CC,EAAY,SAAU5W,GACxB,MARO,IAQKyW,EATL,IASmBzW,EAAnB6W,KAAwCJ,EATxC,GAUT,EAGIK,EAA4B,SAAUX,GACxCA,EAAgBY,MAAMH,EAAU,KAChCT,EAAgBa,QAChB,IAAIC,EAAOd,EAAgBe,aAAahV,OAGxC,OADAiU,EAAkB,KACXc,CACT,EAyBIE,EAAkB,WACpB,IACEhB,EAAkB,IAAIiB,cAAc,WACtC,CAAE,MAAOhM,GAAsB,CAzBF,IAIzBiM,EAFAC,EACAC,EAuBJJ,EAAqC,oBAAZtT,SACrBA,SAAS2T,QAAUrB,EACjBW,EAA0BX,IA1B5BmB,EAAS5J,EAAsB,UAC/B6J,EAAK,OAASd,EAAS,IAE3Ba,EAAO/R,MAAMkS,QAAU,OACvBlB,EAAKtQ,YAAYqR,GAEjBA,EAAOI,IAAMlP,OAAO+O,IACpBF,EAAiBC,EAAOK,cAAc9T,UACvB+T,OACfP,EAAeN,MAAMH,EAAU,sBAC/BS,EAAeL,QACRK,EAAe9M,GAiBlBuM,EAA0BX,GAE9B,IADA,IAAI3V,EAAS8V,EAAY9V,OAClBA,YAAiB2W,EAAgBX,GAAWF,EAAY9V,IAC/D,OAAO2W,GACT,EAEA5F,EAAWmF,IAAY,EAKvBvX,EAAOD,QAAUgD,OAAOwG,QAAU,SAAgBe,EAAGoO,GACnD,IAAItT,EAQJ,OAPU,OAANkF,GACFkN,EAAiBH,GAAaJ,EAAS3M,GACvClF,EAAS,IAAIoS,EACbA,EAAiBH,GAAa,KAE9BjS,EAAOmS,GAAYjN,GACdlF,EAAS4S,SACMrO,IAAf+O,EAA2BtT,EAAS8R,EAAuBjM,EAAE7F,EAAQsT,EAC9E,C,iBCnFA,IAAIpN,EAAc,EAAQ,MACtBqN,EAA0B,EAAQ,MAClC5N,EAAuB,EAAQ,MAC/BkM,EAAW,EAAQ,MACnBnN,EAAkB,EAAQ,MAC1B8O,EAAa,EAAQ,KAKzB7Y,EAAQkL,EAAIK,IAAgBqN,EAA0B5V,OAAO8V,iBAAmB,SAA0BvO,EAAGoO,GAC3GzB,EAAS3M,GAMT,IALA,IAII5D,EAJAoS,EAAQhP,EAAgB4O,GACxBlS,EAAOoS,EAAWF,GAClBrX,EAASmF,EAAKnF,OACdsE,EAAQ,EAELtE,EAASsE,GAAOoF,EAAqBE,EAAEX,EAAG5D,EAAMF,EAAKb,KAAUmT,EAAMpS,IAC5E,OAAO4D,CACT,C,iBCnBA,IAAIgB,EAAc,EAAQ,MACtByN,EAAiB,EAAQ,MACzBJ,EAA0B,EAAQ,MAClC1B,EAAW,EAAQ,MACnB+B,EAAgB,EAAQ,MAExB/P,EAAa1F,UAEb0V,EAAkBlW,OAAOyG,eAEzB0P,EAA4BnW,OAAOmI,yBACnCiO,EAAa,aACb1I,EAAe,eACf2I,EAAW,WAIfrZ,EAAQkL,EAAIK,EAAcqN,EAA0B,SAAwBrO,EAAG2G,EAAGoI,GAIhF,GAHApC,EAAS3M,GACT2G,EAAI+H,EAAc/H,GAClBgG,EAASoC,GACQ,mBAAN/O,GAA0B,cAAN2G,GAAqB,UAAWoI,GAAcD,KAAYC,IAAeA,EAAWD,GAAW,CAC5H,IAAIE,EAAUJ,EAA0B5O,EAAG2G,GACvCqI,GAAWA,EAAQF,KACrB9O,EAAE2G,GAAKoI,EAAW5W,MAClB4W,EAAa,CACXzP,aAAc6G,KAAgB4I,EAAaA,EAAW5I,GAAgB6I,EAAQ7I,GAC9E/E,WAAYyN,KAAcE,EAAaA,EAAWF,GAAcG,EAAQH,GACxExN,UAAU,GAGhB,CAAE,OAAOsN,EAAgB3O,EAAG2G,EAAGoI,EACjC,EAAIJ,EAAkB,SAAwB3O,EAAG2G,EAAGoI,GAIlD,GAHApC,EAAS3M,GACT2G,EAAI+H,EAAc/H,GAClBgG,EAASoC,GACLN,EAAgB,IAClB,OAAOE,EAAgB3O,EAAG2G,EAAGoI,EAC/B,CAAE,MAAOpN,GAAqB,CAC9B,GAAI,QAASoN,GAAc,QAASA,EAAY,MAAM,IAAIpQ,EAAW,2BAErE,MADI,UAAWoQ,IAAY/O,EAAE2G,GAAKoI,EAAW5W,OACtC6H,CACT,C,iBC1CA,IAAIgB,EAAc,EAAQ,MACtBhJ,EAAO,EAAQ,MACfiX,EAA6B,EAAQ,MACrChO,EAA2B,EAAQ,MACnCzB,EAAkB,EAAQ,MAC1BkP,EAAgB,EAAQ,MACxBpO,EAAS,EAAQ,MACjBmO,EAAiB,EAAQ,MAGzBG,EAA4BnW,OAAOmI,yBAIvCnL,EAAQkL,EAAIK,EAAc4N,EAA4B,SAAkC5O,EAAG2G,GAGzF,GAFA3G,EAAIR,EAAgBQ,GACpB2G,EAAI+H,EAAc/H,GACd8H,EAAgB,IAClB,OAAOG,EAA0B5O,EAAG2G,EACtC,CAAE,MAAOhF,GAAqB,CAC9B,GAAIrB,EAAON,EAAG2G,GAAI,OAAO1F,GAA0BjJ,EAAKiX,EAA2BtO,EAAGX,EAAG2G,GAAI3G,EAAE2G,GACjG,C,iBCrBA,IAAIuI,EAAqB,EAAQ,MAG7BpH,EAFc,EAAQ,MAEGtR,OAAO,SAAU,aAK9Cf,EAAQkL,EAAIlI,OAAO0W,qBAAuB,SAA6BnP,GACrE,OAAOkP,EAAmBlP,EAAG8H,EAC/B,C,eCTArS,EAAQkL,EAAIlI,OAAO2W,qB,iBCDnB,IAAI9O,EAAS,EAAQ,MACjB7B,EAAa,EAAQ,MACrBuI,EAAW,EAAQ,KACnBa,EAAY,EAAQ,MACpBwH,EAA2B,EAAQ,MAEnCpC,EAAWpF,EAAU,YACrBT,EAAU3O,OACV6W,EAAkBlI,EAAQ1O,UAK9BhD,EAAOD,QAAU4Z,EAA2BjI,EAAQrG,eAAiB,SAAUf,GAC7E,IAAIkB,EAAS8F,EAAShH,GACtB,GAAIM,EAAOY,EAAQ+L,GAAW,OAAO/L,EAAO+L,GAC5C,IAAIrU,EAAcsI,EAAOtI,YACzB,OAAI6F,EAAW7F,IAAgBsI,aAAkBtI,EACxCA,EAAYF,UACZwI,aAAkBkG,EAAUkI,EAAkB,IACzD,C,iBCpBA,IAAInP,EAAc,EAAQ,MAE1BzK,EAAOD,QAAU0K,EAAY,CAAC,EAAE+I,c,iBCFhC,IAAI/I,EAAc,EAAQ,MACtBG,EAAS,EAAQ,MACjBd,EAAkB,EAAQ,MAC1BU,EAAU,gBACV4H,EAAa,EAAQ,MAErB/R,EAAOoK,EAAY,GAAGpK,MAE1BL,EAAOD,QAAU,SAAUyL,EAAQqO,GACjC,IAGInT,EAHA4D,EAAIR,EAAgB0B,GACpBxK,EAAI,EACJoE,EAAS,GAEb,IAAKsB,KAAO4D,GAAIM,EAAOwH,EAAY1L,IAAQkE,EAAON,EAAG5D,IAAQrG,EAAK+E,EAAQsB,GAE1E,KAAOmT,EAAMxY,OAASL,GAAO4J,EAAON,EAAG5D,EAAMmT,EAAM7Y,SAChDwJ,EAAQpF,EAAQsB,IAAQrG,EAAK+E,EAAQsB,IAExC,OAAOtB,CACT,C,gBCnBA,IAAIoU,EAAqB,EAAQ,MAC7BrC,EAAc,EAAQ,MAK1BnX,EAAOD,QAAUgD,OAAOyD,MAAQ,SAAc8D,GAC5C,OAAOkP,EAAmBlP,EAAG6M,EAC/B,C,eCRA,IAAI2C,EAAwB,CAAC,EAAEnI,qBAE3BzG,EAA2BnI,OAAOmI,yBAGlC6O,EAAc7O,IAA6B4O,EAAsBxX,KAAK,CAAE,EAAG,GAAK,GAIpFvC,EAAQkL,EAAI8O,EAAc,SAA8B/I,GACtD,IAAIxB,EAAatE,EAAyBxK,KAAMsQ,GAChD,QAASxB,GAAcA,EAAW9D,UACpC,EAAIoO,C,iBCXJ,IAAIE,EAAsB,EAAQ,MAC9BnQ,EAAW,EAAQ,MACnBoQ,EAAyB,EAAQ,MACjCC,EAAqB,EAAQ,MAMjCla,EAAOD,QAAUgD,OAAOwR,iBAAmB,aAAe,CAAC,EAAI,WAC7D,IAEImC,EAFAyD,GAAiB,EACjB9W,EAAO,CAAC,EAEZ,KACEqT,EAASsD,EAAoBjX,OAAOC,UAAW,YAAa,QACrDK,EAAM,IACb8W,EAAiB9W,aAAgB1B,KACnC,CAAE,MAAOsK,GAAqB,CAC9B,OAAO,SAAwB3B,EAAG0L,GAGhC,OAFAiE,EAAuB3P,GACvB4P,EAAmBlE,GACdnM,EAASS,IACV6P,EAAgBzD,EAAOpM,EAAG0L,GACzB1L,EAAE8P,UAAYpE,EACZ1L,GAHkBA,CAI3B,CACF,CAjB+D,QAiBzDX,E,iBC3BN,IAAIrH,EAAO,EAAQ,MACfyG,EAAa,EAAQ,MACrBc,EAAW,EAAQ,MAEnBZ,EAAa1F,UAIjBvD,EAAOD,QAAU,SAAUsa,EAAOC,GAChC,IAAIzJ,EAAI0J,EACR,GAAa,WAATD,GAAqBvR,EAAW8H,EAAKwJ,EAAM5Z,YAAcoJ,EAAS0Q,EAAMjY,EAAKuO,EAAIwJ,IAAS,OAAOE,EACrG,GAAIxR,EAAW8H,EAAKwJ,EAAMG,WAAa3Q,EAAS0Q,EAAMjY,EAAKuO,EAAIwJ,IAAS,OAAOE,EAC/E,GAAa,WAATD,GAAqBvR,EAAW8H,EAAKwJ,EAAM5Z,YAAcoJ,EAAS0Q,EAAMjY,EAAKuO,EAAIwJ,IAAS,OAAOE,EACrG,MAAM,IAAItR,EAAW,0CACvB,C,iBCdA,IAAIsI,EAAa,EAAQ,MACrB9G,EAAc,EAAQ,MACtBgQ,EAA4B,EAAQ,MACpCC,EAA8B,EAAQ,MACtCzD,EAAW,EAAQ,MAEnBnW,EAAS2J,EAAY,GAAG3J,QAG5Bd,EAAOD,QAAUwR,EAAW,UAAW,YAAc,SAAiB5G,GACpE,IAAInE,EAAOiU,EAA0BxP,EAAEgM,EAAStM,IAC5C+O,EAAwBgB,EAA4BzP,EACxD,OAAOyO,EAAwB5Y,EAAO0F,EAAMkT,EAAsB/O,IAAOnE,CAC3E,C,iBCbA,IAAIuK,EAAoB,EAAQ,KAE5B9H,EAAa1F,UAIjBvD,EAAOD,QAAU,SAAU4K,GACzB,GAAIoG,EAAkBpG,GAAK,MAAM,IAAI1B,EAAW,wBAA0B0B,GAC1E,OAAOA,CACT,C,iBCTA,IAAInB,EAAiB,UACjBoB,EAAS,EAAQ,MAGjBsJ,EAFkB,EAAQ,KAEV5K,CAAgB,eAEpCtJ,EAAOD,QAAU,SAAUyE,EAAQmW,EAAKhL,GAClCnL,IAAWmL,IAAQnL,EAASA,EAAOxB,WACnCwB,IAAWoG,EAAOpG,EAAQ0P,IAC5B1K,EAAehF,EAAQ0P,EAAe,CAAEtK,cAAc,EAAMnH,MAAOkY,GAEvE,C,iBCXA,IAAIzI,EAAS,EAAQ,MACjB0I,EAAM,EAAQ,MAEdpU,EAAO0L,EAAO,QAElBlS,EAAOD,QAAU,SAAU2G,GACzB,OAAOF,EAAKE,KAASF,EAAKE,GAAOkU,EAAIlU,GACvC,C,iBCPA,IAAI0N,EAAU,EAAQ,MAClBhI,EAAa,EAAQ,MACrBP,EAAuB,EAAQ,MAE/BgP,EAAS,qBACTjJ,EAAQ5R,EAAOD,QAAUqM,EAAWyO,IAAWhP,EAAqBgP,EAAQ,CAAC,IAEhFjJ,EAAM7C,WAAa6C,EAAM7C,SAAW,KAAK1O,KAAK,CAC7CuO,QAAS,SACTkM,KAAM1G,EAAU,OAAS,SACzB2G,UAAW,4CACXC,QAAS,2DACT5W,OAAQ,uC,iBCZV,IAAIwN,EAAQ,EAAQ,MAEpB5R,EAAOD,QAAU,SAAU2G,EAAKjE,GAC9B,OAAOmP,EAAMlL,KAASkL,EAAMlL,GAAOjE,GAAS,CAAC,EAC/C,C,gBCHA,IAAIwY,EAAa,EAAQ,MACrB9P,EAAQ,EAAQ,MAGhB/B,EAFa,EAAQ,MAEAC,OAGzBrJ,EAAOD,UAAYgD,OAAO2W,wBAA0BvO,GAAM,WACxD,IAAI+P,EAASnZ,OAAO,oBAKpB,OAAQqH,EAAQ8R,MAAanY,OAAOmY,aAAmBnZ,UAEpDA,OAAOgO,MAAQkL,GAAcA,EAAa,EAC/C,G,iBCjBA,IAAIE,EAAsB,EAAQ,MAE9BC,EAAMhK,KAAKgK,IACXC,EAAMjK,KAAKiK,IAKfrb,EAAOD,QAAU,SAAU4F,EAAOtE,GAChC,IAAIia,EAAUH,EAAoBxV,GAClC,OAAO2V,EAAU,EAAIF,EAAIE,EAAUja,EAAQ,GAAKga,EAAIC,EAASja,EAC/D,C,iBCVA,IAAIka,EAAgB,EAAQ,MACxBtB,EAAyB,EAAQ,MAErCja,EAAOD,QAAU,SAAU4K,GACzB,OAAO4Q,EAActB,EAAuBtP,GAC9C,C,iBCNA,IAAImM,EAAQ,EAAQ,MAIpB9W,EAAOD,QAAU,SAAUmJ,GACzB,IAAIsS,GAAUtS,EAEd,OAAOsS,GAAWA,GAAqB,IAAXA,EAAe,EAAI1E,EAAM0E,EACvD,C,iBCRA,IAAIL,EAAsB,EAAQ,MAE9BE,EAAMjK,KAAKiK,IAIfrb,EAAOD,QAAU,SAAUmJ,GACzB,IAAIzH,EAAM0Z,EAAoBjS,GAC9B,OAAOzH,EAAM,EAAI4Z,EAAI5Z,EAAK,kBAAoB,CAChD,C,gBCTA,IAAIwY,EAAyB,EAAQ,MAEjCvI,EAAU3O,OAId/C,EAAOD,QAAU,SAAUmJ,GACzB,OAAOwI,EAAQuI,EAAuB/Q,GACxC,C,iBCRA,IAAI5G,EAAO,EAAQ,MACfuH,EAAW,EAAQ,MACnB4R,EAAW,EAAQ,KACnBC,EAAY,EAAQ,MACpBC,EAAsB,EAAQ,MAC9BrS,EAAkB,EAAQ,MAE1BL,EAAa1F,UACbqY,EAAetS,EAAgB,eAInCtJ,EAAOD,QAAU,SAAUsa,EAAOC,GAChC,IAAKzQ,EAASwQ,IAAUoB,EAASpB,GAAQ,OAAOA,EAChD,IACIjV,EADAyW,EAAeH,EAAUrB,EAAOuB,GAEpC,GAAIC,EAAc,CAGhB,QAFalS,IAAT2Q,IAAoBA,EAAO,WAC/BlV,EAAS9C,EAAKuZ,EAAcxB,EAAOC,IAC9BzQ,EAASzE,IAAWqW,EAASrW,GAAS,OAAOA,EAClD,MAAM,IAAI6D,EAAW,0CACvB,CAEA,YADaU,IAAT2Q,IAAoBA,EAAO,UACxBqB,EAAoBtB,EAAOC,EACpC,C,iBCxBA,IAAIwB,EAAc,EAAQ,MACtBL,EAAW,EAAQ,KAIvBzb,EAAOD,QAAU,SAAUmJ,GACzB,IAAIxC,EAAMoV,EAAY5S,EAAU,UAChC,OAAOuS,EAAS/U,GAAOA,EAAMA,EAAM,EACrC,C,WCRA,IAAI0C,EAAUC,OAEdrJ,EAAOD,QAAU,SAAUmJ,GACzB,IACE,OAAOE,EAAQF,EACjB,CAAE,MAAO+C,GACP,MAAO,QACT,CACF,C,iBCRA,IAAIxB,EAAc,EAAQ,MAEtBnK,EAAK,EACLyb,EAAU3K,KAAK4K,SACfvb,EAAWgK,EAAY,GAAIhK,UAE/BT,EAAOD,QAAU,SAAU2G,GACzB,MAAO,gBAAqBiD,IAARjD,EAAoB,GAAKA,GAAO,KAAOjG,IAAWH,EAAKyb,EAAS,GACtF,C,iBCPA,IAAIE,EAAgB,EAAQ,KAE5Bjc,EAAOD,QAAUkc,IACdla,OAAOgO,MACkB,iBAAnBhO,OAAOC,Q,iBCLhB,IAAIsJ,EAAc,EAAQ,MACtBH,EAAQ,EAAQ,MAIpBnL,EAAOD,QAAUuL,GAAeH,GAAM,WAEpC,OAGiB,KAHVpI,OAAOyG,gBAAe,WAA0B,GAAG,YAAa,CACrE/G,MAAO,GACPkJ,UAAU,IACT3I,SACL,G,iBCXA,IAAIoJ,EAAa,EAAQ,MACrBrD,EAAa,EAAQ,MAErBuJ,EAAUlG,EAAWkG,QAEzBtS,EAAOD,QAAUgJ,EAAWuJ,IAAY,cAAcjP,KAAKgG,OAAOiJ,G,iBCLlE,IAAIlG,EAAa,EAAQ,MACrB8F,EAAS,EAAQ,MACjBtH,EAAS,EAAQ,MACjBgQ,EAAM,EAAQ,MACdqB,EAAgB,EAAQ,KACxBxI,EAAoB,EAAQ,MAE5B1R,EAASqK,EAAWrK,OACpBma,EAAwBhK,EAAO,OAC/BiK,EAAwB1I,EAAoB1R,EAAY,KAAKA,EAASA,GAAUA,EAAOqa,eAAiBxB,EAE5G5a,EAAOD,QAAU,SAAUoD,GAKvB,OAJGyH,EAAOsR,EAAuB/Y,KACjC+Y,EAAsB/Y,GAAQ8Y,GAAiBrR,EAAO7I,EAAQoB,GAC1DpB,EAAOoB,GACPgZ,EAAsB,UAAYhZ,IAC/B+Y,EAAsB/Y,EACjC,C,gBCjBA,IAAI2G,EAAkB,EAAQ,MAC1BuS,EAAmB,EAAQ,MAC3BxI,EAAY,EAAQ,MACpBuC,EAAsB,EAAQ,KAC9B5M,EAAiB,UACjB8S,EAAiB,EAAQ,MACzBC,EAAyB,EAAQ,MACjCnI,EAAU,EAAQ,MAClB9I,EAAc,EAAQ,MAEtBkR,EAAiB,iBACjBC,EAAmBrG,EAAoBrE,IACvCuE,EAAmBF,EAAoBxD,UAAU4J,GAYrDxc,EAAOD,QAAUuc,EAAe3a,MAAO,SAAS,SAAU+a,EAAUC,GAClEF,EAAiB/b,KAAM,CACrBoS,KAAM0J,EACNhY,OAAQsF,EAAgB4S,GACxB/W,MAAO,EACPgX,KAAMA,GAIV,IAAG,WACD,IAAIpK,EAAQ+D,EAAiB5V,MACzB8D,EAAS+N,EAAM/N,OACfmB,EAAQ4M,EAAM5M,QAClB,IAAKnB,GAAUmB,GAASnB,EAAOnD,OAE7B,OADAkR,EAAM/N,OAAS,KACR+X,OAAuB5S,GAAW,GAE3C,OAAQ4I,EAAMoK,MACZ,IAAK,OAAQ,OAAOJ,EAAuB5W,GAAO,GAClD,IAAK,SAAU,OAAO4W,EAAuB/X,EAAOmB,IAAQ,GAC5D,OAAO4W,EAAuB,CAAC5W,EAAOnB,EAAOmB,KAAS,EAC1D,GAAG,UAKH,IAAIoQ,EAASlC,EAAU+I,UAAY/I,EAAUlS,MAQ7C,GALA0a,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,YAGZjI,GAAW9I,GAA+B,WAAhByK,EAAO5S,KAAmB,IACvDqG,EAAeuM,EAAQ,OAAQ,CAAEtT,MAAO,UAC1C,CAAE,MAAOwJ,GAAqB,C,iBC5D9B,IAAIG,EAAa,EAAQ,MACrByQ,EAAe,EAAQ,MACvBrO,EAAwB,EAAQ,MAChCsO,EAAuB,EAAQ,KAC/B5N,EAA8B,EAAQ,MACtC0E,EAAiB,EAAQ,MAGzBgB,EAFkB,EAAQ,KAEftL,CAAgB,YAC3ByT,EAAcD,EAAqB/G,OAEnCiH,EAAkB,SAAUC,EAAqBC,GACnD,GAAID,EAAqB,CAEvB,GAAIA,EAAoBrI,KAAcmI,EAAa,IACjD7N,EAA4B+N,EAAqBrI,EAAUmI,EAC7D,CAAE,MAAO9Q,GACPgR,EAAoBrI,GAAYmI,CAClC,CAEA,GADAnJ,EAAeqJ,EAAqBC,GAAiB,GACjDL,EAAaK,GAAkB,IAAK,IAAIC,KAAeL,EAEzD,GAAIG,EAAoBE,KAAiBL,EAAqBK,GAAc,IAC1EjO,EAA4B+N,EAAqBE,EAAaL,EAAqBK,GACrF,CAAE,MAAOlR,GACPgR,EAAoBE,GAAeL,EAAqBK,EAC1D,CAEJ,CACF,EAEA,IAAK,IAAID,KAAmBL,EAC1BG,EAAgB5Q,EAAW8Q,IAAoB9Q,EAAW8Q,GAAiBla,UAAWka,GAGxFF,EAAgBxO,EAAuB,e,GCnCnC4O,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB3T,IAAjB4T,EACH,OAAOA,EAAaxd,QAGrB,IAAIC,EAASod,EAAyBE,GAAY,CACjDhd,GAAIgd,EAEJvd,QAAS,CAAC,GAOX,OAHAyd,EAAoBF,GAAUhb,KAAKtC,EAAOD,QAASC,EAAQA,EAAOD,QAASsd,GAGpErd,EAAOD,OACf,CCrBAsd,EAAoBva,EAAK9C,IACxB,IAAIyW,EAASzW,GAAUA,EAAOyd,WAC7B,IAAOzd,EAAiB,QACxB,IAAM,EAEP,OADAqd,EAAoBK,EAAEjH,EAAQ,CAAEjF,EAAGiF,IAC5BA,CAAM,ECLd4G,EAAoBK,EAAI,CAAC3d,EAAS4d,KACjC,IAAI,IAAIjX,KAAOiX,EACXN,EAAoBza,EAAE+a,EAAYjX,KAAS2W,EAAoBza,EAAE7C,EAAS2G,IAC5E3D,OAAOyG,eAAezJ,EAAS2G,EAAK,CAAEgF,YAAY,EAAMW,IAAKsR,EAAWjX,IAE1E,ECND2W,EAAoBhM,EAAI,WACvB,GAA0B,iBAAfjF,WAAyB,OAAOA,WAC3C,IACC,OAAO1L,MAAQ,IAAIyP,SAAS,cAAb,EAChB,CAAE,MAAOnL,GACR,GAAsB,iBAAXJ,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxByY,EAAoBza,EAAI,CAACgD,EAAKgY,IAAU7a,OAAOC,UAAUiN,eAAe3N,KAAKsD,EAAKgY,GCClFP,EAAoBQ,EAAK9d,IACH,oBAAXgC,QAA0BA,OAAO+b,aAC1C/a,OAAOyG,eAAezJ,EAASgC,OAAO+b,YAAa,CAAErb,MAAO,WAE7DM,OAAOyG,eAAezJ,EAAS,aAAc,CAAE0C,OAAO,GAAO,ECL9D4a,EAAoBU,QAAKpU,E,oCCSlB,MAkHMqU,EAAyB,SAACC,EAAMC,EAASC,EAAUC,GAAwD,IAA5CC,EAAUhO,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,IAAKiO,EAAUjO,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,SACzG,MAAMkO,EAAU7Z,SAAS2B,cAAc,OACvCkY,EAAQnY,MAAMoY,SAAW,WACzBD,EAAQnY,MAAMqY,WAAa,SAC3BF,EAAQnY,MAAMsY,MAAQ,GAAH5d,OAAMod,EAAO,MAChCK,EAAQnY,MAAMgY,WAAaA,EAC3BG,EAAQnY,MAAMiY,WAAahV,OAAOgV,GAClCE,EAAQnY,MAAMkY,WAAaA,EAC3BC,EAAQnY,MAAMuY,WAAa,WAC3BJ,EAAQnY,MAAMwY,SAAW,aACzBL,EAAQnY,MAAMyY,UAAY,SAC1BN,EAAQnY,MAAM0Y,SAAW,SACzBP,EAAQnY,MAAM2Y,QAAU,IACxBR,EAAQnY,MAAM4Y,OAAS,IACvBT,EAAQU,YAAchB,EACtBvZ,SAASwa,KAAKpY,YAAYyX,GAE1B,IAAIY,EAAM,EACNC,EAAO,IACPC,EAAUF,EAEd,KAAOA,GAAOC,GAAM,CAClB,MAAME,EAAMlO,KAAKyF,OAAOsI,EAAMC,GAAQ,GACtCb,EAAQnY,MAAMmZ,SAAW,GAAHze,OAAMwe,EAAG,MAE3Bf,EAAQiB,cAAgBrB,GAAYI,EAAQkB,aAAerO,KAAKwF,KAAKsH,IACvEmB,EAAUC,EACVH,EAAMG,EAAM,GAEZF,EAAOE,EAAM,CAEjB,CAGA,OADA5a,SAASwa,KAAKvX,YAAY4W,GACnBc,CACT,EAmFaK,EAAkB,SAACC,GAC9B,MAEMC,EAAWlb,SAASmb,eAAe,UACzC,IAAKD,EAAU,OAEf,MAAM,YAAEE,EAAW,KAAEC,EAAI,KAAEC,EAAI,QAAE9B,EAAO,SAAEC,GA9OX,SAAC8B,EAAMnd,GAAoB,IACtDgd,EADqCI,EAAM7P,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,GAIlD,MAAM6N,EAAU+B,EAAKE,YACfhC,EAAW8B,EAAKG,aACtB,IAAIC,EAAanC,EAAUC,EAQ3B,IANA2B,IACI,EAAI1O,KAAKkP,KAAK,EAAK,EAAIxd,EAAIqb,EAAYD,KAAc,EAAIpb,EAAKob,GAClE4B,IACI,EAAI1O,KAAKkP,KAAK,EAAK,EAAIxd,EAAIqb,EAAW+B,EAAUhC,KAChD,EAAIgC,EAASpd,EAAKob,GAGpBpb,EACAsO,KAAKyF,MAAMsH,EAAW2B,EAAc,GAClC1O,KAAKyF,MAAMqH,GAAWgC,EAASJ,KACjC,CAEA,MAAMS,EAAK,CACTpC,EAAW/M,KAAKwF,KAAKuH,EAAW2B,GAChC5B,EAAU9M,KAAKwF,KAAKsH,GAAWgC,EAASJ,KAE1C,IAAK,IAAI9e,EAAI,EAAGA,GAAKuf,EAAGlf,OAAQL,IAG1Buf,EAAGvf,IAAM8e,IAAaS,EAAGvf,GAAK,GAGpC8e,EAAc1O,KAAKgK,OAAOmF,EAC5B,CAYA,OALAF,EAAalC,EAAWD,EAKjB,CACL4B,YAAaA,EACbC,KAN0B3O,KAAKyF,MAAMqH,GAAWgC,EAASJ,IAOzDE,KANwB5O,KAAKyF,MAAMsH,EAAW2B,EAAc,GAO5D5B,QAASA,EACTC,SAAUA,EAEd,CA4LyDqC,CACrDZ,EACAD,EAPa,GAWf,GAAIzB,GAAW,GAAKC,GAAY,GAAK2B,GAVtB,EAU6C,OAE5D,MAAMW,EAAW,IAAIb,EAASc,uBAAuB,oBAC/CC,EAAsBF,EAAS9f,KAClCqE,IAAC,IAAA4b,EAAA,MAA6B,yBAAT,QAAfA,EAAA5b,EAAE6b,qBAAa,IAAAD,OAAA,EAAfA,EAAiBtgB,GAA4B,IAEhDwgB,EAAaL,EAChBvZ,QAAO,CAAC6Z,EAAG/f,KAAO2f,EAAoB3f,KACtCL,KAAI,CAACogB,EAAG/f,IAAM,CAACoQ,KAAKyF,MAAM7V,EAAI+e,GAAO/e,EAAI+e,KAGtCiB,EAAa7C,GADA6B,EAAOF,EAAcA,GAElCmB,EAAY/C,EAHA6B,GApBH,EAoBWD,GAIpBoB,EAAuB9P,KAAKyF,MAAMmK,EAAa,GAC/CG,EAAyB/P,KAAKyF,MAAMoK,EAAY,GAEhDG,EAAc,GACpB,IAAIC,EACAC,EAAI,EAER,MAAMC,EAAiBZ,EAAoBzZ,QAAQ6P,GAAMA,IAAG1V,OAE5Dof,EAASha,SAAQ,CAACsa,EAAG/f,KAGnB,IAAIwgB,EAAKC,EAET,GAJAV,EAAE3a,MAAMoY,SAAW,QACAmC,EAAoB3f,GAGvB,CACd,MAAM0gB,EAAYxD,EAAUqD,EAtCjB,EAuCXC,EAAM,GAAH1gB,OAAMqd,EAAW2B,EAAW,MAE/B2B,EAAO,GAAH3gB,OADMke,IACIoC,EAAY/f,QAAUqgB,EAzCzB,GAyC2C,MAEtDN,EAAY/gB,KAAK0gB,GACjBA,EAAE3a,MAAMub,aAAe,OACvBZ,EAAE3a,MAAMwb,OAAS,GAAH9gB,OAAMgf,EA7CT,EA6C6B,MACxCiB,EAAE3a,MAAMsY,MAAQ,GAAH5d,OAAM4gB,EAAQ,KAC7B,KAAO,CACL,MAAME,EAAS9B,EAhDJ,EAiDL4B,EAlDK,EAkDME,GACVC,EAAG9K,GAAK+J,EAAWQ,GAC1BA,GAAK,EACLE,EAAM,GAAH1gB,OAAM+gB,EAAID,EApDF,GAoDYC,EAAI,GAAcX,EAAuBlC,IAAU,MAC1EyC,EAAO,GAAH3gB,OAAMiW,EAAI2K,EArDH,GAqDe3K,EAAI,GAAcoK,EAAyBnC,IAAU,WAE3DrV,IAAhB0X,IACFA,EArOiB,SAACN,EAAGrC,EAAOkD,GAA8B,IAAtBE,IAAUzR,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,KAAAA,UAAA,GACpD0Q,EAAE3a,MAAMwb,OAAS,OACjBb,EAAE3a,MAAMsY,MAAQ,OAEZoD,GAEFf,EAAE3a,MAAMuY,WAAa,WACrBoC,EAAE3a,MAAMwY,SAAW,aACnBmC,EAAE3a,MAAMyY,UAAY,SACpBkC,EAAE3a,MAAM0Y,SAAW,WAEnBiC,EAAE3a,MAAMuY,WAAa,SACrBoC,EAAE3a,MAAMwY,SAAW,SACnBmC,EAAE3a,MAAMyY,UAAY,UAItB,IAAIM,EAAM,EACNC,EAAO,IACPC,EAAUF,EAEd,KAAOA,GAAOC,GAAM,CAClB,MAAME,EAAMlO,KAAK2Q,MAAM3Q,KAAK4Q,KAAK5Q,KAAK6Q,IAAI9C,GAAO/N,KAAK6Q,IAAI7C,IAAS,IACnE2B,EAAE3a,MAAMmZ,SAAW,GAAHze,OAAMwe,EAAG,MAGzB,MAAM4C,EAAOnB,EAAEoB,wBACTC,EAAYF,EAAKxD,OAASA,EAC1B2D,EAAaH,EAAKN,QAAUA,EAC5BU,EAAUJ,EAAKxD,MAAQ,GAAKwD,EAAKN,OAAS,EAE5CQ,GAAaC,GAAcC,GAC7BjD,EAAUC,EACVH,EAAMG,EAAM,GAEZF,EAAOE,EAAM,CAEjB,CAEA,OAAOD,CACT,CA6LsBkD,CAAiBxB,EAAGW,EAAUE,IAE9Cb,EAAE3a,MAAMwb,OAAS,GAAH9gB,OAAM8gB,EAAM,MAC1Bb,EAAE3a,MAAMmZ,SAAW,GAAHze,OAAM8gB,EAAS,EAAC,MAChCb,EAAE3a,MAAMsY,MAAQ,GAAH5d,OAAM4gB,EAAQ,KAC7B,CACAX,EAAE3a,MAAMob,IAAMA,EACdT,EAAE3a,MAAMqb,KAAOA,EACfV,EAAE3a,MAAMqY,WAAa,SAAS,IAI5B2C,EAAY/f,OAAS,GA7Ia,SAACmhB,GAA+B,IAAtBnE,EAAUhO,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,KAC7D,GAAuB,IAAnBmS,EAAQnhB,OAAc,OAE1B,IAAIohB,EAAe,EACfC,EAAQ,EAEZ,IAAK,IAAI5f,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC3B,MAAM6f,EAAQH,EAAQ7hB,KAAIiiB,IAAK,IAAAC,EAAAC,EAC7B,MAAMC,EAAQH,EAAEje,cAAc,0BACxBsZ,EAA2C,QAAvC4E,EAAsB,QAAtBC,EAAIC,aAAK,EAALA,EAAO9D,mBAAW,IAAA6D,EAAAA,EAAIF,EAAE3D,mBAAW,IAAA4D,EAAAA,EAAK,GAChDzc,EAAQ4c,iBAAiBJ,GACzBK,EAAaF,EAAQC,iBAAiBD,GAAS,KAC/CG,EAAOC,WAAW/c,EAAMgd,aAAeD,WAAW/c,EAAMid,eACzDJ,EAAaE,WAAWF,EAAWG,aAAeD,WAAWF,EAAWI,cAAgB,GACvFC,EAAOH,WAAW/c,EAAMmd,YAAcJ,WAAW/c,EAAMod,gBACxDP,EAAaE,WAAWF,EAAWM,YAAcJ,WAAWF,EAAWO,eAAiB,GAC7F,OAAOxF,EACLC,GACC2E,EAAEzC,YAAc+C,GAAQpgB,EACzB8f,EAAExC,aAAekD,EACjBld,EAAMgY,WACNC,EACAjY,EAAMkY,WACP,IAEGmF,EAAUrS,KAAKiK,OAAOsH,GACxBc,EAAUhB,IACZA,EAAegB,EACff,EAAQ5f,EAEZ,CAGA,MAAM4gB,EAAYlB,EAAQ7hB,KAAIiiB,GAAKA,EAAEzC,cAE/BwD,EAAiBC,IACrBpB,EAAQ/b,SAAQ,CAACmc,EAAG5hB,KAClB4hB,EAAExc,MAAMsY,MAAQ,GAAH5d,OAAM4iB,EAAU1iB,GAAE,MAC/B4hB,EAAExc,MAAMmZ,SAAW,GAAHze,OAAM8iB,EAAI,MAC1BhB,EAAExc,MAAMiY,WAAahV,OAAOgV,GAC5B,MAAM0E,EAAQH,EAAEje,cAAc,0BAC1Boe,IACFA,EAAM3c,MAAMmZ,SAAW,GAAHze,OAAM8iB,EAAI,MAC1BlB,EAAQ,IACVK,EAAM3c,MAAMyd,SAAW,GAAH/iB,OAAMsQ,KAAKyF,MAAM6M,EAAU1iB,GAAK0hB,GAAM,MAC1DK,EAAM3c,MAAM0d,YAAY,YAAa,YAEzC,GACA,EAMJ,IAHAH,EAAclB,GAGPA,EAAe,GACFD,EAAQuB,MAAKnB,IAC7B,MAAMG,EAAQH,EAAEje,cAAc,0BAC9B,OAAOoe,IAAUA,EAAMtD,YAAcsD,EAAM5C,aAAe4C,EAAMvD,aAAeuD,EAAM3C,aAAa,KAGpGqC,GAAgB,EAChBkB,EAAclB,EAElB,CA+EIuB,CAAyB5C,EAE7B,E,+wBClTa,IAAI,IALH,CAEd9b,OAAiB,OACjBA,WAAoB,IAML,WCXO,IAAA2e,EAAA,IAAA3R,QAAA4R,EAAA,IAAA5R,QAEtB,MAAM6R,EACJjhB,cAKE,IAAAkhB,EAAAC,EAAA,SAJAC,EAAgBjU,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,CACjBkU,gBAAiB,KACjBC,wBAAwB,GA2B5BC,EAAA,iBACYC,IACVhkB,KAAKikB,kBAAoBD,EACzBE,QAAQ3C,IAAI,mDAAmD,IAGjEwC,EAAA,kBACY,CAACzgB,EAAM0gB,KAGjB,GAFAE,QAAQ3C,IAAI,yBAA0Bje,GAEjCA,GAASA,EAAK6gB,QAEnB,OAAQ7gB,EAAK6gB,SACX,IAAK,mBACHnkB,KAAKokB,SAAW9gB,EAAK8gB,SACrBpkB,KAAKqkB,KAAO/gB,EAAK+gB,KACjBrkB,KAAKskB,eAAiBhhB,EAAKghB,eAC3BtkB,KAAKukB,wBAA0BjhB,EAAKihB,wBACpCvkB,KAAKwkB,mBACLC,EAAKjB,EAALxjB,MAAoB4B,KAApB5B,MACA,MACF,IAAK,eACHgE,SAASmb,eAAe,iBAAiBuF,UAAYphB,EAAKqhB,cAC1D3gB,SAASmb,eAAe,iBAAiBzZ,MAAMkS,QACtB,KAAvBtU,EAAKqhB,cAAuB,OAAS,QACvC3kB,KAAK4kB,cAAgBthB,EAAKqhB,cAC1BF,EAAKjB,EAALxjB,MAAoB4B,KAApB5B,MACA,MACF,IAAK,eACHgE,SAASmb,eAAe,iBAAiBuF,UAAYphB,EAAKqhB,cAC1D3kB,KAAK6kB,cAAgBvhB,EAAKqhB,cAC1BF,EAAKjB,EAALxjB,MAAoB4B,KAApB5B,MACA,MACF,IAAK,SAUI,IAAA8kB,EAAAC,EAAAC,EAPJ1hB,EAAKiM,eAAe,aACpBjM,EAAKiM,eAAe,SACpBjM,EAAKiM,eAAe,mBAMrBvP,KAAKokB,SAAwB,QAAhBU,EAAGxhB,EAAK8gB,gBAAQ,IAAAU,EAAAA,EAAI9kB,KAAKokB,SACtCpkB,KAAKqkB,KAAgB,QAAZU,EAAGzhB,EAAK+gB,YAAI,IAAAU,EAAAA,EAAI/kB,KAAKqkB,KAC9BrkB,KAAKskB,eAAoC,QAAtBU,EAAG1hB,EAAKghB,sBAAc,IAAAU,EAAAA,EAAIhlB,KAAKskB,gBANlDJ,QAAQ3Y,MACN,4EAOJkZ,EAAKjB,EAALxjB,MAAoB4B,KAApB5B,MACA,MACF,IAAK,UACCsD,EAAKiM,eAAe,QACtBvP,KAAKilB,YAAY3hB,EAAKwC,MAEtB9F,KAAKilB,cAEP,MACF,IAAK,SACC3hB,EAAKiM,eAAe,QACtBvP,KAAKklB,WAAW5hB,EAAKwC,MAErB9F,KAAKklB,aAEP,MACF,IAAK,YACHllB,KAAKmlB,cAAgBC,YAAYC,MACjC,MACF,IAAK,mBACHrlB,KAAKwkB,mBACL,MACF,QACEN,QAAQ3C,IAAI,2BAA4Bje,EAAK6gB,SACjD,IAGFmB,EAAA,KAAA/B,GAAe,KAYb,MAAMgC,EAAavhB,SAAS2B,cAAc,OAC1C4f,EAAWtf,aAAa,KAAM,UAC9B,MAAMuf,EAAexhB,SAAS2B,cAAc,MAC5C6f,EAAavf,aAAa,KAAM,iBAChCuf,EAAa5X,UAAU6X,IAAI,YAC3B,MAAMC,EAAa1hB,SAAS2B,cAAc,OAC1C+f,EAAWzf,aAAa,KAAM,eAC9Byf,EAAW9X,UAAU6X,IAAI,QACzB,MAAME,EAAoB3hB,SAAS2B,cAAc,OACjDggB,EAAkB1f,aAAa,KAAM,uBACrC0f,EAAkB/X,UAAU6X,IAAI,QAChC,MAAMG,EAAe5hB,SAAS2B,cAAc,OAQ5C,GAPAigB,EAAa3f,aAAa,KAAM,iBAChCsf,EAAWnf,YAAYof,GACvBE,EAAWtf,YAAYuf,GACvBJ,EAAWnf,YAAYsf,GACvBH,EAAWnf,YAAYwf,GAGnB5hB,SAASmb,eAAenf,KAAK6lB,eAAgB,CAC/C3B,QAAQ3C,IAAI,+CACZ,MAAMsE,EAAgB7hB,SAASmb,eAAenf,KAAK6lB,eACnDA,EAAcC,UAAY,GAC1BD,EAAczf,YAAYmf,EAC5B,MACErB,QAAQ3C,IAAI,2BACZvd,SAAS+hB,qBAAqB,QAAQ,GAAG3f,YAAYmf,GAGvDrhB,OAAO8hB,SAAW,KAAM,IAAAC,EACtB/B,QAAQlf,MAAM,mBACdga,EAA6B,QAAdiH,EAACjmB,KAAKokB,gBAAQ,IAAA6B,OAAA,EAAbA,EAAetlB,OAAO,EAEpCuD,OAAOgiB,iBACThiB,OAAOgiB,eAAeF,SAAW,KAAM,IAAAG,EACrCjC,QAAQlf,MAAM,2BACdga,EAA6B,QAAdmH,EAACnmB,KAAKokB,gBAAQ,IAAA+B,OAAA,EAAbA,EAAexlB,OAAO,EACvC,IAGL2kB,EAAA,KAAA9B,GAAkB,KAChB,MAAM4C,EAAoBC,IAExB,MAAMlC,EAAU,CACd/R,KAAM,SACN+R,QAAS,WACTmC,SAAUD,EAAOzmB,GACjB2mB,SAAUC,KAAKnB,MACfoB,mBAAoBD,KAAKnB,MAAQnhB,OAAOwiB,WAItC1mB,KAAKikB,mBACPjkB,KAAKikB,kBAAkB0C,KAAKxC,GAC5BD,QAAQ3C,IAAI,kBAAmB4C,IAE/BD,QAAQ3C,IAAI,oCAIVvhB,KAAK8jB,wBACP9jB,KAAK4mB,wBAAwB5mB,KAAKokB,SAAUpkB,KAAKqkB,KACnD,EAGIwC,EAAgBrM,IAEpB,IAAI6L,EAASriB,SAAS2B,cAAc,UACpC0gB,EAAOzmB,GAAK4a,EACZ6L,EAAOS,UAAY,kBACnBT,EAAO3gB,MAAMgY,WAAa1d,KAAKqkB,KAC/BgC,EAAO3gB,MAAMqY,WAAa,SAE1B,MAAMgJ,EAAgB/iB,SAASmb,eAAe,iBAI9CkH,EAAOW,iBAAiB,cAAe1iB,IACrCA,EAAE2iB,iBACF/C,QAAQ3C,IAAI,qBAAsBjd,GAClCyiB,EAAcG,MAAM,IAEtBb,EAAOW,iBAAiB,aAAc1iB,IACpCA,EAAE2iB,iBACFF,EAAcG,MAAM,IAEtBb,EAAOW,iBAAiB,WAAY1iB,IAGlC,OAFAA,EAAE2iB,iBACF/C,QAAQ3C,IAAI,kBAAmBjd,GACvBA,EAAER,OAAOgjB,WACf,IAAK,iCACHV,EAAiB9hB,EAAER,OAAOqc,eAC1B,MACF,IAAK,kBACHiG,EAAiB9hB,EAAER,QAEvB,IAGFuiB,EAAOW,iBAAiB,aAAc1iB,IAEpCA,EAAE2iB,gBAAgB,IAEpBZ,EAAOW,iBAAiB,YAAa1iB,IAEnCA,EAAE2iB,iBACF,MAAME,EAAiBnjB,SAASojB,iBAC9B9iB,EAAE+iB,eAAe,GAAGC,QACpBhjB,EAAE+iB,eAAe,GAAGE,SAEtB,OAAQJ,aAAc,EAAdA,EAAgBL,WACtB,IAAK,iCACHV,EAAiBe,aAAc,EAAdA,EAAgBhH,eACjC,MACF,IAAK,kBACHiG,EAAiBe,GAErB,IAIF,IAAIK,EAAcxjB,SAAS2B,cAAc,QACzC6hB,EAAY5Z,UAAU6X,IAAI,wBAAyB,YACnD+B,EAAY9C,UAAYlK,EACxBgN,EAAY9hB,MAAMgY,WAAa1d,KAAKqkB,KAGpCgC,EAAOjgB,YAAYohB,GAGjBxnB,KAAKskB,eACFrkB,KAAKoW,GAAMA,EAAExD,gBACbhJ,SAAS2Q,EAAO3H,eAEnB7O,SAASC,cAAc,wBAAwBmC,YAAYigB,GAE3DriB,SAASC,cAAc,gBAAgBmC,YAAYigB,EACrD,EAIIoB,EAASzjB,SAASmb,eAAe,iBACvCsI,EAAO/C,UAAY1kB,KAAK4kB,eAAiB,GACzC6C,EAAO/hB,MAAMkS,QAA+B,KAArB6P,EAAO/C,UAAmB,OAAS,QAE1D,MAAMgD,EAAgB1jB,SAASmb,eAAe,UAGxC4H,EAAgB/iB,SAAS2B,cAAc,SAC7CohB,EAAcnnB,GAAK,gBACnBmnB,EAAclP,IAAM,YACpB4P,EAAOrhB,YAAY2gB,GAGnBW,EAAchiB,MAAMgY,WAAa1d,KAAKqkB,KAEtCrkB,KAAK2nB,YAED3nB,KAAKokB,WACPpkB,KAAKokB,SAASre,SAASyU,GAAWqM,EAAarM,KAE/CoN,YAAW,IAAM5I,EAAgBhf,KAAKokB,SAASzjB,SAAS,GAC1D,IACAojB,EAAA,gCAEwB,WAAqB,IAApB8D,EAASlY,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,IAErCgU,EAAKmE,+BAELF,YAAW,IAAMjE,EAAKoE,0BAA0BF,EAClD,IAAC9D,EAAA,+BAEwB,WAAqB,IAApBiE,EAAUrY,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,GAErC,MAAM8X,EAASzjB,SAASmb,eAAe,iBACpB,KAAf6I,EACFP,EAAO/hB,MAAMkS,QAAU,QAEvB6P,EAAO/C,UAAYsD,EACnBP,EAAO/hB,MAAMkS,QAAU,SAKzB,IADgB5T,SAASgc,uBAAuB,oBACnCja,SAASkiB,IACpBA,EAAQra,UAAUjH,OAAO,cAAe,WAAW,GAEvD,IAACod,EAAA,qCAE8B,WAE1B,IADHmE,EAAoBvY,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,8DAGR3L,SAASmb,eAAe,iBAChCuF,UAAYwD,EAInB,IADgBlkB,SAASgc,uBAAuB,oBACnCja,SAASkiB,IACpBA,EAAQra,UAAU6X,IAAI,cAAe,WAAW,GAEpD,IAEA1B,EAAA,kBAGY,KACV/f,SAASC,cAAc,gBAAgB6hB,UACrC,sCAAsC,IAG1C/B,EAAA,yBAKmB,WAAoB,IAAnBoE,EAASxY,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,GAC1BoQ,EAAW,IACV/b,SACAC,cAAc,WACd+b,uBAAuB,oBAI5B,OAFyB,IAArBmI,EAAUxnB,SACZof,EAAWA,EAASvZ,QAAQlC,GAAM6jB,EAAUte,SAASvF,EAAE1E,OAClDmgB,CACT,IAEAgE,EAAA,oBAGc,WAAoB,IAAnBoE,EAASxY,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,GACRgU,EAAKyE,iBAAiBD,GAC9BpiB,SAASzB,IAChBA,EAAEsJ,UAAU6X,IAAI,eAChBnhB,EAAEsJ,UAAU6X,IAAI,YAChBnhB,EAAE2B,aAAa,QAAS,GAAG,GAE/B,IAEA8d,EAAA,mBAGa,WAAoB,IAAnBoE,EAASxY,UAAAhP,OAAA,QAAAsI,IAAA0G,UAAA,GAAAA,UAAA,GAAG,GACPgU,EAAKyE,iBAAiBD,GAC9BpiB,SAASzB,IAChBA,EAAEsJ,UAAUjH,OAAO,eACnBrC,EAAEsJ,UAAUjH,OAAO,YACnBrC,EAAE8C,gBAAgB,QAAQ,GAE9B,IAvWEpH,KAAKyC,KAAO,SACZzC,KAAKoS,KAAO,SACZpS,KAAKikB,kBAAoB,KAEzBC,QAAQ3C,IAAI,oBAAqBqC,EAAiBC,iBAGlD7jB,KAAK0mB,UAAYF,KAAKnB,MACtBrlB,KAAK6lB,cAAgBjC,EAAiBC,gBACtC7jB,KAAKskB,eAAgD,QAAlCZ,EAAGE,EAAiBU,sBAAc,IAAAZ,EAAAA,EAAI,CACvD,QACA,UAEF1jB,KAAK8jB,uBAAyBF,EAAiBE,uBAC/C9jB,KAAKokB,SAAW,KAChBpkB,KAAKqkB,KAAO,KACZrkB,KAAK4kB,cAAgB,GACrB5kB,KAAK6kB,cAAgB,GAGrB7kB,KAAKqoB,cAAgB,IAAIC,MAAMtoB,KAAKuoB,sBACtC,CAwVA/D,mBACEC,EAAKlB,EAALvjB,MAAiB4B,KAAjB5B,KACF,GAGFwoB,iBACE,MAAMC,EAAK,IAAIhF,EAAU,CACvBI,gBAAiB,WAGf3f,OAAOwkB,SACTxkB,OAAOwkB,SAASC,kBAAkBF,GAElCvE,QAAQ3C,IAAI,qBAEhB,EAEAqH,GAAOC,OAAO7mB,GAAQkiB,QAAQ3Y,MAAMvJ,I","sources":["webpack://virtualKeypad/webpack/universalModuleDefinition","webpack://virtualKeypad/./src/keypad.css","webpack://virtualKeypad/./node_modules/css-loader/dist/runtime/api.js","webpack://virtualKeypad/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://virtualKeypad/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://virtualKeypad/./node_modules/core-js/internals/a-callable.js","webpack://virtualKeypad/./node_modules/core-js/internals/a-possible-prototype.js","webpack://virtualKeypad/./node_modules/core-js/internals/add-to-unscopables.js","webpack://virtualKeypad/./node_modules/core-js/internals/an-object.js","webpack://virtualKeypad/./node_modules/core-js/internals/array-includes.js","webpack://virtualKeypad/./node_modules/core-js/internals/classof-raw.js","webpack://virtualKeypad/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://virtualKeypad/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://virtualKeypad/./node_modules/core-js/internals/create-iter-result-object.js","webpack://virtualKeypad/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://virtualKeypad/./node_modules/core-js/internals/create-property-descriptor.js","webpack://virtualKeypad/./node_modules/core-js/internals/define-built-in.js","webpack://virtualKeypad/./node_modules/core-js/internals/define-global-property.js","webpack://virtualKeypad/./node_modules/core-js/internals/descriptors.js","webpack://virtualKeypad/./node_modules/core-js/internals/document-create-element.js","webpack://virtualKeypad/./node_modules/core-js/internals/dom-iterables.js","webpack://virtualKeypad/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://virtualKeypad/./node_modules/core-js/internals/enum-bug-keys.js","webpack://virtualKeypad/./node_modules/core-js/internals/environment-user-agent.js","webpack://virtualKeypad/./node_modules/core-js/internals/environment-v8-version.js","webpack://virtualKeypad/./node_modules/core-js/internals/export.js","webpack://virtualKeypad/./node_modules/core-js/internals/fails.js","webpack://virtualKeypad/./node_modules/core-js/internals/function-bind-native.js","webpack://virtualKeypad/./node_modules/core-js/internals/function-call.js","webpack://virtualKeypad/./node_modules/core-js/internals/function-name.js","webpack://virtualKeypad/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://virtualKeypad/./node_modules/core-js/internals/function-uncurry-this.js","webpack://virtualKeypad/./node_modules/core-js/internals/get-built-in.js","webpack://virtualKeypad/./node_modules/core-js/internals/get-method.js","webpack://virtualKeypad/./node_modules/core-js/internals/global-this.js","webpack://virtualKeypad/./node_modules/core-js/internals/has-own-property.js","webpack://virtualKeypad/./node_modules/core-js/internals/hidden-keys.js","webpack://virtualKeypad/./node_modules/core-js/internals/html.js","webpack://virtualKeypad/./node_modules/core-js/internals/ie8-dom-define.js","webpack://virtualKeypad/./node_modules/core-js/internals/indexed-object.js","webpack://virtualKeypad/./node_modules/core-js/internals/inspect-source.js","webpack://virtualKeypad/./node_modules/core-js/internals/internal-state.js","webpack://virtualKeypad/./node_modules/core-js/internals/is-callable.js","webpack://virtualKeypad/./node_modules/core-js/internals/is-forced.js","webpack://virtualKeypad/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://virtualKeypad/./node_modules/core-js/internals/is-object.js","webpack://virtualKeypad/./node_modules/core-js/internals/is-possible-prototype.js","webpack://virtualKeypad/./node_modules/core-js/internals/is-pure.js","webpack://virtualKeypad/./node_modules/core-js/internals/is-symbol.js","webpack://virtualKeypad/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://virtualKeypad/./node_modules/core-js/internals/iterator-define.js","webpack://virtualKeypad/./node_modules/core-js/internals/iterators-core.js","webpack://virtualKeypad/./node_modules/core-js/internals/iterators.js","webpack://virtualKeypad/./node_modules/core-js/internals/length-of-array-like.js","webpack://virtualKeypad/./node_modules/core-js/internals/make-built-in.js","webpack://virtualKeypad/./node_modules/core-js/internals/math-trunc.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-create.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-define-properties.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-define-property.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-keys-internal.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-keys.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://virtualKeypad/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://virtualKeypad/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://virtualKeypad/./node_modules/core-js/internals/own-keys.js","webpack://virtualKeypad/./node_modules/core-js/internals/require-object-coercible.js","webpack://virtualKeypad/./node_modules/core-js/internals/set-to-string-tag.js","webpack://virtualKeypad/./node_modules/core-js/internals/shared-key.js","webpack://virtualKeypad/./node_modules/core-js/internals/shared-store.js","webpack://virtualKeypad/./node_modules/core-js/internals/shared.js","webpack://virtualKeypad/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://virtualKeypad/./node_modules/core-js/internals/to-absolute-index.js","webpack://virtualKeypad/./node_modules/core-js/internals/to-indexed-object.js","webpack://virtualKeypad/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://virtualKeypad/./node_modules/core-js/internals/to-length.js","webpack://virtualKeypad/./node_modules/core-js/internals/to-object.js","webpack://virtualKeypad/./node_modules/core-js/internals/to-primitive.js","webpack://virtualKeypad/./node_modules/core-js/internals/to-property-key.js","webpack://virtualKeypad/./node_modules/core-js/internals/try-to-string.js","webpack://virtualKeypad/./node_modules/core-js/internals/uid.js","webpack://virtualKeypad/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://virtualKeypad/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://virtualKeypad/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://virtualKeypad/./node_modules/core-js/internals/well-known-symbol.js","webpack://virtualKeypad/./node_modules/core-js/modules/es.array.iterator.js","webpack://virtualKeypad/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://virtualKeypad/webpack/bootstrap","webpack://virtualKeypad/webpack/runtime/compat get default export","webpack://virtualKeypad/webpack/runtime/define property getters","webpack://virtualKeypad/webpack/runtime/global","webpack://virtualKeypad/webpack/runtime/hasOwnProperty shorthand","webpack://virtualKeypad/webpack/runtime/make namespace object","webpack://virtualKeypad/webpack/runtime/nonce","webpack://virtualKeypad/./src/maxKeySize.js","webpack://virtualKeypad/./src/keypad.css?2cbb","webpack://virtualKeypad/./src/PhonePeer.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"virtualKeypad\"] = factory();\n\telse\n\t\troot[\"virtualKeypad\"] = factory();\n})(self, () => {\nreturn ","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* REMOTE KEYPAD STYLING */\\n#keypad {\\n position: absolute;\\n width: 100%;\\n height: 100vh;\\n height: 100dvh;\\n\\n display: grid;\\n grid-template-columns: 1fr;\\n /* Make header text as big as possible, keys take up as much space as needed, and control keys take up bottom space */\\n grid-template-rows: max-content auto;\\n\\n align-items: center;\\n justify-content: center;\\n\\n font-family: sans-serif;\\n}\\n\\n#keypad-header {\\n height: 100%;\\n font-size: 1.5rem;\\n font-weight: normal;\\n text-align: center;\\n\\n grid-row: 1;\\n overflow-y: auto;\\n\\n border-radius: 0.5em;\\n\\n box-shadow: inset 2px 2px 4px #888888,\\n inset -2px -2px 4px #fff;\\n}\\n\\n#keypad-footer {\\n position: absolute;\\n font-size: smaller;\\n width: 100%;\\n bottom: 0;\\n right: 0;\\n}\\n\\n/* Grid of main keys themselves */\\n#keypad-keys {\\n /* Second row, within keypad grid (i.e., whole page) */\\n grid-row: 2;\\n}\\n\\n.response-button {\\n /* border: 1px solid red; */\\n cursor: pointer;\\n\\n /* Center text within button */\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-direction: column; /* NEW: Enable vertical layout for wrapping */\\n\\n /* Curve corners of buttons */\\n border-radius: min(25px, 15%);\\n\\n /* Style button text */\\n /* font-size: 3rem; */\\n font-size: xx-large;\\n font-weight: 700;\\n\\n padding: 0;\\n margin: 0;\\n\\n box-shadow: 1px 1px 2px #888888,\\n -1px -1px 2px #fff;\\n\\n /* NEW: Enable flexible text layout */\\n overflow: hidden;\\n box-sizing: border-box;\\n}\\n\\n.response-button:active {\\n box-shadow: 1px 2px 2px 1px #999;\\n background-color: #aaa;\\n}\\n\\n/* Only do on a hover-enabled device, i.e., not a phone/tablet */\\n@media (hover: hover) {\\n .response-button:hover {\\n box-shadow: inset 1px 1px 2px #888888,\\n inset -1px -1px 2px #fff;\\n }\\n}\\n\\n.response-button-label {\\n text-align: center;\\n color: black;\\n\\n /* NEW: Enable text wrapping and centering */\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n height: 100%;\\n white-space: pre-wrap;\\n word-wrap: break-word;\\n word-break: normal;\\n overflow: hidden;\\n padding: 2px;\\n box-sizing: border-box;\\n}\\n\\n.noselect {\\n -webkit-touch-callout: none; /* iOS Safari */\\n -webkit-user-select: none; /* Safari */\\n -khtml-user-select: none; /* Konqueror HTML */\\n -moz-user-select: none; /* Old versions of Firefox */\\n -ms-user-select: none; /* Internet Explorer/Edge */\\n user-select: none; /* Non-prefixed version, currently\\n supported by Chrome, Edge, Opera and Firefox */\\n touch-action: none;\\n}\\n\\n.unpressable {\\n background-color: #aaaaaa;\\n box-shadow: inset 1px 1px 2px #888888,\\n inset -1px -1px 2px #fff;\\n pointer-events: none;\\n user-select: none;\\n}\\n\\n/* Control buttons maintain bottom alignment */\\n#keypad-control-keys .response-button {\\n border-radius: 25px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-direction: column; /* NEW: Enable vertical layout */\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/keypad.css\"],\"names\":[],\"mappings\":\"AAAA,0BAA0B;AAC1B;EACE,kBAAkB;EAClB,WAAW;EACX,aAAa;EACb,cAAc;;EAEd,aAAa;EACb,0BAA0B;EAC1B,qHAAqH;EACrH,oCAAoC;;EAEpC,mBAAmB;EACnB,uBAAuB;;EAEvB,uBAAuB;AACzB;;AAEA;EACE,YAAY;EACZ,iBAAiB;EACjB,mBAAmB;EACnB,kBAAkB;;EAElB,WAAW;EACX,gBAAgB;;EAEhB,oBAAoB;;EAEpB;sCACoC;AACtC;;AAEA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,QAAQ;AACV;;AAEA,iCAAiC;AACjC;EACE,sDAAsD;EACtD,WAAW;AACb;;AAEA;EACE,2BAA2B;EAC3B,eAAe;;EAEf,8BAA8B;EAC9B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,sBAAsB,EAAE,6CAA6C;;EAErE,6BAA6B;EAC7B,6BAA6B;;EAE7B,sBAAsB;EACtB,qBAAqB;EACrB,mBAAmB;EACnB,gBAAgB;;EAEhB,UAAU;EACV,SAAS;;EAET;gCAC8B;;EAE9B,qCAAqC;EACrC,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,gCAAgC;EAChC,sBAAsB;AACxB;;AAEA,gEAAgE;AAChE;EACE;IACE;wCACoC;EACtC;AACF;;AAEA;EACE,kBAAkB;EAClB,YAAY;;EAEZ,4CAA4C;EAC5C,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,qBAAqB;EACrB,qBAAqB;EACrB,kBAAkB;EAClB,gBAAgB;EAChB,YAAY;EACZ,sBAAsB;AACxB;;AAEA;EACE,2BAA2B,EAAE,eAAe;EAC5C,yBAAyB,EAAE,WAAW;EACtC,wBAAwB,EAAE,mBAAmB;EAC7C,sBAAsB,EAAE,4BAA4B;EACpD,qBAAqB,EAAE,2BAA2B;EAClD,iBAAiB,EAAE;kFAC6D;EAChF,kBAAkB;AACpB;;AAEA;EACE,yBAAyB;EACzB;sCACoC;EACpC,oBAAoB;EACpB,iBAAiB;AACnB;;AAEA,8CAA8C;AAC9C;EACE,mBAAmB;EACnB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,sBAAsB,EAAE,gCAAgC;AAC1D\",\"sourcesContent\":[\"/* REMOTE KEYPAD STYLING */\\n#keypad {\\n position: absolute;\\n width: 100%;\\n height: 100vh;\\n height: 100dvh;\\n\\n display: grid;\\n grid-template-columns: 1fr;\\n /* Make header text as big as possible, keys take up as much space as needed, and control keys take up bottom space */\\n grid-template-rows: max-content auto;\\n\\n align-items: center;\\n justify-content: center;\\n\\n font-family: sans-serif;\\n}\\n\\n#keypad-header {\\n height: 100%;\\n font-size: 1.5rem;\\n font-weight: normal;\\n text-align: center;\\n\\n grid-row: 1;\\n overflow-y: auto;\\n\\n border-radius: 0.5em;\\n\\n box-shadow: inset 2px 2px 4px #888888,\\n inset -2px -2px 4px #fff;\\n}\\n\\n#keypad-footer {\\n position: absolute;\\n font-size: smaller;\\n width: 100%;\\n bottom: 0;\\n right: 0;\\n}\\n\\n/* Grid of main keys themselves */\\n#keypad-keys {\\n /* Second row, within keypad grid (i.e., whole page) */\\n grid-row: 2;\\n}\\n\\n.response-button {\\n /* border: 1px solid red; */\\n cursor: pointer;\\n\\n /* Center text within button */\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-direction: column; /* NEW: Enable vertical layout for wrapping */\\n\\n /* Curve corners of buttons */\\n border-radius: min(25px, 15%);\\n\\n /* Style button text */\\n /* font-size: 3rem; */\\n font-size: xx-large;\\n font-weight: 700;\\n\\n padding: 0;\\n margin: 0;\\n\\n box-shadow: 1px 1px 2px #888888,\\n -1px -1px 2px #fff;\\n\\n /* NEW: Enable flexible text layout */\\n overflow: hidden;\\n box-sizing: border-box;\\n}\\n\\n.response-button:active {\\n box-shadow: 1px 2px 2px 1px #999;\\n background-color: #aaa;\\n}\\n\\n/* Only do on a hover-enabled device, i.e., not a phone/tablet */\\n@media (hover: hover) {\\n .response-button:hover {\\n box-shadow: inset 1px 1px 2px #888888,\\n inset -1px -1px 2px #fff;\\n }\\n}\\n\\n.response-button-label {\\n text-align: center;\\n color: black;\\n\\n /* NEW: Enable text wrapping and centering */\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n height: 100%;\\n white-space: pre-wrap;\\n word-wrap: break-word;\\n word-break: normal;\\n overflow: hidden;\\n padding: 2px;\\n box-sizing: border-box;\\n}\\n\\n.noselect {\\n -webkit-touch-callout: none; /* iOS Safari */\\n -webkit-user-select: none; /* Safari */\\n -khtml-user-select: none; /* Konqueror HTML */\\n -moz-user-select: none; /* Old versions of Firefox */\\n -ms-user-select: none; /* Internet Explorer/Edge */\\n user-select: none; /* Non-prefixed version, currently\\n supported by Chrome, Edge, Opera and Firefox */\\n touch-action: none;\\n}\\n\\n.unpressable {\\n background-color: #aaaaaa;\\n box-shadow: inset 1px 1px 2px #888888,\\n inset -1px -1px 2px #fff;\\n pointer-events: none;\\n user-select: none;\\n}\\n\\n/* Control buttons maintain bottom alignment */\\n#keypad-control-keys .response-button {\\n border-radius: 25px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-direction: column; /* NEW: Enable vertical layout */\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.41.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nc = undefined;","/**** translation of maxKeySize.m, original provided courtesy of Prof Denis Pelli ****/\n/**\n * Find dimensions for keypad keys that maximize space usage.\n *\n * @param {HTMLElement} elem - The keypad container element\n * @param {number} n - Number of alphabet keys\n * @param {number} aspect - Key aspect ratio (default: 0.5)\n * @returns {Object} Key dimensions including sizes and layout\n */\nexport const getKeysDimensions = (elem, n, aspect = 0.5) => {\n let keyHeightPx;\n\n // key = aspect*keyHeightPx × keyHeightPx\n const widthPx = elem.clientWidth;\n const heightPx = elem.clientHeight;\n let screenArea = widthPx * heightPx;\n\n keyHeightPx =\n (-1 + Math.sqrt(1 + (4 * n * heightPx) / widthPx)) / ((2 * n) / widthPx);\n keyHeightPx =\n (-1 + Math.sqrt(1 + (4 * n * heightPx * aspect) / widthPx)) /\n ((2 * aspect * n) / widthPx);\n\n while (\n n >\n Math.floor(heightPx / keyHeightPx - 1) *\n Math.floor(widthPx / (aspect * keyHeightPx))\n ) {\n // Round size down so that screen is a multiple.\n const ss = [\n heightPx / Math.ceil(heightPx / keyHeightPx),\n widthPx / Math.ceil(widthPx / (aspect * keyHeightPx)),\n ];\n for (let i = 0; i <= ss.length; i++) {\n // We've already rejected current size, so only consider smaller sizes.\n // This guarantees that sizePx will decrease on every loop iteration.\n if (ss[i] >= keyHeightPx) ss[i] = 0;\n }\n // We want largest possible size so try to use largest of current options.\n keyHeightPx = Math.max(...ss);\n }\n\n // Compute efficiency as area covered by keys divided by screen area.\n // First term for n keys. Second term is for Space and Return, which fully\n // occupy their row.\n const areaOfKeys =\n aspect * keyHeightPx * keyHeightPx * n + widthPx * keyHeightPx;\n screenArea = heightPx * widthPx;\n const numKeysHorizontally = Math.floor(widthPx / (aspect * keyHeightPx));\n const numKeysVertically = Math.floor(heightPx / keyHeightPx - 1);\n const efficiency = (100 * areaOfKeys) / screenArea;\n\n return {\n keyHeightPx: keyHeightPx,\n cols: numKeysHorizontally,\n rows: numKeysVertically,\n widthPx: widthPx,\n heightPx: heightPx,\n };\n};\n\n/**\n * Calculate font size for a button element.\n *\n * @param {HTMLElement} k - Button element\n * @param {number} width - Target width in pixels\n * @param {number} height - Target height in pixels\n * @param {boolean} enableWrap - Whether to enable text wrapping (default: true)\n * @returns {number} Font size in pixels\n */\nconst getLargeFontSize = (k, width, height, enableWrap = true) => {\n k.style.height = \"auto\";\n k.style.width = \"auto\";\n\n if (enableWrap) {\n // Enable line and word breaking\n k.style.whiteSpace = \"pre-wrap\";\n k.style.wordWrap = \"break-word\";\n k.style.wordBreak = \"normal\";\n k.style.overflow = \"hidden\";\n } else {\n k.style.whiteSpace = \"nowrap\";\n k.style.wordWrap = \"normal\";\n k.style.wordBreak = \"normal\";\n }\n\n // Binary search for largest font size\n let low = 1;\n let high = 200; // Maximum reasonable font size\n let bestFit = low;\n\n while (low <= high) {\n const mid = Math.round(Math.exp((Math.log(low) + Math.log(high)) / 2));\n k.style.fontSize = `${mid}px`;\n\n // Measure actual rendered size\n const rect = k.getBoundingClientRect();\n const fitsWidth = rect.width <= width;\n const fitsHeight = rect.height <= height;\n const isValid = rect.width > 0 && rect.height > 0;\n\n if (fitsWidth && fitsHeight && isValid) {\n bestFit = mid;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n return bestFit;\n};\n\n/**\n * Binary-search for the largest font size (px) at which `text` fits within\n * the given pixel dimensions, allowing word-wrap.\n *\n * @param {string} text - The text to measure\n * @param {number} widthPx - Available width in pixels\n * @param {number} heightPx - Available height in pixels\n * @param {string} fontFamily - CSS font-family string\n * @param {number} lineHeight - CSS line-height (unitless multiplier, default 1.2)\n * @returns {number} Largest font size in whole pixels that fits\n */\nexport const getMaxPossibleFontSize = (text, widthPx, heightPx, fontFamily, lineHeight = 1.2, fontWeight = 'normal') => {\n const testDiv = document.createElement('div');\n testDiv.style.position = 'absolute';\n testDiv.style.visibility = 'hidden';\n testDiv.style.width = `${widthPx}px`;\n testDiv.style.fontFamily = fontFamily;\n testDiv.style.lineHeight = String(lineHeight);\n testDiv.style.fontWeight = fontWeight;\n testDiv.style.whiteSpace = 'pre-wrap';\n testDiv.style.wordWrap = 'break-word';\n testDiv.style.wordBreak = 'normal';\n testDiv.style.overflow = 'hidden';\n testDiv.style.padding = '0';\n testDiv.style.margin = '0';\n testDiv.textContent = text;\n document.body.appendChild(testDiv);\n\n let low = 1;\n let high = 200;\n let bestFit = low;\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n testDiv.style.fontSize = `${mid}px`;\n\n if (testDiv.scrollHeight <= heightPx && testDiv.scrollWidth <= Math.ceil(widthPx)) {\n bestFit = mid;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n document.body.removeChild(testDiv);\n return bestFit;\n};\n\n/**\n * Find the largest shared font size for a set of buttons by trying n=1..4\n * virtual line-counts (effective width = clientWidth/n). Picks the n where\n * the minimum font size across all buttons is maximised, then applies that\n * font size and—when n>1—constrains the .response-button-label span width\n * so the browser's own text engine (including CJK) performs the line breaks.\n *\n * @param {HTMLElement[]} buttons - Buttons that must share one font size\n * @param {number} lineHeight - CSS line-height multiplier (default 1.15)\n */\nexport const getOptimalSharedFontSize = (buttons, lineHeight = 1.15) => {\n if (buttons.length === 0) return;\n\n let bestFontSize = 0;\n let bestN = 1;\n\n for (let n = 1; n <= 4; n++) {\n const sizes = buttons.map(b => {\n const label = b.querySelector('.response-button-label');\n const text = (label?.textContent ?? b.textContent) ?? '';\n const style = getComputedStyle(b);\n const labelStyle = label ? getComputedStyle(label) : null;\n const hPad = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight)\n + (labelStyle ? parseFloat(labelStyle.paddingLeft) + parseFloat(labelStyle.paddingRight) : 0);\n const vPad = parseFloat(style.paddingTop) + parseFloat(style.paddingBottom)\n + (labelStyle ? parseFloat(labelStyle.paddingTop) + parseFloat(labelStyle.paddingBottom) : 0);\n return getMaxPossibleFontSize(\n text,\n (b.clientWidth - hPad) / n,\n b.clientHeight - vPad, // buttons have explicit height set by applyMaxKeySize\n style.fontFamily,\n lineHeight,\n style.fontWeight,\n );\n });\n const minSize = Math.min(...sizes);\n if (minSize > bestFontSize) {\n bestFontSize = minSize;\n bestN = n;\n }\n }\n\n // Capture widths before applying font (larger font would otherwise expand buttons)\n const preWidths = buttons.map(b => b.clientWidth);\n\n const applyFontSize = (size) => {\n buttons.forEach((b, i) => {\n b.style.width = `${preWidths[i]}px`;\n b.style.fontSize = `${size}px`;\n b.style.lineHeight = String(lineHeight);\n const label = b.querySelector('.response-button-label');\n if (label) {\n label.style.fontSize = `${size}px`;\n if (bestN > 1) {\n label.style.maxWidth = `${Math.floor(preWidths[i] / bestN)}px`;\n label.style.setProperty('text-wrap', 'balance');\n }\n }\n });\n };\n\n applyFontSize(bestFontSize);\n\n // Post-hoc: verify no label overflows in the actual DOM (handles sub-pixel/browser differences)\n while (bestFontSize > 1) {\n const overflows = buttons.some(b => {\n const label = b.querySelector('.response-button-label');\n return label && (label.scrollWidth > label.clientWidth || label.scrollHeight > label.clientHeight);\n });\n if (!overflows) break;\n bestFontSize -= 1;\n applyFontSize(bestFontSize);\n }\n};\n\n/**\n * Apply maximum key size to keypad.\n *\n * @param {number} numberOfKeys - Number of alphabet keys to display\n * @param {string} fontFamily - Font family to use (passed from keypad)\n */\nexport const applyMaxKeySize = (numberOfKeys, fontFamily = 'sans-serif') => {\n const aspect = 1;\n const margin = 5;\n const keysElem = document.getElementById(\"keypad\");\n if (!keysElem) return;\n\n const { keyHeightPx, cols, rows, widthPx, heightPx } = getKeysDimensions(\n keysElem,\n numberOfKeys,\n aspect,\n );\n\n if (widthPx <= 0 || heightPx <= 0 || keyHeightPx <= margin) return;\n\n const keyElems = [...keysElem.getElementsByClassName(\"response-button\")];\n const controlKeyElemsMask = keyElems.map(\n (e) => e.parentElement?.id === \"keypad-control-keys\",\n );\n const gridCoords = keyElems\n .filter((k, i) => !controlKeyElemsMask[i])\n .map((k, i) => [Math.floor(i / cols), i % cols]);\n const widthUsed = cols * (keyHeightPx * aspect);\n const heightUsed = rows * keyHeightPx + keyHeightPx;\n const freeHeight = heightPx - heightUsed;\n const freeWidth = widthPx - widthUsed;\n const verticalMarginOffset = Math.floor(freeHeight / 2);\n const horizontalMarginOffset = Math.floor(freeWidth / 2);\n\n const controlKeys = [];\n let keyFontSize;\n let j = 0;\n\n const numControlKeys = controlKeyElemsMask.filter((x) => x).length;\n\n keyElems.forEach((k, i) => {\n k.style.position = \"fixed\";\n const controlKey = controlKeyElemsMask[i];\n let top, left;\n\n if (controlKey) {\n const widthNum = (widthPx / numControlKeys) - margin;\n top = `${heightPx - keyHeightPx}px`;\n const m = margin * 0.5;\n left = `${m + controlKeys.length * (widthNum + margin)}px`;\n\n controlKeys.push(k);\n k.style.borderRadius = \"25px\";\n k.style.height = `${keyHeightPx - margin}px`;\n k.style.width = `${widthNum}px`;\n } else {\n const height = keyHeightPx - margin;\n const widthNum = height * aspect;\n const [y, x] = gridCoords[j];\n j += 1;\n top = `${y * height + (y + 1) * margin + verticalMarginOffset - margin / 2}px`;\n left = `${x * widthNum + (x + 1) * margin + horizontalMarginOffset - margin / 2}px`;\n\n if (keyFontSize === undefined) {\n keyFontSize = getLargeFontSize(k, widthNum, height);\n }\n k.style.height = `${height}px`;\n k.style.fontSize = `${height / 2}px`;\n k.style.width = `${widthNum}px`;\n }\n k.style.top = top;\n k.style.left = left;\n k.style.visibility = \"visible\";\n });\n\n // Calculate and apply optimal shared font size for control buttons\n if (controlKeys.length > 0) {\n getOptimalSharedFontSize(controlKeys);\n }\n};\n","import api from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../node_modules/css-loader/dist/cjs.js!./keypad.css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { applyMaxKeySize } from \"./maxKeySize\";\nimport \"./keypad.css\";\n\nclass PhonePeer {\n constructor(\n keypadParameters = {\n targetElementId: null,\n visualResponseFeedback: false,\n }\n ) {\n // Module identification\n this.name = \"keypad\";\n this.type = \"keypad\";\n this.connectionManager = null;\n\n console.log(\"targetElementId: \", keypadParameters.targetElementId);\n\n // Keypad configuration\n this.startTime = Date.now();\n this.targetElement = keypadParameters.targetElementId;\n this.controlButtons = keypadParameters.controlButtons ?? [\n \"SPACE\",\n \"RETURN\",\n ];\n this.visualResponseFeedback = keypadParameters.visualResponseFeedback;\n this.alphabet = null;\n this.font = null;\n this.headerMessage = \"\";\n this.footerMessage = \"\";\n\n // Set-up sound to play on press\n this.pressFeedback = new Audio(this.keypressFeedbackSound);\n }\n\n // Required method for ConnectAPeer submodule registration\n register = (manager) => {\n this.connectionManager = manager;\n console.log(\"Keypad module registered with connection manager\");\n };\n\n // Required method for ConnectAPeer message handling\n onMessage = (data, manager) => {\n console.log(\"Keypad received data: \", data);\n\n if (!data || !data.message) return;\n\n switch (data.message) {\n case \"KeypadParameters\":\n this.alphabet = data.alphabet;\n this.font = data.font;\n this.controlButtons = data.controlButtons;\n this.onErrorReconnectMessage = data.onErrorReconnectMessage;\n this.initializeKeypad();\n this.#populateKeypad();\n break;\n case \"UpdateHeader\":\n document.getElementById(\"keypad-header\").innerText = data.headerContent;\n document.getElementById(\"keypad-header\").style.display =\n data.headerContent === \"\" ? \"none\" : \"block\";\n this.headerMessage = data.headerContent;\n this.#populateKeypad();\n break;\n case \"UpdateFooter\":\n document.getElementById(\"keypad-footer\").innerText = data.headerContent;\n this.footerMessage = data.headerContent;\n this.#populateKeypad();\n break;\n case \"Update\":\n // Keypad has received data to update the keypad\n if (\n !data.hasOwnProperty(\"alphabet\") &&\n !data.hasOwnProperty(\"font\") &&\n !data.hasOwnProperty(\"controlButtons\")\n ) {\n console.error(\n 'Error in parsing data received! Must set \"alphabet\" or \"font\" properties'\n );\n } else {\n this.alphabet = data.alphabet ?? this.alphabet;\n this.font = data.font ?? this.font;\n this.controlButtons = data.controlButtons ?? this.controlButtons;\n }\n this.#populateKeypad();\n break;\n case \"Disable\":\n if (data.hasOwnProperty(\"keys\")) {\n this.disableKeys(data.keys);\n } else {\n this.disableKeys();\n }\n break;\n case \"Enable\":\n if (data.hasOwnProperty(\"keys\")) {\n this.enableKeys(data.keys);\n } else {\n this.enableKeys();\n }\n break;\n case \"Heartbeat\":\n this.lastHeartbeat = performance.now();\n break;\n case \"InitializeKeypad\":\n this.initializeKeypad();\n break;\n default:\n console.log(\"Unhandled message type: \", data.message);\n }\n };\n\n #prepareHTML = () => {\n /**\n * ----------\n * | Header |\n * ----------\n * |a b c d | <- keypad-keys\n * |e f g h |\n * |i j k l |\n * ----------\n * |space ret| <- keypad-control-keys\n */\n // Keypad elem is a container for a message and all keys\n const keypadElem = document.createElement(\"div\");\n keypadElem.setAttribute(\"id\", \"keypad\");\n const keypadHeader = document.createElement(\"h1\");\n keypadHeader.setAttribute(\"id\", \"keypad-header\");\n keypadHeader.classList.add(\"noselect\");\n const keypadKeys = document.createElement(\"div\");\n keypadKeys.setAttribute(\"id\", \"keypad-keys\");\n keypadKeys.classList.add(\"keys\");\n const keypadControlKeys = document.createElement(\"div\");\n keypadControlKeys.setAttribute(\"id\", \"keypad-control-keys\");\n keypadControlKeys.classList.add(\"keys\");\n const keypadFooter = document.createElement(\"div\");\n keypadFooter.setAttribute(\"id\", \"keypad-footer\");\n keypadElem.appendChild(keypadHeader);\n keypadKeys.appendChild(keypadControlKeys);\n keypadElem.appendChild(keypadKeys);\n keypadElem.appendChild(keypadFooter);\n\n // Add keypad to page where specified\n if (document.getElementById(this.targetElement)) {\n console.log(\"Specified target element successfully used.\");\n const targetElement = document.getElementById(this.targetElement);\n targetElement.innerHTML = \"\";\n targetElement.appendChild(keypadElem);\n } else {\n console.log(\"No target element used.\");\n document.getElementsByTagName(\"main\")[0].appendChild(keypadElem);\n }\n\n window.onresize = () => {\n console.count(\"Window resized.\");\n applyMaxKeySize(this.alphabet?.length);\n };\n if (window.visualViewport)\n window.visualViewport.onresize = () => {\n console.count(\"VisualViewport resized.\");\n applyMaxKeySize(this.alphabet?.length);\n };\n };\n\n #populateKeypad = () => {\n const buttonResponseFn = (button) => {\n // Send response message to experimentClient\n const message = {\n type: \"keypad\", // Add type for ConnectAPeer routing\n message: \"Keypress\",\n response: button.id,\n timeSent: Date.now(),\n elapsedStartToSend: Date.now() - window.startTime,\n };\n\n // Send the keypress through the connection manager\n if (this.connectionManager) {\n this.connectionManager.send(message);\n console.log(\"Keypress sent: \", message);\n } else {\n console.log(\"Connection manager not available\");\n }\n\n // Update keypad after a period of visible non-responsivity (ie ITI)\n if (this.visualResponseFeedback) {\n this.visualFeedbackThenReset(this.alphabet, this.font);\n }\n };\n\n const createButton = (symbol) => {\n // Create a response button for this symbol\n let button = document.createElement(\"button\");\n button.id = symbol;\n button.className = \"response-button\";\n button.style.fontFamily = this.font;\n button.style.visibility = \"hidden\";\n\n const feedbackAudio = document.getElementById(\"feedbackAudio\");\n\n /* Set behavior for press */\n // Sound on press...\n button.addEventListener(\"touchstart\", (e) => {\n e.preventDefault();\n console.log(\"touchstart event: \", e);\n feedbackAudio.play();\n });\n button.addEventListener(\"mousedown\", (e) => {\n e.preventDefault();\n feedbackAudio.play();\n });\n button.addEventListener(\"mouseup\", (e) => {\n e.preventDefault();\n console.log(\"mouseup event: \", e);\n switch (e.target.className) {\n case \"response-button-label noselect\":\n buttonResponseFn(e.target.parentElement);\n break;\n case \"response-button\":\n buttonResponseFn(e.target);\n break;\n }\n });\n // ...send signal on release\n button.addEventListener(\"touchmove\", (e) => {\n /* prevent delay and simulated mouse events */\n e.preventDefault();\n });\n button.addEventListener(\"touchend\", (e) => {\n /* prevent delay and simulated mouse events */\n e.preventDefault();\n const elementEndedOn = document.elementFromPoint(\n e.changedTouches[0].clientX,\n e.changedTouches[0].clientY\n );\n switch (elementEndedOn?.className) {\n case \"response-button-label noselect\":\n buttonResponseFn(elementEndedOn?.parentElement);\n break;\n case \"response-button\":\n buttonResponseFn(elementEndedOn);\n break;\n }\n });\n\n // Create a label for the button\n let buttonLabel = document.createElement(\"span\");\n buttonLabel.classList.add(\"response-button-label\", \"noselect\");\n buttonLabel.innerText = symbol;\n buttonLabel.style.fontFamily = this.font;\n\n // Add the label to the button\n button.appendChild(buttonLabel);\n // Add the labeled-button to the HTML\n if (\n this.controlButtons\n .map((x) => x.toLowerCase())\n .includes(symbol.toLowerCase())\n ) {\n document.querySelector(\"#keypad-control-keys\").appendChild(button);\n } else {\n document.querySelector(\"#keypad-keys\").appendChild(button);\n }\n };\n\n // Set-up an instruction/welcome message for the user\n const header = document.getElementById(\"keypad-header\");\n header.innerText = this.headerMessage || \"\";\n header.style.display = header.innerText === \"\" ? \"none\" : \"block\";\n // Get the keypad element\n const remoteControl = document.getElementById(\"keypad\");\n\n // Set-up audio element\n const feedbackAudio = document.createElement(\"audio\");\n feedbackAudio.id = \"feedbackAudio\";\n feedbackAudio.src = \"onems.mp3\";\n header.appendChild(feedbackAudio);\n\n // Set correct font for button labels\n remoteControl.style.fontFamily = this.font;\n // Remove previous buttons\n this.clearKeys();\n // Create new buttons\n if (this.alphabet) {\n this.alphabet.forEach((symbol) => createButton(symbol));\n // Manually style buttons, according to Denis' algorithm\n setTimeout(() => applyMaxKeySize(this.alphabet.length), 5);\n }\n };\n\n visualFeedbackThenReset = (delayTime = 800) => {\n // ie grey out keys just after use, to discourage rapid response\n this.interResponseKeypadMessaging();\n // Setup keys for the next trial\n setTimeout(() => this.defaultKeypadMessaging(), delayTime);\n };\n\n defaultKeypadMessaging = (headerText = \"\") => {\n // Set-up an instruction/welcome message for the user\n const header = document.getElementById(\"keypad-header\");\n if (headerText === \"\") {\n header.style.display = \"none\";\n } else {\n header.innerText = headerText;\n header.style.display = \"block\";\n }\n\n // Make each button pressable\n const buttons = document.getElementsByClassName(\"response-button\");\n [...buttons].forEach((element) => {\n element.classList.remove(\"unpressable\", \"noselect\");\n });\n };\n\n interResponseKeypadMessaging = (\n interResponseMessage = \"Please fix your gaze on the + mark on your computer screen.\"\n ) => {\n // Change header text to reflect WAIT message\n const header = document.getElementById(\"keypad-header\");\n header.innerText = interResponseMessage;\n\n // Then make each button unpressable\n const buttons = document.getElementsByClassName(\"response-button\");\n [...buttons].forEach((element) => {\n element.classList.add(\"unpressable\", \"noselect\");\n });\n };\n\n /**\n * Remove all keys from the keypad.\n */\n clearKeys = () => {\n document.querySelector(\"#keypad-keys\").innerHTML =\n \"<div id='keypad-control-keys'></div>\";\n };\n\n /**\n * Return the nodes corresponding to the specified keys.\n * @param {string[]} whichKeys id's of keys to select. defaults to all keys.\n * @returns {HTMLElement[]}\n */\n _getKeysElements = (whichKeys = []) => {\n let keyElems = [\n ...document\n .querySelector(\"#keypad\")\n .getElementsByClassName(\"response-button\"),\n ];\n if (whichKeys.length !== 0)\n keyElems = keyElems.filter((e) => whichKeys.includes(e.id));\n return keyElems;\n };\n\n /**\n * Make selected keys unpressable.\n */\n disableKeys = (whichKeys = []) => {\n const keyElems = this._getKeysElements(whichKeys);\n keyElems.forEach((e) => {\n e.classList.add(\"unpressable\");\n e.classList.add(\"noselect\");\n e.setAttribute(\"inert\", \"\");\n });\n };\n\n /**\n * Make selected keys pressable.\n */\n enableKeys = (whichKeys = []) => {\n const keyElems = this._getKeysElements(whichKeys);\n keyElems.forEach((e) => {\n e.classList.remove(\"unpressable\");\n e.classList.remove(\"noselect\");\n e.removeAttribute(\"inert\");\n });\n };\n\n /**\n * Initialize the keypad DOM elements and set up event listeners.\n * Call this method when you're ready to display the keypad.\n */\n initializeKeypad() {\n this.#prepareHTML();\n }\n}\n\nasync function main() {\n const pp = new PhonePeer({\n targetElementId: \"target\",\n });\n\n if (window.phoneApp) {\n window.phoneApp.registerSubmodule(pp);\n } else {\n console.log(\"PhoneApp not found\");\n }\n}\n\nmain().catch((err) => console.error(err));\n"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","cssWithMappingToString","list","toString","this","map","item","content","concat","join","i","modules","mediaQuery","dedupe","alreadyImportedModules","length","_i","_arrayLikeToArray","arr","len","arr2","Array","_item","isArray","_arrayWithHoles","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","value","err","_iterableToArrayLimit","o","minLen","n","Object","prototype","slice","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","memo","getTarget","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","index","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","forEach","key","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","Boolean","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","bind","parentNode","removeStyleElement","newObj","all","atob","lastIdentifiers","newList","newLastIdentifiers","_index","splice","isCallable","tryToString","$TypeError","argument","isPossiblePrototype","$String","String","wellKnownSymbol","create","defineProperty","UNSCOPABLES","ArrayPrototype","undefined","configurable","isObject","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","includes","indexOf","uncurryThis","stringSlice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","exceptions","f","getOwnPropertyDescriptor","fails","F","getPrototypeOf","DESCRIPTORS","createPropertyDescriptor","object","bitmap","enumerable","writable","makeBuiltIn","defineGlobalProperty","simple","global","unsafe","error","nonConfigurable","nonWritable","globalThis","get","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","navigator","userAgent","match","version","process","Deno","versions","v8","split","createNonEnumerableProperty","defineBuiltIn","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","sham","exec","hasOwnProperty","NATIVE_BIND","Function","apply","arguments","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","aCallable","method","uncurryThisWithBind","fn","namespace","isNullOrUndefined","V","P","func","check","Math","g","toObject","getBuiltIn","a","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","metadata","facade","STATE","enforce","getterFor","TYPE","type","documentAll","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","IteratorPrototype","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","ENUMERABLE_NEXT","TO_STRING_TAG","$","IS_PURE","FunctionName","createIteratorConstructor","setPrototypeOf","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","proto","PrototypeOfArrayIteratorPrototype","arrayIterator","toLength","InternalStateModule","enforceInternalState","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","ceil","floor","trunc","x","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","display","src","contentWindow","open","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","defineProperties","props","IE8_DOM_DEFINE","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","getOwnPropertyNames","getOwnPropertySymbols","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","requireObjectCoercible","aPossiblePrototype","CORRECT_SETTER","__proto__","input","pref","val","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","TAG","uid","SHARED","mode","copyright","license","V8_VERSION","symbol","toIntegerOrInfinity","max","min","integer","IndexedObject","number","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","random","NATIVE_SYMBOL","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","addToUnscopables","defineIterator","createIterResultObject","ARRAY_ITERATOR","setInternalState","iterated","kind","Arguments","DOMIterables","ArrayIteratorMethods","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","d","definition","prop","r","toStringTag","nc","getMaxPossibleFontSize","text","widthPx","heightPx","fontFamily","lineHeight","fontWeight","testDiv","position","visibility","width","whiteSpace","wordWrap","wordBreak","overflow","padding","margin","textContent","body","low","high","bestFit","mid","fontSize","scrollHeight","scrollWidth","applyMaxKeySize","numberOfKeys","keysElem","getElementById","keyHeightPx","cols","rows","elem","aspect","clientWidth","clientHeight","screenArea","sqrt","ss","getKeysDimensions","keyElems","getElementsByClassName","controlKeyElemsMask","_e$parentElement","parentElement","gridCoords","k","freeHeight","freeWidth","verticalMarginOffset","horizontalMarginOffset","controlKeys","keyFontSize","j","numControlKeys","top","left","widthNum","borderRadius","height","y","enableWrap","round","exp","log","rect","getBoundingClientRect","fitsWidth","fitsHeight","isValid","getLargeFontSize","buttons","bestFontSize","bestN","sizes","b","_ref","_label$textContent","label","getComputedStyle","labelStyle","hPad","parseFloat","paddingLeft","paddingRight","vPad","paddingTop","paddingBottom","minSize","preWidths","applyFontSize","size","maxWidth","setProperty","some","getOptimalSharedFontSize","_prepareHTML","_populateKeypad","PhonePeer","_keypadParameters$con","_this","keypadParameters","targetElementId","visualResponseFeedback","_defineProperty","manager","connectionManager","console","message","alphabet","font","controlButtons","onErrorReconnectMessage","initializeKeypad","_classPrivateFieldGet","innerText","headerContent","headerMessage","footerMessage","_data$alphabet","_data$font","_data$controlButtons","disableKeys","enableKeys","lastHeartbeat","performance","now","_classPrivateFieldInitSpec","keypadElem","keypadHeader","add","keypadKeys","keypadControlKeys","keypadFooter","targetElement","innerHTML","getElementsByTagName","onresize","_this$alphabet","visualViewport","_this$alphabet2","buttonResponseFn","button","response","timeSent","Date","elapsedStartToSend","startTime","send","visualFeedbackThenReset","createButton","className","feedbackAudio","addEventListener","preventDefault","play","elementEndedOn","elementFromPoint","changedTouches","clientX","clientY","buttonLabel","header","remoteControl","clearKeys","setTimeout","delayTime","interResponseKeypadMessaging","defaultKeypadMessaging","headerText","element","interResponseMessage","whichKeys","_getKeysElements","pressFeedback","Audio","keypressFeedbackSound","async","pp","phoneApp","registerSubmodule","main","catch"],"sourceRoot":""}
|