@stepzen/graphiql-proxy 0.41.1 → 0.42.0-experimental.be01794
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/package.json +4 -4
- package/src/ui/build/asset-manifest.json +50 -50
- package/src/ui/build/index.html +1 -1
- package/src/ui/build/static/css/main.d8e5faf3.css +2 -0
- package/src/ui/build/static/css/main.d8e5faf3.css.map +1 -0
- package/src/ui/build/static/js/0.40f61b5b.chunk.js +2 -0
- package/src/ui/build/static/js/0.40f61b5b.chunk.js.map +1 -0
- package/src/ui/build/static/js/168.acd20778.chunk.js +2 -0
- package/src/ui/build/static/js/168.acd20778.chunk.js.map +1 -0
- package/src/ui/build/static/js/204.90ef58af.chunk.js +2 -0
- package/src/ui/build/static/js/{756.3530beeb.chunk.js.map → 204.90ef58af.chunk.js.map} +1 -1
- package/src/ui/build/static/js/239.cbbb9bf4.chunk.js +2 -0
- package/src/ui/build/static/js/239.cbbb9bf4.chunk.js.map +1 -0
- package/src/ui/build/static/js/260.62116343.chunk.js +2 -0
- package/src/ui/build/static/js/{503.c783958a.chunk.js.map → 260.62116343.chunk.js.map} +1 -1
- package/src/ui/build/static/js/301.be911487.chunk.js +2 -0
- package/src/ui/build/static/js/301.be911487.chunk.js.map +1 -0
- package/src/ui/build/static/js/339.45db1ad0.chunk.js +2 -0
- package/src/ui/build/static/js/{344.142d13e9.chunk.js.map → 339.45db1ad0.chunk.js.map} +1 -1
- package/src/ui/build/static/js/361.690552e0.chunk.js +2 -0
- package/src/ui/build/static/js/361.690552e0.chunk.js.map +1 -0
- package/src/ui/build/static/js/405.f706a566.chunk.js +2 -0
- package/src/ui/build/static/js/405.f706a566.chunk.js.map +1 -0
- package/src/ui/build/static/js/476.b8937827.chunk.js +2 -0
- package/src/ui/build/static/js/{322.28bfb0ce.chunk.js.map → 476.b8937827.chunk.js.map} +1 -1
- package/src/ui/build/static/js/563.faabcbb9.chunk.js +2 -0
- package/src/ui/build/static/js/{306.b76cda79.chunk.js.map → 563.faabcbb9.chunk.js.map} +1 -1
- package/src/ui/build/static/js/592.111c2c09.chunk.js +2 -0
- package/src/ui/build/static/js/{849.e36d6caf.chunk.js.map → 592.111c2c09.chunk.js.map} +1 -1
- package/src/ui/build/static/js/593.3508dfb0.chunk.js +2 -0
- package/src/ui/build/static/js/{190.89592804.chunk.js.map → 593.3508dfb0.chunk.js.map} +1 -1
- package/src/ui/build/static/js/601.8d60ebb5.chunk.js +2 -0
- package/src/ui/build/static/js/{619.f3523a4f.chunk.js.map → 601.8d60ebb5.chunk.js.map} +1 -1
- package/src/ui/build/static/js/622.3c296dc5.chunk.js +2 -0
- package/src/ui/build/static/js/{170.8d38f8f7.chunk.js.map → 622.3c296dc5.chunk.js.map} +1 -1
- package/src/ui/build/static/js/631.df085cd0.chunk.js +2 -0
- package/src/ui/build/static/js/631.df085cd0.chunk.js.map +1 -0
- package/src/ui/build/static/js/654.504b8830.chunk.js +2 -0
- package/src/ui/build/static/js/{804.9d9c6f3a.chunk.js.map → 654.504b8830.chunk.js.map} +1 -1
- package/src/ui/build/static/js/725.a57ff2f3.chunk.js +2 -0
- package/src/ui/build/static/js/{658.828eff8d.chunk.js.map → 725.a57ff2f3.chunk.js.map} +1 -1
- package/src/ui/build/static/js/743.cccf1a4a.chunk.js +2 -0
- package/src/ui/build/static/js/{430.23c55f04.chunk.js.map → 743.cccf1a4a.chunk.js.map} +1 -1
- package/src/ui/build/static/js/776.449af735.chunk.js +2 -0
- package/src/ui/build/static/js/776.449af735.chunk.js.map +1 -0
- package/src/ui/build/static/js/824.7fac1fde.chunk.js +2 -0
- package/src/ui/build/static/js/{580.0502adfe.chunk.js.map → 824.7fac1fde.chunk.js.map} +1 -1
- package/src/ui/build/static/js/866.803cb26d.chunk.js +2 -0
- package/src/ui/build/static/js/866.803cb26d.chunk.js.map +1 -0
- package/src/ui/build/static/js/main.72b6d86f.js +3 -0
- package/src/ui/build/static/js/main.72b6d86f.js.map +1 -0
- package/src/ui/build/static/css/main.e50ebcb1.css +0 -2
- package/src/ui/build/static/css/main.e50ebcb1.css.map +0 -1
- package/src/ui/build/static/js/0.5e30f0d2.chunk.js +0 -2
- package/src/ui/build/static/js/0.5e30f0d2.chunk.js.map +0 -1
- package/src/ui/build/static/js/136.f5cbe563.chunk.js +0 -2
- package/src/ui/build/static/js/136.f5cbe563.chunk.js.map +0 -1
- package/src/ui/build/static/js/170.8d38f8f7.chunk.js +0 -2
- package/src/ui/build/static/js/190.89592804.chunk.js +0 -2
- package/src/ui/build/static/js/267.91bc8020.chunk.js +0 -2
- package/src/ui/build/static/js/267.91bc8020.chunk.js.map +0 -1
- package/src/ui/build/static/js/306.b76cda79.chunk.js +0 -2
- package/src/ui/build/static/js/316.657bf0ad.chunk.js +0 -2
- package/src/ui/build/static/js/316.657bf0ad.chunk.js.map +0 -1
- package/src/ui/build/static/js/322.28bfb0ce.chunk.js +0 -2
- package/src/ui/build/static/js/344.142d13e9.chunk.js +0 -2
- package/src/ui/build/static/js/39.73440f40.chunk.js +0 -2
- package/src/ui/build/static/js/39.73440f40.chunk.js.map +0 -1
- package/src/ui/build/static/js/430.23c55f04.chunk.js +0 -2
- package/src/ui/build/static/js/503.c783958a.chunk.js +0 -2
- package/src/ui/build/static/js/580.0502adfe.chunk.js +0 -2
- package/src/ui/build/static/js/587.40adb4ae.chunk.js +0 -2
- package/src/ui/build/static/js/587.40adb4ae.chunk.js.map +0 -1
- package/src/ui/build/static/js/619.f3523a4f.chunk.js +0 -2
- package/src/ui/build/static/js/658.828eff8d.chunk.js +0 -2
- package/src/ui/build/static/js/756.3530beeb.chunk.js +0 -2
- package/src/ui/build/static/js/76.13bc4c09.chunk.js +0 -2
- package/src/ui/build/static/js/76.13bc4c09.chunk.js.map +0 -1
- package/src/ui/build/static/js/804.9d9c6f3a.chunk.js +0 -2
- package/src/ui/build/static/js/849.e36d6caf.chunk.js +0 -2
- package/src/ui/build/static/js/88.b61d66e1.chunk.js +0 -2
- package/src/ui/build/static/js/88.b61d66e1.chunk.js.map +0 -1
- package/src/ui/build/static/js/983.cfb8ccb4.chunk.js +0 -2
- package/src/ui/build/static/js/983.cfb8ccb4.chunk.js.map +0 -1
- package/src/ui/build/static/js/main.10372e50.js +0 -3
- package/src/ui/build/static/js/main.10372e50.js.map +0 -1
- /package/src/ui/build/static/js/{main.10372e50.js.LICENSE.txt → main.72b6d86f.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/306.b76cda79.chunk.js","mappings":"uGAUG,SAASA,GACV,IAAIC,EAAS,UAAUC,KAAKC,UAAUC,aACV,MAAzBC,SAASC,cAAwBD,SAASC,aAAe,GAExDC,EAAMP,EAAWO,IAEjBC,EAAW,CAAC,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,MAElG,SAASC,EAAaC,GACpB,OAAOA,GAAUA,EAAOD,cAAgB,WACzC,CAED,SAASE,EAAoBC,EAAIC,EAAOH,GACtC,IAAII,EAAOF,EAAGG,cAAcF,EAAMC,MAAOE,EAAMH,EAAMI,GAAK,EACtDC,EAAcR,GAAUA,EAAOQ,YAChB,MAAfA,IACFA,EAAc,0BAA0BhB,KAAKU,EAAGO,oBAAoBC,YACtE,IAAIC,EAAKZ,EAAaC,GAMlBY,GAAUJ,GAAeF,GAAO,GAAKK,EAAGnB,KAAKY,EAAKS,KAAKC,OAAOR,KAASR,EAASM,EAAKS,KAAKC,OAAOR,KACjGK,EAAGnB,KAAKY,EAAKS,KAAKC,OAAOR,EAAM,KAAOR,EAASM,EAAKS,KAAKC,SAASR,IACtE,IAAKM,EAAO,OAAO,KACnB,IAAIG,EAAyB,KAAnBH,EAAME,OAAO,GAAY,GAAK,EACxC,GAAId,GAAUA,EAAOgB,QAAWD,EAAM,IAAOT,GAAOH,EAAMI,IAAK,OAAO,KACtE,IAAIU,EAAQf,EAAGgB,eAAerB,EAAIM,EAAMC,KAAME,EAAM,IAEhDa,EAAQC,EAAelB,EAAIL,EAAIM,EAAMC,KAAME,GAAOS,EAAM,EAAI,EAAI,IAAKA,EAAKE,EAAOjB,GACrF,OAAa,MAATmB,EAAsB,KACnB,CAACE,KAAMxB,EAAIM,EAAMC,KAAME,GAAMgB,GAAIH,GAASA,EAAMb,IAC/CM,MAAOO,GAASA,EAAMZ,IAAMK,EAAME,OAAO,GAAIS,QAASR,EAAM,EACrE,CASD,SAASK,EAAelB,EAAIC,EAAOY,EAAKE,EAAOjB,GAQ7C,IAPA,IAAIwB,EAAcxB,GAAUA,EAAOyB,mBAAsB,IACrDC,EAAgB1B,GAAUA,EAAO0B,cAAiB,IAElDC,EAAQ,GACRhB,EAAKZ,EAAaC,GAClB4B,EAAUb,EAAM,EAAIc,KAAKC,IAAI3B,EAAMC,KAAOsB,EAAcxB,EAAG6B,WAAa,GACpDF,KAAKG,IAAI9B,EAAG+B,YAAc,EAAG9B,EAAMC,KAAOsB,GACzDQ,EAAS/B,EAAMC,KAAM8B,GAAUN,EAASM,GAAUnB,EAAK,CAC9D,IAAIX,EAAOF,EAAGiC,QAAQD,GACtB,GAAK9B,EAAL,CACA,IAAIE,EAAMS,EAAM,EAAI,EAAIX,EAAKgC,OAAS,EAAGC,EAAMtB,EAAM,EAAIX,EAAKgC,QAAU,EACxE,KAAIhC,EAAKgC,OAASZ,GAElB,IADIU,GAAU/B,EAAMC,OAAME,EAAMH,EAAMI,IAAMQ,EAAM,EAAI,EAAI,IACnDT,GAAO+B,EAAK/B,GAAOS,EAAK,CAC7B,IAAIR,EAAKH,EAAKU,OAAOR,GACrB,GAAIK,EAAGnB,KAAKe,UAAkB+B,IAAVrB,IACCf,EAAGgB,eAAerB,EAAIqC,EAAQ5B,EAAM,KAAO,MAAQW,GAAS,KAAM,CACrF,IAAIL,EAAQd,EAASS,GACrB,GAAIK,GAA6B,KAAnBA,EAAME,OAAO,IAAeC,EAAM,EAAIY,EAAMY,KAAKhC,OAC1D,KAAKoB,EAAMS,OAAQ,MAAO,CAAC9B,IAAKT,EAAIqC,EAAQ5B,GAAMC,GAAIA,GACtDoB,EAAMa,KAAN,CACN,CACF,CAbkB,CAcpB,CACD,OAAON,EAASnB,IAAQA,EAAM,EAAIb,EAAG6B,WAAa7B,EAAG+B,cAAuB,IAC7E,CAED,SAASQ,EAAcvC,EAAIwC,EAAW1C,GAKpC,IAHA,IAAI2C,EAAkBzC,EAAG0C,MAAMH,cAAcI,wBAA0B,IACrEC,EAAuB9C,GAAUA,EAAO8C,qBACtCC,EAAQ,GAAIC,EAAS9C,EAAG+C,iBACnBC,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CACtC,IAAItC,EAAQoC,EAAOE,GAAGC,SAAWlD,EAAoBC,EAAI8C,EAAOE,GAAGE,KAAMpD,GACzE,GAAIY,IAAUA,EAAMA,QAAkC,IAAzBkC,IAAmC5C,EAAGiC,QAAQvB,EAAMS,KAAKjB,MAAMgC,QAAUO,EAAiB,CACrH,IAAI1B,EAAQL,EAAMA,MAAQ,6BAA+B,gCACzDmC,EAAMR,KAAKrC,EAAGmD,SAASzC,EAAMS,KAAMxB,EAAIe,EAAMS,KAAKjB,KAAMQ,EAAMS,KAAKd,GAAK,GAAI,CAACG,UAAWO,KACpFL,EAAMU,IAAMpB,EAAGiC,QAAQvB,EAAMU,GAAGlB,MAAMgC,QAAUO,GAClDI,EAAMR,KAAKrC,EAAGmD,SAASzC,EAAMU,GAAIzB,EAAIe,EAAMU,GAAGlB,KAAMQ,EAAMU,GAAGf,GAAK,GAAI,CAACG,UAAWO,IACrF,CACF,CAED,GAAI8B,EAAMX,OAAQ,CAGZ7C,GAAUW,EAAG0C,MAAMU,SAASpD,EAAGqD,QAEnC,IAAIC,EAAQ,WACVtD,EAAGuD,WAAU,WACX,IAAK,IAAIP,EAAI,EAAGA,EAAIH,EAAMX,OAAQc,IAAKH,EAAMG,GAAGM,OACjD,GACF,EACD,IAAId,EACC,OAAOc,EADGE,WAAWF,EAAO,IAElC,CACF,CAED,SAASG,EAAgBzD,GACvBA,EAAGuD,WAAU,WACPvD,EAAG0C,MAAMH,cAAcmB,uBACzB1D,EAAG0C,MAAMH,cAAcmB,uBACvB1D,EAAG0C,MAAMH,cAAcmB,qBAAuB,MAEhD1D,EAAG0C,MAAMH,cAAcmB,qBAAuBnB,EAAcvC,GAAI,EAAOA,EAAG0C,MAAMH,cACjF,GACF,CAED,SAASoB,EAAiB3D,GACpBA,EAAG0C,MAAMH,eAAiBvC,EAAG0C,MAAMH,cAAcmB,uBACnD1D,EAAG0C,MAAMH,cAAcmB,uBACvB1D,EAAG0C,MAAMH,cAAcmB,qBAAuB,KAEjD,CAEDtE,EAAWwE,aAAa,iBAAiB,GAAO,SAAS5D,EAAI6D,EAAKC,GAC5DA,GAAOA,GAAO1E,EAAW2E,OAC3B/D,EAAGgE,IAAI,iBAAkBP,GACzBzD,EAAGgE,IAAI,QAASP,GAChBzD,EAAGgE,IAAI,OAAQL,GACfA,EAAiB3D,IAEf6D,IACF7D,EAAG0C,MAAMH,cAA8B,iBAAPsB,EAAkBA,EAAM,CAAC,EACzD7D,EAAGiE,GAAG,iBAAkBR,GACxBzD,EAAGiE,GAAG,QAASR,GACfzD,EAAGiE,GAAG,OAAQN,GAEjB,IAEDvE,EAAW8E,gBAAgB,iBAAiB,WAAY3B,EAAc4B,MAAM,EAAO,IACnF/E,EAAW8E,gBAAgB,uBAAuB,SAAS9D,EAAKN,EAAQsE,GAUtE,OARIA,GAA8B,kBAAVtE,KACjBsE,GAGHA,EAAUtD,OAAShB,EACnBA,EAASsE,GAHTtE,EAASA,EAAS,CAACgB,QAAQ,GAAQ,MAMhCf,EAAoBoE,KAAM/D,EAAKN,EACvC,IACDV,EAAW8E,gBAAgB,kBAAkB,SAAS9D,EAAKS,EAAKE,EAAOjB,GACrE,OAAOoB,EAAeiD,KAAM/D,EAAKS,EAAKE,EAAOjB,EAC9C,GACF,CA1JGuE,CAAIC,EAAQ,M,wBCKb,SAASlF,GACV,aACA,IAgHImF,EAAQC,EAhHR7E,EAAMP,EAAWO,IAErB,SAAS8E,EAAYC,GACnB,IAAIC,EAAQD,EAAOC,MACnB,OAAgB,MAATA,EAAgBA,GAASD,EAAOE,WAAa,IAAM,KACrDF,EAAOG,OAAS,IAAM,KACtBH,EAAOI,UAAY,IAAM,GAC/B,CAED,SAASC,EAAYL,EAAQC,GAE3B,IADA,IAAIK,EAAUP,EAAYC,GAASO,EAASD,EACnChC,EAAI,EAAGA,EAAI2B,EAAMzC,OAAQc,KAA6C,GAApCiC,EAAOC,QAAQP,EAAM/D,OAAOoC,MACrEiC,GAAUN,EAAM/D,OAAOoC,IACzB,OAAOgC,GAAWC,EAASP,EAAS,IAAIS,OAAOT,EAAOU,OAAQH,EAC/D,CAED,SAASI,EAAeX,GACtB,MAAO,0BAA0BpF,KAAKoF,EAAOU,OAC9C,CAED,SAASE,EAAoBC,EAAKb,EAAQc,GACxCd,EAASK,EAAYL,EAAQ,KAC7B,IAAK,IAAIxE,EAAOsF,EAAMtF,KAAMG,EAAKmF,EAAMnF,GAAIoF,EAAOF,EAAI1D,WAAY3B,GAAQuF,EAAMvF,IAAQG,EAAK,EAAG,CAC9FqE,EAAOgB,UAAYrF,EACnB,IAAIsF,EAASJ,EAAItD,QAAQ/B,GAAOQ,EAAQgE,EAAOkB,KAAKD,GACpD,GAAIjF,EACF,MAAO,CAACS,KAAMxB,EAAIO,EAAMQ,EAAMmF,OACtBzE,GAAIzB,EAAIO,EAAMQ,EAAMmF,MAAQnF,EAAM,GAAGwB,QACrCxB,MAAOA,EAClB,CACF,CAED,SAASoF,EAA6BP,EAAKb,EAAQc,GACjD,IAAKH,EAAeX,GAAS,OAAOY,EAAoBC,EAAKb,EAAQc,GAErEd,EAASK,EAAYL,EAAQ,MAE7B,IADA,IAAIiB,EAAQI,EAAQ,EACX7F,EAAOsF,EAAMtF,KAAMuF,EAAOF,EAAI1D,WAAY3B,GAAQuF,GAAO,CAMhE,IAAK,IAAIzC,EAAI,EAAGA,EAAI+C,KACd7F,EAAOuF,GADczC,IAAK,CAE9B,IAAIgD,EAAUT,EAAItD,QAAQ/B,KAC1ByF,EAAmB,MAAVA,EAAiBK,EAAUL,EAAS,KAAOK,CACrD,CACDD,GAAgB,EAChBrB,EAAOgB,UAAYF,EAAMnF,GACzB,IAAIK,EAAQgE,EAAOkB,KAAKD,GACxB,GAAIjF,EAAO,CACT,IAAIuF,EAASN,EAAOO,MAAM,EAAGxF,EAAMmF,OAAOM,MAAM,MAAOC,EAAS1F,EAAM,GAAGyF,MAAM,MAC3EE,EAAYb,EAAMtF,KAAO+F,EAAO/D,OAAS,EAAGoE,EAAUL,EAAOA,EAAO/D,OAAS,GAAGA,OACpF,MAAO,CAACf,KAAMxB,EAAI0G,EAAWC,GACrBlF,GAAIzB,EAAI0G,EAAYD,EAAOlE,OAAS,EACX,GAAjBkE,EAAOlE,OAAcoE,EAAUF,EAAO,GAAGlE,OAASkE,EAAOA,EAAOlE,OAAS,GAAGA,QACpFxB,MAAOA,EAChB,CACF,CACF,CAED,SAAS6F,EAAYZ,EAAQjB,EAAQ8B,GAEnC,IADA,IAAI9F,EAAOS,EAAO,EACXA,GAAQwE,EAAOzD,QAAQ,CAC5BwC,EAAOgB,UAAYvE,EACnB,IAAIsF,EAAW/B,EAAOkB,KAAKD,GAC3B,IAAKc,EAAU,MACf,IAAItE,EAAMsE,EAASZ,MAAQY,EAAS,GAAGvE,OACvC,GAAIC,EAAMwD,EAAOzD,OAASsE,EAAW,QAChC9F,GAASyB,EAAMzB,EAAMmF,MAAQnF,EAAM,GAAGwB,UACzCxB,EAAQ+F,GACVtF,EAAOsF,EAASZ,MAAQ,CACzB,CACD,OAAOnF,CACR,CAED,SAASgG,EAAqBnB,EAAKb,EAAQc,GACzCd,EAASK,EAAYL,EAAQ,KAC7B,IAAK,IAAIxE,EAAOsF,EAAMtF,KAAMG,EAAKmF,EAAMnF,GAAIsG,EAAQpB,EAAIxD,YAAa7B,GAAQyG,EAAOzG,IAAQG,GAAM,EAAG,CAClG,IAAIsF,EAASJ,EAAItD,QAAQ/B,GACrBQ,EAAQ6F,EAAYZ,EAAQjB,EAAQrE,EAAK,EAAI,EAAIsF,EAAOzD,OAAS7B,GACrE,GAAIK,EACF,MAAO,CAACS,KAAMxB,EAAIO,EAAMQ,EAAMmF,OACtBzE,GAAIzB,EAAIO,EAAMQ,EAAMmF,MAAQnF,EAAM,GAAGwB,QACrCxB,MAAOA,EAClB,CACF,CAED,SAASkG,EAA8BrB,EAAKb,EAAQc,GAClD,IAAKH,EAAeX,GAAS,OAAOgC,EAAqBnB,EAAKb,EAAQc,GACtEd,EAASK,EAAYL,EAAQ,MAE7B,IADA,IAAIiB,EAAQkB,EAAY,EAAGL,EAAYjB,EAAItD,QAAQuD,EAAMtF,MAAMgC,OAASsD,EAAMnF,GACrEH,EAAOsF,EAAMtF,KAAMyG,EAAQpB,EAAIxD,YAAa7B,GAAQyG,GAAQ,CACnE,IAAK,IAAI3D,EAAI,EAAGA,EAAI6D,GAAa3G,GAAQyG,EAAO3D,IAAK,CACnD,IAAIgD,EAAUT,EAAItD,QAAQ/B,KAC1ByF,EAAmB,MAAVA,EAAiBK,EAAUA,EAAU,KAAOL,CACtD,CACDkB,GAAa,EAEb,IAAInG,EAAQ6F,EAAYZ,EAAQjB,EAAQ8B,GACxC,GAAI9F,EAAO,CACT,IAAIuF,EAASN,EAAOO,MAAM,EAAGxF,EAAMmF,OAAOM,MAAM,MAAOC,EAAS1F,EAAM,GAAGyF,MAAM,MAC3EE,EAAYnG,EAAO+F,EAAO/D,OAAQoE,EAAUL,EAAOA,EAAO/D,OAAS,GAAGA,OAC1E,MAAO,CAACf,KAAMxB,EAAI0G,EAAWC,GACrBlF,GAAIzB,EAAI0G,EAAYD,EAAOlE,OAAS,EACX,GAAjBkE,EAAOlE,OAAcoE,EAAUF,EAAO,GAAGlE,OAASkE,EAAOA,EAAOlE,OAAS,GAAGA,QACpFxB,MAAOA,EAChB,CACF,CACF,CAaD,SAASoG,EAAUC,EAAMC,EAAQ5G,EAAK6G,GACpC,GAAIF,EAAK7E,QAAU8E,EAAO9E,OAAQ,OAAO9B,EACzC,IAAK,IAAIwB,EAAM,EAAGE,EAAM1B,EAAMuB,KAAKG,IAAI,EAAGiF,EAAK7E,OAAS8E,EAAO9E,UAAW,CACxE,GAAIN,GAAOE,EAAK,OAAOF,EACvB,IAAIsF,EAAOtF,EAAME,GAAQ,EACrBqF,EAAMF,EAASF,EAAKb,MAAM,EAAGgB,IAAMhF,OACvC,GAAIiF,GAAO/G,EAAK,OAAO8G,EACdC,EAAM/G,EAAK0B,EAAMoF,EACrBtF,EAAMsF,EAAM,CAClB,CACF,CAED,SAASE,EAAoB7B,EAAK8B,EAAO7B,EAAO8B,GAG9C,IAAKD,EAAMnF,OAAQ,OAAO,KAC1B,IAAIqF,EAAOD,EAAW/C,EAASC,EAC3BgD,EAAQD,EAAKF,GAAOlB,MAAM,YAE9BsB,EAAQ,IAAK,IAAIvH,EAAOsF,EAAMtF,KAAMG,EAAKmF,EAAMnF,GAAIoF,EAAOF,EAAI1D,WAAa,EAAI2F,EAAMtF,OAAQhC,GAAQuF,EAAMvF,IAAQG,EAAK,EAAG,CACzH,IAAI0G,EAAOxB,EAAItD,QAAQ/B,GAAMgG,MAAM7F,GAAKsF,EAAS4B,EAAKR,GACtD,GAAoB,GAAhBS,EAAMtF,OAAa,CACrB,IAAIjB,EAAQ0E,EAAOT,QAAQsC,EAAM,IACjC,IAAc,GAAVvG,EAAa,SAASwG,EAE1B,OADIjC,EAAQsB,EAAUC,EAAMpB,EAAQ1E,EAAOsG,GAAQlH,EAC5C,CAACc,KAAMxB,EAAIO,EAAM4G,EAAUC,EAAMpB,EAAQ1E,EAAOsG,GAAQlH,GACvDe,GAAIzB,EAAIO,EAAM4G,EAAUC,EAAMpB,EAAQ1E,EAAQuG,EAAM,GAAGtF,OAAQqF,GAAQlH,GAChF,CACC,IAAIqH,EAAU/B,EAAOzD,OAASsF,EAAM,GAAGtF,OACvC,GAAIyD,EAAOO,MAAMwB,IAAYF,EAAM,GAAnC,CACA,IAAK,IAAIxE,EAAI,EAAGA,EAAIwE,EAAMtF,OAAS,EAAGc,IACpC,GAAIuE,EAAKhC,EAAItD,QAAQ/B,EAAO8C,KAAOwE,EAAMxE,GAAI,SAASyE,EACxD,IAAItF,EAAMoD,EAAItD,QAAQ/B,EAAOsH,EAAMtF,OAAS,GAAIyF,EAAYJ,EAAKpF,GAAMN,EAAW2F,EAAMA,EAAMtF,OAAS,GACvG,GAAIyF,EAAUzB,MAAM,EAAGrE,EAASK,SAAWL,EAC3C,MAAO,CAACV,KAAMxB,EAAIO,EAAM4G,EAAUC,EAAMpB,EAAQ+B,EAASH,GAAQlH,GACzDe,GAAIzB,EAAIO,EAAOsH,EAAMtF,OAAS,EAAG4E,EAAU3E,EAAKwF,EAAW9F,EAASK,OAAQqF,IAN7C,CAQ1C,CACF,CAED,SAASK,EAAqBrC,EAAK8B,EAAO7B,EAAO8B,GAC/C,IAAKD,EAAMnF,OAAQ,OAAO,KAC1B,IAAIqF,EAAOD,EAAW/C,EAASC,EAC3BgD,EAAQD,EAAKF,GAAOlB,MAAM,YAE9BsB,EAAQ,IAAK,IAAIvH,EAAOsF,EAAMtF,KAAMG,EAAKmF,EAAMnF,GAAIsG,EAAQpB,EAAIxD,YAAc,EAAIyF,EAAMtF,OAAQhC,GAAQyG,EAAOzG,IAAQG,GAAM,EAAG,CAC7H,IAAI0G,EAAOxB,EAAItD,QAAQ/B,GACnBG,GAAM,IAAG0G,EAAOA,EAAKb,MAAM,EAAG7F,IAClC,IAAIsF,EAAS4B,EAAKR,GAClB,GAAoB,GAAhBS,EAAMtF,OAAa,CACrB,IAAIjB,EAAQ0E,EAAOkC,YAAYL,EAAM,IACrC,IAAc,GAAVvG,EAAa,SAASwG,EAC1B,MAAO,CAACtG,KAAMxB,EAAIO,EAAM4G,EAAUC,EAAMpB,EAAQ1E,EAAOsG,IAC/CnG,GAAIzB,EAAIO,EAAM4G,EAAUC,EAAMpB,EAAQ1E,EAAQuG,EAAM,GAAGtF,OAAQqF,IACxE,CACC,IAAI1F,EAAW2F,EAAMA,EAAMtF,OAAS,GACpC,GAAIyD,EAAOO,MAAM,EAAGrE,EAASK,SAAWL,EAAxC,CACK,IAAImB,EAAI,EAAb,IAAgBwC,EAAQtF,EAAOsH,EAAMtF,OAAS,EAAGc,EAAIwE,EAAMtF,OAAS,EAAGc,IACrE,GAAIuE,EAAKhC,EAAItD,QAAQuD,EAAQxC,KAAOwE,EAAMxE,GAAI,SAASyE,EACzD,IAAIK,EAAMvC,EAAItD,QAAQ/B,EAAO,EAAIsH,EAAMtF,QAAS6F,EAAYR,EAAKO,GACjE,GAAIC,EAAU7B,MAAM6B,EAAU7F,OAASsF,EAAM,GAAGtF,SAAWsF,EAAM,GACjE,MAAO,CAACrG,KAAMxB,EAAIO,EAAO,EAAIsH,EAAMtF,OAAQ4E,EAAUgB,EAAKC,EAAWD,EAAI5F,OAASsF,EAAM,GAAGtF,OAAQqF,IAC3FnG,GAAIzB,EAAIO,EAAM4G,EAAUC,EAAMpB,EAAQ9D,EAASK,OAAQqF,IANb,CAQrD,CACF,CAED,SAASS,EAAazC,EAAK8B,EAAOjH,EAAK6H,GAOrC,IAAIX,EANJnD,KAAK+D,cAAe,EACpB/D,KAAKgE,iBAAkB,EACvBhE,KAAKoB,IAAMA,EACXnF,EAAMA,EAAMmF,EAAI6C,QAAQhI,GAAOT,EAAI,EAAG,GACtCwE,KAAK/D,IAAM,CAACe,KAAMf,EAAKgB,GAAIhB,GAGL,iBAAX6H,EACTX,EAAWW,EAAQX,UAEnBA,EAAWW,EACXA,EAAU,MAGQ,iBAATZ,GACO,MAAZC,IAAkBA,GAAW,GACjCnD,KAAKkE,QAAU,SAASC,EAASlI,GAC/B,OAAQkI,EAAUV,EAAuBR,GAAqB7B,EAAK8B,EAAOjH,EAAKkH,EAChF,IAEDD,EAAQtC,EAAYsC,EAAO,MACtBY,IAAiC,IAAtBA,EAAQnD,UAKtBX,KAAKkE,QAAU,SAASC,EAASlI,GAC/B,OAAQkI,EAAU5B,EAAuBpB,GAAqBC,EAAK8B,EAAOjH,EAC3E,EAND+D,KAAKkE,QAAU,SAASC,EAASlI,GAC/B,OAAQkI,EAAU1B,EAAgCd,GAA8BP,EAAK8B,EAAOjH,EAC7F,EAMN,CA5GGmI,OAAOC,UAAUC,WACnBlE,EAAS,SAASmE,GAAO,OAAOA,EAAID,UAAU,OAAOE,aAAe,EACpEnE,EAAS,SAASkE,GAAO,OAAOA,EAAID,UAAU,MAAQ,IAEtDlE,EAAS,SAASmE,GAAO,OAAOA,EAAIC,aAAe,EACnDnE,EAAS,SAASkE,GAAO,OAAOA,CAAK,GAyGvCV,EAAaQ,UAAY,CACvBI,SAAU,WAAY,OAAOzE,KAAK0E,MAAK,EAAO,EAC9CC,aAAc,WAAY,OAAO3E,KAAK0E,MAAK,EAAM,EAEjDA,KAAM,SAASP,GACb,IAAIpF,EAAOiB,KAAKoB,IAAI6C,QAAQE,EAAUnE,KAAK/D,IAAIe,KAAOgD,KAAK/D,IAAIgB,IAC/D,GAAI+C,KAAKgE,iBAAmBhE,KAAK+D,eAE/BhF,EAAOvD,EAAIuD,EAAKhD,KAAMgD,EAAK7C,IACvBiI,GACFpF,EAAK7C,KACD6C,EAAK7C,GAAK,IACZ6C,EAAKhD,OACLgD,EAAK7C,IAAM8D,KAAKoB,IAAItD,QAAQiB,EAAKhD,OAAS,IAAIgC,UAGhDgB,EAAK7C,KACD6C,EAAK7C,IAAM8D,KAAKoB,IAAItD,QAAQiB,EAAKhD,OAAS,IAAIgC,SAChDgB,EAAK7C,GAAK,EACV6C,EAAKhD,SAG8C,GAAnDd,EAAW2J,OAAO7F,EAAMiB,KAAKoB,IAAI6C,QAAQlF,KAC1C,OAAOiB,KAAK+D,cAAe,EAGhC,IAAIc,EAAS7E,KAAKkE,QAAQC,EAASpF,GAGnC,GAFAiB,KAAKgE,gBAAkBa,GAAuD,GAA7C5J,EAAW2J,OAAOC,EAAO7H,KAAM6H,EAAO5H,IAEnE4H,EAGF,OAFA7E,KAAK/D,IAAM4I,EACX7E,KAAK+D,cAAe,EACb/D,KAAK/D,IAAIM,QAAS,EAEzB,IAAIyB,EAAMxC,EAAI2I,EAAUnE,KAAKoB,IAAIxD,YAAcoC,KAAKoB,IAAI1D,WAAa,EAAG,GAExE,OADAsC,KAAK/D,IAAM,CAACe,KAAMgB,EAAKf,GAAIe,GACpBgC,KAAK+D,cAAe,CAE9B,EAED/G,KAAM,WAAY,GAAIgD,KAAK+D,aAAc,OAAO/D,KAAK/D,IAAIe,IAAK,EAC9DC,GAAI,WAAY,GAAI+C,KAAK+D,aAAc,OAAO/D,KAAK/D,IAAIgB,EAAG,EAE1D6H,QAAS,SAASC,EAASC,GACzB,GAAKhF,KAAK+D,aAAV,CACA,IAAIV,EAAQpI,EAAWgK,WAAWF,GAClC/E,KAAKoB,IAAI8D,aAAa7B,EAAOrD,KAAK/D,IAAIe,KAAMgD,KAAK/D,IAAIgB,GAAI+H,GACzDhF,KAAK/D,IAAIgB,GAAKzB,EAAIwE,KAAK/D,IAAIe,KAAKjB,KAAOsH,EAAMtF,OAAS,EACpCsF,EAAMA,EAAMtF,OAAS,GAAGA,QAA0B,GAAhBsF,EAAMtF,OAAciC,KAAK/D,IAAIe,KAAKd,GAAK,GAJ7D,CAK/B,GAGHjB,EAAW8E,gBAAgB,mBAAmB,SAASmD,EAAOjH,EAAKkH,GACjE,OAAO,IAAIU,EAAa7D,KAAKoB,IAAK8B,EAAOjH,EAAKkH,EAC/C,IACDlI,EAAWkK,mBAAmB,mBAAmB,SAASjC,EAAOjH,EAAKkH,GACpE,OAAO,IAAIU,EAAa7D,KAAMkD,EAAOjH,EAAKkH,EAC3C,IAEDlI,EAAW8E,gBAAgB,iBAAiB,SAASmD,EAAOC,GAG1D,IAFA,IAAIxE,EAAS,GACTyG,EAAMpF,KAAKqF,gBAAgBnC,EAAOlD,KAAKsF,UAAU,QAASnC,GACvDiC,EAAIX,cACLxJ,EAAW2J,OAAOQ,EAAInI,KAAM+C,KAAKsF,UAAU,OAAS,IACxD3G,EAAOT,KAAK,CAACqH,OAAQH,EAAIpI,OAAQ+B,KAAMqG,EAAInI,OAEzC0B,EAAOZ,QACTiC,KAAKwF,cAAc7G,EAAQ,EAC9B,GACF,CA3SGuB,CAAIC,EAAQ,M,wBCQb,SAASlF,GACV,aAEA,IAAIwK,EAAOxK,EAAWyK,SAClBlK,EAAMP,EAAWO,IAGrB,SAASmK,EAAevE,EAAKC,EAAO3E,GAClC,GAAIA,EAAM,GAAiB,GAAZ2E,EAAMnF,GAAS,OAAOkF,EAAI6C,QAAQzI,EAAI6F,EAAMtF,KAAO,IAClE,IAAIA,EAAOqF,EAAItD,QAAQuD,EAAMtF,MAC7B,GAAIW,EAAM,GAAK2E,EAAMnF,IAAMH,EAAKgC,OAAQ,OAAOqD,EAAI6C,QAAQzI,EAAI6F,EAAMtF,KAAO,EAAG,IAE/E,IADA,IAAqB6J,EAAjBrH,EAAQ,QAAesH,EAAWxE,EAAMnF,GACnCD,EAAM4J,EAAUC,EAAIpJ,EAAM,EAAI,EAAIX,EAAKgC,OAAQc,EAAI,EAAG5C,GAAO6J,EAAG7J,GAAOS,EAAKmC,IAAK,CACxF,IAAIkH,EAAOhK,EAAKU,OAAOC,EAAM,EAAIT,EAAM,EAAIA,GACvC+J,EAAc,KAARD,GAAe9K,EAAWgL,WAAWF,GAAQ,IAAM,IAE7D,GADW,KAAPC,GAAcD,EAAKG,eAAiBH,IAAMC,EAAM,KACvC,SAATzH,EACS,KAAPyH,GAAczH,EAAQ,KAAMqH,EAAOI,GAClCH,EAAW5J,EAAMS,OACjB,GAAa,MAAT6B,GACLqH,GAAQI,EAAK,CAEf,GADY,KAARJ,GAAsB,KAAPI,GAActJ,EAAM,GAAGT,IAC9B,KAAR2J,GAAsB,KAAPI,GAActJ,EAAM,EAAG,CACxC,GAAIT,GAAO4J,EAAW,EAAG,CAAED,EAAO,IAAK,QAAW,CAC7C3J,GACN,CACD,KACD,CAEJ,CACD,OAAOT,EAAI6F,EAAMtF,KAAME,EACxB,CAED,SAASkK,EAAYtK,EAAIa,GACvBb,EAAGuK,oBAAmB,SAASC,GAC7B,OAAIxK,EAAGyK,QAAQC,OAAS1K,EAAGuF,IAAIoF,QAAUH,EAAMvH,QACtC6G,EAAe9J,EAAGuF,IAAKiF,EAAMtH,KAAMrC,GAEnCA,EAAM,EAAI2J,EAAMrJ,OAASqJ,EAAMpJ,IACzC,GACF,CAmDD,SAASwJ,EAAW5K,EAAI6K,GACtB,GAAI7K,EAAG8K,aAAc,OAAO1L,EAAW2L,KACvC/K,EAAGuD,WAAU,WAEX,IADA,IAAI4D,EAAMnH,EAAG+C,iBAAiBb,OAAQ8I,EAAe,GAAIvF,GAAQ,EACxDzC,EAAI,EAAGA,EAAImE,EAAKnE,IAAK,CAC5B,IAAIE,EAAOlD,EAAG+C,iBAAiBC,GAAGE,KAClC,KAAIA,EAAKhD,MAAQuF,GAAjB,CACA,IAAIwF,EAAKtL,EAAIuD,EAAKhD,MAAQ2K,EAAQ,EAAI,GAAI,GAC1C7K,EAAGqJ,aAAa,KAAM4B,EAAI,KAAM,eAChCjL,EAAGkL,WAAWD,EAAG/K,KAAM,MAAM,GAC7B8K,EAAa3I,KAAK,CAACa,KAAM+H,EAAIvB,OAAQuB,IACrCxF,EAAOvC,EAAKhD,KAAO,CALY,CAMhC,CACDF,EAAG2J,cAAcqB,EAClB,IACDhL,EAAGmL,YAAY,aAChB,CAMD,SAASC,EAAOpL,EAAII,GAElB,IADA,IAAIoF,EAAQpF,EAAIC,GAAI8B,EAAMqD,EAAOtF,EAAOF,EAAGiC,QAAQ7B,EAAIF,MAChDsF,GAASpG,EAAWgL,WAAWlK,EAAKU,OAAO4E,EAAQ,OAAOA,EACjE,KAAOrD,EAAMjC,EAAKgC,QAAU9C,EAAWgL,WAAWlK,EAAKU,OAAOuB,OAASA,EACvE,MAAO,CAAChB,KAAMxB,EAAIS,EAAIF,KAAMsF,GAAQpE,GAAIzB,EAAIS,EAAIF,KAAMiC,GAAMkJ,KAAMnL,EAAKgG,MAAMV,EAAOrD,GACrF,CAqCD,SAASmJ,EAAqBtL,EAAIa,GAEhC,IADA,IAAIiC,EAAS9C,EAAG+C,iBAAkBwI,EAAY,GACrCvI,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CACtC,IAAIwH,EAAQ1H,EAAOE,GACfwI,EAAYxL,EAAGyL,SACfjB,EAAMd,OAAQ7I,EAAK,OAAQ2J,EAAMd,OAAOgC,YACxCC,EAAU3L,EAAGyL,SACbjB,EAAMtH,KAAMrC,EAAK,OAAQ2J,EAAMtH,KAAKwI,YACxCF,EAAUE,WAAwC,MAA3BlB,EAAMd,OAAOgC,WAChClB,EAAMd,OAAOgC,WAAa1L,EAAG4L,aAAapB,EAAMd,OAAQ,OAAOmC,KACnEF,EAAQD,WAAsC,MAAzBlB,EAAMtH,KAAKwI,WAC5BlB,EAAMtH,KAAKwI,WAAa1L,EAAG4L,aAAapB,EAAMtH,KAAM,OAAO2I,KAC/D,IAAIC,EAAW,CAACpC,OAAQ8B,EAAWtI,KAAMyI,GACzCJ,EAAUlJ,KAAKmI,GACfe,EAAUlJ,KAAKyJ,EAChB,CACD9L,EAAG2J,cAAc4B,EAClB,CAID,SAASQ,EAAgBjJ,EAAQ3B,EAAMC,GACrC,IAAK,IAAI4B,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IACjC,GAAiD,GAA7C5D,EAAW2J,OAAOjG,EAAOE,GAAG7B,OAAQA,IACK,GAAzC/B,EAAW2J,OAAOjG,EAAOE,GAAG5B,KAAMA,GAAU,OAAO,EACzD,OAAO,CACR,CA3IDwI,EAAKoC,cAAgB,SAAShM,GAAMsK,EAAYtK,GAAK,EAAK,EAC1D4J,EAAKqC,eAAiB,SAASjM,GAAMsK,EAAYtK,EAAI,EAAK,EAE1D4J,EAAKsC,aAAe,SAASlM,GAC3B,IAAImM,EAAOnM,EAAGoM,gBACd,IAAKpM,EAAGqM,oBAAqB,CAC3B,IAAIC,EAAoBtM,EAAGuM,aAAaJ,EAAKrE,IAAMqE,EAAKK,aAAc,SAClExM,EAAGyJ,YAAYvJ,MAAQoM,GACzBtM,EAAGmL,YAAY,WAClB,CACDnL,EAAGyM,SAAS,KAAMN,EAAKrE,IAAM9H,EAAG0M,oBACjC,EACD9C,EAAK+C,eAAiB,SAAS3M,GAC7B,IAAImM,EAAOnM,EAAGoM,gBACd,IAAKpM,EAAGqM,oBAAqB,CAC3B,IAAIO,EAAiB5M,EAAGuM,aAAaJ,EAAKrE,IAAK,SAAS,EACpD9H,EAAGyJ,YAAYvJ,MAAQ0M,GACzB5M,EAAGmL,YAAY,aAClB,CACDnL,EAAGyM,SAAS,KAAMN,EAAKrE,IAAM9H,EAAG0M,oBACjC,EAED9C,EAAKiD,qBAAuB,SAAS7M,GAEnC,IADA,IAAI8C,EAAS9C,EAAG+C,iBAAkB+J,EAAa,GACtC9J,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAEjC,IADA,IAAI7B,EAAO2B,EAAOE,GAAG7B,OAAQC,EAAK0B,EAAOE,GAAG5B,KACnClB,EAAOiB,EAAKjB,KAAMA,GAAQkB,EAAGlB,OAAQA,EACtCkB,EAAGlB,KAAOiB,EAAKjB,MAAQA,GAAQkB,EAAGlB,MAAiB,GAATkB,EAAGf,IACjDyM,EAAWzK,KAAK,CAACqH,OAAQxJ,GAAQiB,EAAKjB,KAAOiB,EAAOxB,EAAIO,EAAM,GAC7CgD,KAAMhD,GAAQkB,EAAGlB,KAAOkB,EAAKzB,EAAIO,KAExDF,EAAG2J,cAAcmD,EAAY,EAC9B,EAEDlD,EAAKmD,mBAAqB,SAAS/M,GACjC,IAAIwK,EAAQxK,EAAG+C,iBAAiB,GAChC/C,EAAGgN,aAAaxC,EAAMd,OAAQc,EAAMtH,KAAM,CAAC+J,QAAQ,GACpD,EAEDrD,EAAKsD,WAAa,SAASlN,GAEzB,IADA,IAAI8C,EAAS9C,EAAG+C,iBAAkBoK,EAAW,GACpCnK,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CACtC,IAAIwH,EAAQ1H,EAAOE,GACnBmK,EAAS9K,KAAK,CAACqH,OAAQ/J,EAAI6K,EAAMrJ,OAAOjB,KAAM,GAC/BgD,KAAMvD,EAAI6K,EAAMpJ,KAAKlB,KAAO,EAAG,IAC/C,CACDF,EAAG2J,cAAcwD,EAClB,EAoBDvD,EAAKwD,gBAAkB,SAASpN,GAAM,OAAO4K,EAAW5K,GAAI,EAAS,EAErE4J,EAAKyD,iBAAmB,SAASrN,GAAM,OAAO4K,EAAW5K,GAAI,EAAQ,EASrE4J,EAAK0D,qBAAuB,SAAStN,GACnC,IAAImB,EAAOnB,EAAGyJ,UAAU,QAASrI,EAAKpB,EAAGyJ,UAAU,MAC/C8D,EAAWvN,EAAG0C,MAAM8K,qBAAuBxN,EAAGuF,IAAIkI,IACtD,GAAmC,GAA/BrO,EAAW2J,OAAO5H,EAAMC,GAAU,CACpC,IAAIiK,EAAOD,EAAOpL,EAAImB,GACtB,IAAKkK,EAAKA,KAAM,OAChBrL,EAAGgN,aAAa3B,EAAKlK,KAAMkK,EAAKjK,IAChCmM,GAAW,CACZ,KAAM,CACL,IAAI5M,EAAOX,EAAG0N,SAASvM,EAAMC,GACzBiG,EAAQkG,EAAW,IAAIpI,OAAO,MAAQxE,EAAO,OAASA,EACtD4I,EAAMvJ,EAAGwJ,gBAAgBnC,EAAOjG,GAChCH,EAAQsI,EAAIX,WAKhB,GAJK3H,IAEHA,GADAsI,EAAMvJ,EAAGwJ,gBAAgBnC,EAAO1H,EAAIK,EAAG+B,YAAa,KACxC6G,aAET3H,GAAS8K,EAAgB/L,EAAG+C,iBAAkBwG,EAAIpI,OAAQoI,EAAInI,MAAO,OAC1EpB,EAAG2N,aAAapE,EAAIpI,OAAQoI,EAAInI,KACjC,CACGmM,IACFvN,EAAG0C,MAAM8K,oBAAsBxN,EAAGuF,IAAIkI,IACzC,EAED7D,EAAKgE,4BAA8B,SAAS5N,GAC1C,IAAI6N,EAAa7N,EAAGyJ,UAAU,UAAWqE,EAAW9N,EAAGyJ,UAAU,QACjEG,EAAK0D,qBAAqBtN,GACqB,GAA3CZ,EAAW2J,OAAO8E,EAAYC,IAChC9N,EAAGuF,IAAIoE,cAAc3J,EAAGuF,IAAIxC,iBACvBgL,QAAO,SAAUN,GAChB,OAAOA,EAAI/D,QAAUmE,GAAcJ,EAAIvK,MAAQ4K,CAChD,IAER,EAoBDlE,EAAKoE,oBAAsB,SAAShO,GAAMsL,EAAqBtL,GAAK,EAAK,EACzE4J,EAAKqE,oBAAsB,SAASjO,GAAMsL,EAAqBtL,EAAI,EAAK,EASxE,IAAIkO,EAAS,SACb,SAASC,EAAsBnO,GAE7B,IADA,IAAI8C,EAAS9C,EAAG+C,iBAAkBwI,EAAY,GACrCvI,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CACtC,IAAIwH,EAAQ1H,EAAOE,GAAI5C,EAAMoK,EAAMtH,KAAMkL,EAAUpO,EAAGkB,eAAed,GAAM,GAC3E,IAAKgO,EAAS,OAAO,EACrB,OAAS,CACP,IAAIC,EAAUrO,EAAGkB,eAAed,EAAK,GACrC,IAAKiO,EAAS,OAAO,EACrB,GAAIA,EAAQhO,IAAM6N,EAAOtN,OAAOsN,EAAOhJ,QAAQkJ,EAAQ/N,IAAM,GAAI,CAC/D,IAAI2J,EAAWrK,EAAIyO,EAAQhO,IAAIF,KAAMkO,EAAQhO,IAAIC,GAAK,GACtD,GAAiD,GAA7CjB,EAAW2J,OAAOiB,EAAUQ,EAAMrJ,SACY,GAA9C/B,EAAW2J,OAAOsF,EAAQjO,IAAKoK,EAAMpJ,MAGlC,CACLmK,EAAUlJ,KAAK,CAACqH,OAAQM,EAAU9G,KAAMmL,EAAQjO,MAChD,KACD,CAJC,KADAgO,EAAUpO,EAAGkB,eAAekN,EAAQhO,KAAM,IAC5B,OAAO,CAKxB,CACDA,EAAMT,EAAI0O,EAAQjO,IAAIF,KAAMmO,EAAQjO,IAAIC,GAAK,EAC9C,CACF,CAED,OADAL,EAAG2J,cAAc4B,IACV,CACR,CASD,SAAS+C,EAASvE,GAChB,OAAQA,EAAc,kBAAkBzK,KAAKyK,GAAQA,OAAO3H,EAA7C,IAChB,CA6GD,SAASmM,EAAUvO,EAAIwO,EAAeC,GACpC,GAAIzO,EAAG8K,aAAc,OAAO1L,EAAW2L,KAEvC,IADA,IAA+C2D,EAA3C5L,EAAS9C,EAAG+C,iBAAkB4L,EAAS,GAClC3L,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CACtC,IAAIwH,EAAQ1H,EAAOE,GACnB,IAAIwH,EAAMvH,QAAV,CAEA,IADA,IAAI9B,EAAOqJ,EAAMrJ,OAAOjB,KAAMkB,EAAKoJ,EAAMpJ,KAAKlB,KACvC8C,EAAIF,EAAOZ,OAAS,GAAKY,EAAOE,EAAI,GAAG7B,OAAOjB,MAAQkB,GAC3DA,EAAK0B,IAASE,GAAG5B,KAAKlB,KACnB4C,EAAOE,GAAG5B,KAAKf,IAAIe,IACxBuN,EAAOtM,KAAKlB,EAAMC,EALS,CAM5B,CACGuN,EAAOzM,OAAQwM,GAAW,EACzBC,EAAOtM,KAAKrC,EAAG+B,YAAa/B,EAAG6B,YAEpC7B,EAAGuD,WAAU,WAEX,IADA,IAAIT,EAAS,GACJE,EAAI,EAAGA,EAAI2L,EAAOzM,OAAQc,GAAK,EAAG,CACzC,IAAI7B,EAAOwN,EAAO3L,GAAI5B,EAAKuN,EAAO3L,EAAI,GAClCwC,EAAQ7F,EAAIwB,EAAM,GAAIgB,EAAMxC,EAAIyB,GAChCoG,EAAQxH,EAAG0N,SAASlI,EAAOrD,GAAK,GAChCqM,EACFhH,EAAMoH,MAAK,SAASC,EAAGC,GAAK,OAAOD,EAAIC,GAAKL,EAAYI,GAAKC,EAAI,EAAIL,CAAY,IAEjFjH,EAAMoH,MAAK,SAASC,EAAGC,GACrB,IAAIC,EAAKF,EAAExE,cAAe2E,EAAKF,EAAEzE,cAEjC,OADI0E,GAAMC,IAAMH,EAAIE,EAAID,EAAIE,GACrBH,EAAIC,GAAKL,EAAYI,GAAKC,EAAI,EAAIL,CAC1C,IACHzO,EAAGqJ,aAAa7B,EAAOhC,EAAOrD,GAC1BuM,GAAU5L,EAAOT,KAAK,CAACqH,OAAQlE,EAAOtC,KAAMvD,EAAIyB,EAAK,EAAG,IAC7D,CACGsN,GAAU1O,EAAG2J,cAAc7G,EAAQ,EACxC,GACF,CAsED,SAASmM,EAAsBjP,EAAIqE,GACjCrE,EAAGuD,WAAU,WAEX,IADA,IAAIT,EAAS9C,EAAG+C,iBAAkBmM,EAAU,GAAIC,EAAe,GACtDnM,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,KAC7BwH,EAAQ1H,EAAOE,IACTC,SAAWiM,EAAQ7M,KAAKW,GAAImM,EAAa9M,KAAK,KACnD8M,EAAa9M,KAAKgC,EAAIrE,EAAG0N,SAASlD,EAAMrJ,OAAQqJ,EAAMpJ,QAGxD,IAA4B6J,EAAjC,IADAjL,EAAGoP,kBAAkBD,EAAc,SAAU,QACpCnM,EAAIkM,EAAQhN,OAAS,EAAOc,GAAK,EAAGA,IAAK,CAChD,IAAIwH,EAAQ1H,EAAOoM,EAAQlM,IAC3B,KAAIiI,GAAM7L,EAAW2J,OAAOyB,EAAMtH,KAAM+H,GAAM,GAA9C,CACA,IAAII,EAAOD,EAAOpL,EAAIwK,EAAMtH,MAC5B+H,EAAKI,EAAKlK,KACVnB,EAAGqJ,aAAahF,EAAIgH,EAAKA,MAAOA,EAAKlK,KAAMkK,EAAKjK,GAHS,CAI1D,CACF,GACF,CAiFD,SAASiO,EAAUrP,GACjB,IAAImB,EAAOnB,EAAGyJ,UAAU,QAASrI,EAAKpB,EAAGyJ,UAAU,MACnD,GAAmC,GAA/BrK,EAAW2J,OAAO5H,EAAMC,GAAU,CACpC,IAAIiK,EAAOD,EAAOpL,EAAImB,GACtB,IAAKkK,EAAKA,KAAM,OAChBlK,EAAOkK,EAAKlK,KACZC,EAAKiK,EAAKjK,EACX,CACD,MAAO,CAACD,KAAMA,EAAMC,GAAIA,EAAIiG,MAAOrH,EAAG0N,SAASvM,EAAMC,GAAKiK,KAAMA,EACjE,CAED,SAASiE,EAAYtP,EAAIqB,GACvB,IAAI4D,EAASoK,EAAUrP,GACvB,GAAKiF,EAAL,CACA,IAAIoC,EAAQpC,EAAOoC,MACfkC,EAAMvJ,EAAGwJ,gBAAgBnC,EAAOhG,EAAU4D,EAAO7D,GAAK6D,EAAO9D,OAE7DE,EAAUkI,EAAIX,WAAaW,EAAIT,gBACjC9I,EAAGgN,aAAazD,EAAIpI,OAAQoI,EAAInI,OAEhCmI,EAAMvJ,EAAGwJ,gBAAgBnC,EAAOhG,EAAU1B,EAAIK,EAAG+B,YAAa,GACpB/B,EAAGoI,QAAQzI,EAAIK,EAAG6B,eACxDR,EAAUkI,EAAIX,WAAaW,EAAIT,gBACjC9I,EAAGgN,aAAazD,EAAIpI,OAAQoI,EAAInI,MACzB6D,EAAOoG,MACdrL,EAAGgN,aAAa/H,EAAO9D,KAAM8D,EAAO7D,IAZrB,CAcpB,CA3VDwI,EAAK2F,YAAc,SAASvP,GAC1BmO,EAAsBnO,IAAOA,EAAGmL,YAAY,YAC7C,EACDvB,EAAKuE,sBAAwB,SAASnO,GACpC,IAAKmO,EAAsBnO,GAAK,OAAOZ,EAAW2L,IACnD,EAMDnB,EAAK4F,YAAc,SAASxP,GAC1BA,EAAGuK,oBAAmB,SAASC,GAC7B,IAAIN,EAAOlK,EAAGkB,eAAesJ,EAAMtH,KAAM,EAAGoL,EAAStO,EAAGgB,eAAewJ,EAAMtH,QAC7E,GAAIgH,GAAmD,GAA3C9K,EAAW2J,OAAOmB,EAAK9J,IAAKoK,EAAMtH,MAAY,OAAOgH,EAAK9J,IACtE,IAAIqP,EAAOzP,EAAGkB,eAAesJ,EAAMtH,MAAO,EAAGoL,EAAStO,EAAGgB,eAAerB,EAAI6K,EAAMtH,KAAKhD,KAAMsK,EAAMtH,KAAK7C,GAAK,MAC7G,OAAOoP,GAAQ9P,EAAI8P,EAAKrP,IAAIF,KAAMuP,EAAKrP,IAAIC,GAAK,IAAMmK,EAAMtH,IAC7D,GACF,EAED0G,EAAK8F,WAAa,SAAS1P,GACzB,GAAIA,EAAG8K,aAAc,OAAO1L,EAAW2L,KAEvC,IADA,IAAIjI,EAAS9C,EAAG+C,iBAAkB4M,EAAc,GAAI1E,EAAKjL,EAAG+B,YAAc,EAAG6N,EAAU,GAC9E5M,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CACtC,IAAIwH,EAAQ1H,EAAOE,GAAI7B,EAAOqJ,EAAMrJ,OAAOjB,KAAO,EAAGkB,EAAKoJ,EAAMpJ,KAAKlB,KACrE0P,EAAQvN,KAAK,CAACqH,OAAQ/J,EAAI6K,EAAMd,OAAOxJ,KAAO,EAAGsK,EAAMd,OAAOrJ,IAChD6C,KAAMvD,EAAI6K,EAAMtH,KAAKhD,KAAO,EAAGsK,EAAMtH,KAAK7C,MACnC,GAAjBmK,EAAMpJ,KAAKf,IAAYmK,EAAMvH,WAAW7B,EACxCD,EAAO8J,EAAI0E,EAAYtN,KAAKlB,EAAMC,GAC7BuO,EAAYzN,SAAQyN,EAAYA,EAAYzN,OAAS,GAAKd,GACnE6J,EAAK7J,CACN,CACDpB,EAAGuD,WAAU,WACX,IAAK,IAAIP,EAAI,EAAGA,EAAI2M,EAAYzN,OAAQc,GAAK,EAAG,CAC9C,IAAI7B,EAAOwO,EAAY3M,GAAI5B,EAAKuO,EAAY3M,EAAI,GAC5C9C,EAAOF,EAAGiC,QAAQd,GACtBnB,EAAGqJ,aAAa,GAAI1J,EAAIwB,EAAM,GAAIxB,EAAIwB,EAAO,EAAG,GAAI,aAChDC,EAAKpB,EAAG6B,WACV7B,EAAGqJ,aAAa,KAAOnJ,EAAMP,EAAIK,EAAG6B,YAAa,KAAM,aAEvD7B,EAAGqJ,aAAanJ,EAAO,KAAMP,EAAIyB,EAAI,GAAI,KAAM,YAClD,CACDpB,EAAG2J,cAAciG,GACjB5P,EAAG6P,gBACJ,GACF,EAEDjG,EAAKkG,aAAe,SAAS9P,GAC3B,GAAIA,EAAG8K,aAAc,OAAO1L,EAAW2L,KAEvC,IADA,IAAIjI,EAAS9C,EAAG+C,iBAAkB4M,EAAc,GAAI1E,EAAKjL,EAAG6B,WAAa,EAChEmB,EAAIF,EAAOZ,OAAS,EAAGc,GAAK,EAAGA,IAAK,CAC3C,IAAIwH,EAAQ1H,EAAOE,GAAI7B,EAAOqJ,EAAMpJ,KAAKlB,KAAO,EAAGkB,EAAKoJ,EAAMrJ,OAAOjB,KAChD,GAAjBsK,EAAMpJ,KAAKf,IAAYmK,EAAMvH,SAAS9B,IACtCA,EAAO8J,EAAI0E,EAAYtN,KAAKlB,EAAMC,GAC7BuO,EAAYzN,SAAQyN,EAAYA,EAAYzN,OAAS,GAAKd,GACnE6J,EAAK7J,CACN,CACDpB,EAAGuD,WAAU,WACX,IAAK,IAAIP,EAAI2M,EAAYzN,OAAS,EAAGc,GAAK,EAAGA,GAAK,EAAG,CACnD,IAAI7B,EAAOwO,EAAY3M,GAAI5B,EAAKuO,EAAY3M,EAAI,GAC5C9C,EAAOF,EAAGiC,QAAQd,GAClBA,GAAQnB,EAAG6B,WACb7B,EAAGqJ,aAAa,GAAI1J,EAAIwB,EAAO,GAAIxB,EAAIwB,GAAO,aAE9CnB,EAAGqJ,aAAa,GAAI1J,EAAIwB,EAAM,GAAIxB,EAAIwB,EAAO,EAAG,GAAI,aACtDnB,EAAGqJ,aAAanJ,EAAO,KAAMP,EAAIyB,EAAI,GAAI,KAAM,YAChD,CACDpB,EAAG6P,gBACJ,GACF,EAEDjG,EAAKmG,sBAAwB,SAAS/P,GACpCA,EAAGgQ,cAAc,CAAEC,QAAQ,GAC5B,EAEDrG,EAAKsG,UAAY,SAASlQ,GAExB,IADA,IAAI8C,EAAS9C,EAAG+C,iBAAkBoN,EAAS,GAClCnN,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CAGtC,IAFA,IAAIwH,EAAQ1H,EAAOE,GAAI7B,EAAOqJ,EAAMrJ,OAChCqE,EAAQrE,EAAKjB,KAAMiC,EAAMqI,EAAMpJ,KAAKlB,KACjC8C,EAAIF,EAAOZ,OAAS,GAAKY,EAAOE,EAAI,GAAG7B,OAAOjB,MAAQiC,GAC3DA,EAAMW,IAASE,GAAG5B,KAAKlB,KACzBiQ,EAAO9N,KAAK,CAACmD,MAAOA,EAAOrD,IAAKA,EAAKuH,QAASc,EAAMvH,SAAW9B,GAChE,CACDnB,EAAGuD,WAAU,WAEX,IADA,IAAI6M,EAAS,EAAGtN,EAAS,GAChBE,EAAI,EAAGA,EAAImN,EAAOjO,OAAQc,IAAK,CAGtC,IAFA,IACyEE,EADrEmN,EAAMF,EAAOnN,GACb0G,EAAS2G,EAAI3G,QAAU/J,EAAI0Q,EAAI3G,OAAOxJ,KAAOkQ,EAAQC,EAAI3G,OAAOrJ,IAC3DH,EAAOmQ,EAAI7K,MAAOtF,GAAQmQ,EAAIlO,IAAKjC,IAAQ,CAClD,IAAIoQ,EAASpQ,EAAOkQ,EAChBlQ,GAAQmQ,EAAIlO,MAAKe,EAAOvD,EAAI2Q,EAAQtQ,EAAGiC,QAAQqO,GAAQpO,OAAS,IAChEoO,EAAStQ,EAAG6B,aACd7B,EAAGqJ,aAAa,IAAK1J,EAAI2Q,GAAS3Q,EAAI2Q,EAAS,EAAG,OAAO1K,KAAK5F,EAAGiC,QAAQqO,EAAS,IAAI,GAAGpO,WACvFkO,EAEL,CACDtN,EAAOT,KAAK,CAACqH,OAAQA,GAAUxG,EAAMA,KAAMA,GAC5C,CACDlD,EAAG2J,cAAc7G,EAAQ,EAC1B,GACF,EAED8G,EAAK2G,cAAgB,SAASvQ,GAC5BA,EAAGuD,WAAU,WAEX,IADA,IAAIiN,EAAaxQ,EAAG+C,iBAAiBb,OAC5Bc,EAAI,EAAGA,EAAIwN,EAAYxN,IAAK,CACnC,IAAIwH,EAAQxK,EAAG+C,iBAAiBC,GAC5BwH,EAAMvH,QACRjD,EAAGqJ,aAAarJ,EAAGiC,QAAQuI,EAAMtH,KAAKhD,MAAQ,KAAMP,EAAI6K,EAAMtH,KAAKhD,KAAM,IAEzEF,EAAGqJ,aAAarJ,EAAG0N,SAASlD,EAAMrJ,OAAQqJ,EAAMpJ,MAAOoJ,EAAMrJ,OAChE,CACDnB,EAAG6P,gBACJ,GACF,EAuCDjG,EAAK2E,UAAY,SAASvO,GAAMuO,EAAUvO,GAAI,EAAM,EAAK,EACzD4J,EAAK6G,iBAAmB,SAASzQ,GAAMuO,EAAUvO,GAAI,GAAO,EAAK,EACjE4J,EAAK8G,qBAAuB,SAAS1Q,GAAMuO,EAAUvO,GAAI,EAAO,EAAK,EACrE4J,EAAK+G,4BAA8B,SAAS3Q,GAAMuO,EAAUvO,GAAI,GAAQ,EAAK,EAE7E4J,EAAKgH,aAAe,SAAS5Q,GAC3B,IAAI6C,EAAQ7C,EAAG0C,MAAMmO,iBACrB,GAAIhO,EAAO,KAAOA,EAAMX,QAAQ,CAC9B,IAAI8C,EAAUnC,EAAM6H,QAChBzJ,EAAQ+D,EAAQ6D,OACpB,GAAI5H,EAEF,OADA4B,EAAMR,KAAK2C,GACJhF,EAAGgN,aAAa/L,EAAME,KAAMF,EAAMG,GAE5C,CACF,EAEDwI,EAAKkH,aAAe,SAAS9Q,GAC3B,IAAI6C,EAAQ7C,EAAG0C,MAAMmO,iBACrB,GAAIhO,EAAO,KAAOA,EAAMX,QAAQ,CAC9BW,EAAMkO,QAAQlO,EAAMP,OACpB,IAAIrB,EAAQ4B,EAAMA,EAAMX,OAAS,GAAG2G,OACpC,GAAK5H,EAGH,OAAOjB,EAAGgN,aAAa/L,EAAME,KAAMF,EAAMG,IAFzCyB,EAAMP,KAGT,CACF,EAEDsH,EAAKoH,eAAiB,SAAShR,GAG7B,IAFA,IAAI8C,EAAS9C,EAAG+C,iBACZF,EAAQ7C,EAAG0C,MAAMmO,mBAAqB7Q,EAAG0C,MAAMmO,iBAAmB,IAC7D7N,EAAI,EAAGA,EAAIF,EAAOZ,OAAQc,IAAK,CAGtC,IAFA,IAAI7B,EAAO2B,EAAOE,GAAG7B,OAAQC,EAAK0B,EAAOE,GAAG5B,KACxCH,EAAQ6B,EAAOE,GAAGC,QAAUjD,EAAGiR,YAAY9P,GAAQnB,EAAGkR,UAAU/P,EAAMC,GACjE+P,EAAI,EAAGA,EAAIlQ,EAAMiB,OAAQiP,IAChC,GAAIlQ,EAAMkQ,GAAGC,gBAAiB,CAC5BnQ,EAAMkQ,GAAG7N,QACT,IAAK,IAAI+N,EAAI,EAAGA,EAAIxO,EAAMX,OAAQmP,IAC5BxO,EAAMwO,IAAMpQ,EAAMkQ,IACpBtO,EAAMyO,OAAOD,IAAK,GACtB,KACD,CAECF,GAAKlQ,EAAMiB,QACbW,EAAMR,KAAKrC,EAAGmD,SAAShC,EAAMC,EAAI,CAACgQ,iBAAiB,EAAMG,gBAAgB,IAC5E,CACF,EAED3H,EAAK4H,eAAiB,SAASxR,GAC7B,IAAI6C,EAAQ7C,EAAG0C,MAAMmO,iBACrB,GAAIhO,EAAO,IAAK,IAAIG,EAAI,EAAGA,EAAIH,EAAMX,OAAQc,IAAKH,EAAMG,GAAGM,QAC3DT,EAAMX,OAAS,CAChB,EAED0H,EAAK6H,gBAAkB,SAASzR,GAC9B,IAAI6C,EAAQ7C,EAAG0C,MAAMmO,iBAAkB/N,EAAS,GAChD,GAAID,EAAO,IAAK,IAAIG,EAAI,EAAGA,EAAIH,EAAMX,OAAQc,IAAK,CAChD,IAAI/B,EAAQ4B,EAAMG,GAAG6F,OAChB5H,EAGH6B,EAAOT,KAAK,CAACqH,OAAQzI,EAAME,KAAM+B,KAAMjC,EAAMG,KAF7CyB,EAAMyO,OAAOtO,IAAK,EAGrB,CACGF,EAAOZ,QACTlC,EAAG2J,cAAc7G,EAAQ,EAC5B,EAqBD8G,EAAK8H,eAAiB,SAAS1R,GAC7B,GAAIA,EAAGqM,oBAAqB,OAAOjN,EAAW2L,KAE9C/K,EAAGuD,WAAU,WAIX,IAHA,IAAIoO,EAAU3R,EAAG+C,iBACb6O,EAAa5R,EAAG6R,UAAU,cAErB7O,EAAI2O,EAAQzP,OAAS,EAAGc,GAAK,EAAGA,IAAK,CAC5C,IAAI8O,EAASH,EAAQ3O,GAAGE,KACpB6O,EAAgB/R,EAAG0N,SAAS,CAACxN,KAAM4R,EAAO5R,KAAMG,GAAI,GAAIyR,GACxDE,EAAS5S,EAAW6S,YAAYF,EAAe,KAAM/R,EAAG6R,UAAU,YAGlEK,EAAYlS,EAAGmS,SAASL,GAAS,EAAG,QAAQ,GAEhD,GAAIC,IAAkB,KAAKzS,KAAKyS,IAAkBC,EAASJ,GAAc,EAAG,CAC1E,IAAIQ,EAAa,IAAIzS,EAAImS,EAAO5R,KAC9Bd,EAAWiT,WAAWN,EAAeC,EAASJ,EAAYA,IAGxDQ,EAAW/R,IAAMyR,EAAOzR,KAAI6R,EAAYE,EAC7C,CAEDpS,EAAGqJ,aAAa,GAAI6I,EAAWJ,EAAQ,UACxC,CACF,GACF,EAEDlI,EAAK0I,aAAe,SAAStS,GAC3BA,EAAGuD,WAAU,WAEX,IADA,IAAIT,EAAS9C,EAAG+C,iBACPC,EAAIF,EAAOZ,OAAS,EAAGc,GAAK,EAAGA,IACtChD,EAAGqJ,aAAa,GAAIvG,EAAOE,GAAG0G,OAAQ/J,EAAImD,EAAOE,GAAG5B,KAAKlB,MAAO,WAClEF,EAAG6P,gBACJ,GACF,EAEDjG,EAAK2I,eAAiB,SAASvS,GAC7BiP,EAAsBjP,GAAI,SAAS0I,GAAO,OAAOA,EAAI2B,aAAgB,GACtE,EACDT,EAAK4I,iBAAmB,SAASxS,GAC/BiP,EAAsBjP,GAAI,SAAS0I,GAAO,OAAOA,EAAIC,aAAgB,GACtE,EAEDiB,EAAK6I,eAAiB,SAASzS,GACzBA,EAAG0C,MAAMgQ,aAAa1S,EAAG0C,MAAMgQ,YAAYpP,QAC/CtD,EAAG0C,MAAMgQ,YAAc1S,EAAG2S,YAAY3S,EAAGyJ,YAC1C,EACDG,EAAKgJ,oBAAsB,SAAS5S,GAClC,IAAIiB,EAAQjB,EAAG0C,MAAMgQ,aAAe1S,EAAG0C,MAAMgQ,YAAY7J,OACrD5H,GAAOjB,EAAGgN,aAAahN,EAAGyJ,YAAaxI,EAC5C,EACD2I,EAAKiJ,oBAAsB,SAAS7S,GAClC,IAAIiB,EAAQjB,EAAG0C,MAAMgQ,aAAe1S,EAAG0C,MAAMgQ,YAAY7J,OACzD,GAAI5H,EAAO,CACT,IAAIE,EAAOnB,EAAGyJ,YAAarI,EAAKH,EAChC,GAAI7B,EAAW2J,OAAO5H,EAAMC,GAAM,EAAG,CAAE,IAAI0R,EAAM1R,EAAIA,EAAKD,EAAMA,EAAO2R,CAAM,CAC7E9S,EAAG0C,MAAMqQ,cAAgB/S,EAAG0N,SAASvM,EAAMC,GAC3CpB,EAAGqJ,aAAa,GAAIlI,EAAMC,EAC3B,CACF,EACDwI,EAAKoJ,oBAAsB,SAAShT,GAClC,IAAIiB,EAAQjB,EAAG0C,MAAMgQ,aAAe1S,EAAG0C,MAAMgQ,YAAY7J,OACrD5H,IACFjB,EAAG0C,MAAMgQ,YAAYpP,QACrBtD,EAAG0C,MAAMgQ,YAAc1S,EAAG2S,YAAY3S,EAAGyJ,aACzCzJ,EAAGiT,UAAUhS,GAEhB,EACD2I,EAAKsJ,YAAc,SAASlT,GACI,MAA1BA,EAAG0C,MAAMqQ,eACX/S,EAAGmT,iBAAiBnT,EAAG0C,MAAMqQ,cAAe,KAAM,QACrD,EAEDnJ,EAAKwJ,aAAe,SAASpT,GAC3B,IAAII,EAAMJ,EAAG4L,aAAa,KAAM,SAChC5L,EAAGyM,SAAS,MAAOrM,EAAI0H,IAAM1H,EAAIiT,QAAU,EAAIrT,EAAGoM,gBAAgBI,aAAe,EAClF,EA8BD5C,EAAK0J,UAAY,SAAStT,GAAMsP,EAAYtP,GAAI,EAAQ,EACxD4J,EAAK2J,kBAAoB,SAASvT,GAAMsP,EAAYtP,GAAG,EAAS,EAChE4J,EAAK4J,aAAe,SAASxT,GAC3B,IAAIiF,EAASoK,EAAUrP,GACvB,GAAKiF,EAAL,CAIA,IAHA,IAAIsE,EAAMvJ,EAAGwJ,gBAAgBvE,EAAOoC,OAChCgB,EAAU,GACVoL,GAAgB,EACblK,EAAIX,YACTP,EAAQhG,KAAK,CAACqH,OAAQH,EAAIpI,OAAQ+B,KAAMqG,EAAInI,OACxCmI,EAAIpI,OAAOjB,MAAQ+E,EAAO9D,KAAKjB,MAAQqJ,EAAIpI,OAAOd,IAAM4E,EAAO9D,KAAKd,IACtEoT,IAEJzT,EAAG2J,cAActB,EAASoL,EATP,CAUpB,EAGD,IAAIC,EAAStU,EAAWsU,OACxBA,EAAOC,WAAa,CAClB,WAAY,mBACZ,YAAa,aACb,eAAgB,aAChB,QAAS,YACT,YAAa,gBACb,aAAc,iBACd,cAAe,eACf,gBAAiB,iBACjB,QAAS,aACT,cAAe,uBACf,IAAO,qBACP,YAAa,kBACb,kBAAmB,mBACnB,QAAS,uBACT,kBAAmB,cACnB,cAAe,wBACf,QAAS,cACT,cAAe,aACf,gBAAiB,eACjB,QAAS,wBACT,QAAS,YACT,cAAe,gBACf,GAAM,YACN,WAAY,mBACZ,SAAU,uBACV,eAAgB,8BAChB,GAAM,eACN,WAAY,eACZ,SAAU,iBACV,eAAgB,iBAChB,SAAU,kBACV,UAAa,iBACb,cAAe,8BACf,cAAe,eACf,cAAe,iBACf,cAAe,mBACf,kBAAmB,iBACnB,cAAe,sBACf,cAAe,sBACf,cAAe,sBACf,cAAe,cACf,cAAe,eACf,cAAe,iBACf,sBAAuB,cACvB,cAAe,UACf,cAAe,YACf,cAAe,YACf,gBAAiB,sBACjB,kBAAmB,sBACnB,SAAU,YACV,eAAgB,oBAChB,SAAU,eACV,cAAe,OACf,cAAe,SACf,QAAS,kBACT,cAAe,yBACf,QAAS,UACT,GAAM,WACN,WAAY,WACZ,YAAe,cAEjBvU,EAAWwU,gBAAgBF,EAAOC,YAElCD,EAAOG,UAAY,CACjB,YAAa,aACb,eAAgB,aAChB,QAAS,YACT,SAAU,iBACV,WAAY,gBACZ,YAAa,iBACb,UAAW,eACX,YAAa,iBACb,SAAU,aACV,eAAgB,uBAChB,IAAO,qBACP,aAAc,kBACd,mBAAoB,mBACpB,SAAU,uBACV,mBAAoB,cACpB,eAAgB,wBAChB,SAAU,cACV,gBAAiB,aACjB,kBAAmB,eACnB,SAAU,wBACV,SAAU,YACV,eAAgB,gBAChB,GAAM,YACN,WAAY,mBACZ,UAAW,uBACX,gBAAiB,8BACjB,GAAM,eACN,WAAY,eACZ,UAAW,iBACX,gBAAiB,iBACjB,SAAU,kBACV,UAAa,iBACb,gBAAiB,8BACjB,gBAAiB,eACjB,gBAAiB,iBACjB,gBAAiB,mBACjB,oBAAqB,iBACrB,gBAAiB,sBACjB,gBAAiB,sBACjB,gBAAiB,sBACjB,gBAAiB,cACjB,gBAAiB,eACjB,gBAAiB,iBACjB,wBAAyB,cACzB,gBAAiB,UACjB,gBAAiB,YACjB,gBAAiB,YACjB,cAAe,sBACf,gBAAiB,sBACjB,UAAW,YACX,gBAAiB,oBACjB,SAAU,eACV,eAAgB,OAChB,eAAgB,SAChB,SAAU,kBACV,eAAgB,yBAChB,SAAU,UACV,GAAM,WACN,WAAY,WACZ,YAAe,aAEjBzU,EAAWwU,gBAAgBF,EAAOG,WAElC,IAAIC,EAAMJ,EAAOK,SAAWL,EAAOM,WACnCN,EAAOO,QAAUH,EAAMJ,EAAOC,WAAaD,EAAOG,SACnD,CAvsBGxP,CAAIC,EAAQ,MAAsBA,EAAQ,MAAiCA,EAAQ,M","sources":["../node_modules/codemirror/addon/edit/matchbrackets.js","../node_modules/codemirror/addon/search/searchcursor.js","../node_modules/codemirror/keymap/sublime.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textarea whenever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n function clearHighlighted(cm) {\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n cm.off(\"focus\", doMatchBrackets)\n cm.off(\"blur\", clearHighlighted)\n clearHighlighted(cm);\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n cm.on(\"focus\", doMatchBrackets)\n cm.on(\"blur\", clearHighlighted)\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"))\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod)\n else // Plain browser env\n mod(CodeMirror)\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunkSize && line >= first; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine : curLine + \"\\n\" + string\n }\n chunkSize *= 2\n\n var match = lastMatchIn(string, regexp, endMargin)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.afterEmptyMatch = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var head = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n if (this.afterEmptyMatch && this.atOccurrence) {\n // do not return the same 0 width match twice\n head = Pos(head.line, head.ch)\n if (reverse) {\n head.ch--;\n if (head.ch < 0) {\n head.line--;\n head.ch = (this.doc.getLine(head.line) || \"\").length;\n }\n } else {\n head.ch++;\n if (head.ch > (this.doc.getLine(head.line) || \"\").length) {\n head.ch = 0;\n head.line++;\n }\n }\n if (CodeMirror.cmpPos(head, this.doc.clipPos(head)) != 0) {\n return this.atOccurrence = false\n }\n }\n var result = this.matches(reverse, head)\n this.afterEmptyMatch = result && CodeMirror.cmpPos(result.from, result.to) == 0\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// A rough approximation of Sublime Text's keybindings\n// Depends on addon/search/searchcursor.js and optionally addon/dialog/dialogs.js\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../lib/codemirror\"), require(\"../addon/search/searchcursor\"), require(\"../addon/edit/matchbrackets\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../lib/codemirror\", \"../addon/search/searchcursor\", \"../addon/edit/matchbrackets\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var cmds = CodeMirror.commands;\n var Pos = CodeMirror.Pos;\n\n // This is not exactly Sublime's algorithm. I couldn't make heads or tails of that.\n function findPosSubword(doc, start, dir) {\n if (dir < 0 && start.ch == 0) return doc.clipPos(Pos(start.line - 1));\n var line = doc.getLine(start.line);\n if (dir > 0 && start.ch >= line.length) return doc.clipPos(Pos(start.line + 1, 0));\n var state = \"start\", type, startPos = start.ch;\n for (var pos = startPos, e = dir < 0 ? 0 : line.length, i = 0; pos != e; pos += dir, i++) {\n var next = line.charAt(dir < 0 ? pos - 1 : pos);\n var cat = next != \"_\" && CodeMirror.isWordChar(next) ? \"w\" : \"o\";\n if (cat == \"w\" && next.toUpperCase() == next) cat = \"W\";\n if (state == \"start\") {\n if (cat != \"o\") { state = \"in\"; type = cat; }\n else startPos = pos + dir\n } else if (state == \"in\") {\n if (type != cat) {\n if (type == \"w\" && cat == \"W\" && dir < 0) pos--;\n if (type == \"W\" && cat == \"w\" && dir > 0) { // From uppercase to lowercase\n if (pos == startPos + 1) { type = \"w\"; continue; }\n else pos--;\n }\n break;\n }\n }\n }\n return Pos(start.line, pos);\n }\n\n function moveSubword(cm, dir) {\n cm.extendSelectionsBy(function(range) {\n if (cm.display.shift || cm.doc.extend || range.empty())\n return findPosSubword(cm.doc, range.head, dir);\n else\n return dir < 0 ? range.from() : range.to();\n });\n }\n\n cmds.goSubwordLeft = function(cm) { moveSubword(cm, -1); };\n cmds.goSubwordRight = function(cm) { moveSubword(cm, 1); };\n\n cmds.scrollLineUp = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleBottomLine = cm.lineAtHeight(info.top + info.clientHeight, \"local\");\n if (cm.getCursor().line >= visibleBottomLine)\n cm.execCommand(\"goLineUp\");\n }\n cm.scrollTo(null, info.top - cm.defaultTextHeight());\n };\n cmds.scrollLineDown = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleTopLine = cm.lineAtHeight(info.top, \"local\")+1;\n if (cm.getCursor().line <= visibleTopLine)\n cm.execCommand(\"goLineDown\");\n }\n cm.scrollTo(null, info.top + cm.defaultTextHeight());\n };\n\n cmds.splitSelectionByLine = function(cm) {\n var ranges = cm.listSelections(), lineRanges = [];\n for (var i = 0; i < ranges.length; i++) {\n var from = ranges[i].from(), to = ranges[i].to();\n for (var line = from.line; line <= to.line; ++line)\n if (!(to.line > from.line && line == to.line && to.ch == 0))\n lineRanges.push({anchor: line == from.line ? from : Pos(line, 0),\n head: line == to.line ? to : Pos(line)});\n }\n cm.setSelections(lineRanges, 0);\n };\n\n cmds.singleSelectionTop = function(cm) {\n var range = cm.listSelections()[0];\n cm.setSelection(range.anchor, range.head, {scroll: false});\n };\n\n cmds.selectLine = function(cm) {\n var ranges = cm.listSelections(), extended = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n extended.push({anchor: Pos(range.from().line, 0),\n head: Pos(range.to().line + 1, 0)});\n }\n cm.setSelections(extended);\n };\n\n function insertLine(cm, above) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n cm.operation(function() {\n var len = cm.listSelections().length, newSelection = [], last = -1;\n for (var i = 0; i < len; i++) {\n var head = cm.listSelections()[i].head;\n if (head.line <= last) continue;\n var at = Pos(head.line + (above ? 0 : 1), 0);\n cm.replaceRange(\"\\n\", at, null, \"+insertLine\");\n cm.indentLine(at.line, null, true);\n newSelection.push({head: at, anchor: at});\n last = head.line + 1;\n }\n cm.setSelections(newSelection);\n });\n cm.execCommand(\"indentAuto\");\n }\n\n cmds.insertLineAfter = function(cm) { return insertLine(cm, false); };\n\n cmds.insertLineBefore = function(cm) { return insertLine(cm, true); };\n\n function wordAt(cm, pos) {\n var start = pos.ch, end = start, line = cm.getLine(pos.line);\n while (start && CodeMirror.isWordChar(line.charAt(start - 1))) --start;\n while (end < line.length && CodeMirror.isWordChar(line.charAt(end))) ++end;\n return {from: Pos(pos.line, start), to: Pos(pos.line, end), word: line.slice(start, end)};\n }\n\n cmds.selectNextOccurrence = function(cm) {\n var from = cm.getCursor(\"from\"), to = cm.getCursor(\"to\");\n var fullWord = cm.state.sublimeFindFullWord == cm.doc.sel;\n if (CodeMirror.cmpPos(from, to) == 0) {\n var word = wordAt(cm, from);\n if (!word.word) return;\n cm.setSelection(word.from, word.to);\n fullWord = true;\n } else {\n var text = cm.getRange(from, to);\n var query = fullWord ? new RegExp(\"\\\\b\" + text + \"\\\\b\") : text;\n var cur = cm.getSearchCursor(query, to);\n var found = cur.findNext();\n if (!found) {\n cur = cm.getSearchCursor(query, Pos(cm.firstLine(), 0));\n found = cur.findNext();\n }\n if (!found || isSelectedRange(cm.listSelections(), cur.from(), cur.to())) return\n cm.addSelection(cur.from(), cur.to());\n }\n if (fullWord)\n cm.state.sublimeFindFullWord = cm.doc.sel;\n };\n\n cmds.skipAndSelectNextOccurrence = function(cm) {\n var prevAnchor = cm.getCursor(\"anchor\"), prevHead = cm.getCursor(\"head\");\n cmds.selectNextOccurrence(cm);\n if (CodeMirror.cmpPos(prevAnchor, prevHead) != 0) {\n cm.doc.setSelections(cm.doc.listSelections()\n .filter(function (sel) {\n return sel.anchor != prevAnchor || sel.head != prevHead;\n }));\n }\n }\n\n function addCursorToSelection(cm, dir) {\n var ranges = cm.listSelections(), newRanges = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n var newAnchor = cm.findPosV(\n range.anchor, dir, \"line\", range.anchor.goalColumn);\n var newHead = cm.findPosV(\n range.head, dir, \"line\", range.head.goalColumn);\n newAnchor.goalColumn = range.anchor.goalColumn != null ?\n range.anchor.goalColumn : cm.cursorCoords(range.anchor, \"div\").left;\n newHead.goalColumn = range.head.goalColumn != null ?\n range.head.goalColumn : cm.cursorCoords(range.head, \"div\").left;\n var newRange = {anchor: newAnchor, head: newHead};\n newRanges.push(range);\n newRanges.push(newRange);\n }\n cm.setSelections(newRanges);\n }\n cmds.addCursorToPrevLine = function(cm) { addCursorToSelection(cm, -1); };\n cmds.addCursorToNextLine = function(cm) { addCursorToSelection(cm, 1); };\n\n function isSelectedRange(ranges, from, to) {\n for (var i = 0; i < ranges.length; i++)\n if (CodeMirror.cmpPos(ranges[i].from(), from) == 0 &&\n CodeMirror.cmpPos(ranges[i].to(), to) == 0) return true\n return false\n }\n\n var mirror = \"(){}[]\";\n function selectBetweenBrackets(cm) {\n var ranges = cm.listSelections(), newRanges = []\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], pos = range.head, opening = cm.scanForBracket(pos, -1);\n if (!opening) return false;\n for (;;) {\n var closing = cm.scanForBracket(pos, 1);\n if (!closing) return false;\n if (closing.ch == mirror.charAt(mirror.indexOf(opening.ch) + 1)) {\n var startPos = Pos(opening.pos.line, opening.pos.ch + 1);\n if (CodeMirror.cmpPos(startPos, range.from()) == 0 &&\n CodeMirror.cmpPos(closing.pos, range.to()) == 0) {\n opening = cm.scanForBracket(opening.pos, -1);\n if (!opening) return false;\n } else {\n newRanges.push({anchor: startPos, head: closing.pos});\n break;\n }\n }\n pos = Pos(closing.pos.line, closing.pos.ch + 1);\n }\n }\n cm.setSelections(newRanges);\n return true;\n }\n\n cmds.selectScope = function(cm) {\n selectBetweenBrackets(cm) || cm.execCommand(\"selectAll\");\n };\n cmds.selectBetweenBrackets = function(cm) {\n if (!selectBetweenBrackets(cm)) return CodeMirror.Pass;\n };\n\n function puncType(type) {\n return !type ? null : /\\bpunctuation\\b/.test(type) ? type : undefined\n }\n\n cmds.goToBracket = function(cm) {\n cm.extendSelectionsBy(function(range) {\n var next = cm.scanForBracket(range.head, 1, puncType(cm.getTokenTypeAt(range.head)));\n if (next && CodeMirror.cmpPos(next.pos, range.head) != 0) return next.pos;\n var prev = cm.scanForBracket(range.head, -1, puncType(cm.getTokenTypeAt(Pos(range.head.line, range.head.ch + 1))));\n return prev && Pos(prev.pos.line, prev.pos.ch + 1) || range.head;\n });\n };\n\n cmds.swapLineUp = function(cm) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), linesToMove = [], at = cm.firstLine() - 1, newSels = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], from = range.from().line - 1, to = range.to().line;\n newSels.push({anchor: Pos(range.anchor.line - 1, range.anchor.ch),\n head: Pos(range.head.line - 1, range.head.ch)});\n if (range.to().ch == 0 && !range.empty()) --to;\n if (from > at) linesToMove.push(from, to);\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\n at = to;\n }\n cm.operation(function() {\n for (var i = 0; i < linesToMove.length; i += 2) {\n var from = linesToMove[i], to = linesToMove[i + 1];\n var line = cm.getLine(from);\n cm.replaceRange(\"\", Pos(from, 0), Pos(from + 1, 0), \"+swapLine\");\n if (to > cm.lastLine())\n cm.replaceRange(\"\\n\" + line, Pos(cm.lastLine()), null, \"+swapLine\");\n else\n cm.replaceRange(line + \"\\n\", Pos(to, 0), null, \"+swapLine\");\n }\n cm.setSelections(newSels);\n cm.scrollIntoView();\n });\n };\n\n cmds.swapLineDown = function(cm) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), linesToMove = [], at = cm.lastLine() + 1;\n for (var i = ranges.length - 1; i >= 0; i--) {\n var range = ranges[i], from = range.to().line + 1, to = range.from().line;\n if (range.to().ch == 0 && !range.empty()) from--;\n if (from < at) linesToMove.push(from, to);\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\n at = to;\n }\n cm.operation(function() {\n for (var i = linesToMove.length - 2; i >= 0; i -= 2) {\n var from = linesToMove[i], to = linesToMove[i + 1];\n var line = cm.getLine(from);\n if (from == cm.lastLine())\n cm.replaceRange(\"\", Pos(from - 1), Pos(from), \"+swapLine\");\n else\n cm.replaceRange(\"\", Pos(from, 0), Pos(from + 1, 0), \"+swapLine\");\n cm.replaceRange(line + \"\\n\", Pos(to, 0), null, \"+swapLine\");\n }\n cm.scrollIntoView();\n });\n };\n\n cmds.toggleCommentIndented = function(cm) {\n cm.toggleComment({ indent: true });\n }\n\n cmds.joinLines = function(cm) {\n var ranges = cm.listSelections(), joined = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], from = range.from();\n var start = from.line, end = range.to().line;\n while (i < ranges.length - 1 && ranges[i + 1].from().line == end)\n end = ranges[++i].to().line;\n joined.push({start: start, end: end, anchor: !range.empty() && from});\n }\n cm.operation(function() {\n var offset = 0, ranges = [];\n for (var i = 0; i < joined.length; i++) {\n var obj = joined[i];\n var anchor = obj.anchor && Pos(obj.anchor.line - offset, obj.anchor.ch), head;\n for (var line = obj.start; line <= obj.end; line++) {\n var actual = line - offset;\n if (line == obj.end) head = Pos(actual, cm.getLine(actual).length + 1);\n if (actual < cm.lastLine()) {\n cm.replaceRange(\" \", Pos(actual), Pos(actual + 1, /^\\s*/.exec(cm.getLine(actual + 1))[0].length));\n ++offset;\n }\n }\n ranges.push({anchor: anchor || head, head: head});\n }\n cm.setSelections(ranges, 0);\n });\n };\n\n cmds.duplicateLine = function(cm) {\n cm.operation(function() {\n var rangeCount = cm.listSelections().length;\n for (var i = 0; i < rangeCount; i++) {\n var range = cm.listSelections()[i];\n if (range.empty())\n cm.replaceRange(cm.getLine(range.head.line) + \"\\n\", Pos(range.head.line, 0));\n else\n cm.replaceRange(cm.getRange(range.from(), range.to()), range.from());\n }\n cm.scrollIntoView();\n });\n };\n\n\n function sortLines(cm, caseSensitive, direction) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), toSort = [], selected;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (range.empty()) continue;\n var from = range.from().line, to = range.to().line;\n while (i < ranges.length - 1 && ranges[i + 1].from().line == to)\n to = ranges[++i].to().line;\n if (!ranges[i].to().ch) to--;\n toSort.push(from, to);\n }\n if (toSort.length) selected = true;\n else toSort.push(cm.firstLine(), cm.lastLine());\n\n cm.operation(function() {\n var ranges = [];\n for (var i = 0; i < toSort.length; i += 2) {\n var from = toSort[i], to = toSort[i + 1];\n var start = Pos(from, 0), end = Pos(to);\n var lines = cm.getRange(start, end, false);\n if (caseSensitive)\n lines.sort(function(a, b) { return a < b ? -direction : a == b ? 0 : direction; });\n else\n lines.sort(function(a, b) {\n var au = a.toUpperCase(), bu = b.toUpperCase();\n if (au != bu) { a = au; b = bu; }\n return a < b ? -direction : a == b ? 0 : direction;\n });\n cm.replaceRange(lines, start, end);\n if (selected) ranges.push({anchor: start, head: Pos(to + 1, 0)});\n }\n if (selected) cm.setSelections(ranges, 0);\n });\n }\n\n cmds.sortLines = function(cm) { sortLines(cm, true, 1); };\n cmds.reverseSortLines = function(cm) { sortLines(cm, true, -1); };\n cmds.sortLinesInsensitive = function(cm) { sortLines(cm, false, 1); };\n cmds.reverseSortLinesInsensitive = function(cm) { sortLines(cm, false, -1); };\n\n cmds.nextBookmark = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) while (marks.length) {\n var current = marks.shift();\n var found = current.find();\n if (found) {\n marks.push(current);\n return cm.setSelection(found.from, found.to);\n }\n }\n };\n\n cmds.prevBookmark = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) while (marks.length) {\n marks.unshift(marks.pop());\n var found = marks[marks.length - 1].find();\n if (!found)\n marks.pop();\n else\n return cm.setSelection(found.from, found.to);\n }\n };\n\n cmds.toggleBookmark = function(cm) {\n var ranges = cm.listSelections();\n var marks = cm.state.sublimeBookmarks || (cm.state.sublimeBookmarks = []);\n for (var i = 0; i < ranges.length; i++) {\n var from = ranges[i].from(), to = ranges[i].to();\n var found = ranges[i].empty() ? cm.findMarksAt(from) : cm.findMarks(from, to);\n for (var j = 0; j < found.length; j++) {\n if (found[j].sublimeBookmark) {\n found[j].clear();\n for (var k = 0; k < marks.length; k++)\n if (marks[k] == found[j])\n marks.splice(k--, 1);\n break;\n }\n }\n if (j == found.length)\n marks.push(cm.markText(from, to, {sublimeBookmark: true, clearWhenEmpty: false}));\n }\n };\n\n cmds.clearBookmarks = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear();\n marks.length = 0;\n };\n\n cmds.selectBookmarks = function(cm) {\n var marks = cm.state.sublimeBookmarks, ranges = [];\n if (marks) for (var i = 0; i < marks.length; i++) {\n var found = marks[i].find();\n if (!found)\n marks.splice(i--, 0);\n else\n ranges.push({anchor: found.from, head: found.to});\n }\n if (ranges.length)\n cm.setSelections(ranges, 0);\n };\n\n function modifyWordOrSelection(cm, mod) {\n cm.operation(function() {\n var ranges = cm.listSelections(), indices = [], replacements = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (range.empty()) { indices.push(i); replacements.push(\"\"); }\n else replacements.push(mod(cm.getRange(range.from(), range.to())));\n }\n cm.replaceSelections(replacements, \"around\", \"case\");\n for (var i = indices.length - 1, at; i >= 0; i--) {\n var range = ranges[indices[i]];\n if (at && CodeMirror.cmpPos(range.head, at) > 0) continue;\n var word = wordAt(cm, range.head);\n at = word.from;\n cm.replaceRange(mod(word.word), word.from, word.to);\n }\n });\n }\n\n cmds.smartBackspace = function(cm) {\n if (cm.somethingSelected()) return CodeMirror.Pass;\n\n cm.operation(function() {\n var cursors = cm.listSelections();\n var indentUnit = cm.getOption(\"indentUnit\");\n\n for (var i = cursors.length - 1; i >= 0; i--) {\n var cursor = cursors[i].head;\n var toStartOfLine = cm.getRange({line: cursor.line, ch: 0}, cursor);\n var column = CodeMirror.countColumn(toStartOfLine, null, cm.getOption(\"tabSize\"));\n\n // Delete by one character by default\n var deletePos = cm.findPosH(cursor, -1, \"char\", false);\n\n if (toStartOfLine && !/\\S/.test(toStartOfLine) && column % indentUnit == 0) {\n var prevIndent = new Pos(cursor.line,\n CodeMirror.findColumn(toStartOfLine, column - indentUnit, indentUnit));\n\n // Smart delete only if we found a valid prevIndent location\n if (prevIndent.ch != cursor.ch) deletePos = prevIndent;\n }\n\n cm.replaceRange(\"\", deletePos, cursor, \"+delete\");\n }\n });\n };\n\n cmds.delLineRight = function(cm) {\n cm.operation(function() {\n var ranges = cm.listSelections();\n for (var i = ranges.length - 1; i >= 0; i--)\n cm.replaceRange(\"\", ranges[i].anchor, Pos(ranges[i].to().line), \"+delete\");\n cm.scrollIntoView();\n });\n };\n\n cmds.upcaseAtCursor = function(cm) {\n modifyWordOrSelection(cm, function(str) { return str.toUpperCase(); });\n };\n cmds.downcaseAtCursor = function(cm) {\n modifyWordOrSelection(cm, function(str) { return str.toLowerCase(); });\n };\n\n cmds.setSublimeMark = function(cm) {\n if (cm.state.sublimeMark) cm.state.sublimeMark.clear();\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\n };\n cmds.selectToSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) cm.setSelection(cm.getCursor(), found);\n };\n cmds.deleteToSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) {\n var from = cm.getCursor(), to = found;\n if (CodeMirror.cmpPos(from, to) > 0) { var tmp = to; to = from; from = tmp; }\n cm.state.sublimeKilled = cm.getRange(from, to);\n cm.replaceRange(\"\", from, to);\n }\n };\n cmds.swapWithSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) {\n cm.state.sublimeMark.clear();\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\n cm.setCursor(found);\n }\n };\n cmds.sublimeYank = function(cm) {\n if (cm.state.sublimeKilled != null)\n cm.replaceSelection(cm.state.sublimeKilled, null, \"paste\");\n };\n\n cmds.showInCenter = function(cm) {\n var pos = cm.cursorCoords(null, \"local\");\n cm.scrollTo(null, (pos.top + pos.bottom) / 2 - cm.getScrollInfo().clientHeight / 2);\n };\n\n function getTarget(cm) {\n var from = cm.getCursor(\"from\"), to = cm.getCursor(\"to\");\n if (CodeMirror.cmpPos(from, to) == 0) {\n var word = wordAt(cm, from);\n if (!word.word) return;\n from = word.from;\n to = word.to;\n }\n return {from: from, to: to, query: cm.getRange(from, to), word: word};\n }\n\n function findAndGoTo(cm, forward) {\n var target = getTarget(cm);\n if (!target) return;\n var query = target.query;\n var cur = cm.getSearchCursor(query, forward ? target.to : target.from);\n\n if (forward ? cur.findNext() : cur.findPrevious()) {\n cm.setSelection(cur.from(), cur.to());\n } else {\n cur = cm.getSearchCursor(query, forward ? Pos(cm.firstLine(), 0)\n : cm.clipPos(Pos(cm.lastLine())));\n if (forward ? cur.findNext() : cur.findPrevious())\n cm.setSelection(cur.from(), cur.to());\n else if (target.word)\n cm.setSelection(target.from, target.to);\n }\n };\n cmds.findUnder = function(cm) { findAndGoTo(cm, true); };\n cmds.findUnderPrevious = function(cm) { findAndGoTo(cm,false); };\n cmds.findAllUnder = function(cm) {\n var target = getTarget(cm);\n if (!target) return;\n var cur = cm.getSearchCursor(target.query);\n var matches = [];\n var primaryIndex = -1;\n while (cur.findNext()) {\n matches.push({anchor: cur.from(), head: cur.to()});\n if (cur.from().line <= target.from.line && cur.from().ch <= target.from.ch)\n primaryIndex++;\n }\n cm.setSelections(matches, primaryIndex);\n };\n\n\n var keyMap = CodeMirror.keyMap;\n keyMap.macSublime = {\n \"Cmd-Left\": \"goLineStartSmart\",\n \"Shift-Tab\": \"indentLess\",\n \"Shift-Ctrl-K\": \"deleteLine\",\n \"Alt-Q\": \"wrapLines\",\n \"Ctrl-Left\": \"goSubwordLeft\",\n \"Ctrl-Right\": \"goSubwordRight\",\n \"Ctrl-Alt-Up\": \"scrollLineUp\",\n \"Ctrl-Alt-Down\": \"scrollLineDown\",\n \"Cmd-L\": \"selectLine\",\n \"Shift-Cmd-L\": \"splitSelectionByLine\",\n \"Esc\": \"singleSelectionTop\",\n \"Cmd-Enter\": \"insertLineAfter\",\n \"Shift-Cmd-Enter\": \"insertLineBefore\",\n \"Cmd-D\": \"selectNextOccurrence\",\n \"Shift-Cmd-Space\": \"selectScope\",\n \"Shift-Cmd-M\": \"selectBetweenBrackets\",\n \"Cmd-M\": \"goToBracket\",\n \"Cmd-Ctrl-Up\": \"swapLineUp\",\n \"Cmd-Ctrl-Down\": \"swapLineDown\",\n \"Cmd-/\": \"toggleCommentIndented\",\n \"Cmd-J\": \"joinLines\",\n \"Shift-Cmd-D\": \"duplicateLine\",\n \"F5\": \"sortLines\",\n \"Shift-F5\": \"reverseSortLines\",\n \"Cmd-F5\": \"sortLinesInsensitive\",\n \"Shift-Cmd-F5\": \"reverseSortLinesInsensitive\",\n \"F2\": \"nextBookmark\",\n \"Shift-F2\": \"prevBookmark\",\n \"Cmd-F2\": \"toggleBookmark\",\n \"Shift-Cmd-F2\": \"clearBookmarks\",\n \"Alt-F2\": \"selectBookmarks\",\n \"Backspace\": \"smartBackspace\",\n \"Cmd-K Cmd-D\": \"skipAndSelectNextOccurrence\",\n \"Cmd-K Cmd-K\": \"delLineRight\",\n \"Cmd-K Cmd-U\": \"upcaseAtCursor\",\n \"Cmd-K Cmd-L\": \"downcaseAtCursor\",\n \"Cmd-K Cmd-Space\": \"setSublimeMark\",\n \"Cmd-K Cmd-A\": \"selectToSublimeMark\",\n \"Cmd-K Cmd-W\": \"deleteToSublimeMark\",\n \"Cmd-K Cmd-X\": \"swapWithSublimeMark\",\n \"Cmd-K Cmd-Y\": \"sublimeYank\",\n \"Cmd-K Cmd-C\": \"showInCenter\",\n \"Cmd-K Cmd-G\": \"clearBookmarks\",\n \"Cmd-K Cmd-Backspace\": \"delLineLeft\",\n \"Cmd-K Cmd-1\": \"foldAll\",\n \"Cmd-K Cmd-0\": \"unfoldAll\",\n \"Cmd-K Cmd-J\": \"unfoldAll\",\n \"Ctrl-Shift-Up\": \"addCursorToPrevLine\",\n \"Ctrl-Shift-Down\": \"addCursorToNextLine\",\n \"Cmd-F3\": \"findUnder\",\n \"Shift-Cmd-F3\": \"findUnderPrevious\",\n \"Alt-F3\": \"findAllUnder\",\n \"Shift-Cmd-[\": \"fold\",\n \"Shift-Cmd-]\": \"unfold\",\n \"Cmd-I\": \"findIncremental\",\n \"Shift-Cmd-I\": \"findIncrementalReverse\",\n \"Cmd-H\": \"replace\",\n \"F3\": \"findNext\",\n \"Shift-F3\": \"findPrev\",\n \"fallthrough\": \"macDefault\"\n };\n CodeMirror.normalizeKeyMap(keyMap.macSublime);\n\n keyMap.pcSublime = {\n \"Shift-Tab\": \"indentLess\",\n \"Shift-Ctrl-K\": \"deleteLine\",\n \"Alt-Q\": \"wrapLines\",\n \"Ctrl-T\": \"transposeChars\",\n \"Alt-Left\": \"goSubwordLeft\",\n \"Alt-Right\": \"goSubwordRight\",\n \"Ctrl-Up\": \"scrollLineUp\",\n \"Ctrl-Down\": \"scrollLineDown\",\n \"Ctrl-L\": \"selectLine\",\n \"Shift-Ctrl-L\": \"splitSelectionByLine\",\n \"Esc\": \"singleSelectionTop\",\n \"Ctrl-Enter\": \"insertLineAfter\",\n \"Shift-Ctrl-Enter\": \"insertLineBefore\",\n \"Ctrl-D\": \"selectNextOccurrence\",\n \"Shift-Ctrl-Space\": \"selectScope\",\n \"Shift-Ctrl-M\": \"selectBetweenBrackets\",\n \"Ctrl-M\": \"goToBracket\",\n \"Shift-Ctrl-Up\": \"swapLineUp\",\n \"Shift-Ctrl-Down\": \"swapLineDown\",\n \"Ctrl-/\": \"toggleCommentIndented\",\n \"Ctrl-J\": \"joinLines\",\n \"Shift-Ctrl-D\": \"duplicateLine\",\n \"F9\": \"sortLines\",\n \"Shift-F9\": \"reverseSortLines\",\n \"Ctrl-F9\": \"sortLinesInsensitive\",\n \"Shift-Ctrl-F9\": \"reverseSortLinesInsensitive\",\n \"F2\": \"nextBookmark\",\n \"Shift-F2\": \"prevBookmark\",\n \"Ctrl-F2\": \"toggleBookmark\",\n \"Shift-Ctrl-F2\": \"clearBookmarks\",\n \"Alt-F2\": \"selectBookmarks\",\n \"Backspace\": \"smartBackspace\",\n \"Ctrl-K Ctrl-D\": \"skipAndSelectNextOccurrence\",\n \"Ctrl-K Ctrl-K\": \"delLineRight\",\n \"Ctrl-K Ctrl-U\": \"upcaseAtCursor\",\n \"Ctrl-K Ctrl-L\": \"downcaseAtCursor\",\n \"Ctrl-K Ctrl-Space\": \"setSublimeMark\",\n \"Ctrl-K Ctrl-A\": \"selectToSublimeMark\",\n \"Ctrl-K Ctrl-W\": \"deleteToSublimeMark\",\n \"Ctrl-K Ctrl-X\": \"swapWithSublimeMark\",\n \"Ctrl-K Ctrl-Y\": \"sublimeYank\",\n \"Ctrl-K Ctrl-C\": \"showInCenter\",\n \"Ctrl-K Ctrl-G\": \"clearBookmarks\",\n \"Ctrl-K Ctrl-Backspace\": \"delLineLeft\",\n \"Ctrl-K Ctrl-1\": \"foldAll\",\n \"Ctrl-K Ctrl-0\": \"unfoldAll\",\n \"Ctrl-K Ctrl-J\": \"unfoldAll\",\n \"Ctrl-Alt-Up\": \"addCursorToPrevLine\",\n \"Ctrl-Alt-Down\": \"addCursorToNextLine\",\n \"Ctrl-F3\": \"findUnder\",\n \"Shift-Ctrl-F3\": \"findUnderPrevious\",\n \"Alt-F3\": \"findAllUnder\",\n \"Shift-Ctrl-[\": \"fold\",\n \"Shift-Ctrl-]\": \"unfold\",\n \"Ctrl-I\": \"findIncremental\",\n \"Shift-Ctrl-I\": \"findIncrementalReverse\",\n \"Ctrl-H\": \"replace\",\n \"F3\": \"findNext\",\n \"Shift-F3\": \"findPrev\",\n \"fallthrough\": \"pcDefault\"\n };\n CodeMirror.normalizeKeyMap(keyMap.pcSublime);\n\n var mac = keyMap.default == keyMap.macDefault;\n keyMap.sublime = mac ? keyMap.macSublime : keyMap.pcSublime;\n});\n"],"names":["CodeMirror","ie_lt8","test","navigator","userAgent","document","documentMode","Pos","matching","bracketRegex","config","findMatchingBracket","cm","where","line","getLineHandle","pos","ch","afterCursor","getWrapperElement","className","re","match","text","charAt","dir","strict","style","getTokenTypeAt","found","scanForBracket","from","to","forward","maxScanLen","maxScanLineLength","maxScanLines","stack","lineEnd","Math","min","lastLine","max","firstLine","lineNo","getLine","length","end","undefined","push","pop","matchBrackets","autoclear","maxHighlightLen","state","maxHighlightLineLength","highlightNonMatching","marks","ranges","listSelections","i","empty","head","markText","focused","focus","clear","operation","setTimeout","doMatchBrackets","currentlyHighlighted","clearHighlighted","defineOption","val","old","Init","off","on","defineExtension","this","oldConfig","mod","require","doFold","noFold","regexpFlags","regexp","flags","ignoreCase","global","multiline","ensureFlags","current","target","indexOf","RegExp","source","maybeMultiline","searchRegexpForward","doc","start","last","lastIndex","string","exec","index","searchRegexpForwardMultiline","chunk","curLine","before","slice","split","inside","startLine","startCh","lastMatchIn","endMargin","newMatch","searchRegexpBackward","first","searchRegexpBackwardMultiline","chunkSize","adjustPos","orig","folded","foldFunc","mid","len","searchStringForward","query","caseFold","fold","lines","search","cutFrom","endString","searchStringBackward","lastIndexOf","top","topString","SearchCursor","options","atOccurrence","afterEmptyMatch","clipPos","matches","reverse","String","prototype","normalize","str","toLowerCase","findNext","find","findPrevious","cmpPos","result","replace","newText","origin","splitLines","replaceRange","defineDocExtension","cur","getSearchCursor","getCursor","anchor","setSelections","cmds","commands","findPosSubword","type","startPos","e","next","cat","isWordChar","toUpperCase","moveSubword","extendSelectionsBy","range","display","shift","extend","insertLine","above","isReadOnly","Pass","newSelection","at","indentLine","execCommand","wordAt","word","addCursorToSelection","newRanges","newAnchor","findPosV","goalColumn","newHead","cursorCoords","left","newRange","isSelectedRange","goSubwordLeft","goSubwordRight","scrollLineUp","info","getScrollInfo","somethingSelected","visibleBottomLine","lineAtHeight","clientHeight","scrollTo","defaultTextHeight","scrollLineDown","visibleTopLine","splitSelectionByLine","lineRanges","singleSelectionTop","setSelection","scroll","selectLine","extended","insertLineAfter","insertLineBefore","selectNextOccurrence","fullWord","sublimeFindFullWord","sel","getRange","addSelection","skipAndSelectNextOccurrence","prevAnchor","prevHead","filter","addCursorToPrevLine","addCursorToNextLine","mirror","selectBetweenBrackets","opening","closing","puncType","sortLines","caseSensitive","direction","selected","toSort","sort","a","b","au","bu","modifyWordOrSelection","indices","replacements","replaceSelections","getTarget","findAndGoTo","selectScope","goToBracket","prev","swapLineUp","linesToMove","newSels","scrollIntoView","swapLineDown","toggleCommentIndented","toggleComment","indent","joinLines","joined","offset","obj","actual","duplicateLine","rangeCount","reverseSortLines","sortLinesInsensitive","reverseSortLinesInsensitive","nextBookmark","sublimeBookmarks","prevBookmark","unshift","toggleBookmark","findMarksAt","findMarks","j","sublimeBookmark","k","splice","clearWhenEmpty","clearBookmarks","selectBookmarks","smartBackspace","cursors","indentUnit","getOption","cursor","toStartOfLine","column","countColumn","deletePos","findPosH","prevIndent","findColumn","delLineRight","upcaseAtCursor","downcaseAtCursor","setSublimeMark","sublimeMark","setBookmark","selectToSublimeMark","deleteToSublimeMark","tmp","sublimeKilled","swapWithSublimeMark","setCursor","sublimeYank","replaceSelection","showInCenter","bottom","findUnder","findUnderPrevious","findAllUnder","primaryIndex","keyMap","macSublime","normalizeKeyMap","pcSublime","mac","default","macDefault","sublime"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/563.faabcbb9.chunk.js","mappings":"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","sources":["../node_modules/codemirror/addon/edit/matchbrackets.js","../node_modules/codemirror/addon/search/searchcursor.js","../node_modules/codemirror/keymap/sublime.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n var ie_lt8 = /MSIE \\d/.test(navigator.userAgent) &&\n (document.documentMode == null || document.documentMode < 8);\n\n var Pos = CodeMirror.Pos;\n\n var matching = {\"(\": \")>\", \")\": \"(<\", \"[\": \"]>\", \"]\": \"[<\", \"{\": \"}>\", \"}\": \"{<\", \"<\": \">>\", \">\": \"<<\"};\n\n function bracketRegex(config) {\n return config && config.bracketRegex || /[(){}[\\]]/\n }\n\n function findMatchingBracket(cm, where, config) {\n var line = cm.getLineHandle(where.line), pos = where.ch - 1;\n var afterCursor = config && config.afterCursor\n if (afterCursor == null)\n afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className)\n var re = bracketRegex(config)\n\n // A cursor is defined as between two characters, but in in vim command mode\n // (i.e. not insert mode), the cursor is visually represented as a\n // highlighted box on top of the 2nd character. Otherwise, we allow matches\n // from before or after the cursor.\n var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) ||\n re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)];\n if (!match) return null;\n var dir = match.charAt(1) == \">\" ? 1 : -1;\n if (config && config.strict && (dir > 0) != (pos == where.ch)) return null;\n var style = cm.getTokenTypeAt(Pos(where.line, pos + 1));\n\n var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config);\n if (found == null) return null;\n return {from: Pos(where.line, pos), to: found && found.pos,\n match: found && found.ch == match.charAt(0), forward: dir > 0};\n }\n\n // bracketRegex is used to specify which type of bracket to scan\n // should be a regexp, e.g. /[[\\]]/\n //\n // Note: If \"where\" is on an open bracket, then this bracket is ignored.\n //\n // Returns false when no bracket was found, null when it reached\n // maxScanLines and gave up\n function scanForBracket(cm, where, dir, style, config) {\n var maxScanLen = (config && config.maxScanLineLength) || 10000;\n var maxScanLines = (config && config.maxScanLines) || 1000;\n\n var stack = [];\n var re = bracketRegex(config)\n var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1)\n : Math.max(cm.firstLine() - 1, where.line - maxScanLines);\n for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) {\n var line = cm.getLine(lineNo);\n if (!line) continue;\n var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1;\n if (line.length > maxScanLen) continue;\n if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0);\n for (; pos != end; pos += dir) {\n var ch = line.charAt(pos);\n if (re.test(ch) && (style === undefined ||\n (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || \"\") == (style || \"\"))) {\n var match = matching[ch];\n if (match && (match.charAt(1) == \">\") == (dir > 0)) stack.push(ch);\n else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch};\n else stack.pop();\n }\n }\n }\n return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null;\n }\n\n function matchBrackets(cm, autoclear, config) {\n // Disable brace matching in long lines, since it'll cause hugely slow updates\n var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000,\n highlightNonMatching = config && config.highlightNonMatching;\n var marks = [], ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config);\n if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) {\n var style = match.match ? \"CodeMirror-matchingbracket\" : \"CodeMirror-nonmatchingbracket\";\n marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style}));\n if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen)\n marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style}));\n }\n }\n\n if (marks.length) {\n // Kludge to work around the IE bug from issue #1193, where text\n // input stops going to the textarea whenever this fires.\n if (ie_lt8 && cm.state.focused) cm.focus();\n\n var clear = function() {\n cm.operation(function() {\n for (var i = 0; i < marks.length; i++) marks[i].clear();\n });\n };\n if (autoclear) setTimeout(clear, 800);\n else return clear;\n }\n }\n\n function doMatchBrackets(cm) {\n cm.operation(function() {\n if (cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets);\n });\n }\n\n function clearHighlighted(cm) {\n if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) {\n cm.state.matchBrackets.currentlyHighlighted();\n cm.state.matchBrackets.currentlyHighlighted = null;\n }\n }\n\n CodeMirror.defineOption(\"matchBrackets\", false, function(cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.off(\"cursorActivity\", doMatchBrackets);\n cm.off(\"focus\", doMatchBrackets)\n cm.off(\"blur\", clearHighlighted)\n clearHighlighted(cm);\n }\n if (val) {\n cm.state.matchBrackets = typeof val == \"object\" ? val : {};\n cm.on(\"cursorActivity\", doMatchBrackets);\n cm.on(\"focus\", doMatchBrackets)\n cm.on(\"blur\", clearHighlighted)\n }\n });\n\n CodeMirror.defineExtension(\"matchBrackets\", function() {matchBrackets(this, true);});\n CodeMirror.defineExtension(\"findMatchingBracket\", function(pos, config, oldConfig){\n // Backwards-compatibility kludge\n if (oldConfig || typeof config == \"boolean\") {\n if (!oldConfig) {\n config = config ? {strict: true} : null\n } else {\n oldConfig.strict = config\n config = oldConfig\n }\n }\n return findMatchingBracket(this, pos, config)\n });\n CodeMirror.defineExtension(\"scanForBracket\", function(pos, dir, style, config){\n return scanForBracket(this, pos, dir, style, config);\n });\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"))\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod)\n else // Plain browser env\n mod(CodeMirror)\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunkSize && line >= first; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine : curLine + \"\\n\" + string\n }\n chunkSize *= 2\n\n var match = lastMatchIn(string, regexp, endMargin)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.afterEmptyMatch = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var head = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n if (this.afterEmptyMatch && this.atOccurrence) {\n // do not return the same 0 width match twice\n head = Pos(head.line, head.ch)\n if (reverse) {\n head.ch--;\n if (head.ch < 0) {\n head.line--;\n head.ch = (this.doc.getLine(head.line) || \"\").length;\n }\n } else {\n head.ch++;\n if (head.ch > (this.doc.getLine(head.line) || \"\").length) {\n head.ch = 0;\n head.line++;\n }\n }\n if (CodeMirror.cmpPos(head, this.doc.clipPos(head)) != 0) {\n return this.atOccurrence = false\n }\n }\n var result = this.matches(reverse, head)\n this.afterEmptyMatch = result && CodeMirror.cmpPos(result.from, result.to) == 0\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// A rough approximation of Sublime Text's keybindings\n// Depends on addon/search/searchcursor.js and optionally addon/dialog/dialogs.js\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../lib/codemirror\"), require(\"../addon/search/searchcursor\"), require(\"../addon/edit/matchbrackets\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../lib/codemirror\", \"../addon/search/searchcursor\", \"../addon/edit/matchbrackets\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n \"use strict\";\n\n var cmds = CodeMirror.commands;\n var Pos = CodeMirror.Pos;\n\n // This is not exactly Sublime's algorithm. I couldn't make heads or tails of that.\n function findPosSubword(doc, start, dir) {\n if (dir < 0 && start.ch == 0) return doc.clipPos(Pos(start.line - 1));\n var line = doc.getLine(start.line);\n if (dir > 0 && start.ch >= line.length) return doc.clipPos(Pos(start.line + 1, 0));\n var state = \"start\", type, startPos = start.ch;\n for (var pos = startPos, e = dir < 0 ? 0 : line.length, i = 0; pos != e; pos += dir, i++) {\n var next = line.charAt(dir < 0 ? pos - 1 : pos);\n var cat = next != \"_\" && CodeMirror.isWordChar(next) ? \"w\" : \"o\";\n if (cat == \"w\" && next.toUpperCase() == next) cat = \"W\";\n if (state == \"start\") {\n if (cat != \"o\") { state = \"in\"; type = cat; }\n else startPos = pos + dir\n } else if (state == \"in\") {\n if (type != cat) {\n if (type == \"w\" && cat == \"W\" && dir < 0) pos--;\n if (type == \"W\" && cat == \"w\" && dir > 0) { // From uppercase to lowercase\n if (pos == startPos + 1) { type = \"w\"; continue; }\n else pos--;\n }\n break;\n }\n }\n }\n return Pos(start.line, pos);\n }\n\n function moveSubword(cm, dir) {\n cm.extendSelectionsBy(function(range) {\n if (cm.display.shift || cm.doc.extend || range.empty())\n return findPosSubword(cm.doc, range.head, dir);\n else\n return dir < 0 ? range.from() : range.to();\n });\n }\n\n cmds.goSubwordLeft = function(cm) { moveSubword(cm, -1); };\n cmds.goSubwordRight = function(cm) { moveSubword(cm, 1); };\n\n cmds.scrollLineUp = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleBottomLine = cm.lineAtHeight(info.top + info.clientHeight, \"local\");\n if (cm.getCursor().line >= visibleBottomLine)\n cm.execCommand(\"goLineUp\");\n }\n cm.scrollTo(null, info.top - cm.defaultTextHeight());\n };\n cmds.scrollLineDown = function(cm) {\n var info = cm.getScrollInfo();\n if (!cm.somethingSelected()) {\n var visibleTopLine = cm.lineAtHeight(info.top, \"local\")+1;\n if (cm.getCursor().line <= visibleTopLine)\n cm.execCommand(\"goLineDown\");\n }\n cm.scrollTo(null, info.top + cm.defaultTextHeight());\n };\n\n cmds.splitSelectionByLine = function(cm) {\n var ranges = cm.listSelections(), lineRanges = [];\n for (var i = 0; i < ranges.length; i++) {\n var from = ranges[i].from(), to = ranges[i].to();\n for (var line = from.line; line <= to.line; ++line)\n if (!(to.line > from.line && line == to.line && to.ch == 0))\n lineRanges.push({anchor: line == from.line ? from : Pos(line, 0),\n head: line == to.line ? to : Pos(line)});\n }\n cm.setSelections(lineRanges, 0);\n };\n\n cmds.singleSelectionTop = function(cm) {\n var range = cm.listSelections()[0];\n cm.setSelection(range.anchor, range.head, {scroll: false});\n };\n\n cmds.selectLine = function(cm) {\n var ranges = cm.listSelections(), extended = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n extended.push({anchor: Pos(range.from().line, 0),\n head: Pos(range.to().line + 1, 0)});\n }\n cm.setSelections(extended);\n };\n\n function insertLine(cm, above) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n cm.operation(function() {\n var len = cm.listSelections().length, newSelection = [], last = -1;\n for (var i = 0; i < len; i++) {\n var head = cm.listSelections()[i].head;\n if (head.line <= last) continue;\n var at = Pos(head.line + (above ? 0 : 1), 0);\n cm.replaceRange(\"\\n\", at, null, \"+insertLine\");\n cm.indentLine(at.line, null, true);\n newSelection.push({head: at, anchor: at});\n last = head.line + 1;\n }\n cm.setSelections(newSelection);\n });\n cm.execCommand(\"indentAuto\");\n }\n\n cmds.insertLineAfter = function(cm) { return insertLine(cm, false); };\n\n cmds.insertLineBefore = function(cm) { return insertLine(cm, true); };\n\n function wordAt(cm, pos) {\n var start = pos.ch, end = start, line = cm.getLine(pos.line);\n while (start && CodeMirror.isWordChar(line.charAt(start - 1))) --start;\n while (end < line.length && CodeMirror.isWordChar(line.charAt(end))) ++end;\n return {from: Pos(pos.line, start), to: Pos(pos.line, end), word: line.slice(start, end)};\n }\n\n cmds.selectNextOccurrence = function(cm) {\n var from = cm.getCursor(\"from\"), to = cm.getCursor(\"to\");\n var fullWord = cm.state.sublimeFindFullWord == cm.doc.sel;\n if (CodeMirror.cmpPos(from, to) == 0) {\n var word = wordAt(cm, from);\n if (!word.word) return;\n cm.setSelection(word.from, word.to);\n fullWord = true;\n } else {\n var text = cm.getRange(from, to);\n var query = fullWord ? new RegExp(\"\\\\b\" + text + \"\\\\b\") : text;\n var cur = cm.getSearchCursor(query, to);\n var found = cur.findNext();\n if (!found) {\n cur = cm.getSearchCursor(query, Pos(cm.firstLine(), 0));\n found = cur.findNext();\n }\n if (!found || isSelectedRange(cm.listSelections(), cur.from(), cur.to())) return\n cm.addSelection(cur.from(), cur.to());\n }\n if (fullWord)\n cm.state.sublimeFindFullWord = cm.doc.sel;\n };\n\n cmds.skipAndSelectNextOccurrence = function(cm) {\n var prevAnchor = cm.getCursor(\"anchor\"), prevHead = cm.getCursor(\"head\");\n cmds.selectNextOccurrence(cm);\n if (CodeMirror.cmpPos(prevAnchor, prevHead) != 0) {\n cm.doc.setSelections(cm.doc.listSelections()\n .filter(function (sel) {\n return sel.anchor != prevAnchor || sel.head != prevHead;\n }));\n }\n }\n\n function addCursorToSelection(cm, dir) {\n var ranges = cm.listSelections(), newRanges = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n var newAnchor = cm.findPosV(\n range.anchor, dir, \"line\", range.anchor.goalColumn);\n var newHead = cm.findPosV(\n range.head, dir, \"line\", range.head.goalColumn);\n newAnchor.goalColumn = range.anchor.goalColumn != null ?\n range.anchor.goalColumn : cm.cursorCoords(range.anchor, \"div\").left;\n newHead.goalColumn = range.head.goalColumn != null ?\n range.head.goalColumn : cm.cursorCoords(range.head, \"div\").left;\n var newRange = {anchor: newAnchor, head: newHead};\n newRanges.push(range);\n newRanges.push(newRange);\n }\n cm.setSelections(newRanges);\n }\n cmds.addCursorToPrevLine = function(cm) { addCursorToSelection(cm, -1); };\n cmds.addCursorToNextLine = function(cm) { addCursorToSelection(cm, 1); };\n\n function isSelectedRange(ranges, from, to) {\n for (var i = 0; i < ranges.length; i++)\n if (CodeMirror.cmpPos(ranges[i].from(), from) == 0 &&\n CodeMirror.cmpPos(ranges[i].to(), to) == 0) return true\n return false\n }\n\n var mirror = \"(){}[]\";\n function selectBetweenBrackets(cm) {\n var ranges = cm.listSelections(), newRanges = []\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], pos = range.head, opening = cm.scanForBracket(pos, -1);\n if (!opening) return false;\n for (;;) {\n var closing = cm.scanForBracket(pos, 1);\n if (!closing) return false;\n if (closing.ch == mirror.charAt(mirror.indexOf(opening.ch) + 1)) {\n var startPos = Pos(opening.pos.line, opening.pos.ch + 1);\n if (CodeMirror.cmpPos(startPos, range.from()) == 0 &&\n CodeMirror.cmpPos(closing.pos, range.to()) == 0) {\n opening = cm.scanForBracket(opening.pos, -1);\n if (!opening) return false;\n } else {\n newRanges.push({anchor: startPos, head: closing.pos});\n break;\n }\n }\n pos = Pos(closing.pos.line, closing.pos.ch + 1);\n }\n }\n cm.setSelections(newRanges);\n return true;\n }\n\n cmds.selectScope = function(cm) {\n selectBetweenBrackets(cm) || cm.execCommand(\"selectAll\");\n };\n cmds.selectBetweenBrackets = function(cm) {\n if (!selectBetweenBrackets(cm)) return CodeMirror.Pass;\n };\n\n function puncType(type) {\n return !type ? null : /\\bpunctuation\\b/.test(type) ? type : undefined\n }\n\n cmds.goToBracket = function(cm) {\n cm.extendSelectionsBy(function(range) {\n var next = cm.scanForBracket(range.head, 1, puncType(cm.getTokenTypeAt(range.head)));\n if (next && CodeMirror.cmpPos(next.pos, range.head) != 0) return next.pos;\n var prev = cm.scanForBracket(range.head, -1, puncType(cm.getTokenTypeAt(Pos(range.head.line, range.head.ch + 1))));\n return prev && Pos(prev.pos.line, prev.pos.ch + 1) || range.head;\n });\n };\n\n cmds.swapLineUp = function(cm) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), linesToMove = [], at = cm.firstLine() - 1, newSels = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], from = range.from().line - 1, to = range.to().line;\n newSels.push({anchor: Pos(range.anchor.line - 1, range.anchor.ch),\n head: Pos(range.head.line - 1, range.head.ch)});\n if (range.to().ch == 0 && !range.empty()) --to;\n if (from > at) linesToMove.push(from, to);\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\n at = to;\n }\n cm.operation(function() {\n for (var i = 0; i < linesToMove.length; i += 2) {\n var from = linesToMove[i], to = linesToMove[i + 1];\n var line = cm.getLine(from);\n cm.replaceRange(\"\", Pos(from, 0), Pos(from + 1, 0), \"+swapLine\");\n if (to > cm.lastLine())\n cm.replaceRange(\"\\n\" + line, Pos(cm.lastLine()), null, \"+swapLine\");\n else\n cm.replaceRange(line + \"\\n\", Pos(to, 0), null, \"+swapLine\");\n }\n cm.setSelections(newSels);\n cm.scrollIntoView();\n });\n };\n\n cmds.swapLineDown = function(cm) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), linesToMove = [], at = cm.lastLine() + 1;\n for (var i = ranges.length - 1; i >= 0; i--) {\n var range = ranges[i], from = range.to().line + 1, to = range.from().line;\n if (range.to().ch == 0 && !range.empty()) from--;\n if (from < at) linesToMove.push(from, to);\n else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to;\n at = to;\n }\n cm.operation(function() {\n for (var i = linesToMove.length - 2; i >= 0; i -= 2) {\n var from = linesToMove[i], to = linesToMove[i + 1];\n var line = cm.getLine(from);\n if (from == cm.lastLine())\n cm.replaceRange(\"\", Pos(from - 1), Pos(from), \"+swapLine\");\n else\n cm.replaceRange(\"\", Pos(from, 0), Pos(from + 1, 0), \"+swapLine\");\n cm.replaceRange(line + \"\\n\", Pos(to, 0), null, \"+swapLine\");\n }\n cm.scrollIntoView();\n });\n };\n\n cmds.toggleCommentIndented = function(cm) {\n cm.toggleComment({ indent: true });\n }\n\n cmds.joinLines = function(cm) {\n var ranges = cm.listSelections(), joined = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i], from = range.from();\n var start = from.line, end = range.to().line;\n while (i < ranges.length - 1 && ranges[i + 1].from().line == end)\n end = ranges[++i].to().line;\n joined.push({start: start, end: end, anchor: !range.empty() && from});\n }\n cm.operation(function() {\n var offset = 0, ranges = [];\n for (var i = 0; i < joined.length; i++) {\n var obj = joined[i];\n var anchor = obj.anchor && Pos(obj.anchor.line - offset, obj.anchor.ch), head;\n for (var line = obj.start; line <= obj.end; line++) {\n var actual = line - offset;\n if (line == obj.end) head = Pos(actual, cm.getLine(actual).length + 1);\n if (actual < cm.lastLine()) {\n cm.replaceRange(\" \", Pos(actual), Pos(actual + 1, /^\\s*/.exec(cm.getLine(actual + 1))[0].length));\n ++offset;\n }\n }\n ranges.push({anchor: anchor || head, head: head});\n }\n cm.setSelections(ranges, 0);\n });\n };\n\n cmds.duplicateLine = function(cm) {\n cm.operation(function() {\n var rangeCount = cm.listSelections().length;\n for (var i = 0; i < rangeCount; i++) {\n var range = cm.listSelections()[i];\n if (range.empty())\n cm.replaceRange(cm.getLine(range.head.line) + \"\\n\", Pos(range.head.line, 0));\n else\n cm.replaceRange(cm.getRange(range.from(), range.to()), range.from());\n }\n cm.scrollIntoView();\n });\n };\n\n\n function sortLines(cm, caseSensitive, direction) {\n if (cm.isReadOnly()) return CodeMirror.Pass\n var ranges = cm.listSelections(), toSort = [], selected;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (range.empty()) continue;\n var from = range.from().line, to = range.to().line;\n while (i < ranges.length - 1 && ranges[i + 1].from().line == to)\n to = ranges[++i].to().line;\n if (!ranges[i].to().ch) to--;\n toSort.push(from, to);\n }\n if (toSort.length) selected = true;\n else toSort.push(cm.firstLine(), cm.lastLine());\n\n cm.operation(function() {\n var ranges = [];\n for (var i = 0; i < toSort.length; i += 2) {\n var from = toSort[i], to = toSort[i + 1];\n var start = Pos(from, 0), end = Pos(to);\n var lines = cm.getRange(start, end, false);\n if (caseSensitive)\n lines.sort(function(a, b) { return a < b ? -direction : a == b ? 0 : direction; });\n else\n lines.sort(function(a, b) {\n var au = a.toUpperCase(), bu = b.toUpperCase();\n if (au != bu) { a = au; b = bu; }\n return a < b ? -direction : a == b ? 0 : direction;\n });\n cm.replaceRange(lines, start, end);\n if (selected) ranges.push({anchor: start, head: Pos(to + 1, 0)});\n }\n if (selected) cm.setSelections(ranges, 0);\n });\n }\n\n cmds.sortLines = function(cm) { sortLines(cm, true, 1); };\n cmds.reverseSortLines = function(cm) { sortLines(cm, true, -1); };\n cmds.sortLinesInsensitive = function(cm) { sortLines(cm, false, 1); };\n cmds.reverseSortLinesInsensitive = function(cm) { sortLines(cm, false, -1); };\n\n cmds.nextBookmark = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) while (marks.length) {\n var current = marks.shift();\n var found = current.find();\n if (found) {\n marks.push(current);\n return cm.setSelection(found.from, found.to);\n }\n }\n };\n\n cmds.prevBookmark = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) while (marks.length) {\n marks.unshift(marks.pop());\n var found = marks[marks.length - 1].find();\n if (!found)\n marks.pop();\n else\n return cm.setSelection(found.from, found.to);\n }\n };\n\n cmds.toggleBookmark = function(cm) {\n var ranges = cm.listSelections();\n var marks = cm.state.sublimeBookmarks || (cm.state.sublimeBookmarks = []);\n for (var i = 0; i < ranges.length; i++) {\n var from = ranges[i].from(), to = ranges[i].to();\n var found = ranges[i].empty() ? cm.findMarksAt(from) : cm.findMarks(from, to);\n for (var j = 0; j < found.length; j++) {\n if (found[j].sublimeBookmark) {\n found[j].clear();\n for (var k = 0; k < marks.length; k++)\n if (marks[k] == found[j])\n marks.splice(k--, 1);\n break;\n }\n }\n if (j == found.length)\n marks.push(cm.markText(from, to, {sublimeBookmark: true, clearWhenEmpty: false}));\n }\n };\n\n cmds.clearBookmarks = function(cm) {\n var marks = cm.state.sublimeBookmarks;\n if (marks) for (var i = 0; i < marks.length; i++) marks[i].clear();\n marks.length = 0;\n };\n\n cmds.selectBookmarks = function(cm) {\n var marks = cm.state.sublimeBookmarks, ranges = [];\n if (marks) for (var i = 0; i < marks.length; i++) {\n var found = marks[i].find();\n if (!found)\n marks.splice(i--, 0);\n else\n ranges.push({anchor: found.from, head: found.to});\n }\n if (ranges.length)\n cm.setSelections(ranges, 0);\n };\n\n function modifyWordOrSelection(cm, mod) {\n cm.operation(function() {\n var ranges = cm.listSelections(), indices = [], replacements = [];\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (range.empty()) { indices.push(i); replacements.push(\"\"); }\n else replacements.push(mod(cm.getRange(range.from(), range.to())));\n }\n cm.replaceSelections(replacements, \"around\", \"case\");\n for (var i = indices.length - 1, at; i >= 0; i--) {\n var range = ranges[indices[i]];\n if (at && CodeMirror.cmpPos(range.head, at) > 0) continue;\n var word = wordAt(cm, range.head);\n at = word.from;\n cm.replaceRange(mod(word.word), word.from, word.to);\n }\n });\n }\n\n cmds.smartBackspace = function(cm) {\n if (cm.somethingSelected()) return CodeMirror.Pass;\n\n cm.operation(function() {\n var cursors = cm.listSelections();\n var indentUnit = cm.getOption(\"indentUnit\");\n\n for (var i = cursors.length - 1; i >= 0; i--) {\n var cursor = cursors[i].head;\n var toStartOfLine = cm.getRange({line: cursor.line, ch: 0}, cursor);\n var column = CodeMirror.countColumn(toStartOfLine, null, cm.getOption(\"tabSize\"));\n\n // Delete by one character by default\n var deletePos = cm.findPosH(cursor, -1, \"char\", false);\n\n if (toStartOfLine && !/\\S/.test(toStartOfLine) && column % indentUnit == 0) {\n var prevIndent = new Pos(cursor.line,\n CodeMirror.findColumn(toStartOfLine, column - indentUnit, indentUnit));\n\n // Smart delete only if we found a valid prevIndent location\n if (prevIndent.ch != cursor.ch) deletePos = prevIndent;\n }\n\n cm.replaceRange(\"\", deletePos, cursor, \"+delete\");\n }\n });\n };\n\n cmds.delLineRight = function(cm) {\n cm.operation(function() {\n var ranges = cm.listSelections();\n for (var i = ranges.length - 1; i >= 0; i--)\n cm.replaceRange(\"\", ranges[i].anchor, Pos(ranges[i].to().line), \"+delete\");\n cm.scrollIntoView();\n });\n };\n\n cmds.upcaseAtCursor = function(cm) {\n modifyWordOrSelection(cm, function(str) { return str.toUpperCase(); });\n };\n cmds.downcaseAtCursor = function(cm) {\n modifyWordOrSelection(cm, function(str) { return str.toLowerCase(); });\n };\n\n cmds.setSublimeMark = function(cm) {\n if (cm.state.sublimeMark) cm.state.sublimeMark.clear();\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\n };\n cmds.selectToSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) cm.setSelection(cm.getCursor(), found);\n };\n cmds.deleteToSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) {\n var from = cm.getCursor(), to = found;\n if (CodeMirror.cmpPos(from, to) > 0) { var tmp = to; to = from; from = tmp; }\n cm.state.sublimeKilled = cm.getRange(from, to);\n cm.replaceRange(\"\", from, to);\n }\n };\n cmds.swapWithSublimeMark = function(cm) {\n var found = cm.state.sublimeMark && cm.state.sublimeMark.find();\n if (found) {\n cm.state.sublimeMark.clear();\n cm.state.sublimeMark = cm.setBookmark(cm.getCursor());\n cm.setCursor(found);\n }\n };\n cmds.sublimeYank = function(cm) {\n if (cm.state.sublimeKilled != null)\n cm.replaceSelection(cm.state.sublimeKilled, null, \"paste\");\n };\n\n cmds.showInCenter = function(cm) {\n var pos = cm.cursorCoords(null, \"local\");\n cm.scrollTo(null, (pos.top + pos.bottom) / 2 - cm.getScrollInfo().clientHeight / 2);\n };\n\n function getTarget(cm) {\n var from = cm.getCursor(\"from\"), to = cm.getCursor(\"to\");\n if (CodeMirror.cmpPos(from, to) == 0) {\n var word = wordAt(cm, from);\n if (!word.word) return;\n from = word.from;\n to = word.to;\n }\n return {from: from, to: to, query: cm.getRange(from, to), word: word};\n }\n\n function findAndGoTo(cm, forward) {\n var target = getTarget(cm);\n if (!target) return;\n var query = target.query;\n var cur = cm.getSearchCursor(query, forward ? target.to : target.from);\n\n if (forward ? cur.findNext() : cur.findPrevious()) {\n cm.setSelection(cur.from(), cur.to());\n } else {\n cur = cm.getSearchCursor(query, forward ? Pos(cm.firstLine(), 0)\n : cm.clipPos(Pos(cm.lastLine())));\n if (forward ? cur.findNext() : cur.findPrevious())\n cm.setSelection(cur.from(), cur.to());\n else if (target.word)\n cm.setSelection(target.from, target.to);\n }\n };\n cmds.findUnder = function(cm) { findAndGoTo(cm, true); };\n cmds.findUnderPrevious = function(cm) { findAndGoTo(cm,false); };\n cmds.findAllUnder = function(cm) {\n var target = getTarget(cm);\n if (!target) return;\n var cur = cm.getSearchCursor(target.query);\n var matches = [];\n var primaryIndex = -1;\n while (cur.findNext()) {\n matches.push({anchor: cur.from(), head: cur.to()});\n if (cur.from().line <= target.from.line && cur.from().ch <= target.from.ch)\n primaryIndex++;\n }\n cm.setSelections(matches, primaryIndex);\n };\n\n\n var keyMap = CodeMirror.keyMap;\n keyMap.macSublime = {\n \"Cmd-Left\": \"goLineStartSmart\",\n \"Shift-Tab\": \"indentLess\",\n \"Shift-Ctrl-K\": \"deleteLine\",\n \"Alt-Q\": \"wrapLines\",\n \"Ctrl-Left\": \"goSubwordLeft\",\n \"Ctrl-Right\": \"goSubwordRight\",\n \"Ctrl-Alt-Up\": \"scrollLineUp\",\n \"Ctrl-Alt-Down\": \"scrollLineDown\",\n \"Cmd-L\": \"selectLine\",\n \"Shift-Cmd-L\": \"splitSelectionByLine\",\n \"Esc\": \"singleSelectionTop\",\n \"Cmd-Enter\": \"insertLineAfter\",\n \"Shift-Cmd-Enter\": \"insertLineBefore\",\n \"Cmd-D\": \"selectNextOccurrence\",\n \"Shift-Cmd-Space\": \"selectScope\",\n \"Shift-Cmd-M\": \"selectBetweenBrackets\",\n \"Cmd-M\": \"goToBracket\",\n \"Cmd-Ctrl-Up\": \"swapLineUp\",\n \"Cmd-Ctrl-Down\": \"swapLineDown\",\n \"Cmd-/\": \"toggleCommentIndented\",\n \"Cmd-J\": \"joinLines\",\n \"Shift-Cmd-D\": \"duplicateLine\",\n \"F5\": \"sortLines\",\n \"Shift-F5\": \"reverseSortLines\",\n \"Cmd-F5\": \"sortLinesInsensitive\",\n \"Shift-Cmd-F5\": \"reverseSortLinesInsensitive\",\n \"F2\": \"nextBookmark\",\n \"Shift-F2\": \"prevBookmark\",\n \"Cmd-F2\": \"toggleBookmark\",\n \"Shift-Cmd-F2\": \"clearBookmarks\",\n \"Alt-F2\": \"selectBookmarks\",\n \"Backspace\": \"smartBackspace\",\n \"Cmd-K Cmd-D\": \"skipAndSelectNextOccurrence\",\n \"Cmd-K Cmd-K\": \"delLineRight\",\n \"Cmd-K Cmd-U\": \"upcaseAtCursor\",\n \"Cmd-K Cmd-L\": \"downcaseAtCursor\",\n \"Cmd-K Cmd-Space\": \"setSublimeMark\",\n \"Cmd-K Cmd-A\": \"selectToSublimeMark\",\n \"Cmd-K Cmd-W\": \"deleteToSublimeMark\",\n \"Cmd-K Cmd-X\": \"swapWithSublimeMark\",\n \"Cmd-K Cmd-Y\": \"sublimeYank\",\n \"Cmd-K Cmd-C\": \"showInCenter\",\n \"Cmd-K Cmd-G\": \"clearBookmarks\",\n \"Cmd-K Cmd-Backspace\": \"delLineLeft\",\n \"Cmd-K Cmd-1\": \"foldAll\",\n \"Cmd-K Cmd-0\": \"unfoldAll\",\n \"Cmd-K Cmd-J\": \"unfoldAll\",\n \"Ctrl-Shift-Up\": \"addCursorToPrevLine\",\n \"Ctrl-Shift-Down\": \"addCursorToNextLine\",\n \"Cmd-F3\": \"findUnder\",\n \"Shift-Cmd-F3\": \"findUnderPrevious\",\n \"Alt-F3\": \"findAllUnder\",\n \"Shift-Cmd-[\": \"fold\",\n \"Shift-Cmd-]\": \"unfold\",\n \"Cmd-I\": \"findIncremental\",\n \"Shift-Cmd-I\": \"findIncrementalReverse\",\n \"Cmd-H\": \"replace\",\n \"F3\": \"findNext\",\n \"Shift-F3\": \"findPrev\",\n \"fallthrough\": \"macDefault\"\n };\n CodeMirror.normalizeKeyMap(keyMap.macSublime);\n\n keyMap.pcSublime = {\n \"Shift-Tab\": \"indentLess\",\n \"Shift-Ctrl-K\": \"deleteLine\",\n \"Alt-Q\": \"wrapLines\",\n \"Ctrl-T\": \"transposeChars\",\n \"Alt-Left\": \"goSubwordLeft\",\n \"Alt-Right\": \"goSubwordRight\",\n \"Ctrl-Up\": \"scrollLineUp\",\n \"Ctrl-Down\": \"scrollLineDown\",\n \"Ctrl-L\": \"selectLine\",\n \"Shift-Ctrl-L\": \"splitSelectionByLine\",\n \"Esc\": \"singleSelectionTop\",\n \"Ctrl-Enter\": \"insertLineAfter\",\n \"Shift-Ctrl-Enter\": \"insertLineBefore\",\n \"Ctrl-D\": \"selectNextOccurrence\",\n \"Shift-Ctrl-Space\": \"selectScope\",\n \"Shift-Ctrl-M\": \"selectBetweenBrackets\",\n \"Ctrl-M\": \"goToBracket\",\n \"Shift-Ctrl-Up\": \"swapLineUp\",\n \"Shift-Ctrl-Down\": \"swapLineDown\",\n \"Ctrl-/\": \"toggleCommentIndented\",\n \"Ctrl-J\": \"joinLines\",\n \"Shift-Ctrl-D\": \"duplicateLine\",\n \"F9\": \"sortLines\",\n \"Shift-F9\": \"reverseSortLines\",\n \"Ctrl-F9\": \"sortLinesInsensitive\",\n \"Shift-Ctrl-F9\": \"reverseSortLinesInsensitive\",\n \"F2\": \"nextBookmark\",\n \"Shift-F2\": \"prevBookmark\",\n \"Ctrl-F2\": \"toggleBookmark\",\n \"Shift-Ctrl-F2\": \"clearBookmarks\",\n \"Alt-F2\": \"selectBookmarks\",\n \"Backspace\": \"smartBackspace\",\n \"Ctrl-K Ctrl-D\": \"skipAndSelectNextOccurrence\",\n \"Ctrl-K Ctrl-K\": \"delLineRight\",\n \"Ctrl-K Ctrl-U\": \"upcaseAtCursor\",\n \"Ctrl-K Ctrl-L\": \"downcaseAtCursor\",\n \"Ctrl-K Ctrl-Space\": \"setSublimeMark\",\n \"Ctrl-K Ctrl-A\": \"selectToSublimeMark\",\n \"Ctrl-K Ctrl-W\": \"deleteToSublimeMark\",\n \"Ctrl-K Ctrl-X\": \"swapWithSublimeMark\",\n \"Ctrl-K Ctrl-Y\": \"sublimeYank\",\n \"Ctrl-K Ctrl-C\": \"showInCenter\",\n \"Ctrl-K Ctrl-G\": \"clearBookmarks\",\n \"Ctrl-K Ctrl-Backspace\": \"delLineLeft\",\n \"Ctrl-K Ctrl-1\": \"foldAll\",\n \"Ctrl-K Ctrl-0\": \"unfoldAll\",\n \"Ctrl-K Ctrl-J\": \"unfoldAll\",\n \"Ctrl-Alt-Up\": \"addCursorToPrevLine\",\n \"Ctrl-Alt-Down\": \"addCursorToNextLine\",\n \"Ctrl-F3\": \"findUnder\",\n \"Shift-Ctrl-F3\": \"findUnderPrevious\",\n \"Alt-F3\": \"findAllUnder\",\n \"Shift-Ctrl-[\": \"fold\",\n \"Shift-Ctrl-]\": \"unfold\",\n \"Ctrl-I\": \"findIncremental\",\n \"Shift-Ctrl-I\": \"findIncrementalReverse\",\n \"Ctrl-H\": \"replace\",\n \"F3\": \"findNext\",\n \"Shift-F3\": \"findPrev\",\n \"fallthrough\": \"pcDefault\"\n };\n CodeMirror.normalizeKeyMap(keyMap.pcSublime);\n\n var mac = keyMap.default == keyMap.macDefault;\n keyMap.sublime = mac ? keyMap.macSublime : keyMap.pcSublime;\n});\n"],"names":["CodeMirror","ie_lt8","test","navigator","userAgent","document","documentMode","Pos","matching","bracketRegex","config","findMatchingBracket","cm","where","line","getLineHandle","pos","ch","afterCursor","getWrapperElement","className","re","match","text","charAt","dir","strict","style","getTokenTypeAt","found","scanForBracket","from","to","forward","maxScanLen","maxScanLineLength","maxScanLines","stack","lineEnd","Math","min","lastLine","max","firstLine","lineNo","getLine","length","end","undefined","push","pop","matchBrackets","autoclear","maxHighlightLen","state","maxHighlightLineLength","highlightNonMatching","marks","ranges","listSelections","i","empty","head","markText","focused","focus","clear","operation","setTimeout","doMatchBrackets","currentlyHighlighted","clearHighlighted","defineOption","val","old","Init","off","on","defineExtension","this","oldConfig","mod","require","doFold","noFold","regexpFlags","regexp","flags","ignoreCase","global","multiline","ensureFlags","current","target","indexOf","RegExp","source","maybeMultiline","searchRegexpForward","doc","start","last","lastIndex","string","exec","index","searchRegexpForwardMultiline","chunk","curLine","before","slice","split","inside","startLine","startCh","lastMatchIn","endMargin","newMatch","searchRegexpBackward","first","searchRegexpBackwardMultiline","chunkSize","adjustPos","orig","folded","foldFunc","mid","len","searchStringForward","query","caseFold","fold","lines","search","cutFrom","endString","searchStringBackward","lastIndexOf","top","topString","SearchCursor","options","atOccurrence","afterEmptyMatch","clipPos","matches","reverse","String","prototype","normalize","str","toLowerCase","findNext","find","findPrevious","cmpPos","result","replace","newText","origin","splitLines","replaceRange","defineDocExtension","cur","getSearchCursor","getCursor","anchor","setSelections","cmds","commands","findPosSubword","type","startPos","e","next","cat","isWordChar","toUpperCase","moveSubword","extendSelectionsBy","range","display","shift","extend","insertLine","above","isReadOnly","Pass","newSelection","at","indentLine","execCommand","wordAt","word","addCursorToSelection","newRanges","newAnchor","findPosV","goalColumn","newHead","cursorCoords","left","newRange","isSelectedRange","goSubwordLeft","goSubwordRight","scrollLineUp","info","getScrollInfo","somethingSelected","visibleBottomLine","lineAtHeight","clientHeight","scrollTo","defaultTextHeight","scrollLineDown","visibleTopLine","splitSelectionByLine","lineRanges","singleSelectionTop","setSelection","scroll","selectLine","extended","insertLineAfter","insertLineBefore","selectNextOccurrence","fullWord","sublimeFindFullWord","sel","getRange","addSelection","skipAndSelectNextOccurrence","prevAnchor","prevHead","filter","addCursorToPrevLine","addCursorToNextLine","mirror","selectBetweenBrackets","opening","closing","puncType","sortLines","caseSensitive","direction","selected","toSort","sort","a","b","au","bu","modifyWordOrSelection","indices","replacements","replaceSelections","getTarget","findAndGoTo","selectScope","goToBracket","prev","swapLineUp","linesToMove","newSels","scrollIntoView","swapLineDown","toggleCommentIndented","toggleComment","indent","joinLines","joined","offset","obj","actual","duplicateLine","rangeCount","reverseSortLines","sortLinesInsensitive","reverseSortLinesInsensitive","nextBookmark","sublimeBookmarks","prevBookmark","unshift","toggleBookmark","findMarksAt","findMarks","j","sublimeBookmark","k","splice","clearWhenEmpty","clearBookmarks","selectBookmarks","smartBackspace","cursors","indentUnit","getOption","cursor","toStartOfLine","column","countColumn","deletePos","findPosH","prevIndent","findColumn","delLineRight","upcaseAtCursor","downcaseAtCursor","setSublimeMark","sublimeMark","setBookmark","selectToSublimeMark","deleteToSublimeMark","tmp","sublimeKilled","swapWithSublimeMark","setCursor","sublimeYank","replaceSelection","showInCenter","bottom","findUnder","findUnderPrevious","findAllUnder","primaryIndex","keyMap","macSublime","normalizeKeyMap","pcSublime","mac","default","macDefault","sublime"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[592],{5592:(t,n,e)=>{!function(t){"use strict";var n,e,r=t.Pos;function i(t){var n=t.flags;return null!=n?n:(t.ignoreCase?"i":"")+(t.global?"g":"")+(t.multiline?"m":"")}function h(t,n){for(var e=i(t),r=e,h=0;h<n.length;h++)-1==r.indexOf(n.charAt(h))&&(r+=n.charAt(h));return e==r?t:new RegExp(t.source,r)}function o(t){return/\\s|\\n|\n|\\W|\\D|\[\^/.test(t.source)}function l(t,n,e){n=h(n,"g");for(var i=e.line,o=e.ch,l=t.lastLine();i<=l;i++,o=0){n.lastIndex=o;var c=t.getLine(i),s=n.exec(c);if(s)return{from:r(i,s.index),to:r(i,s.index+s[0].length),match:s}}}function c(t,n,e){if(!o(n))return l(t,n,e);n=h(n,"gm");for(var i,c=1,s=e.line,f=t.lastLine();s<=f;){for(var a=0;a<c&&!(s>f);a++){var u=t.getLine(s++);i=null==i?u:i+"\n"+u}c*=2,n.lastIndex=e.ch;var g=n.exec(i);if(g){var m=i.slice(0,g.index).split("\n"),v=g[0].split("\n"),p=e.line+m.length-1,d=m[m.length-1].length;return{from:r(p,d),to:r(p+v.length-1,1==v.length?d+v[0].length:v[v.length-1].length),match:g}}}}function s(t,n,e){for(var r,i=0;i<=t.length;){n.lastIndex=i;var h=n.exec(t);if(!h)break;var o=h.index+h[0].length;if(o>t.length-e)break;(!r||o>r.index+r[0].length)&&(r=h),i=h.index+1}return r}function f(t,n,e){n=h(n,"g");for(var i=e.line,o=e.ch,l=t.firstLine();i>=l;i--,o=-1){var c=t.getLine(i),f=s(c,n,o<0?0:c.length-o);if(f)return{from:r(i,f.index),to:r(i,f.index+f[0].length),match:f}}}function a(t,n,e){if(!o(n))return f(t,n,e);n=h(n,"gm");for(var i,l=1,c=t.getLine(e.line).length-e.ch,a=e.line,u=t.firstLine();a>=u;){for(var g=0;g<l&&a>=u;g++){var m=t.getLine(a--);i=null==i?m:m+"\n"+i}l*=2;var v=s(i,n,c);if(v){var p=i.slice(0,v.index).split("\n"),d=v[0].split("\n"),x=a+p.length,L=p[p.length-1].length;return{from:r(x,L),to:r(x+d.length-1,1==d.length?L+d[0].length:d[d.length-1].length),match:v}}}}function u(t,n,e,r){if(t.length==n.length)return e;for(var i=0,h=e+Math.max(0,t.length-n.length);;){if(i==h)return i;var o=i+h>>1,l=r(t.slice(0,o)).length;if(l==e)return o;l>e?h=o:i=o+1}}function g(t,i,h,o){if(!i.length)return null;var l=o?n:e,c=l(i).split(/\r|\n\r?/);t:for(var s=h.line,f=h.ch,a=t.lastLine()+1-c.length;s<=a;s++,f=0){var g=t.getLine(s).slice(f),m=l(g);if(1==c.length){var v=m.indexOf(c[0]);if(-1==v)continue t;return h=u(g,m,v,l)+f,{from:r(s,u(g,m,v,l)+f),to:r(s,u(g,m,v+c[0].length,l)+f)}}var p=m.length-c[0].length;if(m.slice(p)==c[0]){for(var d=1;d<c.length-1;d++)if(l(t.getLine(s+d))!=c[d])continue t;var x=t.getLine(s+c.length-1),L=l(x),O=c[c.length-1];if(L.slice(0,O.length)==O)return{from:r(s,u(g,m,p,l)+f),to:r(s+c.length-1,u(x,L,O.length,l))}}}}function m(t,i,h,o){if(!i.length)return null;var l=o?n:e,c=l(i).split(/\r|\n\r?/);t:for(var s=h.line,f=h.ch,a=t.firstLine()-1+c.length;s>=a;s--,f=-1){var g=t.getLine(s);f>-1&&(g=g.slice(0,f));var m=l(g);if(1==c.length){var v=m.lastIndexOf(c[0]);if(-1==v)continue t;return{from:r(s,u(g,m,v,l)),to:r(s,u(g,m,v+c[0].length,l))}}var p=c[c.length-1];if(m.slice(0,p.length)==p){var d=1;for(h=s-c.length+1;d<c.length-1;d++)if(l(t.getLine(h+d))!=c[d])continue t;var x=t.getLine(s+1-c.length),L=l(x);if(L.slice(L.length-c[0].length)==c[0])return{from:r(s+1-c.length,u(x,L,x.length-c[0].length,l)),to:r(s,u(g,m,p.length,l))}}}}function v(t,n,e,i){var o;this.atOccurrence=!1,this.afterEmptyMatch=!1,this.doc=t,e=e?t.clipPos(e):r(0,0),this.pos={from:e,to:e},"object"==typeof i?o=i.caseFold:(o=i,i=null),"string"==typeof n?(null==o&&(o=!1),this.matches=function(e,r){return(e?m:g)(t,n,r,o)}):(n=h(n,"gm"),i&&!1===i.multiline?this.matches=function(e,r){return(e?f:l)(t,n,r)}:this.matches=function(e,r){return(e?a:c)(t,n,r)})}String.prototype.normalize?(n=function(t){return t.normalize("NFD").toLowerCase()},e=function(t){return t.normalize("NFD")}):(n=function(t){return t.toLowerCase()},e=function(t){return t}),v.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(n){var e=this.doc.clipPos(n?this.pos.from:this.pos.to);if(this.afterEmptyMatch&&this.atOccurrence&&(e=r(e.line,e.ch),n?(e.ch--,e.ch<0&&(e.line--,e.ch=(this.doc.getLine(e.line)||"").length)):(e.ch++,e.ch>(this.doc.getLine(e.line)||"").length&&(e.ch=0,e.line++)),0!=t.cmpPos(e,this.doc.clipPos(e))))return this.atOccurrence=!1;var i=this.matches(n,e);if(this.afterEmptyMatch=i&&0==t.cmpPos(i.from,i.to),i)return this.pos=i,this.atOccurrence=!0,this.pos.match||!0;var h=r(n?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:h,to:h},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(n,e){if(this.atOccurrence){var i=t.splitLines(n);this.doc.replaceRange(i,this.pos.from,this.pos.to,e),this.pos.to=r(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},t.defineExtension("getSearchCursor",(function(t,n,e){return new v(this.doc,t,n,e)})),t.defineDocExtension("getSearchCursor",(function(t,n,e){return new v(this,t,n,e)})),t.defineExtension("selectMatches",(function(n,e){for(var r=[],i=this.getSearchCursor(n,this.getCursor("from"),e);i.findNext()&&!(t.cmpPos(i.to(),this.getCursor("to"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)}))}(e(6246))}}]);
|
|
2
|
+
//# sourceMappingURL=592.111c2c09.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/849.e36d6caf.chunk.js","mappings":"+FAUG,SAASA,GACV,aACA,IAgHIC,EAAQC,EAhHRC,EAAMH,EAAWG,IAErB,SAASC,EAAYC,GACnB,IAAIC,EAAQD,EAAOC,MACnB,OAAgB,MAATA,EAAgBA,GAASD,EAAOE,WAAa,IAAM,KACrDF,EAAOG,OAAS,IAAM,KACtBH,EAAOI,UAAY,IAAM,GAC/B,CAED,SAASC,EAAYL,EAAQC,GAE3B,IADA,IAAIK,EAAUP,EAAYC,GAASO,EAASD,EACnCE,EAAI,EAAGA,EAAIP,EAAMQ,OAAQD,KAA6C,GAApCD,EAAOG,QAAQT,EAAMU,OAAOH,MACrED,GAAUN,EAAMU,OAAOH,IACzB,OAAOF,GAAWC,EAASP,EAAS,IAAIY,OAAOZ,EAAOa,OAAQN,EAC/D,CAED,SAASO,EAAed,GACtB,MAAO,0BAA0Be,KAAKf,EAAOa,OAC9C,CAED,SAASG,EAAoBC,EAAKjB,EAAQkB,GACxClB,EAASK,EAAYL,EAAQ,KAC7B,IAAK,IAAImB,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIC,EAAOJ,EAAIK,WAAYH,GAAQE,EAAMF,IAAQC,EAAK,EAAG,CAC9FpB,EAAOuB,UAAYH,EACnB,IAAII,EAASP,EAAIQ,QAAQN,GAAOO,EAAQ1B,EAAO2B,KAAKH,GACpD,GAAIE,EACF,MAAO,CAACE,KAAM9B,EAAIqB,EAAMO,EAAMG,OACtBC,GAAIhC,EAAIqB,EAAMO,EAAMG,MAAQH,EAAM,GAAGjB,QACrCiB,MAAOA,EAClB,CACF,CAED,SAASK,EAA6Bd,EAAKjB,EAAQkB,GACjD,IAAKJ,EAAed,GAAS,OAAOgB,EAAoBC,EAAKjB,EAAQkB,GAErElB,EAASK,EAAYL,EAAQ,MAE7B,IADA,IAAIwB,EAAQQ,EAAQ,EACXb,EAAOD,EAAMC,KAAME,EAAOJ,EAAIK,WAAYH,GAAQE,GAAO,CAMhE,IAAK,IAAIb,EAAI,EAAGA,EAAIwB,KACdb,EAAOE,GADcb,IAAK,CAE9B,IAAIyB,EAAUhB,EAAIQ,QAAQN,KAC1BK,EAAmB,MAAVA,EAAiBS,EAAUT,EAAS,KAAOS,CACrD,CACDD,GAAgB,EAChBhC,EAAOuB,UAAYL,EAAME,GACzB,IAAIM,EAAQ1B,EAAO2B,KAAKH,GACxB,GAAIE,EAAO,CACT,IAAIQ,EAASV,EAAOW,MAAM,EAAGT,EAAMG,OAAOO,MAAM,MAAOC,EAASX,EAAM,GAAGU,MAAM,MAC3EE,EAAYpB,EAAMC,KAAOe,EAAOzB,OAAS,EAAG8B,EAAUL,EAAOA,EAAOzB,OAAS,GAAGA,OACpF,MAAO,CAACmB,KAAM9B,EAAIwC,EAAWC,GACrBT,GAAIhC,EAAIwC,EAAYD,EAAO5B,OAAS,EACX,GAAjB4B,EAAO5B,OAAc8B,EAAUF,EAAO,GAAG5B,OAAS4B,EAAOA,EAAO5B,OAAS,GAAGA,QACpFiB,MAAOA,EAChB,CACF,CACF,CAED,SAASc,EAAYhB,EAAQxB,EAAQyC,GAEnC,IADA,IAAIf,EAAOE,EAAO,EACXA,GAAQJ,EAAOf,QAAQ,CAC5BT,EAAOuB,UAAYK,EACnB,IAAIc,EAAW1C,EAAO2B,KAAKH,GAC3B,IAAKkB,EAAU,MACf,IAAIC,EAAMD,EAASb,MAAQa,EAAS,GAAGjC,OACvC,GAAIkC,EAAMnB,EAAOf,OAASgC,EAAW,QAChCf,GAASiB,EAAMjB,EAAMG,MAAQH,EAAM,GAAGjB,UACzCiB,EAAQgB,GACVd,EAAOc,EAASb,MAAQ,CACzB,CACD,OAAOH,CACR,CAED,SAASkB,EAAqB3B,EAAKjB,EAAQkB,GACzClB,EAASK,EAAYL,EAAQ,KAC7B,IAAK,IAAImB,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIyB,EAAQ5B,EAAI6B,YAAa3B,GAAQ0B,EAAO1B,IAAQC,GAAM,EAAG,CAClG,IAAII,EAASP,EAAIQ,QAAQN,GACrBO,EAAQc,EAAYhB,EAAQxB,EAAQoB,EAAK,EAAI,EAAII,EAAOf,OAASW,GACrE,GAAIM,EACF,MAAO,CAACE,KAAM9B,EAAIqB,EAAMO,EAAMG,OACtBC,GAAIhC,EAAIqB,EAAMO,EAAMG,MAAQH,EAAM,GAAGjB,QACrCiB,MAAOA,EAClB,CACF,CAED,SAASqB,EAA8B9B,EAAKjB,EAAQkB,GAClD,IAAKJ,EAAed,GAAS,OAAO4C,EAAqB3B,EAAKjB,EAAQkB,GACtElB,EAASK,EAAYL,EAAQ,MAE7B,IADA,IAAIwB,EAAQwB,EAAY,EAAGP,EAAYxB,EAAIQ,QAAQP,EAAMC,MAAMV,OAASS,EAAME,GACrED,EAAOD,EAAMC,KAAM0B,EAAQ5B,EAAI6B,YAAa3B,GAAQ0B,GAAQ,CACnE,IAAK,IAAIrC,EAAI,EAAGA,EAAIwC,GAAa7B,GAAQ0B,EAAOrC,IAAK,CACnD,IAAIyB,EAAUhB,EAAIQ,QAAQN,KAC1BK,EAAmB,MAAVA,EAAiBS,EAAUA,EAAU,KAAOT,CACtD,CACDwB,GAAa,EAEb,IAAItB,EAAQc,EAAYhB,EAAQxB,EAAQyC,GACxC,GAAIf,EAAO,CACT,IAAIQ,EAASV,EAAOW,MAAM,EAAGT,EAAMG,OAAOO,MAAM,MAAOC,EAASX,EAAM,GAAGU,MAAM,MAC3EE,EAAYnB,EAAOe,EAAOzB,OAAQ8B,EAAUL,EAAOA,EAAOzB,OAAS,GAAGA,OAC1E,MAAO,CAACmB,KAAM9B,EAAIwC,EAAWC,GACrBT,GAAIhC,EAAIwC,EAAYD,EAAO5B,OAAS,EACX,GAAjB4B,EAAO5B,OAAc8B,EAAUF,EAAO,GAAG5B,OAAS4B,EAAOA,EAAO5B,OAAS,GAAGA,QACpFiB,MAAOA,EAChB,CACF,CACF,CAaD,SAASuB,EAAUC,EAAMC,EAAQC,EAAKC,GACpC,GAAIH,EAAKzC,QAAU0C,EAAO1C,OAAQ,OAAO2C,EACzC,IAAK,IAAIE,EAAM,EAAGC,EAAMH,EAAMI,KAAKD,IAAI,EAAGL,EAAKzC,OAAS0C,EAAO1C,UAAW,CACxE,GAAI6C,GAAOC,EAAK,OAAOD,EACvB,IAAIG,EAAOH,EAAMC,GAAQ,EACrBG,EAAML,EAASH,EAAKf,MAAM,EAAGsB,IAAMhD,OACvC,GAAIiD,GAAON,EAAK,OAAOK,EACdC,EAAMN,EAAKG,EAAME,EACrBH,EAAMG,EAAM,CAClB,CACF,CAED,SAASE,EAAoB1C,EAAK2C,EAAO1C,EAAO2C,GAG9C,IAAKD,EAAMnD,OAAQ,OAAO,KAC1B,IAAIqD,EAAOD,EAAWjE,EAASC,EAC3BkE,EAAQD,EAAKF,GAAOxB,MAAM,YAE9B4B,EAAQ,IAAK,IAAI7C,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIC,EAAOJ,EAAIK,WAAa,EAAIyC,EAAMtD,OAAQU,GAAQE,EAAMF,IAAQC,EAAK,EAAG,CACzH,IAAI8B,EAAOjC,EAAIQ,QAAQN,GAAMgB,MAAMf,GAAKI,EAASsC,EAAKZ,GACtD,GAAoB,GAAhBa,EAAMtD,OAAa,CACrB,IAAIwD,EAAQzC,EAAOd,QAAQqD,EAAM,IACjC,IAAc,GAAVE,EAAa,SAASD,EAE1B,OADI9C,EAAQ+B,EAAUC,EAAM1B,EAAQyC,EAAOH,GAAQ1C,EAC5C,CAACQ,KAAM9B,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAOH,GAAQ1C,GACvDU,GAAIhC,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAQF,EAAM,GAAGtD,OAAQqD,GAAQ1C,GAChF,CACC,IAAI8C,EAAU1C,EAAOf,OAASsD,EAAM,GAAGtD,OACvC,GAAIe,EAAOW,MAAM+B,IAAYH,EAAM,GAAnC,CACA,IAAK,IAAIvD,EAAI,EAAGA,EAAIuD,EAAMtD,OAAS,EAAGD,IACpC,GAAIsD,EAAK7C,EAAIQ,QAAQN,EAAOX,KAAOuD,EAAMvD,GAAI,SAASwD,EACxD,IAAIrB,EAAM1B,EAAIQ,QAAQN,EAAO4C,EAAMtD,OAAS,GAAI0D,EAAYL,EAAKnB,GAAMrB,EAAWyC,EAAMA,EAAMtD,OAAS,GACvG,GAAI0D,EAAUhC,MAAM,EAAGb,EAASb,SAAWa,EAC3C,MAAO,CAACM,KAAM9B,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQ0C,EAASJ,GAAQ1C,GACzDU,GAAIhC,EAAIqB,EAAO4C,EAAMtD,OAAS,EAAGwC,EAAUN,EAAKwB,EAAW7C,EAASb,OAAQqD,IAN7C,CAQ1C,CACF,CAED,SAASM,EAAqBnD,EAAK2C,EAAO1C,EAAO2C,GAC/C,IAAKD,EAAMnD,OAAQ,OAAO,KAC1B,IAAIqD,EAAOD,EAAWjE,EAASC,EAC3BkE,EAAQD,EAAKF,GAAOxB,MAAM,YAE9B4B,EAAQ,IAAK,IAAI7C,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIyB,EAAQ5B,EAAI6B,YAAc,EAAIiB,EAAMtD,OAAQU,GAAQ0B,EAAO1B,IAAQC,GAAM,EAAG,CAC7H,IAAI8B,EAAOjC,EAAIQ,QAAQN,GACnBC,GAAM,IAAG8B,EAAOA,EAAKf,MAAM,EAAGf,IAClC,IAAII,EAASsC,EAAKZ,GAClB,GAAoB,GAAhBa,EAAMtD,OAAa,CACrB,IAAIwD,EAAQzC,EAAO6C,YAAYN,EAAM,IACrC,IAAc,GAAVE,EAAa,SAASD,EAC1B,MAAO,CAACpC,KAAM9B,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAOH,IAC/ChC,GAAIhC,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAQF,EAAM,GAAGtD,OAAQqD,IACxE,CACC,IAAIxC,EAAWyC,EAAMA,EAAMtD,OAAS,GACpC,GAAIe,EAAOW,MAAM,EAAGb,EAASb,SAAWa,EAAxC,CACK,IAAId,EAAI,EAAb,IAAgBU,EAAQC,EAAO4C,EAAMtD,OAAS,EAAGD,EAAIuD,EAAMtD,OAAS,EAAGD,IACrE,GAAIsD,EAAK7C,EAAIQ,QAAQP,EAAQV,KAAOuD,EAAMvD,GAAI,SAASwD,EACzD,IAAIM,EAAMrD,EAAIQ,QAAQN,EAAO,EAAI4C,EAAMtD,QAAS8D,EAAYT,EAAKQ,GACjE,GAAIC,EAAUpC,MAAMoC,EAAU9D,OAASsD,EAAM,GAAGtD,SAAWsD,EAAM,GACjE,MAAO,CAACnC,KAAM9B,EAAIqB,EAAO,EAAI4C,EAAMtD,OAAQwC,EAAUqB,EAAKC,EAAWD,EAAI7D,OAASsD,EAAM,GAAGtD,OAAQqD,IAC3FhC,GAAIhC,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQF,EAASb,OAAQqD,IANb,CAQrD,CACF,CAED,SAASU,EAAavD,EAAK2C,EAAOR,EAAKqB,GAOrC,IAAIZ,EANJa,KAAKC,cAAe,EACpBD,KAAKE,iBAAkB,EACvBF,KAAKzD,IAAMA,EACXmC,EAAMA,EAAMnC,EAAI4D,QAAQzB,GAAOtD,EAAI,EAAG,GACtC4E,KAAKtB,IAAM,CAACxB,KAAMwB,EAAKtB,GAAIsB,GAGL,iBAAXqB,EACTZ,EAAWY,EAAQZ,UAEnBA,EAAWY,EACXA,EAAU,MAGQ,iBAATb,GACO,MAAZC,IAAkBA,GAAW,GACjCa,KAAKI,QAAU,SAASC,EAAS3B,GAC/B,OAAQ2B,EAAUX,EAAuBT,GAAqB1C,EAAK2C,EAAOR,EAAKS,EAChF,IAEDD,EAAQvD,EAAYuD,EAAO,MACtBa,IAAiC,IAAtBA,EAAQrE,UAKtBsE,KAAKI,QAAU,SAASC,EAAS3B,GAC/B,OAAQ2B,EAAUnC,EAAuB5B,GAAqBC,EAAK2C,EAAOR,EAC3E,EANDsB,KAAKI,QAAU,SAASC,EAAS3B,GAC/B,OAAQ2B,EAAUhC,EAAgChB,GAA8Bd,EAAK2C,EAAOR,EAC7F,EAMN,CA5GG4B,OAAOC,UAAUC,WACnBtF,EAAS,SAASuF,GAAO,OAAOA,EAAID,UAAU,OAAOE,aAAe,EACpEvF,EAAS,SAASsF,GAAO,OAAOA,EAAID,UAAU,MAAQ,IAEtDtF,EAAS,SAASuF,GAAO,OAAOA,EAAIC,aAAe,EACnDvF,EAAS,SAASsF,GAAO,OAAOA,CAAK,GAyGvCX,EAAaS,UAAY,CACvBI,SAAU,WAAY,OAAOX,KAAKY,MAAK,EAAO,EAC9CC,aAAc,WAAY,OAAOb,KAAKY,MAAK,EAAM,EAEjDA,KAAM,SAASP,GACb,IAAIS,EAAOd,KAAKzD,IAAI4D,QAAQE,EAAUL,KAAKtB,IAAIxB,KAAO8C,KAAKtB,IAAItB,IAC/D,GAAI4C,KAAKE,iBAAmBF,KAAKC,eAE/Ba,EAAO1F,EAAI0F,EAAKrE,KAAMqE,EAAKpE,IACvB2D,GACFS,EAAKpE,KACDoE,EAAKpE,GAAK,IACZoE,EAAKrE,OACLqE,EAAKpE,IAAMsD,KAAKzD,IAAIQ,QAAQ+D,EAAKrE,OAAS,IAAIV,UAGhD+E,EAAKpE,KACDoE,EAAKpE,IAAMsD,KAAKzD,IAAIQ,QAAQ+D,EAAKrE,OAAS,IAAIV,SAChD+E,EAAKpE,GAAK,EACVoE,EAAKrE,SAG8C,GAAnDxB,EAAW8F,OAAOD,EAAMd,KAAKzD,IAAI4D,QAAQW,KAC1C,OAAOd,KAAKC,cAAe,EAGhC,IAAIe,EAAShB,KAAKI,QAAQC,EAASS,GAGnC,GAFAd,KAAKE,gBAAkBc,GAAuD,GAA7C/F,EAAW8F,OAAOC,EAAO9D,KAAM8D,EAAO5D,IAEnE4D,EAGF,OAFAhB,KAAKtB,IAAMsC,EACXhB,KAAKC,cAAe,EACbD,KAAKtB,IAAI1B,QAAS,EAEzB,IAAIiB,EAAM7C,EAAIiF,EAAUL,KAAKzD,IAAI6B,YAAc4B,KAAKzD,IAAIK,WAAa,EAAG,GAExE,OADAoD,KAAKtB,IAAM,CAACxB,KAAMe,EAAKb,GAAIa,GACpB+B,KAAKC,cAAe,CAE9B,EAED/C,KAAM,WAAY,GAAI8C,KAAKC,aAAc,OAAOD,KAAKtB,IAAIxB,IAAK,EAC9DE,GAAI,WAAY,GAAI4C,KAAKC,aAAc,OAAOD,KAAKtB,IAAItB,EAAG,EAE1D6D,QAAS,SAASC,EAASC,GACzB,GAAKnB,KAAKC,aAAV,CACA,IAAIZ,EAAQpE,EAAWmG,WAAWF,GAClClB,KAAKzD,IAAI8E,aAAahC,EAAOW,KAAKtB,IAAIxB,KAAM8C,KAAKtB,IAAItB,GAAI+D,GACzDnB,KAAKtB,IAAItB,GAAKhC,EAAI4E,KAAKtB,IAAIxB,KAAKT,KAAO4C,EAAMtD,OAAS,EACpCsD,EAAMA,EAAMtD,OAAS,GAAGA,QAA0B,GAAhBsD,EAAMtD,OAAciE,KAAKtB,IAAIxB,KAAKR,GAAK,GAJ7D,CAK/B,GAGHzB,EAAWqG,gBAAgB,mBAAmB,SAASpC,EAAOR,EAAKS,GACjE,OAAO,IAAIW,EAAaE,KAAKzD,IAAK2C,EAAOR,EAAKS,EAC/C,IACDlE,EAAWsG,mBAAmB,mBAAmB,SAASrC,EAAOR,EAAKS,GACpE,OAAO,IAAIW,EAAaE,KAAMd,EAAOR,EAAKS,EAC3C,IAEDlE,EAAWqG,gBAAgB,iBAAiB,SAASpC,EAAOC,GAG1D,IAFA,IAAIqC,EAAS,GACTC,EAAMzB,KAAK0B,gBAAgBxC,EAAOc,KAAK2B,UAAU,QAASxC,GACvDsC,EAAId,cACL1F,EAAW8F,OAAOU,EAAIrE,KAAM4C,KAAK2B,UAAU,OAAS,IACxDH,EAAOI,KAAK,CAACC,OAAQJ,EAAIvE,OAAQ4D,KAAMW,EAAIrE,OAEzCoE,EAAOzF,QACTiE,KAAK8B,cAAcN,EAAQ,EAC9B,GACF,CA3SGO,CAAIC,EAAQ,M","sources":["../node_modules/codemirror/addon/search/searchcursor.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"))\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod)\n else // Plain browser env\n mod(CodeMirror)\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunkSize && line >= first; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine : curLine + \"\\n\" + string\n }\n chunkSize *= 2\n\n var match = lastMatchIn(string, regexp, endMargin)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.afterEmptyMatch = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var head = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n if (this.afterEmptyMatch && this.atOccurrence) {\n // do not return the same 0 width match twice\n head = Pos(head.line, head.ch)\n if (reverse) {\n head.ch--;\n if (head.ch < 0) {\n head.line--;\n head.ch = (this.doc.getLine(head.line) || \"\").length;\n }\n } else {\n head.ch++;\n if (head.ch > (this.doc.getLine(head.line) || \"\").length) {\n head.ch = 0;\n head.line++;\n }\n }\n if (CodeMirror.cmpPos(head, this.doc.clipPos(head)) != 0) {\n return this.atOccurrence = false\n }\n }\n var result = this.matches(reverse, head)\n this.afterEmptyMatch = result && CodeMirror.cmpPos(result.from, result.to) == 0\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n"],"names":["CodeMirror","doFold","noFold","Pos","regexpFlags","regexp","flags","ignoreCase","global","multiline","ensureFlags","current","target","i","length","indexOf","charAt","RegExp","source","maybeMultiline","test","searchRegexpForward","doc","start","line","ch","last","lastLine","lastIndex","string","getLine","match","exec","from","index","to","searchRegexpForwardMultiline","chunk","curLine","before","slice","split","inside","startLine","startCh","lastMatchIn","endMargin","newMatch","end","searchRegexpBackward","first","firstLine","searchRegexpBackwardMultiline","chunkSize","adjustPos","orig","folded","pos","foldFunc","min","max","Math","mid","len","searchStringForward","query","caseFold","fold","lines","search","found","cutFrom","endString","searchStringBackward","lastIndexOf","top","topString","SearchCursor","options","this","atOccurrence","afterEmptyMatch","clipPos","matches","reverse","String","prototype","normalize","str","toLowerCase","findNext","find","findPrevious","head","cmpPos","result","replace","newText","origin","splitLines","replaceRange","defineExtension","defineDocExtension","ranges","cur","getSearchCursor","getCursor","push","anchor","setSelections","mod","require"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/592.111c2c09.chunk.js","mappings":"yFAUG,SAASA,GACV,aACA,IAgHIC,EAAQC,EAhHRC,EAAMH,EAAWG,IAErB,SAASC,EAAYC,GACnB,IAAIC,EAAQD,EAAOC,MACnB,OAAgB,MAATA,EAAgBA,GAASD,EAAOE,WAAa,IAAM,KACrDF,EAAOG,OAAS,IAAM,KACtBH,EAAOI,UAAY,IAAM,GAC/B,CAED,SAASC,EAAYL,EAAQC,GAE3B,IADA,IAAIK,EAAUP,EAAYC,GAASO,EAASD,EACnCE,EAAI,EAAGA,EAAIP,EAAMQ,OAAQD,KAA6C,GAApCD,EAAOG,QAAQT,EAAMU,OAAOH,MACrED,GAAUN,EAAMU,OAAOH,IACzB,OAAOF,GAAWC,EAASP,EAAS,IAAIY,OAAOZ,EAAOa,OAAQN,EAC/D,CAED,SAASO,EAAed,GACtB,MAAO,0BAA0Be,KAAKf,EAAOa,OAC9C,CAED,SAASG,EAAoBC,EAAKjB,EAAQkB,GACxClB,EAASK,EAAYL,EAAQ,KAC7B,IAAK,IAAImB,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIC,EAAOJ,EAAIK,WAAYH,GAAQE,EAAMF,IAAQC,EAAK,EAAG,CAC9FpB,EAAOuB,UAAYH,EACnB,IAAII,EAASP,EAAIQ,QAAQN,GAAOO,EAAQ1B,EAAO2B,KAAKH,GACpD,GAAIE,EACF,MAAO,CAACE,KAAM9B,EAAIqB,EAAMO,EAAMG,OACtBC,GAAIhC,EAAIqB,EAAMO,EAAMG,MAAQH,EAAM,GAAGjB,QACrCiB,MAAOA,EAClB,CACF,CAED,SAASK,EAA6Bd,EAAKjB,EAAQkB,GACjD,IAAKJ,EAAed,GAAS,OAAOgB,EAAoBC,EAAKjB,EAAQkB,GAErElB,EAASK,EAAYL,EAAQ,MAE7B,IADA,IAAIwB,EAAQQ,EAAQ,EACXb,EAAOD,EAAMC,KAAME,EAAOJ,EAAIK,WAAYH,GAAQE,GAAO,CAMhE,IAAK,IAAIb,EAAI,EAAGA,EAAIwB,KACdb,EAAOE,GADcb,IAAK,CAE9B,IAAIyB,EAAUhB,EAAIQ,QAAQN,KAC1BK,EAAmB,MAAVA,EAAiBS,EAAUT,EAAS,KAAOS,CACrD,CACDD,GAAgB,EAChBhC,EAAOuB,UAAYL,EAAME,GACzB,IAAIM,EAAQ1B,EAAO2B,KAAKH,GACxB,GAAIE,EAAO,CACT,IAAIQ,EAASV,EAAOW,MAAM,EAAGT,EAAMG,OAAOO,MAAM,MAAOC,EAASX,EAAM,GAAGU,MAAM,MAC3EE,EAAYpB,EAAMC,KAAOe,EAAOzB,OAAS,EAAG8B,EAAUL,EAAOA,EAAOzB,OAAS,GAAGA,OACpF,MAAO,CAACmB,KAAM9B,EAAIwC,EAAWC,GACrBT,GAAIhC,EAAIwC,EAAYD,EAAO5B,OAAS,EACX,GAAjB4B,EAAO5B,OAAc8B,EAAUF,EAAO,GAAG5B,OAAS4B,EAAOA,EAAO5B,OAAS,GAAGA,QACpFiB,MAAOA,EAChB,CACF,CACF,CAED,SAASc,EAAYhB,EAAQxB,EAAQyC,GAEnC,IADA,IAAIf,EAAOE,EAAO,EACXA,GAAQJ,EAAOf,QAAQ,CAC5BT,EAAOuB,UAAYK,EACnB,IAAIc,EAAW1C,EAAO2B,KAAKH,GAC3B,IAAKkB,EAAU,MACf,IAAIC,EAAMD,EAASb,MAAQa,EAAS,GAAGjC,OACvC,GAAIkC,EAAMnB,EAAOf,OAASgC,EAAW,QAChCf,GAASiB,EAAMjB,EAAMG,MAAQH,EAAM,GAAGjB,UACzCiB,EAAQgB,GACVd,EAAOc,EAASb,MAAQ,CACzB,CACD,OAAOH,CACR,CAED,SAASkB,EAAqB3B,EAAKjB,EAAQkB,GACzClB,EAASK,EAAYL,EAAQ,KAC7B,IAAK,IAAImB,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIyB,EAAQ5B,EAAI6B,YAAa3B,GAAQ0B,EAAO1B,IAAQC,GAAM,EAAG,CAClG,IAAII,EAASP,EAAIQ,QAAQN,GACrBO,EAAQc,EAAYhB,EAAQxB,EAAQoB,EAAK,EAAI,EAAII,EAAOf,OAASW,GACrE,GAAIM,EACF,MAAO,CAACE,KAAM9B,EAAIqB,EAAMO,EAAMG,OACtBC,GAAIhC,EAAIqB,EAAMO,EAAMG,MAAQH,EAAM,GAAGjB,QACrCiB,MAAOA,EAClB,CACF,CAED,SAASqB,EAA8B9B,EAAKjB,EAAQkB,GAClD,IAAKJ,EAAed,GAAS,OAAO4C,EAAqB3B,EAAKjB,EAAQkB,GACtElB,EAASK,EAAYL,EAAQ,MAE7B,IADA,IAAIwB,EAAQwB,EAAY,EAAGP,EAAYxB,EAAIQ,QAAQP,EAAMC,MAAMV,OAASS,EAAME,GACrED,EAAOD,EAAMC,KAAM0B,EAAQ5B,EAAI6B,YAAa3B,GAAQ0B,GAAQ,CACnE,IAAK,IAAIrC,EAAI,EAAGA,EAAIwC,GAAa7B,GAAQ0B,EAAOrC,IAAK,CACnD,IAAIyB,EAAUhB,EAAIQ,QAAQN,KAC1BK,EAAmB,MAAVA,EAAiBS,EAAUA,EAAU,KAAOT,CACtD,CACDwB,GAAa,EAEb,IAAItB,EAAQc,EAAYhB,EAAQxB,EAAQyC,GACxC,GAAIf,EAAO,CACT,IAAIQ,EAASV,EAAOW,MAAM,EAAGT,EAAMG,OAAOO,MAAM,MAAOC,EAASX,EAAM,GAAGU,MAAM,MAC3EE,EAAYnB,EAAOe,EAAOzB,OAAQ8B,EAAUL,EAAOA,EAAOzB,OAAS,GAAGA,OAC1E,MAAO,CAACmB,KAAM9B,EAAIwC,EAAWC,GACrBT,GAAIhC,EAAIwC,EAAYD,EAAO5B,OAAS,EACX,GAAjB4B,EAAO5B,OAAc8B,EAAUF,EAAO,GAAG5B,OAAS4B,EAAOA,EAAO5B,OAAS,GAAGA,QACpFiB,MAAOA,EAChB,CACF,CACF,CAaD,SAASuB,EAAUC,EAAMC,EAAQC,EAAKC,GACpC,GAAIH,EAAKzC,QAAU0C,EAAO1C,OAAQ,OAAO2C,EACzC,IAAK,IAAIE,EAAM,EAAGC,EAAMH,EAAMI,KAAKD,IAAI,EAAGL,EAAKzC,OAAS0C,EAAO1C,UAAW,CACxE,GAAI6C,GAAOC,EAAK,OAAOD,EACvB,IAAIG,EAAOH,EAAMC,GAAQ,EACrBG,EAAML,EAASH,EAAKf,MAAM,EAAGsB,IAAMhD,OACvC,GAAIiD,GAAON,EAAK,OAAOK,EACdC,EAAMN,EAAKG,EAAME,EACrBH,EAAMG,EAAM,CAClB,CACF,CAED,SAASE,EAAoB1C,EAAK2C,EAAO1C,EAAO2C,GAG9C,IAAKD,EAAMnD,OAAQ,OAAO,KAC1B,IAAIqD,EAAOD,EAAWjE,EAASC,EAC3BkE,EAAQD,EAAKF,GAAOxB,MAAM,YAE9B4B,EAAQ,IAAK,IAAI7C,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIC,EAAOJ,EAAIK,WAAa,EAAIyC,EAAMtD,OAAQU,GAAQE,EAAMF,IAAQC,EAAK,EAAG,CACzH,IAAI8B,EAAOjC,EAAIQ,QAAQN,GAAMgB,MAAMf,GAAKI,EAASsC,EAAKZ,GACtD,GAAoB,GAAhBa,EAAMtD,OAAa,CACrB,IAAIwD,EAAQzC,EAAOd,QAAQqD,EAAM,IACjC,IAAc,GAAVE,EAAa,SAASD,EAE1B,OADI9C,EAAQ+B,EAAUC,EAAM1B,EAAQyC,EAAOH,GAAQ1C,EAC5C,CAACQ,KAAM9B,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAOH,GAAQ1C,GACvDU,GAAIhC,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAQF,EAAM,GAAGtD,OAAQqD,GAAQ1C,GAChF,CACC,IAAI8C,EAAU1C,EAAOf,OAASsD,EAAM,GAAGtD,OACvC,GAAIe,EAAOW,MAAM+B,IAAYH,EAAM,GAAnC,CACA,IAAK,IAAIvD,EAAI,EAAGA,EAAIuD,EAAMtD,OAAS,EAAGD,IACpC,GAAIsD,EAAK7C,EAAIQ,QAAQN,EAAOX,KAAOuD,EAAMvD,GAAI,SAASwD,EACxD,IAAIrB,EAAM1B,EAAIQ,QAAQN,EAAO4C,EAAMtD,OAAS,GAAI0D,EAAYL,EAAKnB,GAAMrB,EAAWyC,EAAMA,EAAMtD,OAAS,GACvG,GAAI0D,EAAUhC,MAAM,EAAGb,EAASb,SAAWa,EAC3C,MAAO,CAACM,KAAM9B,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQ0C,EAASJ,GAAQ1C,GACzDU,GAAIhC,EAAIqB,EAAO4C,EAAMtD,OAAS,EAAGwC,EAAUN,EAAKwB,EAAW7C,EAASb,OAAQqD,IAN7C,CAQ1C,CACF,CAED,SAASM,EAAqBnD,EAAK2C,EAAO1C,EAAO2C,GAC/C,IAAKD,EAAMnD,OAAQ,OAAO,KAC1B,IAAIqD,EAAOD,EAAWjE,EAASC,EAC3BkE,EAAQD,EAAKF,GAAOxB,MAAM,YAE9B4B,EAAQ,IAAK,IAAI7C,EAAOD,EAAMC,KAAMC,EAAKF,EAAME,GAAIyB,EAAQ5B,EAAI6B,YAAc,EAAIiB,EAAMtD,OAAQU,GAAQ0B,EAAO1B,IAAQC,GAAM,EAAG,CAC7H,IAAI8B,EAAOjC,EAAIQ,QAAQN,GACnBC,GAAM,IAAG8B,EAAOA,EAAKf,MAAM,EAAGf,IAClC,IAAII,EAASsC,EAAKZ,GAClB,GAAoB,GAAhBa,EAAMtD,OAAa,CACrB,IAAIwD,EAAQzC,EAAO6C,YAAYN,EAAM,IACrC,IAAc,GAAVE,EAAa,SAASD,EAC1B,MAAO,CAACpC,KAAM9B,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAOH,IAC/ChC,GAAIhC,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQyC,EAAQF,EAAM,GAAGtD,OAAQqD,IACxE,CACC,IAAIxC,EAAWyC,EAAMA,EAAMtD,OAAS,GACpC,GAAIe,EAAOW,MAAM,EAAGb,EAASb,SAAWa,EAAxC,CACK,IAAId,EAAI,EAAb,IAAgBU,EAAQC,EAAO4C,EAAMtD,OAAS,EAAGD,EAAIuD,EAAMtD,OAAS,EAAGD,IACrE,GAAIsD,EAAK7C,EAAIQ,QAAQP,EAAQV,KAAOuD,EAAMvD,GAAI,SAASwD,EACzD,IAAIM,EAAMrD,EAAIQ,QAAQN,EAAO,EAAI4C,EAAMtD,QAAS8D,EAAYT,EAAKQ,GACjE,GAAIC,EAAUpC,MAAMoC,EAAU9D,OAASsD,EAAM,GAAGtD,SAAWsD,EAAM,GACjE,MAAO,CAACnC,KAAM9B,EAAIqB,EAAO,EAAI4C,EAAMtD,OAAQwC,EAAUqB,EAAKC,EAAWD,EAAI7D,OAASsD,EAAM,GAAGtD,OAAQqD,IAC3FhC,GAAIhC,EAAIqB,EAAM8B,EAAUC,EAAM1B,EAAQF,EAASb,OAAQqD,IANb,CAQrD,CACF,CAED,SAASU,EAAavD,EAAK2C,EAAOR,EAAKqB,GAOrC,IAAIZ,EANJa,KAAKC,cAAe,EACpBD,KAAKE,iBAAkB,EACvBF,KAAKzD,IAAMA,EACXmC,EAAMA,EAAMnC,EAAI4D,QAAQzB,GAAOtD,EAAI,EAAG,GACtC4E,KAAKtB,IAAM,CAACxB,KAAMwB,EAAKtB,GAAIsB,GAGL,iBAAXqB,EACTZ,EAAWY,EAAQZ,UAEnBA,EAAWY,EACXA,EAAU,MAGQ,iBAATb,GACO,MAAZC,IAAkBA,GAAW,GACjCa,KAAKI,QAAU,SAASC,EAAS3B,GAC/B,OAAQ2B,EAAUX,EAAuBT,GAAqB1C,EAAK2C,EAAOR,EAAKS,EAChF,IAEDD,EAAQvD,EAAYuD,EAAO,MACtBa,IAAiC,IAAtBA,EAAQrE,UAKtBsE,KAAKI,QAAU,SAASC,EAAS3B,GAC/B,OAAQ2B,EAAUnC,EAAuB5B,GAAqBC,EAAK2C,EAAOR,EAC3E,EANDsB,KAAKI,QAAU,SAASC,EAAS3B,GAC/B,OAAQ2B,EAAUhC,EAAgChB,GAA8Bd,EAAK2C,EAAOR,EAC7F,EAMN,CA5GG4B,OAAOC,UAAUC,WACnBtF,EAAS,SAASuF,GAAO,OAAOA,EAAID,UAAU,OAAOE,aAAe,EACpEvF,EAAS,SAASsF,GAAO,OAAOA,EAAID,UAAU,MAAQ,IAEtDtF,EAAS,SAASuF,GAAO,OAAOA,EAAIC,aAAe,EACnDvF,EAAS,SAASsF,GAAO,OAAOA,CAAK,GAyGvCX,EAAaS,UAAY,CACvBI,SAAU,WAAY,OAAOX,KAAKY,MAAK,EAAO,EAC9CC,aAAc,WAAY,OAAOb,KAAKY,MAAK,EAAM,EAEjDA,KAAM,SAASP,GACb,IAAIS,EAAOd,KAAKzD,IAAI4D,QAAQE,EAAUL,KAAKtB,IAAIxB,KAAO8C,KAAKtB,IAAItB,IAC/D,GAAI4C,KAAKE,iBAAmBF,KAAKC,eAE/Ba,EAAO1F,EAAI0F,EAAKrE,KAAMqE,EAAKpE,IACvB2D,GACFS,EAAKpE,KACDoE,EAAKpE,GAAK,IACZoE,EAAKrE,OACLqE,EAAKpE,IAAMsD,KAAKzD,IAAIQ,QAAQ+D,EAAKrE,OAAS,IAAIV,UAGhD+E,EAAKpE,KACDoE,EAAKpE,IAAMsD,KAAKzD,IAAIQ,QAAQ+D,EAAKrE,OAAS,IAAIV,SAChD+E,EAAKpE,GAAK,EACVoE,EAAKrE,SAG8C,GAAnDxB,EAAW8F,OAAOD,EAAMd,KAAKzD,IAAI4D,QAAQW,KAC1C,OAAOd,KAAKC,cAAe,EAGhC,IAAIe,EAAShB,KAAKI,QAAQC,EAASS,GAGnC,GAFAd,KAAKE,gBAAkBc,GAAuD,GAA7C/F,EAAW8F,OAAOC,EAAO9D,KAAM8D,EAAO5D,IAEnE4D,EAGF,OAFAhB,KAAKtB,IAAMsC,EACXhB,KAAKC,cAAe,EACbD,KAAKtB,IAAI1B,QAAS,EAEzB,IAAIiB,EAAM7C,EAAIiF,EAAUL,KAAKzD,IAAI6B,YAAc4B,KAAKzD,IAAIK,WAAa,EAAG,GAExE,OADAoD,KAAKtB,IAAM,CAACxB,KAAMe,EAAKb,GAAIa,GACpB+B,KAAKC,cAAe,CAE9B,EAED/C,KAAM,WAAY,GAAI8C,KAAKC,aAAc,OAAOD,KAAKtB,IAAIxB,IAAK,EAC9DE,GAAI,WAAY,GAAI4C,KAAKC,aAAc,OAAOD,KAAKtB,IAAItB,EAAG,EAE1D6D,QAAS,SAASC,EAASC,GACzB,GAAKnB,KAAKC,aAAV,CACA,IAAIZ,EAAQpE,EAAWmG,WAAWF,GAClClB,KAAKzD,IAAI8E,aAAahC,EAAOW,KAAKtB,IAAIxB,KAAM8C,KAAKtB,IAAItB,GAAI+D,GACzDnB,KAAKtB,IAAItB,GAAKhC,EAAI4E,KAAKtB,IAAIxB,KAAKT,KAAO4C,EAAMtD,OAAS,EACpCsD,EAAMA,EAAMtD,OAAS,GAAGA,QAA0B,GAAhBsD,EAAMtD,OAAciE,KAAKtB,IAAIxB,KAAKR,GAAK,GAJ7D,CAK/B,GAGHzB,EAAWqG,gBAAgB,mBAAmB,SAASpC,EAAOR,EAAKS,GACjE,OAAO,IAAIW,EAAaE,KAAKzD,IAAK2C,EAAOR,EAAKS,EAC/C,IACDlE,EAAWsG,mBAAmB,mBAAmB,SAASrC,EAAOR,EAAKS,GACpE,OAAO,IAAIW,EAAaE,KAAMd,EAAOR,EAAKS,EAC3C,IAEDlE,EAAWqG,gBAAgB,iBAAiB,SAASpC,EAAOC,GAG1D,IAFA,IAAIqC,EAAS,GACTC,EAAMzB,KAAK0B,gBAAgBxC,EAAOc,KAAK2B,UAAU,QAASxC,GACvDsC,EAAId,cACL1F,EAAW8F,OAAOU,EAAIrE,KAAM4C,KAAK2B,UAAU,OAAS,IACxDH,EAAOI,KAAK,CAACC,OAAQJ,EAAIvE,OAAQ4D,KAAMW,EAAIrE,OAEzCoE,EAAOzF,QACTiE,KAAK8B,cAAcN,EAAQ,EAC9B,GACF,CA3SGO,CAAIC,EAAQ,M","sources":["../node_modules/codemirror/addon/search/searchcursor.js"],"sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"))\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod)\n else // Plain browser env\n mod(CodeMirror)\n})(function(CodeMirror) {\n \"use strict\"\n var Pos = CodeMirror.Pos\n\n function regexpFlags(regexp) {\n var flags = regexp.flags\n return flags != null ? flags : (regexp.ignoreCase ? \"i\" : \"\")\n + (regexp.global ? \"g\" : \"\")\n + (regexp.multiline ? \"m\" : \"\")\n }\n\n function ensureFlags(regexp, flags) {\n var current = regexpFlags(regexp), target = current\n for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1)\n target += flags.charAt(i)\n return current == target ? regexp : new RegExp(regexp.source, target)\n }\n\n function maybeMultiline(regexp) {\n return /\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(regexp.source)\n }\n\n function searchRegexpForward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) {\n regexp.lastIndex = ch\n var string = doc.getLine(line), match = regexp.exec(string)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpForwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start)\n\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunk = 1\n for (var line = start.line, last = doc.lastLine(); line <= last;) {\n // This grows the search buffer in exponentially-sized chunks\n // between matches, so that nearby matches are fast and don't\n // require concatenating the whole document (in case we're\n // searching for something that has tons of matches), but at the\n // same time, the amount of retries is limited.\n for (var i = 0; i < chunk; i++) {\n if (line > last) break\n var curLine = doc.getLine(line++)\n string = string == null ? curLine : string + \"\\n\" + curLine\n }\n chunk = chunk * 2\n regexp.lastIndex = start.ch\n var match = regexp.exec(string)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n function lastMatchIn(string, regexp, endMargin) {\n var match, from = 0\n while (from <= string.length) {\n regexp.lastIndex = from\n var newMatch = regexp.exec(string)\n if (!newMatch) break\n var end = newMatch.index + newMatch[0].length\n if (end > string.length - endMargin) break\n if (!match || end > match.index + match[0].length)\n match = newMatch\n from = newMatch.index + 1\n }\n return match\n }\n\n function searchRegexpBackward(doc, regexp, start) {\n regexp = ensureFlags(regexp, \"g\")\n for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) {\n var string = doc.getLine(line)\n var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch)\n if (match)\n return {from: Pos(line, match.index),\n to: Pos(line, match.index + match[0].length),\n match: match}\n }\n }\n\n function searchRegexpBackwardMultiline(doc, regexp, start) {\n if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start)\n regexp = ensureFlags(regexp, \"gm\")\n var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch\n for (var line = start.line, first = doc.firstLine(); line >= first;) {\n for (var i = 0; i < chunkSize && line >= first; i++) {\n var curLine = doc.getLine(line--)\n string = string == null ? curLine : curLine + \"\\n\" + string\n }\n chunkSize *= 2\n\n var match = lastMatchIn(string, regexp, endMargin)\n if (match) {\n var before = string.slice(0, match.index).split(\"\\n\"), inside = match[0].split(\"\\n\")\n var startLine = line + before.length, startCh = before[before.length - 1].length\n return {from: Pos(startLine, startCh),\n to: Pos(startLine + inside.length - 1,\n inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length),\n match: match}\n }\n }\n }\n\n var doFold, noFold\n if (String.prototype.normalize) {\n doFold = function(str) { return str.normalize(\"NFD\").toLowerCase() }\n noFold = function(str) { return str.normalize(\"NFD\") }\n } else {\n doFold = function(str) { return str.toLowerCase() }\n noFold = function(str) { return str }\n }\n\n // Maps a position in a case-folded line back to a position in the original line\n // (compensating for codepoints increasing in number during folding)\n function adjustPos(orig, folded, pos, foldFunc) {\n if (orig.length == folded.length) return pos\n for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) {\n if (min == max) return min\n var mid = (min + max) >> 1\n var len = foldFunc(orig.slice(0, mid)).length\n if (len == pos) return mid\n else if (len > pos) max = mid\n else min = mid + 1\n }\n }\n\n function searchStringForward(doc, query, start, caseFold) {\n // Empty string would match anything and never progress, so we\n // define it to match nothing instead.\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) {\n var orig = doc.getLine(line).slice(ch), string = fold(orig)\n if (lines.length == 1) {\n var found = string.indexOf(lines[0])\n if (found == -1) continue search\n var start = adjustPos(orig, string, found, fold) + ch\n return {from: Pos(line, adjustPos(orig, string, found, fold) + ch),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)}\n } else {\n var cutFrom = string.length - lines[0].length\n if (string.slice(cutFrom) != lines[0]) continue search\n for (var i = 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(line + i)) != lines[i]) continue search\n var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1]\n if (endString.slice(0, lastLine.length) != lastLine) continue search\n return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch),\n to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))}\n }\n }\n }\n\n function searchStringBackward(doc, query, start, caseFold) {\n if (!query.length) return null\n var fold = caseFold ? doFold : noFold\n var lines = fold(query).split(/\\r|\\n\\r?/)\n\n search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) {\n var orig = doc.getLine(line)\n if (ch > -1) orig = orig.slice(0, ch)\n var string = fold(orig)\n if (lines.length == 1) {\n var found = string.lastIndexOf(lines[0])\n if (found == -1) continue search\n return {from: Pos(line, adjustPos(orig, string, found, fold)),\n to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))}\n } else {\n var lastLine = lines[lines.length - 1]\n if (string.slice(0, lastLine.length) != lastLine) continue search\n for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++)\n if (fold(doc.getLine(start + i)) != lines[i]) continue search\n var top = doc.getLine(line + 1 - lines.length), topString = fold(top)\n if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search\n return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)),\n to: Pos(line, adjustPos(orig, string, lastLine.length, fold))}\n }\n }\n }\n\n function SearchCursor(doc, query, pos, options) {\n this.atOccurrence = false\n this.afterEmptyMatch = false\n this.doc = doc\n pos = pos ? doc.clipPos(pos) : Pos(0, 0)\n this.pos = {from: pos, to: pos}\n\n var caseFold\n if (typeof options == \"object\") {\n caseFold = options.caseFold\n } else { // Backwards compat for when caseFold was the 4th argument\n caseFold = options\n options = null\n }\n\n if (typeof query == \"string\") {\n if (caseFold == null) caseFold = false\n this.matches = function(reverse, pos) {\n return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold)\n }\n } else {\n query = ensureFlags(query, \"gm\")\n if (!options || options.multiline !== false)\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos)\n }\n else\n this.matches = function(reverse, pos) {\n return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos)\n }\n }\n }\n\n SearchCursor.prototype = {\n findNext: function() {return this.find(false)},\n findPrevious: function() {return this.find(true)},\n\n find: function(reverse) {\n var head = this.doc.clipPos(reverse ? this.pos.from : this.pos.to);\n if (this.afterEmptyMatch && this.atOccurrence) {\n // do not return the same 0 width match twice\n head = Pos(head.line, head.ch)\n if (reverse) {\n head.ch--;\n if (head.ch < 0) {\n head.line--;\n head.ch = (this.doc.getLine(head.line) || \"\").length;\n }\n } else {\n head.ch++;\n if (head.ch > (this.doc.getLine(head.line) || \"\").length) {\n head.ch = 0;\n head.line++;\n }\n }\n if (CodeMirror.cmpPos(head, this.doc.clipPos(head)) != 0) {\n return this.atOccurrence = false\n }\n }\n var result = this.matches(reverse, head)\n this.afterEmptyMatch = result && CodeMirror.cmpPos(result.from, result.to) == 0\n\n if (result) {\n this.pos = result\n this.atOccurrence = true\n return this.pos.match || true\n } else {\n var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0)\n this.pos = {from: end, to: end}\n return this.atOccurrence = false\n }\n },\n\n from: function() {if (this.atOccurrence) return this.pos.from},\n to: function() {if (this.atOccurrence) return this.pos.to},\n\n replace: function(newText, origin) {\n if (!this.atOccurrence) return\n var lines = CodeMirror.splitLines(newText)\n this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin)\n this.pos.to = Pos(this.pos.from.line + lines.length - 1,\n lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0))\n }\n }\n\n CodeMirror.defineExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this.doc, query, pos, caseFold)\n })\n CodeMirror.defineDocExtension(\"getSearchCursor\", function(query, pos, caseFold) {\n return new SearchCursor(this, query, pos, caseFold)\n })\n\n CodeMirror.defineExtension(\"selectMatches\", function(query, caseFold) {\n var ranges = []\n var cur = this.getSearchCursor(query, this.getCursor(\"from\"), caseFold)\n while (cur.findNext()) {\n if (CodeMirror.cmpPos(cur.to(), this.getCursor(\"to\")) > 0) break\n ranges.push({anchor: cur.from(), head: cur.to()})\n }\n if (ranges.length)\n this.setSelections(ranges, 0)\n })\n});\n"],"names":["CodeMirror","doFold","noFold","Pos","regexpFlags","regexp","flags","ignoreCase","global","multiline","ensureFlags","current","target","i","length","indexOf","charAt","RegExp","source","maybeMultiline","test","searchRegexpForward","doc","start","line","ch","last","lastLine","lastIndex","string","getLine","match","exec","from","index","to","searchRegexpForwardMultiline","chunk","curLine","before","slice","split","inside","startLine","startCh","lastMatchIn","endMargin","newMatch","end","searchRegexpBackward","first","firstLine","searchRegexpBackwardMultiline","chunkSize","adjustPos","orig","folded","pos","foldFunc","min","max","Math","mid","len","searchStringForward","query","caseFold","fold","lines","search","found","cutFrom","endString","searchStringBackward","lastIndexOf","top","topString","SearchCursor","options","this","atOccurrence","afterEmptyMatch","clipPos","matches","reverse","String","prototype","normalize","str","toLowerCase","findNext","find","findPrevious","head","cmpPos","result","replace","newText","origin","splitLines","replaceRange","defineExtension","defineDocExtension","ranges","cur","getSearchCursor","getCursor","push","anchor","setSelections","mod","require"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(self.webpackChunkdashboard=self.webpackChunkdashboard||[]).push([[593,476],{1593:function(t,e,i){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(i(6246));i(476);var s=i(7350);o.default.registerHelper("hint","graphql",(function(t,e){var i=e.schema;if(i){var n=t.getCursor(),r=t.getTokenAt(n),c=null!==r.type&&/"|\w/.test(r.string[0])?r.start:r.end,l=new s.Position(n.line,c),h={list:s.getAutocompleteSuggestions(i,t.getValue(),l,r,e.externalFragments).map((function(t){return{text:t.label,type:t.type,description:t.documentation,isDeprecated:t.isDeprecated,deprecationReason:t.deprecationReason}})),from:{line:n.line,ch:c},to:{line:n.line,ch:r.end}};return h&&h.list&&h.list.length>0&&(h.from=o.default.Pos(h.from.line,h.from.ch),h.to=o.default.Pos(h.to.line,h.to.ch),o.default.signal(t,"hasCompletion",t,h,r)),h}}))},476:(t,e,i)=>{!function(t){"use strict";var e="CodeMirror-hint",i="CodeMirror-hint-active";function n(t,e){if(this.cm=t,this.options=e,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var i=this;t.on("cursorActivity",this.activityFunc=function(){i.cursorActivity()})}}t.showHint=function(t,e,i){if(!e)return t.showHint(i);i&&i.async&&(e.async=!0);var n={hint:e};if(i)for(var o in i)n[o]=i[o];return t.showHint(n)},t.defineExtension("showHint",(function(e){e=r(this,this.getCursor("start"),e);var i=this.listSelections();if(!(i.length>1)){if(this.somethingSelected()){if(!e.hint.supportsSelection)return;for(var o=0;o<i.length;o++)if(i[o].head.line!=i[o].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var s=this.state.completionActive=new n(this,e);s.options.hint&&(t.signal(this,"startCompletion",this),s.update(!0))}})),t.defineExtension("closeHint",(function(){this.state.completionActive&&this.state.completionActive.close()}));var o=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},s=window.cancelAnimationFrame||clearTimeout;function r(t,e,i){var n=t.options.hintOptions,o={};for(var s in p)o[s]=p[s];if(n)for(var s in n)void 0!==n[s]&&(o[s]=n[s]);if(i)for(var s in i)void 0!==i[s]&&(o[s]=i[s]);return o.hint.resolve&&(o.hint=o.hint.resolve(t,e)),o}function c(t){return"string"==typeof t?t:t.text}function l(t,e){var i={Up:function(){e.moveFocus(-1)},Down:function(){e.moveFocus(1)},PageUp:function(){e.moveFocus(1-e.menuSize(),!0)},PageDown:function(){e.moveFocus(e.menuSize()-1,!0)},Home:function(){e.setFocus(0)},End:function(){e.setFocus(e.length-1)},Enter:e.pick,Tab:e.pick,Esc:e.close};/Mac/.test(navigator.platform)&&(i["Ctrl-P"]=function(){e.moveFocus(-1)},i["Ctrl-N"]=function(){e.moveFocus(1)});var n=t.options.customKeys,o=n?{}:i;function s(t,n){var s;s="string"!=typeof n?function(t){return n(t,e)}:i.hasOwnProperty(n)?i[n]:n,o[t]=s}if(n)for(var r in n)n.hasOwnProperty(r)&&s(r,n[r]);var c=t.options.extraKeys;if(c)for(var r in c)c.hasOwnProperty(r)&&s(r,c[r]);return o}function h(t,e){for(;e&&e!=t;){if("LI"===e.nodeName.toUpperCase()&&e.parentNode==t)return e;e=e.parentNode}}function a(n,o){this.id="cm-complete-"+Math.floor(Math.random(1e6)),this.completion=n,this.data=o,this.picked=!1;var s=this,r=n.cm,a=r.getInputField().ownerDocument,u=a.defaultView||a.parentWindow,d=this.hints=a.createElement("ul");d.setAttribute("role","listbox"),d.setAttribute("aria-expanded","true"),d.id=this.id;var f=n.cm.options.theme;d.className="CodeMirror-hints "+f,this.selectedHint=o.selectedHint||0;for(var p=o.list,m=0;m<p.length;++m){var g=d.appendChild(a.createElement("li")),v=p[m],y=e+(m!=this.selectedHint?"":" "+i);null!=v.className&&(y=v.className+" "+y),g.className=y,m==this.selectedHint&&g.setAttribute("aria-selected","true"),g.id=this.id+"-"+m,g.setAttribute("role","option"),v.render?v.render(g,o,v):g.appendChild(a.createTextNode(v.displayText||c(v))),g.hintId=m}var w=n.options.container||a.body,b=r.cursorCoords(n.options.alignWithWord?o.from:null),A=b.left,H=b.bottom,C=!0,k=0,x=0;if(w!==a.body){var S=-1!==["absolute","relative","fixed"].indexOf(u.getComputedStyle(w).position)?w:w.offsetParent,T=S.getBoundingClientRect(),F=a.body.getBoundingClientRect();k=T.left-F.left-S.scrollLeft,x=T.top-F.top-S.scrollTop}d.style.left=A-k+"px",d.style.top=H-x+"px";var M=u.innerWidth||Math.max(a.body.offsetWidth,a.documentElement.offsetWidth),O=u.innerHeight||Math.max(a.body.offsetHeight,a.documentElement.offsetHeight);w.appendChild(d),r.getInputField().setAttribute("aria-autocomplete","list"),r.getInputField().setAttribute("aria-owns",this.id),r.getInputField().setAttribute("aria-activedescendant",this.id+"-"+this.selectedHint);var N,P=n.options.moveOnOverlap?d.getBoundingClientRect():new DOMRect,I=!!n.options.paddingForScrollbar&&d.scrollHeight>d.clientHeight+1;if(setTimeout((function(){N=r.getScrollInfo()})),P.bottom-O>0){var E=P.bottom-P.top;if(b.top-(b.bottom-P.top)-E>0)d.style.top=(H=b.top-E-x)+"px",C=!1;else if(E>O){d.style.height=O-5+"px",d.style.top=(H=b.bottom-P.top-x)+"px";var R=r.getCursor();o.from.ch!=R.ch&&(b=r.cursorCoords(R),d.style.left=(A=b.left-k)+"px",P=d.getBoundingClientRect())}}var W,B=P.right-M;if(I&&(B+=r.display.nativeBarWidth),B>0&&(P.right-P.left>M&&(d.style.width=M-5+"px",B-=P.right-P.left-M),d.style.left=(A=b.left-B-k)+"px"),I)for(var K=d.firstChild;K;K=K.nextSibling)K.style.paddingRight=r.display.nativeBarWidth+"px";r.addKeyMap(this.keyMap=l(n,{moveFocus:function(t,e){s.changeActive(s.selectedHint+t,e)},setFocus:function(t){s.changeActive(t)},menuSize:function(){return s.screenAmount()},length:p.length,close:function(){n.close()},pick:function(){s.pick()},data:o})),n.options.closeOnUnfocus&&(r.on("blur",this.onBlur=function(){W=setTimeout((function(){n.close()}),100)}),r.on("focus",this.onFocus=function(){clearTimeout(W)})),r.on("scroll",this.onScroll=function(){var t=r.getScrollInfo(),e=r.getWrapperElement().getBoundingClientRect();N||(N=r.getScrollInfo());var i=H+N.top-t.top,o=i-(u.pageYOffset||(a.documentElement||a.body).scrollTop);if(C||(o+=d.offsetHeight),o<=e.top||o>=e.bottom)return n.close();d.style.top=i+"px",d.style.left=A+N.left-t.left+"px"}),t.on(d,"dblclick",(function(t){var e=h(d,t.target||t.srcElement);e&&null!=e.hintId&&(s.changeActive(e.hintId),s.pick())})),t.on(d,"click",(function(t){var e=h(d,t.target||t.srcElement);e&&null!=e.hintId&&(s.changeActive(e.hintId),n.options.completeOnSingleClick&&s.pick())})),t.on(d,"mousedown",(function(){setTimeout((function(){r.focus()}),20)}));var L=this.getSelectedHintRange();return 0===L.from&&0===L.to||this.scrollToActive(),t.signal(o,"select",p[this.selectedHint],d.childNodes[this.selectedHint]),!0}function u(t,e){if(!t.somethingSelected())return e;for(var i=[],n=0;n<e.length;n++)e[n].supportsSelection&&i.push(e[n]);return i}function d(t,e,i,n){if(t.async)t(e,n,i);else{var o=t(e,i);o&&o.then?o.then(n):n(o)}}function f(e,i){var n,o=e.getHelpers(i,"hint");if(o.length){var s=function(t,e,i){var n=u(t,o);function s(o){if(o==n.length)return e(null);d(n[o],t,i,(function(t){t&&t.list.length>0?e(t):s(o+1)}))}s(0)};return s.async=!0,s.supportsSelection=!0,s}return(n=e.getHelper(e.getCursor(),"hintWords"))?function(e){return t.hint.fromList(e,{words:n})}:t.hint.anyword?function(e,i){return t.hint.anyword(e,i)}:function(){}}n.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.options.updateOnCursorActivity&&this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&t.signal(this.data,"close"),this.widget&&this.widget.close(),t.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(e,i){var n=e.list[i],o=this;this.cm.operation((function(){n.hint?n.hint(o.cm,e,n):o.cm.replaceRange(c(n),n.from||e.from,n.to||e.to,"complete"),t.signal(e,"pick",n),o.cm.scrollIntoView()})),this.options.closeOnPick&&this.close()},cursorActivity:function(){this.debounce&&(s(this.debounce),this.debounce=0);var t=this.startPos;this.data&&(t=this.data.from);var e=this.cm.getCursor(),i=this.cm.getLine(e.line);if(e.line!=this.startPos.line||i.length-e.ch!=this.startLen-this.startPos.ch||e.ch<t.ch||this.cm.somethingSelected()||!e.ch||this.options.closeCharacters.test(i.charAt(e.ch-1)))this.close();else{var n=this;this.debounce=o((function(){n.update()})),this.widget&&this.widget.disable()}},update:function(t){if(null!=this.tick){var e=this,i=++this.tick;d(this.options.hint,this.cm,this.options,(function(n){e.tick==i&&e.finishUpdate(n,t)}))}},finishUpdate:function(e,i){this.data&&t.signal(this.data,"update");var n=this.widget&&this.widget.picked||i&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=e,e&&e.list.length&&(n&&1==e.list.length?this.pick(e,0):(this.widget=new a(this,e),t.signal(e,"shown")))}},a.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode&&this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var t=this.completion.cm.getInputField();t.removeAttribute("aria-activedescendant"),t.removeAttribute("aria-owns");var e=this.completion.cm;this.completion.options.closeOnUnfocus&&(e.off("blur",this.onBlur),e.off("focus",this.onFocus)),e.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var t=this;this.keyMap={Enter:function(){t.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(e,n){if(e>=this.data.list.length?e=n?this.data.list.length-1:0:e<0&&(e=n?0:this.data.list.length-1),this.selectedHint!=e){var o=this.hints.childNodes[this.selectedHint];o&&(o.className=o.className.replace(" "+i,""),o.removeAttribute("aria-selected")),(o=this.hints.childNodes[this.selectedHint=e]).className+=" "+i,o.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",o.id),this.scrollToActive(),t.signal(this.data,"select",this.data.list[this.selectedHint],o)}},scrollToActive:function(){var t=this.getSelectedHintRange(),e=this.hints.childNodes[t.from],i=this.hints.childNodes[t.to],n=this.hints.firstChild;e.offsetTop<this.hints.scrollTop?this.hints.scrollTop=e.offsetTop-n.offsetTop:i.offsetTop+i.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=i.offsetTop+i.offsetHeight-this.hints.clientHeight+n.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var t=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-t),to:Math.min(this.data.list.length-1,this.selectedHint+t)}}},t.registerHelper("hint","auto",{resolve:f}),t.registerHelper("hint","fromList",(function(e,i){var n,o=e.getCursor(),s=e.getTokenAt(o),r=t.Pos(o.line,s.start),c=o;s.start<o.ch&&/\w/.test(s.string.charAt(o.ch-s.start-1))?n=s.string.substr(0,o.ch-s.start):(n="",r=o);for(var l=[],h=0;h<i.words.length;h++){var a=i.words[h];a.slice(0,n.length)==n&&l.push(a)}if(l.length)return{list:l,from:r,to:c}})),t.commands.autocomplete=t.showHint;var p={hint:t.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};t.defineOption("hintOptions",null)}(i(6246))}}]);
|
|
2
|
+
//# sourceMappingURL=593.3508dfb0.chunk.js.map
|