diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/0.54f08dac.png b/0.54f08dac.png new file mode 100644 index 0000000..b291f97 Binary files /dev/null and b/0.54f08dac.png differ diff --git a/1.8361e329.jpg b/1.8361e329.jpg new file mode 100644 index 0000000..ccb5b71 Binary files /dev/null and b/1.8361e329.jpg differ diff --git a/1.bcd16fd1.jpg b/1.bcd16fd1.jpg new file mode 100644 index 0000000..6ae3132 Binary files /dev/null and b/1.bcd16fd1.jpg differ diff --git a/2.09e20710.jpg b/2.09e20710.jpg new file mode 100644 index 0000000..95cfbbd Binary files /dev/null and b/2.09e20710.jpg differ diff --git a/2.79b033bd.jpg b/2.79b033bd.jpg new file mode 100644 index 0000000..98d684c Binary files /dev/null and b/2.79b033bd.jpg differ diff --git a/3.244a440c.jpg b/3.244a440c.jpg new file mode 100644 index 0000000..18ba946 Binary files /dev/null and b/3.244a440c.jpg differ diff --git a/3.334bb513.jpg b/3.334bb513.jpg new file mode 100644 index 0000000..332c45f Binary files /dev/null and b/3.334bb513.jpg differ diff --git a/3W.343e9c06.png b/3W.343e9c06.png new file mode 100644 index 0000000..70954af Binary files /dev/null and b/3W.343e9c06.png differ diff --git a/4.ae5bc98e.jpg b/4.ae5bc98e.jpg new file mode 100644 index 0000000..9e9739c Binary files /dev/null and b/4.ae5bc98e.jpg differ diff --git a/4.c55a5098.jpg b/4.c55a5098.jpg new file mode 100644 index 0000000..449e8fc Binary files /dev/null and b/4.c55a5098.jpg differ diff --git a/5.656cea07.jpg b/5.656cea07.jpg new file mode 100644 index 0000000..623cd32 Binary files /dev/null and b/5.656cea07.jpg differ diff --git a/5.b660aa49.jpg b/5.b660aa49.jpg new file mode 100644 index 0000000..ad56eb2 Binary files /dev/null and b/5.b660aa49.jpg differ diff --git a/6.60aeccfe.jpg b/6.60aeccfe.jpg new file mode 100644 index 0000000..b9e8199 Binary files /dev/null and b/6.60aeccfe.jpg differ diff --git a/6.da397600.jpg b/6.da397600.jpg new file mode 100644 index 0000000..c633b6b Binary files /dev/null and b/6.da397600.jpg differ diff --git a/7.6b53a2b5.jpg b/7.6b53a2b5.jpg new file mode 100644 index 0000000..0d5491f Binary files /dev/null and b/7.6b53a2b5.jpg differ diff --git a/7.f4500b56.jpg b/7.f4500b56.jpg new file mode 100644 index 0000000..b6e640b Binary files /dev/null and b/7.f4500b56.jpg differ diff --git a/8.42f8e777.jpg b/8.42f8e777.jpg new file mode 100644 index 0000000..597aeb0 Binary files /dev/null and b/8.42f8e777.jpg differ diff --git a/9.f9c67304.jpg b/9.f9c67304.jpg new file mode 100644 index 0000000..b39a32e Binary files /dev/null and b/9.f9c67304.jpg differ diff --git a/BBD.ed89ee43.png b/BBD.ed89ee43.png new file mode 100644 index 0000000..e3eeb7e Binary files /dev/null and b/BBD.ed89ee43.png differ diff --git a/BG-mountain.a40cd143.png b/BG-mountain.a40cd143.png new file mode 100644 index 0000000..8f75294 Binary files /dev/null and b/BG-mountain.a40cd143.png differ diff --git a/BG-points.a36cbcb5.png b/BG-points.a36cbcb5.png new file mode 100644 index 0000000..1352528 Binary files /dev/null and b/BG-points.a36cbcb5.png differ diff --git a/BW.0f2c33fb.png b/BW.0f2c33fb.png new file mode 100644 index 0000000..6533eed Binary files /dev/null and b/BW.0f2c33fb.png differ diff --git a/BaiCiZhan.259fa4d1.png b/BaiCiZhan.259fa4d1.png new file mode 100644 index 0000000..9f5e3e0 Binary files /dev/null and b/BaiCiZhan.259fa4d1.png differ diff --git a/BuyCode.5f20ce22.png b/BuyCode.5f20ce22.png new file mode 100644 index 0000000..7be626e Binary files /dev/null and b/BuyCode.5f20ce22.png differ diff --git a/CD-LUG.5d9dea2f.png b/CD-LUG.5d9dea2f.png new file mode 100644 index 0000000..10c9a42 Binary files /dev/null and b/CD-LUG.5d9dea2f.png differ diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..bec44eb --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +web-conf.dev diff --git a/Covariant Script.6b878a1e.png b/Covariant Script.6b878a1e.png new file mode 100644 index 0000000..78a28b7 Binary files /dev/null and b/Covariant Script.6b878a1e.png differ diff --git a/DKS.1c567b7f.png b/DKS.1c567b7f.png new file mode 100644 index 0000000..f080b52 Binary files /dev/null and b/DKS.1c567b7f.png differ diff --git a/Deepin.ae36ed8d.png b/Deepin.ae36ed8d.png new file mode 100644 index 0000000..5fc78ed Binary files /dev/null and b/Deepin.ae36ed8d.png differ diff --git a/DevEco.5b51c8ac.jpg b/DevEco.5b51c8ac.jpg new file mode 100644 index 0000000..a8713a2 Binary files /dev/null and b/DevEco.5b51c8ac.jpg differ diff --git a/FCC-CDC-v1-1.3b6b7068.png b/FCC-CDC-v1-1.3b6b7068.png new file mode 100644 index 0000000..b7fa715 Binary files /dev/null and b/FCC-CDC-v1-1.3b6b7068.png differ diff --git a/FCC-CDG-WeChat.70395ae7.png b/FCC-CDG-WeChat.70395ae7.png new file mode 100644 index 0000000..e5623b9 Binary files /dev/null and b/FCC-CDG-WeChat.70395ae7.png differ diff --git a/FCC-CDG.bf36daee.png b/FCC-CDG.bf36daee.png new file mode 100644 index 0000000..7ca70c1 Binary files /dev/null and b/FCC-CDG.bf36daee.png differ diff --git a/Fun loading.6e397c0c.png b/Fun loading.6e397c0c.png new file mode 100644 index 0000000..d3cf81b Binary files /dev/null and b/Fun loading.6e397c0c.png differ diff --git a/GDG.ca994c53.png b/GDG.ca994c53.png new file mode 100644 index 0000000..fc64cf9 Binary files /dev/null and b/GDG.ca994c53.png differ diff --git a/GT.27a90685.png b/GT.27a90685.png new file mode 100644 index 0000000..05d5759 Binary files /dev/null and b/GT.27a90685.png differ diff --git a/Guo DaFeng.6d7546f5.png b/Guo DaFeng.6d7546f5.png new file mode 100644 index 0000000..7d2750e Binary files /dev/null and b/Guo DaFeng.6d7546f5.png differ diff --git a/Guo LinShuo.12cd3b39.png b/Guo LinShuo.12cd3b39.png new file mode 100644 index 0000000..1a15c33 Binary files /dev/null and b/Guo LinShuo.12cd3b39.png differ diff --git a/H5DS.e8bb5317.png b/H5DS.e8bb5317.png new file mode 100644 index 0000000..20e6f6f Binary files /dev/null and b/H5DS.e8bb5317.png differ diff --git a/HCXY.6f490d1a.png b/HCXY.6f490d1a.png new file mode 100644 index 0000000..9165851 Binary files /dev/null and b/HCXY.6f490d1a.png differ diff --git a/Huang Yi.a58655d7.png b/Huang Yi.a58655d7.png new file mode 100644 index 0000000..4f78ea2 Binary files /dev/null and b/Huang Yi.a58655d7.png differ diff --git a/JRsquare.3938dff7.png b/JRsquare.3938dff7.png new file mode 100644 index 0000000..cd8c602 Binary files /dev/null and b/JRsquare.3938dff7.png differ diff --git a/KaiYuanShe.da310f52.png b/KaiYuanShe.da310f52.png new file mode 100644 index 0000000..da4ce55 Binary files /dev/null and b/KaiYuanShe.da310f52.png differ diff --git a/MZ.d0765924.png b/MZ.d0765924.png new file mode 100644 index 0000000..2f96302 Binary files /dev/null and b/MZ.d0765924.png differ diff --git a/Microsoft.1f15902a.png b/Microsoft.1f15902a.png new file mode 100644 index 0000000..54a86b6 Binary files /dev/null and b/Microsoft.1f15902a.png differ diff --git a/Monstarlab.412935c4.png b/Monstarlab.412935c4.png new file mode 100644 index 0000000..4c03440 Binary files /dev/null and b/Monstarlab.412935c4.png differ diff --git a/OS.58b63fb9.png b/OS.58b63fb9.png new file mode 100644 index 0000000..b13c84a Binary files /dev/null and b/OS.58b63fb9.png differ diff --git a/OpenSource.1df18182.png b/OpenSource.1df18182.png new file mode 100644 index 0000000..3958f57 Binary files /dev/null and b/OpenSource.1df18182.png differ diff --git a/PI6.1bc18258.png b/PI6.1bc18258.png new file mode 100644 index 0000000..7e602ef Binary files /dev/null and b/PI6.1bc18258.png differ diff --git a/QE.be8c3b0d.png b/QE.be8c3b0d.png new file mode 100644 index 0000000..21b8890 Binary files /dev/null and b/QE.be8c3b0d.png differ diff --git a/QRGJ.14ffed50.png b/QRGJ.14ffed50.png new file mode 100644 index 0000000..b1e23a8 Binary files /dev/null and b/QRGJ.14ffed50.png differ diff --git a/Quincy Larson.caaecba1.png b/Quincy Larson.caaecba1.png new file mode 100644 index 0000000..cc286de Binary files /dev/null and b/Quincy Larson.caaecba1.png differ diff --git a/React Admin.6c9f1934.png b/React Admin.6c9f1934.png new file mode 100644 index 0000000..81edef4 Binary files /dev/null and b/React Admin.6c9f1934.png differ diff --git a/React-ChengDu.10342ab9.jpg b/React-ChengDu.10342ab9.jpg new file mode 100644 index 0000000..1a4f69b Binary files /dev/null and b/React-ChengDu.10342ab9.jpg differ diff --git a/SF.c6f8e6e7.png b/SF.c6f8e6e7.png new file mode 100644 index 0000000..9be3131 Binary files /dev/null and b/SF.c6f8e6e7.png differ diff --git a/SYL.da34d90b.png b/SYL.da34d90b.png new file mode 100644 index 0000000..6e166cf Binary files /dev/null and b/SYL.da34d90b.png differ diff --git a/SegmentFault.9eb84f2a.png b/SegmentFault.9eb84f2a.png new file mode 100644 index 0000000..19bac30 Binary files /dev/null and b/SegmentFault.9eb84f2a.png differ diff --git a/Si Yue.fba3c144.png b/Si Yue.fba3c144.png new file mode 100644 index 0000000..02b92fa Binary files /dev/null and b/Si Yue.fba3c144.png differ diff --git a/TH.1178f233.png b/TH.1178f233.png new file mode 100644 index 0000000..7684013 Binary files /dev/null and b/TH.1178f233.png differ diff --git a/TW.0498d9bc.png b/TW.0498d9bc.png new file mode 100644 index 0000000..50c6930 Binary files /dev/null and b/TW.0498d9bc.png differ diff --git a/ThoughtWorks.a36bb1e9.png b/ThoughtWorks.a36bb1e9.png new file mode 100644 index 0000000..2d88079 Binary files /dev/null and b/ThoughtWorks.a36bb1e9.png differ diff --git a/UKylin.71e361fb.png b/UKylin.71e361fb.png new file mode 100644 index 0000000..efe8c9f Binary files /dev/null and b/UKylin.71e361fb.png differ diff --git a/Vena Network.a2781646.png b/Vena Network.a2781646.png new file mode 100644 index 0000000..1abf279 Binary files /dev/null and b/Vena Network.a2781646.png differ diff --git a/WORK.90e8ce09.png b/WORK.90e8ce09.png new file mode 100644 index 0000000..f3dc16b Binary files /dev/null and b/WORK.90e8ce09.png differ diff --git a/WebCell.48070487.png b/WebCell.48070487.png new file mode 100644 index 0000000..e3d33bb Binary files /dev/null and b/WebCell.48070487.png differ diff --git a/XinYaoHang.d3fe522f.png b/XinYaoHang.d3fe522f.png new file mode 100644 index 0000000..a648ff6 Binary files /dev/null and b/XinYaoHang.d3fe522f.png differ diff --git a/Xiong Jie.6367f3c4.png b/Xiong Jie.6367f3c4.png new file mode 100644 index 0000000..ef9fd3b Binary files /dev/null and b/Xiong Jie.6367f3c4.png differ diff --git a/Yu Che.f3526e5b.png b/Yu Che.f3526e5b.png new file mode 100644 index 0000000..0449d3f Binary files /dev/null and b/Yu Che.f3526e5b.png differ diff --git a/ZDK.fb7a5ccd.png b/ZDK.fb7a5ccd.png new file mode 100644 index 0000000..9bb6efd Binary files /dev/null and b/ZDK.fb7a5ccd.png differ diff --git a/account.38407711.csv b/account.38407711.csv new file mode 100644 index 0000000..0af07b6 --- /dev/null +++ b/account.38407711.csv @@ -0,0 +1,53 @@ +item ,price ,count ,manager ,date ,remark +AWS 赞助谈判午宴 ,-438 ,1 ,TechQuery ,2019-09-26 , +panky 公仔 ,-500 ,1 ,zhangyanling77 ,2019-10-17 ,打板 +panky 公仔 ,-34 ,300 ,zhangyanling77 ,2019-10-17 ,制作 +短信群发 ,-41 ,1 ,TechQuery ,2019-10-22 ,麦客表单 +10 日加速包 ,-109 ,1 ,TechQuery ,2019-10-23 ,麦客表单 +官网域名 ,-84.77 ,1 ,TechQuery ,2019-10-29 ,年费 +钻石赞助 ,+26353.24 ,1 ,miyaliu666 ,2019-11-05 ,阿里云 +AWS 赞助合同 ,-15 ,1 ,TechQuery ,2019-11-07 ,打印、邮寄 +1000 条短信配额 ,-93 ,2 ,TechQuery ,2019-11-11 ,麦客表单 +矿泉水 ,-17.5 ,40 ,zhangyanling77 ,2019-11-11 ,一件 12 瓶 +环保布袋 ,-10 ,100 ,candycats ,2019-11-11 ,制作 +桁架 ,-1500 ,1 ,candycats ,2019-11-11 , +纸质赠票 ,-1 ,60 ,candycats ,2019-11-11 , +自拍板 ,-50 ,2.76 ,candycats ,2019-11-11 ,平方米 +主会场租用费 ,-4800 ,2 ,TechQuery ,2019-11-12 , +分会场租用费 ,-480 ,1.625 ,TechQuery ,2019-11-12 , +参会者手环 ,-0.3 ,500 ,candycats ,2019-11-13 , +双面胶 ,-2 ,10 ,candycats ,2019-11-13 , +标识泡沫板 ,-50 ,6.5 ,candycats ,2019-11-13 ,讲台、舞台 +5号电池 ,-2.5 ,4 ,candycats ,2019-11-13 , +讲师住宿 ,-348 ,14 ,CanbingChen ,2019-11-15 ,大床房 +茶歇 ,-2000 ,2 ,candycats ,2019-11-16 , +16日工作午餐 ,-891 ,1 ,TechQuery ,2019-11-16 , +石膏像租用 ,-80 ,1 ,zhangyanling77 ,2019-11-16 ,Unity3D 工作坊 +16日晚宴 ,-1858 ,1 ,TechQuery ,2019-11-16 , +电源插线板 ,-128 ,1 ,kitety ,2019-11-17 ,公牛 +17日工作午餐 ,-555 ,1 ,TechQuery ,2019-11-17 , +环保布袋 ,+15 ,2.87 ,candycats ,2019-11-17 ,零售 +panky 公仔 ,+45 ,1 ,candycats ,2019-11-17 ,零售 +照片直播 ,-99 ,1 ,Akagilnc ,2019-11-19 , +场地方加班费 ,-4943.5 ,1 ,TechQuery ,2019-11-19 , +前排双日票 ,+320 ,31 ,TechQuery ,2019-11-19 , +标准双日票 ,+256 ,67 ,TechQuery ,2019-11-19 , +单日票(16日) ,+128 ,110 ,TechQuery ,2019-11-19 , +单日票(17日) ,+128 ,28 ,TechQuery ,2019-11-19 , +学生双日票 ,+128 ,2 ,TechQuery ,2019-11-19 , +学生单日票(16日) ,+64 ,5 ,TechQuery ,2019-11-19 , +支付平台手续费(费率 1.49%) ,-675.15 ,1 ,TechQuery ,2019-11-19 ,麦客表单 +讲师机票 ,-2218 ,1 ,TechQuery ,2019-11-19 ,陈森森 +讲师机票 ,-2304 ,1 ,TechQuery ,2019-11-19 ,朱凯迪 +讲师机票 ,-2290 ,1 ,TechQuery ,2019-11-19 ,陈成 +讲师机票 ,-2304 ,1 ,TechQuery ,2019-11-19 ,谢扬 +讲师机票 ,-2430 ,1 ,TechQuery ,2019-11-19 ,于航 +讲师差旅 ,-2147 ,1 ,TechQuery ,2019-11-19 ,郑佳炜 +讲师机票 ,-1480 ,1 ,TechQuery ,2019-11-19 ,贺师俊 +讲师高铁票 ,-96.5 ,2 ,TechQuery ,2019-11-19 ,唐刚 +讲师伴手礼 ,-156.4 ,21 ,phobal ,2019-11-19 ,廖记棒棒鸡 +讲师机票 ,-1630 ,1 ,TechQuery ,2019-11-20 ,李政洋 +讲师住宿 ,-553 ,1 ,TechQuery ,2019-11-20 ,李政洋 +讲师差旅 ,-3000 ,1 ,TechQuery ,2019-11-20 ,裴峰 +发票税费 ,-1450 ,1 ,miyaliu666 ,2019-11-20 , +铜牌赞助 ,+5000 ,1 ,miyaliu666 ,2019-11-25 ,AWS diff --git a/address.2d45661a.jpeg b/address.2d45661a.jpeg new file mode 100644 index 0000000..450ba30 Binary files /dev/null and b/address.2d45661a.jpeg differ diff --git a/banner.c8e98b18.jpg b/banner.c8e98b18.jpg new file mode 100644 index 0000000..33a810a Binary files /dev/null and b/banner.c8e98b18.jpg differ diff --git a/banner.d2590421.jpeg b/banner.d2590421.jpeg new file mode 100644 index 0000000..f3e5cfe Binary files /dev/null and b/banner.d2590421.jpeg differ diff --git a/baozun.75f58188.jpg b/baozun.75f58188.jpg new file mode 100644 index 0000000..2154fa0 Binary files /dev/null and b/baozun.75f58188.jpg differ diff --git a/bg.0a471f56.png b/bg.0a471f56.png new file mode 100644 index 0000000..46cdbf4 Binary files /dev/null and b/bg.0a471f56.png differ diff --git a/bg2.84c028b7.png b/bg2.84c028b7.png new file mode 100644 index 0000000..58d3904 Binary files /dev/null and b/bg2.84c028b7.png differ diff --git a/cdht.1a98fe03.png b/cdht.1a98fe03.png new file mode 100644 index 0000000..8f01499 Binary files /dev/null and b/cdht.1a98fe03.png differ diff --git a/cdhttv.95996f0d.png b/cdhttv.95996f0d.png new file mode 100644 index 0000000..171aea2 Binary files /dev/null and b/cdhttv.95996f0d.png differ diff --git a/cdkfx.45303dec.png b/cdkfx.45303dec.png new file mode 100644 index 0000000..fb44281 Binary files /dev/null and b/cdkfx.45303dec.png differ diff --git a/cdtv.cad3f6aa.png b/cdtv.cad3f6aa.png new file mode 100644 index 0000000..3e2fb0a Binary files /dev/null and b/cdtv.cad3f6aa.png differ diff --git a/cocoet.da319e74.png b/cocoet.da319e74.png new file mode 100644 index 0000000..bb81391 Binary files /dev/null and b/cocoet.da319e74.png differ diff --git a/en-US.1eee4986.js b/en-US.1eee4986.js new file mode 100644 index 0000000..a7ff36f --- /dev/null +++ b/en-US.1eee4986.js @@ -0,0 +1,2 @@ +(0,globalThis.parcelRequire2198.register)("6cv5F",function(e,r){Object.defineProperty(e.exports,"__esModule",{value:!0,configurable:!0}),Object.defineProperty(e.exports,"default",{get:()=>i,set:void 0,enumerable:!0,configurable:!0});var i={review:"review",register:"register"}}); +//# sourceMappingURL=en-US.1eee4986.js.map diff --git a/en-US.1eee4986.js.map b/en-US.1eee4986.js.map new file mode 100644 index 0000000..243fc65 --- /dev/null +++ b/en-US.1eee4986.js.map @@ -0,0 +1 @@ +{"mappings":"A,C,E,A,A,W,iB,C,Q,A,E,Q,S,C,C,C,E,O,c,C,E,O,C,a,C,M,C,E,a,C,C,G,O,c,C,E,O,C,U,C,I,I,E,I,K,E,W,C,E,a,C,C,GCAA,IAAA,EAAe,CACX,OAAQ,SACR,SAAU,UACJ,C","sources":["","source/i18n/en-US.ts"],"sourcesContent":["\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true, configurable: true});\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n var parcelRequire = $parcel$global[\"parcelRequire2198\"];\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"6cv5F\", function(module, exports) {\n\n$parcel$defineInteropFlag(module.exports);\n\n$parcel$export(module.exports, \"default\", () => $483bfafba102a922$export$2e2bcd8739ae039);\nvar $483bfafba102a922$export$2e2bcd8739ae039 = {\n review: \"review\",\n register: \"register\"\n};\n\n});\n\n\n//# sourceMappingURL=en-US.1eee4986.js.map\n","export default {\n review: 'review',\n register: 'register'\n} as const;\n"],"names":["parcelRequire","$parcel$global","globalThis","register","module","exports","Object","defineProperty","value","configurable","get","$483bfafba102a922$export$2e2bcd8739ae039","set","s","enumerable","review"],"version":3,"file":"en-US.1eee4986.js.map"} \ No newline at end of file diff --git a/epubit.c1d8c5b0.png b/epubit.c1d8c5b0.png new file mode 100644 index 0000000..db0724a Binary files /dev/null and b/epubit.c1d8c5b0.png differ diff --git a/fanxiaobin.ddf67f59.jpg b/fanxiaobin.ddf67f59.jpg new file mode 100644 index 0000000..50923db Binary files /dev/null and b/fanxiaobin.ddf67f59.jpg differ diff --git a/favicon.11945285.ico b/favicon.11945285.ico new file mode 100644 index 0000000..3ec62dd Binary files /dev/null and b/favicon.11945285.ico differ diff --git a/fezaoduke.fb7a5ccd.png b/fezaoduke.fb7a5ccd.png new file mode 100644 index 0000000..9bb6efd Binary files /dev/null and b/fezaoduke.fb7a5ccd.png differ diff --git a/first.db3f3b7f.png b/first.db3f3b7f.png new file mode 100644 index 0000000..1c82e12 Binary files /dev/null and b/first.db3f3b7f.png differ diff --git a/fm940.57af6fef.png b/fm940.57af6fef.png new file mode 100644 index 0000000..89e29ba Binary files /dev/null and b/fm940.57af6fef.png differ diff --git a/github.dc076018.png b/github.dc076018.png new file mode 100644 index 0000000..1d2f5cf Binary files /dev/null and b/github.dc076018.png differ diff --git a/groupManager.fe1f2f18.jpeg b/groupManager.fe1f2f18.jpeg new file mode 100644 index 0000000..36cb955 Binary files /dev/null and b/groupManager.fe1f2f18.jpeg differ diff --git a/guest0.4d4bc1b3.jpeg b/guest0.4d4bc1b3.jpeg new file mode 100644 index 0000000..abae3a5 Binary files /dev/null and b/guest0.4d4bc1b3.jpeg differ diff --git a/guest1.2a8b98da.jpeg b/guest1.2a8b98da.jpeg new file mode 100644 index 0000000..5885d26 Binary files /dev/null and b/guest1.2a8b98da.jpeg differ diff --git a/guest2.00af3133.jpeg b/guest2.00af3133.jpeg new file mode 100644 index 0000000..47f67cc Binary files /dev/null and b/guest2.00af3133.jpeg differ diff --git a/guest3.5816bb0c.jpeg b/guest3.5816bb0c.jpeg new file mode 100644 index 0000000..3b0c865 Binary files /dev/null and b/guest3.5816bb0c.jpeg differ diff --git a/guest4.34a81f15.jpeg b/guest4.34a81f15.jpeg new file mode 100644 index 0000000..cb945c5 Binary files /dev/null and b/guest4.34a81f15.jpeg differ diff --git a/guest5.b6b6c69f.jpeg b/guest5.b6b6c69f.jpeg new file mode 100644 index 0000000..09c042a Binary files /dev/null and b/guest5.b6b6c69f.jpeg differ diff --git a/guest6.1ee21076.jpeg b/guest6.1ee21076.jpeg new file mode 100644 index 0000000..dac1832 Binary files /dev/null and b/guest6.1ee21076.jpeg differ diff --git a/guest7.ea35a4b4.jpeg b/guest7.ea35a4b4.jpeg new file mode 100644 index 0000000..5cc32c5 Binary files /dev/null and b/guest7.ea35a4b4.jpeg differ diff --git a/hushenquan.3bc3a3e8.jpg b/hushenquan.3bc3a3e8.jpg new file mode 100644 index 0000000..ed8650d Binary files /dev/null and b/hushenquan.3bc3a3e8.jpg differ diff --git a/index.5f0288b6.css b/index.5f0288b6.css new file mode 100644 index 0000000..821f444 --- /dev/null +++ b/index.5f0288b6.css @@ -0,0 +1,2 @@ +.scrollbar-none::-webkit-scrollbar{display:none}._9r4TSW_card{min-width:20rem;max-width:20rem;transition:all .25s}@media (width<=991px){._9r4TSW_card{min-width:100%;max-width:100%}}._9r4TSW_card:hover{transform:scale(1.1)}._9r4TSW_card img{height:15rem}@media (width>=992px) and (width<=1200px){._9r4TSW_card img{height:12rem}}@media (width<=991px){._9r4TSW_card img{height:auto}}.B7epaG_heading{letter-spacing:-.05rem;font-weight:300;line-height:1}@media (width>=40em){.B7epaG_heading{font-size:50px}}@media (width>=62em){.B7epaG_heading{margin-top:7rem}}.hQtIPa_web-content{width:80%;margin:48px auto auto}.hQtIPa_introduce{width:80%;height:auto;margin:auto}.hQtIPa_logos a{width:210px;height:70px;padding:.2em .8em}.hQtIPa_footer{text-align:center;box-sizing:border-box;background-color:#f7fbfd;width:100%;padding:32px 10%}.hQtIPa_footer p,.hQtIPa_footer a{color:#444;font-size:14px}.hQtIPa_qrcode{width:160px;margin:15px;display:inline-block}@media (width<=768px){.hQtIPa_logo img{width:140%;margin-left:-20%}.hQtIPa_introduce{padding:0 0 20px}.hQtIPa_introduce p{font-size:12px;line-height:18px}.hQtIPa_logos ul,.hQtIPa_logos ul li{margin:10px 0}}@media (width<=480px){.hQtIPa_web-content{width:90%;margin-top:36px}.hQtIPa_logos a{width:140px;height:50px}.hQtIPa_logos img{max-width:140px;max-height:50px}}.root_bb4793{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;font-family:PingFang SC,Lantinghei SC,Helvetica Neue,Helvetica,Arial,Microsoft YaHei,STHeitiSC-Light,simsun,"sans-serif";font-weight:400;line-height:1.8;-moz-text-size-adjust:100%!important;text-size-adjust:100%!important}.root_bb4793 a,.root_bb4793 a:visited{color:#222}.root_bb4793 a:hover{color:#666}.root_bb4793 a.btn-primary_bb4793{color:#fff;background-color:#246af7}.root_bb4793>section{margin:0;padding:100px 0}.root_bb4793 tbody{counter-reset:index}.root_bb4793 tbody td:first-child:before{counter-increment:index;content:counter(index)}@media screen and (width<=767.98px){.root_bb4793{font-size:14px;line-height:1.6}.root_bb4793>section{padding:50px 0}}.poster_bb4793{width:100%;min-height:600px;margin:0;padding:0;position:relative}.poster_bb4793 .navbar-toggler_bb4793{background:#f8f9fa}@media screen and (width>=767.98px){.poster_bb4793 .navbar_bb4793{background:#f8f9fa}}@media screen and (width<=767.98px){.poster_bb4793{min-height:100px}.poster_bb4793 .navbar-nav_bb4793{background:#246af7;width:160px;padding:10px;box-shadow:1px 1px 10px 3px #aaa}.poster_bb4793 .navbar-light_bb4793 .navbar-nav_bb4793 .nav-link_bb4793{color:#fff}}.avatar_bb4793{border-radius:64px;width:128px;height:128px}.avatar-sm_bb4793{border-radius:44px;width:88px;height:88px}.sparked_bb4793{text-align:center;background:#fff url(bg.0a471f56.png);border-top:1px solid #eee;border-bottom:1px solid #eee}.lecture_bb4793{background:#fff;border:1px solid #eee;height:30rem;padding:25px 15px;overflow:hidden}.lecture_bb4793 .lecture-name_bb4793{font-weight:700}.lecture_bb4793 .lecture-intro_bb4793{color:#666;text-align:left;max-height:18rem;font-size:14px;overflow:auto}@media (width<=768px){.lecture_bb4793{height:auto}}@media screen and (width<=767.98px){.subjects_bb4793{padding-left:0}.subjects_bb4793>li{border-bottom:1px dotted #eee;padding:15px}.subjects_bb4793>li>div:first-child{text-align:center;margin-bottom:15px}.subjects_bb4793>li>div>h5{text-align:center;margin:15px 0}}@media screen and (width>=767.98px){.subjects_bb4793:after{content:"";z-index:-1;opacity:.3;background:#fff url(undraw_02.1703e127.png) 100% no-repeat;position:absolute;inset:0 -200px 0 0}.subjects_bb4793>li{justify-content:flex-start;padding:25px 0;display:flex}.subjects_bb4793>li>div:first-child{border-right:1px solid #eee;margin-right:15px;padding:0 15px}}.subjects_bb4793>li>.avatar_bb4793{flex-grow:0;flex-shrink:0;margin-right:15px}.subjects_bb4793>li p{font-size:14px}.subjects_bb4793>li p h6{margin:.5rem 0}@media screen and (width>=767.98px){.photos_bb4793:not(:last-child){margin-bottom:25px}}@media screen and (width<=767.98px){.photos_bb4793>div{margin-bottom:15px}td{font-size:12px}}#CallInAction,#CallInAction>*{position:relative}#CallInAction:before{content:"";background:url(bg2.84c028b7.png) 50% calc(100% + 24px)/30% no-repeat;position:absolute;inset:0}@media screen and (width<=767.98px){#CallInAction:before{background:0 0}}#Bazaar .card-img-top{padding:1rem}#Bazaar .card-title>*{vertical-align:middle;display:inline-block}#Bazaar .card-text{max-height:15rem;font-size:12px;overflow:auto}#Bazaar .card{position:relative}#Bazaar .card .cr{text-align:center;color:#f0f0f0;width:200px;padding:8px;position:absolute}#Bazaar .card .cr-top{top:15px}#Bazaar .card .cr-right{right:-70px}#Bazaar .card .cr-top.cr-right{transform:rotate(45deg)}#Bazaar .card .cr-blue{background-color:#236bf7cc}#Bazaar .card .cr-red{background-color:#f84759}@media (width>=577px) and (width<=768px){#Bazaar .card-columns{column-count:2}}#Review .row>*{padding:.7rem 1rem}.companies_bb4793>li{border:1px dashed #ddd}.companies_bb4793>li:hover{background:#fafafa}.contributorGroup_bb4793 h5{color:#666}.contributorGroup_bb4793 img{flex-flow:0}.contributorGroup_bb4793 p{color:#999;font-size:12px}.footer_bb4793 .qrcode_bb4793{color:#333;font-size:12px}@media screen and (width>=767.98px){.footer_bb4793{height:240px}.footer_bb4793 .qrcode_bb4793{float:right;width:128px;height:128px}}.cqVWBq_Detail{color:#fffc;background:linear-gradient(#000b19,#04101e)}.cqVWBq_main-title:before{content:"";background:#5583f6;width:3rem;height:3px;margin-bottom:1.8rem;margin-left:-3rem;padding-left:3rem;display:block}.cqVWBq_register{background-image:linear-gradient(90deg,#275bf3,#577ede);margin:1.8rem 0}.cqVWBq_line-center:after{content:"";border:1px solid #5583f6;width:2rem;margin:2rem auto auto;display:block}.cqVWBq_card-title{color:#fff;white-space:nowrap;text-align:center;background-color:#000;border:2px solid #2557c8;padding:3.5rem}.cqVWBq_card-content{border:1px solid #182536;padding:3rem 9%;line-height:2.5rem}.cqVWBq_rule-list{text-align:left;background:linear-gradient(90deg,#275bf3,#577ede);border-radius:4px;width:80%;margin:2rem auto;padding:2rem 4rem;line-height:3rem}.cqVWBq_guest{text-align:left;background:#021024;border-radius:4px;min-height:15rem;margin:5rem .1rem 0;padding:15px;font-size:1rem}.cqVWBq_guest:first-child{margin-left:0}.cqVWBq_guest-avatar{border:2px solid #fff;width:8rem;min-height:8rem;margin-top:-3rem;display:inline-block}.cqVWBq_guest-title{vertical-align:bottom;margin-left:.5rem;line-height:2rem;display:inline-block}.cqVWBq_guest-role{color:#2b57c9}.cqVWBq_guest-identity{color:#696f79}.cqVWBq_guest-describe{margin-top:20px;line-height:1.6rem}.cqVWBq_Sponsor{border:1px solid #1b439a;position:relative;top:.5rem;left:.5rem;padding:0!important}.cqVWBq_Sponsor>*{text-align:left;border:1px solid #141e2b;padding:5%;font-size:1.2rem;position:relative;top:-1rem;left:-1rem}.cqVWBq_Sponsor h5{color:#1b49ac;font-size:1.6rem}.cqVWBq_Sponsor ul{margin-top:2rem}.cqVWBq_Sponsor li{color:#fff;font-size:1.1rem;font-weight:700;line-height:2.5rem}@media (width<=768px){.cqVWBq_card-title{height:5rem;padding-top:.5rem}.cqVWBq_card-content{padding:2rem 1rem 1rem}.cqVWBq_card-content ul li{margin-top:.8rem;font-size:1.4rem}.cqVWBq_guest{min-height:1rem;padding:15px 0}.cqVWBq_guest .cqVWBq_guest-avatar{border:2px solid #fff;width:5rem;height:5rem;margin-top:-3rem;display:inline-block}.cqVWBq_line-center:after{margin-top:.8rem}ul li{line-height:1.8rem}.cqVWBq_Sponsor{margin-bottom:3rem}.cqVWBq_Sponsor ul{margin-top:0;margin-bottom:2rem}.cqVWBq_rule-list{min-height:1rem;padding:4rem 2rem;font-size:12px;line-height:2rem}}.X1o3xW_topic{min-width:25rem;max-width:25rem;margin:1.5rem auto auto}@media (width<=25rem){.X1o3xW_topic{min-width:100%;max-width:100%}}.CqZazW_box{background:#0c0eae}.CqZazW_cover{top:0;left:0} +/*# sourceMappingURL=index.5f0288b6.css.map */ diff --git a/index.5f0288b6.css.map b/index.5f0288b6.css.map new file mode 100644 index 0000000..cd2aed5 --- /dev/null +++ b/index.5f0288b6.css.map @@ -0,0 +1 @@ +{"mappings":"ACAA,gDCAA,kEAGI,sBAAA,6CAKA,yCARJ,+BAaQ,0CAAA,gCAGA,sBAAA,+BChBR,qEAII,qBAAA,gCAGA,qBAAA,iCCPJ,oDAMA,oDAQA,0DAMA,4GAAA,4DAaA,4DAMA,sBACI,6CAIA,mCAGA,oDAIA,oDAMJ,sBACI,8CAIA,wCAIA,mDClEJ,2TAAA,iDAAA,gCAAA,sEAsBI,8CAtBJ,uCAAA,wFAmCA,oCACI,4CAII,qCAKR,gFAAA,yDAWA,oCACI,kDAIJ,oCACI,gCAAA,+GAAA,oFAcJ,2DAKA,4DAMA,+IAMA,qGAAA,qDAAA,+GAkBA,sBACI,6BAIJ,oCACI,gCAEI,+DAIQ,yEAIA,4DAQhB,oCAEQ,yKAWA,2EAII,kGASR,+EADJ,qCAAA,wCAaA,oCACI,oDAIJ,oCACI,sCAKA,mBADJ,gD,gJ,oCAoBI,qC,mC,iE,iE,gC,4F,+B,oC,uD,kD,+C,yCA4CA,sC,kC,4C,8C,uC,yC,qD,wD,oCA+BJ,4B,oECtRA,uEAKA,qJAUA,yFASA,6GASA,iIAQA,iFAMA,oKAWA,oIAWI,wCAIJ,4GAOA,kGASA,iCAGA,qCAGA,0DAMA,oGAMI,8HANJ,kDAAA,mCAAA,kFAqCA,sBAuBI,iDAIA,4CAAA,6DAaA,6CAAA,sHAaA,2CAIA,yBAKA,mCAAA,mDAOA,qFC/MJ,sEAMA,sBACI,6CCPJ,+BAGA","sources":["index.5f0288b6.css","source/index.less","source/page/Home.module.less","source/component/Feature.module.less","source/page/2017/index.module.less","source/page/2018/index.module.less","source/page/2018-Code4City/index.module.less","source/page/2019/TopicGroup.module.less","source/page/2019/InvitationCard.module.less"],"sourcesContent":[".scrollbar-none::-webkit-scrollbar {\n display: none;\n}\n\n._9r4TSW_card {\n min-width: 20rem;\n max-width: 20rem;\n transition: all .25s;\n}\n\n@media (width <= 991px) {\n ._9r4TSW_card {\n min-width: 100%;\n max-width: 100%;\n }\n}\n\n._9r4TSW_card:hover {\n transform: scale(1.1);\n}\n\n._9r4TSW_card img {\n height: 15rem;\n}\n\n@media (width >= 992px) and (width <= 1200px) {\n ._9r4TSW_card img {\n height: 12rem;\n }\n}\n\n@media (width <= 991px) {\n ._9r4TSW_card img {\n height: auto;\n }\n}\n\n.B7epaG_heading {\n letter-spacing: -.05rem;\n font-weight: 300;\n line-height: 1;\n}\n\n@media (width >= 40em) {\n .B7epaG_heading {\n font-size: 50px;\n }\n}\n\n@media (width >= 62em) {\n .B7epaG_heading {\n margin-top: 7rem;\n }\n}\n\n.hQtIPa_web-content {\n width: 80%;\n margin: 48px auto auto;\n}\n\n.hQtIPa_introduce {\n width: 80%;\n height: auto;\n margin: auto;\n}\n\n.hQtIPa_logos a {\n width: 210px;\n height: 70px;\n padding: .2em .8em;\n}\n\n.hQtIPa_footer {\n text-align: center;\n box-sizing: border-box;\n background-color: #f7fbfd;\n width: 100%;\n padding: 32px 10%;\n}\n\n.hQtIPa_footer p, .hQtIPa_footer a {\n color: #444;\n font-size: 14px;\n}\n\n.hQtIPa_qrcode {\n width: 160px;\n margin: 15px;\n display: inline-block;\n}\n\n@media (width <= 768px) {\n .hQtIPa_logo img {\n width: 140%;\n margin-left: -20%;\n }\n\n .hQtIPa_introduce {\n padding: 0 0 20px;\n }\n\n .hQtIPa_introduce p {\n font-size: 12px;\n line-height: 18px;\n }\n\n .hQtIPa_logos ul, .hQtIPa_logos ul li {\n margin: 10px 0;\n }\n}\n\n@media (width <= 480px) {\n .hQtIPa_web-content {\n width: 90%;\n margin-top: 36px;\n }\n\n .hQtIPa_logos a {\n width: 140px;\n height: 50px;\n }\n\n .hQtIPa_logos img {\n max-width: 140px;\n max-height: 50px;\n }\n}\n\n.root_bb4793 {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n color: #333;\n font-family: PingFang SC, Lantinghei SC, Helvetica Neue, Helvetica, Arial, Microsoft YaHei, STHeitiSC-Light, simsun, \"sans-serif\";\n font-weight: 400;\n line-height: 1.8;\n -moz-text-size-adjust: 100% !important;\n text-size-adjust: 100% !important;\n}\n\n.root_bb4793 a, .root_bb4793 a:visited {\n color: #222;\n}\n\n.root_bb4793 a:hover {\n color: #666;\n}\n\n.root_bb4793 a.btn-primary_bb4793 {\n color: #fff;\n background-color: #246af7;\n}\n\n.root_bb4793 > section {\n margin: 0;\n padding: 100px 0;\n}\n\n.root_bb4793 tbody {\n counter-reset: index;\n}\n\n.root_bb4793 tbody td:first-child:before {\n counter-increment: index;\n content: counter(index);\n}\n\n@media screen and (width <= 767.98px) {\n .root_bb4793 {\n font-size: 14px;\n line-height: 1.6;\n }\n\n .root_bb4793 > section {\n padding: 50px 0;\n }\n}\n\n.poster_bb4793 {\n width: 100%;\n min-height: 600px;\n margin: 0;\n padding: 0;\n position: relative;\n}\n\n.poster_bb4793 .navbar-toggler_bb4793 {\n background: #f8f9fa;\n}\n\n@media screen and (width >= 767.98px) {\n .poster_bb4793 .navbar_bb4793 {\n background: #f8f9fa;\n }\n}\n\n@media screen and (width <= 767.98px) {\n .poster_bb4793 {\n min-height: 100px;\n }\n\n .poster_bb4793 .navbar-nav_bb4793 {\n background: #246af7;\n width: 160px;\n padding: 10px;\n box-shadow: 1px 1px 10px 3px #aaa;\n }\n\n .poster_bb4793 .navbar-light_bb4793 .navbar-nav_bb4793 .nav-link_bb4793 {\n color: #fff;\n }\n}\n\n.avatar_bb4793 {\n border-radius: 64px;\n width: 128px;\n height: 128px;\n}\n\n.avatar-sm_bb4793 {\n border-radius: 44px;\n width: 88px;\n height: 88px;\n}\n\n.sparked_bb4793 {\n text-align: center;\n background: #fff url(\"bg.0a471f56.png\") 0 0;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n}\n\n.lecture_bb4793 {\n background: #fff;\n border: 1px solid #eee;\n height: 30rem;\n padding: 25px 15px;\n overflow: hidden;\n}\n\n.lecture_bb4793 .lecture-name_bb4793 {\n font-weight: bold;\n}\n\n.lecture_bb4793 .lecture-intro_bb4793 {\n color: #666;\n text-align: left;\n max-height: 18rem;\n font-size: 14px;\n overflow: auto;\n}\n\n@media (width <= 768px) {\n .lecture_bb4793 {\n height: auto;\n }\n}\n\n@media screen and (width <= 767.98px) {\n .subjects_bb4793 {\n padding-left: 0;\n }\n\n .subjects_bb4793 > li {\n border-bottom: 1px dotted #eee;\n padding: 15px;\n }\n\n .subjects_bb4793 > li > div:first-child {\n text-align: center;\n margin-bottom: 15px;\n }\n\n .subjects_bb4793 > li > div > h5 {\n text-align: center;\n margin: 15px 0;\n }\n}\n\n@media screen and (width >= 767.98px) {\n .subjects_bb4793:after {\n content: \"\";\n z-index: -1;\n opacity: .3;\n background: #fff url(\"undraw_02.1703e127.png\") 100% no-repeat;\n position: absolute;\n inset: 0 -200px 0 0;\n }\n\n .subjects_bb4793 > li {\n justify-content: flex-start;\n padding: 25px 0;\n display: flex;\n }\n\n .subjects_bb4793 > li > div:first-child {\n border-right: 1px solid #eee;\n margin-right: 15px;\n padding: 0 15px;\n }\n}\n\n.subjects_bb4793 > li > .avatar_bb4793 {\n flex-grow: 0;\n flex-shrink: 0;\n margin-right: 15px;\n}\n\n.subjects_bb4793 > li p {\n font-size: 14px;\n}\n\n.subjects_bb4793 > li p h6 {\n margin: .5rem 0;\n}\n\n@media screen and (width >= 767.98px) {\n .photos_bb4793:not(:last-child) {\n margin-bottom: 25px;\n }\n}\n\n@media screen and (width <= 767.98px) {\n .photos_bb4793 > div {\n margin-bottom: 15px;\n }\n\n td {\n font-size: 12px;\n }\n}\n\n#CallInAction, #CallInAction > * {\n position: relative;\n}\n\n#CallInAction:before {\n content: \"\";\n background: url(\"bg2.84c028b7.png\") 50% calc(100% + 24px) / 30% no-repeat;\n position: absolute;\n inset: 0;\n}\n\n@media screen and (width <= 767.98px) {\n #CallInAction:before {\n background: none;\n }\n}\n\n#Bazaar .card-img-top {\n padding: 1rem;\n}\n\n#Bazaar .card-title > * {\n vertical-align: middle;\n display: inline-block;\n}\n\n#Bazaar .card-text {\n max-height: 15rem;\n font-size: 12px;\n overflow: auto;\n}\n\n#Bazaar .card {\n position: relative;\n}\n\n#Bazaar .card .cr {\n text-align: center;\n color: #f0f0f0;\n width: 200px;\n padding: 8px;\n position: absolute;\n}\n\n#Bazaar .card .cr-top {\n top: 15px;\n}\n\n#Bazaar .card .cr-right {\n right: -70px;\n}\n\n#Bazaar .card .cr-top.cr-right {\n transform: rotate(45deg);\n}\n\n#Bazaar .card .cr-blue {\n background-color: #236bf7cc;\n}\n\n#Bazaar .card .cr-red {\n background-color: #f84759;\n}\n\n@media (width >= 577px) and (width <= 768px) {\n #Bazaar .card-columns {\n column-count: 2;\n }\n}\n\n#Review .row > * {\n padding: .7rem 1rem;\n}\n\n.companies_bb4793 > li {\n border: 1px dashed #ddd;\n}\n\n.companies_bb4793 > li:hover {\n background: #fafafa;\n}\n\n.contributorGroup_bb4793 h5 {\n color: #666;\n}\n\n.contributorGroup_bb4793 img {\n flex-flow: 0;\n}\n\n.contributorGroup_bb4793 p {\n color: #999;\n font-size: 12px;\n}\n\n.footer_bb4793 .qrcode_bb4793 {\n color: #333;\n font-size: 12px;\n}\n\n@media screen and (width >= 767.98px) {\n .footer_bb4793 {\n height: 240px;\n }\n\n .footer_bb4793 .qrcode_bb4793 {\n float: right;\n width: 128px;\n height: 128px;\n }\n}\n\n.cqVWBq_Detail {\n color: #fffc;\n background: linear-gradient(#000b19, #04101e);\n}\n\n.cqVWBq_main-title:before {\n content: \"\";\n background: #5583f6;\n width: 3rem;\n height: 3px;\n margin-bottom: 1.8rem;\n margin-left: -3rem;\n padding-left: 3rem;\n display: block;\n}\n\n.cqVWBq_register {\n background-image: linear-gradient(to right, #275bf3, #577ede);\n margin: 1.8rem 0;\n}\n\n.cqVWBq_line-center:after {\n content: \"\";\n border: 1px solid #5583f6;\n width: 2rem;\n margin: 2rem auto auto;\n display: block;\n}\n\n.cqVWBq_card-title {\n color: #fff;\n white-space: nowrap;\n text-align: center;\n background-color: #000;\n border: 2px solid #2557c8;\n padding: 3.5rem;\n}\n\n.cqVWBq_card-content {\n border: 1px solid #182536;\n padding: 3rem 9%;\n line-height: 2.5rem;\n}\n\n.cqVWBq_rule-list {\n text-align: left;\n background: linear-gradient(to right, #275bf3, #577ede);\n border-radius: 4px;\n width: 80%;\n margin: 2rem auto;\n padding: 2rem 4rem;\n line-height: 3rem;\n}\n\n.cqVWBq_guest {\n text-align: left;\n background: #021024;\n border-radius: 4px;\n min-height: 15rem;\n margin: 5rem .1rem 0;\n padding: 15px;\n font-size: 1rem;\n}\n\n.cqVWBq_guest:first-child {\n margin-left: 0;\n}\n\n.cqVWBq_guest-avatar {\n border: 2px solid #fff;\n width: 8rem;\n min-height: 8rem;\n margin-top: -3rem;\n display: inline-block;\n}\n\n.cqVWBq_guest-title {\n vertical-align: bottom;\n margin-left: .5rem;\n line-height: 2rem;\n display: inline-block;\n}\n\n.cqVWBq_guest-name {\n font-size: 1.6rem;\n}\n\n.cqVWBq_guest-role {\n color: #2b57c9;\n}\n\n.cqVWBq_guest-identity {\n color: #696f79;\n}\n\n.cqVWBq_guest-describe {\n margin-top: 20px;\n line-height: 1.6rem;\n}\n\n.cqVWBq_Sponsor {\n border: 1px solid #1b439a;\n position: relative;\n top: .5rem;\n left: .5rem;\n padding: 0 !important;\n}\n\n.cqVWBq_Sponsor > * {\n text-align: left;\n border: 1px solid #141e2b;\n padding: 5%;\n font-size: 1.2rem;\n position: relative;\n top: -1rem;\n left: -1rem;\n}\n\n.cqVWBq_Sponsor .cqVWBq_row {\n margin-top: 1rem;\n}\n\n.cqVWBq_Sponsor .cqVWBq_row > * {\n vertical-align: top;\n padding: 0 1%;\n}\n\n.cqVWBq_Sponsor h5 {\n color: #1b49ac;\n font-size: 1.6rem;\n}\n\n.cqVWBq_Sponsor ul {\n margin-top: 2rem;\n}\n\n.cqVWBq_Sponsor li {\n color: #fff;\n font-size: 1.1rem;\n font-weight: bold;\n line-height: 2.5rem;\n}\n\n@media (width <= 768px) {\n .cqVWBq_Info {\n margin-bottom: 2rem;\n padding-left: 0;\n }\n\n .cqVWBq_Info .cqVWBq_title:before {\n margin-left: 0;\n }\n\n .cqVWBq_Info h1 {\n font-size: 2.5rem;\n }\n\n .cqVWBq_Info h2 {\n font-size: 1.8rem;\n }\n\n .cqVWBq_Info ul li {\n font-size: 12px;\n }\n\n .cqVWBq_card-group .cqVWBq_left {\n background: #0000001a;\n height: 5rem;\n padding-top: .5rem;\n }\n\n .cqVWBq_card-title {\n height: 5rem;\n padding-top: .5rem;\n }\n\n .cqVWBq_card-content {\n padding: 2rem 1rem 1rem;\n }\n\n .cqVWBq_card-content ul li {\n margin-top: .8rem;\n font-size: 1.4rem;\n }\n\n .cqVWBq_Purpose {\n margin-top: 6rem;\n }\n\n .cqVWBq_guest {\n min-height: 1rem;\n padding: 15px 0;\n }\n\n .cqVWBq_guest .cqVWBq_guest-avatar {\n border: 2px solid #fff;\n width: 5rem;\n height: 5rem;\n margin-top: -3rem;\n display: inline-block;\n }\n\n .cqVWBq_line-center:after {\n margin-top: .8rem;\n }\n\n ul li {\n line-height: 1.8rem;\n }\n\n .cqVWBq_Sponsor {\n margin-bottom: 3rem;\n }\n\n .cqVWBq_Sponsor ul {\n margin-top: 0;\n margin-bottom: 2rem;\n }\n\n .cqVWBq_rule-list {\n min-height: 1rem;\n padding: 4rem 2rem;\n font-size: 12px;\n line-height: 2rem;\n }\n}\n\n.X1o3xW_topic {\n min-width: 25rem;\n max-width: 25rem;\n margin: 1.5rem auto auto;\n}\n\n@media (width <= 25rem) {\n .X1o3xW_topic {\n min-width: 100%;\n max-width: 100%;\n }\n}\n\n.CqZazW_box {\n background: #0c0eae;\n}\n\n.CqZazW_cover {\n top: 0;\n left: 0;\n}\n\n/*# sourceMappingURL=index.5f0288b6.css.map */\n",".scrollbar-none::-webkit-scrollbar {\n display: none;\n}\n",".card {\n min-width: 20rem;\n max-width: 20rem;\n @media (max-width: 991px) {\n min-width: 100%;\n max-width: 100%;\n }\n transition: 0.25s;\n &:hover {\n transform: scale(1.1);\n }\n img {\n height: 15rem;\n @media (min-width: 992px) and (max-width: 1200px) {\n height: 12rem;\n }\n @media (max-width: 991px) {\n height: auto;\n }\n }\n}\n",".heading {\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.05rem;\n @media (min-width: 40em) {\n font-size: 50px;\n }\n @media (min-width: 62em) {\n margin-top: 7rem;\n }\n}\n",".web-content {\n margin: auto;\n margin-top: 48px;\n width: 80%;\n}\n\n.introduce {\n /* min-height: 200px; */\n height: auto;\n width: 80%;\n margin: auto;\n}\n\n/* 主办方、赞助方、合作社区 */\n.logos a {\n width: 210px;\n height: 70px;\n padding: 0.2em 0.8em;\n}\n\n.footer {\n text-align: center;\n background-color: #f7fbfd;\n width: 100%;\n padding: 32px 10%;\n box-sizing: border-box;\n /* height: 340px; */\n p,\n a {\n color: #444;\n font-size: 14px;\n }\n}\n.qrcode {\n width: 160px;\n display: inline-block;\n margin: 15px;\n}\n\n@media (max-width: 768px) {\n .logo img {\n width: 140%;\n margin-left: -20%;\n }\n .introduce {\n padding: 0px 0px 20px 0px;\n }\n .introduce p {\n font-size: 12px;\n line-height: 18px;\n }\n .logos ul,\n .logos ul li {\n margin: 10px 0px;\n }\n}\n\n@media (max-width: 480px) {\n .web-content {\n margin-top: 36px;\n width: 90%;\n }\n .logos a {\n width: 140px;\n height: 50px;\n }\n .logos img {\n max-width: 140px;\n max-height: 50px;\n }\n}\n",".root {\n font-family: 'PingFang SC', 'Lantinghei SC', 'Helvetica Neue', Helvetica,\n Arial, 'Microsoft YaHei', 'STHeitiSC-Light', simsun, 'sans-serif';\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-size-adjust: 100% !important;\n font-weight: 400;\n line-height: 1.8;\n color: #333;\n\n a,\n a:visited {\n color: #222;\n }\n a:hover {\n color: #666;\n }\n a.btn-primary {\n color: #fff;\n background-color: #246af7;\n }\n\n & > section {\n padding: 100px 0;\n margin: 0;\n }\n\n tbody {\n counter-reset: index;\n }\n tbody td:first-child::before {\n counter-increment: index;\n content: counter(index);\n }\n}\n@media screen and (max-width: 767.98px) {\n .root {\n font-size: 14px;\n line-height: 1.6;\n\n & > section {\n padding: 50px 0;\n }\n }\n}\n.poster {\n width: 100%;\n min-height: 600px;\n position: relative;\n padding: 0;\n margin: 0;\n\n .navbar-toggler {\n background: #f8f9fa;\n }\n}\n@media screen and (min-width: 767.98px) {\n .poster .navbar {\n background: #f8f9fa;\n }\n}\n@media screen and (max-width: 767.98px) {\n .poster {\n min-height: 100px;\n\n .navbar-nav {\n background: #246af7;\n padding: 10px;\n width: 160px;\n box-shadow: 1px 1px 10px 3px #aaa;\n }\n .navbar-light .navbar-nav .nav-link {\n color: #fff;\n }\n }\n}\n.avatar {\n width: 128px;\n height: 128px;\n border-radius: 64px;\n}\n.avatar-sm {\n width: 88px;\n height: 88px;\n border-radius: 44px;\n}\n\n.sparked {\n text-align: center;\n background: #fff url(./image/bg.png) repeat top left;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n}\n.lecture {\n height: 30rem;\n border: 1px solid #eee;\n padding: 25px 15px;\n background: white;\n overflow: hidden;\n\n .lecture-name {\n font-weight: bold;\n }\n .lecture-intro {\n max-height: 18rem;\n overflow: auto;\n color: #666;\n font-size: 14px;\n text-align: left;\n }\n}\n@media (max-width: 768px) {\n .lecture {\n height: auto;\n }\n}\n@media screen and (max-width: 767.98px) {\n .subjects {\n padding-left: 0;\n & > li {\n padding: 15px;\n border-bottom: 1px dotted #eee;\n & > div {\n &:first-child {\n margin-bottom: 15px;\n text-align: center;\n }\n & > h5 {\n text-align: center;\n margin: 15px 0;\n }\n }\n }\n }\n}\n@media screen and (min-width: 767.98px) {\n .subjects {\n &::after {\n content: '';\n position: absolute;\n z-index: -1;\n background: #fff url('image/undraw_02.png') no-repeat right center;\n opacity: 0.3;\n top: 0;\n left: 0;\n bottom: 0;\n right: -200px;\n }\n & > li {\n padding: 25px 0;\n display: flex;\n justify-content: flex-start;\n & > div:first-child {\n padding: 0 15px;\n margin-right: 15px;\n border-right: 1px solid #eee;\n }\n }\n }\n}\n.subjects > li {\n & > .avatar {\n flex-grow: 0;\n flex-shrink: 0;\n margin-right: 15px;\n }\n p {\n font-size: 14px;\n h6 {\n margin: 0.5rem 0;\n }\n }\n}\n@media screen and (min-width: 767.98px) {\n .photos:not(:last-child) {\n margin-bottom: 25px;\n }\n}\n@media screen and (max-width: 767.98px) {\n .photos > div {\n margin-bottom: 15px;\n }\n}\n:global {\n @media screen and (max-width: 767.98px) {\n td {\n font-size: 12px;\n }\n }\n #CallInAction,\n #CallInAction > * {\n position: relative;\n }\n #CallInAction::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: url(image/bg2.png) no-repeat center calc(100% + 24px);\n background-size: 30%;\n }\n @media screen and (max-width: 767.98px) {\n #CallInAction::before {\n background: transparent;\n }\n }\n #Bazaar {\n .card-img-top {\n padding: 1rem;\n }\n .card-title > * {\n display: inline-block;\n vertical-align: middle;\n }\n .card-text {\n max-height: 15rem;\n overflow: auto;\n font-size: 12px;\n }\n .card {\n position: relative;\n .cr {\n position: absolute;\n width: 200px;\n padding: 8px;\n text-align: center;\n color: #f0f0f0;\n }\n .cr-top {\n top: 15px;\n }\n .cr-right {\n right: -70px;\n }\n .cr-top.cr-right {\n transform: rotate(45deg);\n }\n .cr-blue {\n background-color: rgba(35, 107, 247, 0.8);\n }\n .cr-red {\n background-color: rgba(248, 71, 89, 1);\n }\n }\n }\n @media (min-width: 577px) and (max-width: 768px) {\n #Bazaar .card-columns {\n column-count: 2;\n }\n }\n #Review .row > * {\n padding: 0.7rem 1rem;\n }\n}\n.companies > li {\n border: 1px dashed #ddd;\n &:hover {\n background: #fafafa;\n }\n}\n.contributorGroup {\n h5 {\n color: #666;\n }\n img {\n flex-flow: 0;\n }\n p {\n color: #999;\n font-size: 12px;\n }\n}\n.footer .qrcode {\n font-size: 12px;\n color: #333;\n}\n@media screen and (min-width: 767.98px) {\n .footer {\n height: 240px;\n\n .qrcode {\n width: 128px;\n height: 128px;\n float: right;\n }\n }\n}\n",".Detail {\n background: linear-gradient(to bottom, #000b19, #04101e);\n color: rgba(255, 255, 255, 0.8);\n}\n\n.main-title::before {\n content: '';\n display: block;\n width: 3rem;\n height: 3px;\n background: #5583f6;\n margin-bottom: 1.8rem;\n margin-left: -3rem;\n padding-left: 3rem;\n}\n.register {\n margin: 1.8rem 0;\n background-image: linear-gradient(\n to right,\n rgb(39, 91, 243),\n rgb(87, 126, 222)\n );\n}\n\n.line-center::after {\n content: '';\n display: block;\n width: 2rem;\n border: 1px solid #5583f6;\n margin: auto;\n margin-top: 2rem;\n}\n\n.card-title {\n border: 2px solid #2557c8;\n background-color: black;\n color: white;\n padding: 3.5rem;\n white-space: nowrap;\n text-align: center;\n}\n.card-content {\n border: 1px solid #182536;\n padding: 3rem 9%;\n line-height: 2.5rem;\n}\n\n.rule-list {\n text-align: left;\n padding: 2rem 4rem;\n background: linear-gradient(to right, #275bf3, #577ede);\n width: 80%;\n margin: 2rem auto;\n line-height: 3rem;\n border-radius: 4px;\n}\n\n/* 嘉宾 */\n.guest {\n /* width: 30%; */\n /* height: 0px; */\n background: #021024;\n text-align: left;\n border-radius: 4px;\n padding: 15px;\n margin: 5rem 0.1rem 0 0.1rem;\n min-height: 15rem;\n font-size: 1rem;\n\n &:first-child {\n margin-left: 0px;\n }\n}\n.guest-avatar {\n width: 8rem;\n min-height: 8rem;\n border: 2px solid white;\n display: inline-block;\n margin-top: -3rem;\n}\n.guest-title {\n vertical-align: bottom;\n display: inline-block;\n margin-left: 0.5rem;\n line-height: 2rem;\n}\n.guest-name {\n font-size: 1.6rem;\n}\n.guest-role {\n color: #2b57c9;\n}\n.guest-identity {\n color: #696f79;\n}\n.guest-describe {\n margin-top: 20px;\n line-height: 1.6rem;\n}\n\n/* 合作单位 */\n.Sponsor {\n position: relative;\n left: 0.5rem;\n top: 0.5rem;\n border: 1px solid rgb(27, 67, 154);\n padding: 0 !important;\n & > * {\n border: 1px solid rgb(20, 30, 43);\n padding: 5%;\n font-size: 1.2rem;\n text-align: left;\n position: relative;\n left: -1rem;\n top: -1rem;\n }\n .row {\n margin-top: 1rem;\n & > * {\n vertical-align: top;\n padding: 0 1%;\n }\n }\n h5 {\n color: #1b49ac;\n font-size: 1.6rem;\n }\n ul {\n margin-top: 2rem;\n }\n li {\n color: white;\n line-height: 2.5rem;\n font-weight: bold;\n font-size: 1.1rem;\n }\n}\n\n@media (max-width: 768px) {\n .Info {\n margin-bottom: 2rem;\n padding-left: 0px;\n .title::before {\n margin-left: 0;\n }\n h1 {\n font-size: 2.5rem;\n }\n h2 {\n font-size: 1.8rem;\n }\n ul li {\n font-size: 12px;\n }\n }\n .card-group .left {\n background: rgba(0, 0, 0, 0.1);\n height: 5rem;\n padding-top: 0.5rem;\n }\n\n .card-title {\n height: 5rem;\n padding-top: 0.5rem;\n }\n .card-content {\n padding: 2rem 1rem 1rem;\n\n ul li {\n font-size: 1.4rem;\n margin-top: 0.8rem;\n }\n }\n\n .Purpose {\n margin-top: 6rem;\n }\n\n .guest {\n padding: 15px 0px;\n min-height: 1rem;\n\n .guest-avatar {\n width: 5rem;\n height: 5rem;\n border: 2px solid white;\n display: inline-block;\n margin-top: -3rem;\n }\n }\n\n .line-center::after {\n margin-top: 0.8rem;\n }\n\n ul li {\n line-height: 1.8rem;\n }\n\n /* 奖项 */\n .Sponsor {\n margin-bottom: 3rem;\n ul {\n margin-top: 0;\n margin-bottom: 2rem;\n }\n }\n .rule-list {\n line-height: 2rem;\n font-size: 12px;\n padding: 4rem 2rem;\n min-height: 1rem;\n }\n}\n",".topic {\n min-width: 25rem;\n max-width: 25rem;\n margin: auto;\n margin-top: 1.5rem;\n}\n@media (max-width: 25rem) {\n .topic {\n min-width: 100%;\n max-width: 100%;\n }\n}\n",".box {\n background: rgb(12, 14, 174);\n}\n.cover {\n left: 0;\n top: 0;\n}\n"],"names":[],"version":3,"file":"index.5f0288b6.css.map"} \ No newline at end of file diff --git a/index.dc96cc69.js b/index.dc96cc69.js new file mode 100644 index 0000000..525bfaa --- /dev/null +++ b/index.dc96cc69.js @@ -0,0 +1,18 @@ +let e,t,n,r,i,a,s,o,l,c,u,d,h,f,p,m,g,v,b,y,w,x,_,j,k,O,S,E,N,R,T,A,C,P,L,H,D,M,U,I,$,F,z,B,W,V,q,G,Y,K,J,Z,Q,X,ee,et,en,er,ei,ea,es,eo,el,ec,eu,ed,eh,ef,ep,em,eg,ev,eb,ey,ew,ex,e_,ej,ek,eO,eS,eE,eN,eR,eT,eA,eC,eP,eL,eH,eD,eM,eU,eI,e$,eF,ez,eB,eW,eV,eq,eG,eY,eK,eJ,eZ,eQ,eX,e0,e1,e2,e3,e5,e9,e4,e6,e7,e8,te,tt,tn,tr,ti,ta,ts,to,tl,tc,tu,td,th,tf,tp,tm,tg,tv,tb,ty,tw,tx,t_,tj,tk,tO,tS,tE,tN,tR,tT,tA,tC,tP,tL,tH,tD,tM,tU,tI,t$,tF,tz,tB,tW,tV,tq,tG,tY,tK,tJ,tZ,tQ,tX,t0,t1,t2,t3,t5,t9,t4,t6,t7,t8,ne,nt,nn,nr,ni,na,ns,no,nl,nc,nu,nd,nh,nf,np,nm,ng,nv,nb,ny,nw,nx,n_,nj,nk,nO,nS,nE,nN,nR,nT,nA,nC,nP,nL,nH,nD,nM,nU,nI,n$,nF,nz,nB;function nW(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}var nV,nq,nG,nY,nK,nJ,nZ,nQ,nX,n0,n1,n2,n3,n5,n9,n4,n6,n7,n8,re,rt,rn,rr,ri,ra,rs,ro,rl,rc,ru,rd,rh,rf,rp,rm,rg,rv,rb,ry,rw,rx,r_,rj,rk,rO,rS,rE,rN,rR,rT,rA,rC,rP,rL,rH,rD,rM,rU,rI,r$,rF,rz,rB,rW,rV,rq,rG,rY,rK,rJ,rZ,rQ,rX,r0,r1,r2,r3,r5,r9,r4,r6,r7,r8,ie,it,ir,ii,ia,is,io,il,ic,iu,id,ih,ip,im,ig,iv,ib,iy,iw,ix,i_,ij,ik,iO,iS,iE,iN,iR,iT,iA,iC,iP,iL,iH,iD,iM,iU,iI=globalThis;function i$(e){return e&&e.__esModule?e.default:e}var iF={},iz={},iB=iI.parcelRequire2198;null==iB&&((iB=function(e){if(e in iF)return iF[e].exports;if(e in iz){var t=iz[e];delete iz[e];var n={id:e,exports:{}};return iF[e]=n,t.call(n.exports,n,n.exports),n.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){iz[e]=t},iI.parcelRequire2198=iB);var iW=iB.register;iW("9GY6Y",function(e,t){Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.VNode=void 0;var n=function(){var e;function t(e){Object.assign(this,e);var t=e.tagName,n=e.is,r=e.props;(t||(null==r?void 0:r.className)||n)&&(this.selector=[null==t?void 0:t.toLowerCase(),(null==r?void 0:r.className)&&".".concat(r.className.trim().replace(/\s+/,".")),n&&'[is="'.concat(n,'"]')].filter(Boolean).join(""))}return t.fromDOM=function(t){var n=this;if(t instanceof Text)return new e({node:t,text:t.nodeValue});if(!(t instanceof Element))return new e({node:t});var r=t.tagName,i=t.attributes,a=t.style,s=t.childNodes,o={node:t,tagName:r.toLowerCase(),is:t.getAttribute("is")},l=Array.from(i,function(e){var t=e.name,r=e.value;return"style"!==t&&[n.attrsMap[t]||t,r]}).filter(Boolean);l[0]&&(o.props=Object.fromEntries(l));var c=Array.from(a,function(e){return[e,a[e]]});c[0]&&(o.style=Object.fromEntries(c));var u=Array.from(s,function(t){return e.fromDOM(t)});return u[0]&&(o.children=u),new e(o)},e=t,t.propsMap={className:"class",htmlFor:"for"},t.attrsMap=Object.fromEntries(Object.entries(e.propsMap).map(function(e){return e.reverse()})),t}();e.exports.VNode=n}),iW("iu10s",function(e,t){Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.DOMRenderer=void 0;var n=iB("g8iUW"),r=iB("1MFjU"),i=iB("9GY6Y"),a=function(){function e(){var e=this;this.eventPattern=/^on[A-Z]/,this.ariaPattern=/^aira[A-Z]/,this.treeCache=new WeakMap,this.keyOf=function(e,t){var n=e.key,r=e.text,i=e.props,a=e.selector;return(null==n?void 0:n.toString())||(null==i?void 0:i.id)||(r||a||"")+t},this.vNodeOf=function(t,n){return t.find(function(t,r){return"".concat(e.keyOf(t,r))===String(n)})},this.propsKeyOf=function(t){return t.startsWith("aria-")?(0,r.toCamelCase)(t):e.eventPattern.test(t)?t.toLowerCase():t}}return e.prototype.updateProps=function(e,t,i,a,s){void 0===t&&(t={}),void 0===i&&(i={});var o,l,c,u,d=(0,r.diffKeys)(Object.keys(t),Object.keys(i)).group;try{for(var h=n.__values(d[r.DiffStatus.Old]||[]),f=h.next();!f.done;f=h.next()){var p=n.__read(f.value,1)[0];null==a||a(e,p)}}catch(e){o={error:e}}finally{try{f&&!f.done&&(l=h.return)&&l.call(h)}finally{if(o)throw o.error}}try{for(var m=n.__values(n.__spreadArray(n.__spreadArray([],n.__read(d[r.DiffStatus.Same]||[]),!1),n.__read(d[r.DiffStatus.New]||[]),!1)),g=m.next();!g.done;g=m.next()){var p=n.__read(g.value,1)[0];t[p]!==i[p]&&(s instanceof Function?s(e,p,i[p]):Reflect.set(e,p,i[p]))}}catch(e){c={error:e}}finally{try{g&&!g.done&&(u=m.return)&&u.call(m)}finally{if(c)throw c.error}}},e.prototype.createNode=function(e,t){if(e.text)return e.node=document.createTextNode(e.text);var n,r,i=e.selector&&(null===(n=null==t?void 0:t[e.selector])||void 0===n?void 0:n.shift());e.node=e.tagName?(null==i?void 0:i.node)||document.createElement(e.tagName,{is:e.is}):document.createDocumentFragment();var a=this.patch(i||{tagName:e.tagName,node:e.node},e).node;return a&&(null===(r=e.ref)||void 0===r||r.call(e,a)),a},e.prototype.deleteNode=function(e){var t=e.ref,n=e.node,r=e.children;n instanceof DocumentFragment?null==r||r.forEach(this.deleteNode):n&&(n.remove(),null==t||t())},e.prototype.commitChildren=function(e,t){var r,i;try{for(var a=n.__values(n.__spreadArray([],n.__read(e.childNodes),!1)),s=a.next();!s.done;s=a.next()){var o=s.value,l=t.indexOf(o);if(!(l<0)){if(0===l){t.shift();continue}var c=t.slice(0,l);c[0]&&(o.before.apply(o,n.__spreadArray([],n.__read(c),!1)),t=t.slice(l+1))}}}catch(e){r={error:e}}finally{try{s&&!s.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}t[0]&&e.append.apply(e,n.__spreadArray([],n.__read(t),!1))},e.prototype.updateChildren=function(e,t,i){var a,s,o=this,l=(0,r.diffKeys)(t.map(this.keyOf),i.map(this.keyOf)),c=l.map,u=l.group,d=u[r.DiffStatus.Old]&&(0,r.groupBy)(u[r.DiffStatus.Old].map(function(e){var r=n.__read(e,1)[0];return o.vNodeOf(t,r)}),function(e){return e.selector+""}),h=i.map(function(e,n){var i=o.keyOf(e,n);if(c[i]!==r.DiffStatus.Same)return o.createNode(e,d);var a=o.vNodeOf(t,i);return null!=e.text?e.node=a.node:o.patch(a,e).node});for(var f in d)try{for(var p=(a=void 0,n.__values(d[f])),m=p.next();!m.done;m=p.next()){var g=m.value;this.deleteNode(g)}}catch(e){a={error:e}}finally{try{m&&!m.done&&(s=p.return)&&s.call(p)}finally{if(a)throw a.error}}this.commitChildren(e,h)},e.prototype.patch=function(e,t){var n=this,a=e.tagName,s=(0,r.templateOf)(a)&&"xml"===(0,r.elementTypeOf)(a);return this.updateProps(e.node,e.props,t.props,function(e,t){return n.eventPattern.test(t)?e[t.toLowerCase()]=null:e.removeAttribute(n.ariaPattern.test(t)?(0,r.toHyphenCase)(t):i.VNode.propsMap[t]||t)},function(e,t,i){s||t.includes("-")||(0,r.isDOMReadOnly)(a,t)?e.setAttribute(t,i):e[n.propsKeyOf(t)]=i}),this.updateProps(e.node.style,e.style,t.style,function(e,t){return e.removeProperty(t)}),this.updateChildren(e.node,e.children||[],t.children||[]),t.node=e.node,t},e.prototype.render=function(e,t){void 0===t&&(t=document.body);var r=this.treeCache.get(t)||i.VNode.fromDOM(t);return r=this.patch(r,n.__assign(n.__assign({},r),{children:[e]})),this.treeCache.set(t,r),r},e.prototype.renderToStaticMarkup=function(e){var t=document.implementation.createHTMLDocument().body;return this.render(e,t),t.innerHTML},e}();e.exports.DOMRenderer=a}),iW("g8iUW",function(e,t){nW(e.exports,"__assign",()=>n),nW(e.exports,"__rest",()=>r),nW(e.exports,"__exportStar",()=>a),nW(e.exports,"__values",()=>s),nW(e.exports,"__read",()=>o),nW(e.exports,"__spreadArray",()=>l);var n=function(){return(n=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}var i=Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function a(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)}function s(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function o(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(i)throw i.error}}return s}function l(e,t,n){if(n||2==arguments.length)for(var r,i=0,a=t.length;io),nW(e.exports,"toHyphenCase",()=>h),nW(e.exports,"toCamelCase",()=>f),nW(e.exports,"uniqueID",()=>p),nW(e.exports,"DiffStatus",()=>i),nW(e.exports,"diffKeys",()=>g),nW(e.exports,"groupBy",()=>x),nW(e.exports,"likeArray",()=>v),nW(e.exports,"isTypedArray",()=>b),nW(e.exports,"splitArray",()=>w),nW(e.exports,"Day",()=>U),nW(e.exports,"formatDate",()=>q),nW(e.exports,"changeMonth",()=>G),nW(e.exports,"parseJSON",()=>K),nW(e.exports,"parseTextTable",()=>Z),nW(e.exports,"isXDomain",()=>X),nW(e.exports,"parseURLData",()=>ee),nW(e.exports,"buildURLData",()=>en),nW(e.exports,"templateOf",()=>eh),nW(e.exports,"elementTypeOf",()=>ef),nW(e.exports,"isHTMLElementClass",()=>ep),nW(e.exports,"tagNameOf",()=>eg),nW(e.exports,"isDOMReadOnly",()=>ev),nW(e.exports,"stringifyDOM",()=>ey),nW(e.exports,"getVisibleText",()=>ex),nW(e.exports,"importCSS",()=>ej),nW(e.exports,"scrollTo",()=>eO),nW(e.exports,"formToJSON",()=>eN),nW(e.exports,"sleep",()=>eT),nW(e.exports,"delegate",()=>eP),nW(e.exports,"documentReady",()=>eL),nW(e.exports,"serviceWorkerUpdate",()=>eU);var r,i,a={};function s(e){return!(null!=e)||Number.isNaN(e)}function o(e){return s(e)||("object"==typeof e?!Object.keys(e).length:""===e)}n(a,"likeNull",function(){return s}),n(a,"isEmpty",function(){return o}),n(a,"classNameOf",function(){return l}),n(a,"assertInheritance",function(){return c}),n(a,"isUnsafeNumeric",function(){return u}),n(a,"byteLength",function(){return d}),n(a,"toHyphenCase",function(){return h}),n(a,"toCamelCase",function(){return f}),n(a,"uniqueID",function(){return p}),n(a,"objectFrom",function(){return m}),n(a,"DiffStatus",function(){return i}),n(a,"diffKeys",function(){return g}),n(a,"groupBy",function(){return x}),n(a,"likeArray",function(){return v}),n(a,"isTypedArray",function(){return b}),n(a,"makeArray",function(){return y}),n(a,"splitArray",function(){return w}),n(a,"findDeep",function(){return function e(t,n,r){for(let i of t){if(r(i))return[i];if(i[n]instanceof Array){let t=e(i[n],n,r);if(t.length)return[i,...t]}}return[]}}),n(a,"countBy",function(){return _}),n(a,"cache",function(){return j}),n(a,"mergeStream",function(){return k});let l=e=>Object.prototype.toString.call(e).slice(8,-1);function c(e,t){return e.prototype instanceof t}function u(e){return/^[\d.]+$/.test(e)&&e.localeCompare(Number.MAX_SAFE_INTEGER+"",void 0,{numeric:!0})>0}function d(e){return e.replace(/[^\u0021-\u007e\uff61-\uffef]/g,"xx").length}function h(e){return e.replace(/[A-Z]+|[^A-Za-z][A-Za-z]/g,(e,t)=>`${t?"-":""}${(e[1]||e[0]).toLowerCase()}`)}function f(e,t=!1){return e.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g,(e,n)=>n||t?(e[1]||e[0]).toUpperCase():e.toLowerCase())}function p(){return(Date.now()+parseInt((Math.random()+"").slice(2))).toString(36)}function m(e,t){return Object.fromEntries(e.map((e,n)=>[t[n],e]))}function g(e,t){let n={};for(let t of e)n[t]=i.Old;for(let e of t)n[e]||=0,n[e]+=i.New;return{map:n,group:x(Object.entries(n),([e,t])=>t)}}function v(e){if(s(e))return!1;let{length:t}=e;return"number"==typeof t&&t>=0&&~~t===t}(r=i||(i={}))[r.Old=-1]="Old",r[r.Same=0]="Same",r[r.New=1]="New";let b=e=>e instanceof Object.getPrototypeOf(Int8Array);function y(e){return e instanceof Array?e:s(e)?[]:v(e)?Array.from(e):[e]}let w=(e,t)=>e.reduce((e,n,r)=>((e[~~(r/t)]||=[])[r%t]=n,e),[]);function x(e,t){let n={};for(let r of e){let e=t instanceof Function?t(r):r[t];for(let t of(e instanceof Array||(e=[e]),new Set(e.filter(e=>null!=e))))(n[t]=n[t]||[]).push(r)}return n}function _(e,t){return Object.fromEntries(Object.entries(x(e,t)).map(([e,{length:t}])=>[e,t]))}function j(e,t){var n;return function(...r){return null!=n||(console.trace(`[Cache] execute: ${t}`),Promise.resolve(n=e.call(this,()=>n=void 0,...r)).then(e=>console.log(`[Cache] refreshed: ${t} => ${e}`),e=>console.error(`[Cache] failed: ${e?.message||e}`))),n}}async function*k(...e){for(var t=e.map(e=>e());t[0];){let e=[];for(let n=0,r;r=t[n];n++){let{done:t,value:i}=await r.next();t?e.push(n):yield i}t=t.filter((t,n)=>!e.includes(n))}}var O={};function S(...e){return e.reduce((e,t)=>e+t,0)}function E(...e){return S(...e)/e.length}function N(e,t=!1){let n=E(...e);return S(...e.map(e=>(e-n)**2))/(e.length-(t?1:0))}function R(e,t=!1){return Math.sqrt(N(e,t))}function T(...e){return Math.sqrt(S(...e.map(e=>e**2)))}function A(e,t){let n=e.toFixed(t+2),r=n.indexOf(".")+t+1,i=e=>e.slice(0,r-(t?0:1));if(!+n.slice(r))return i(n);let a=i((+i(n)+10**-t).toFixed(t));return a.includes(".")?a.padEnd(r,"0"):a}function C(e,t=2){let n=e.toFixed(t+2),r=n.indexOf(".");if(r<0)return t?`${n}.${"0".repeat(t)}`:n;let i=r+t+1,a=+n[i-1],s=+n[i],o=+n[i+1];if(s>5||5===s&&(o||a%2))return A(e,t);let l=n.slice(0,i-(t?0:1));return l.includes(".")?l.padEnd(i,"0"):l}n(O,"sum",function(){return S}),n(O,"averageOf",function(){return E}),n(O,"varianceOf",function(){return N}),n(O,"standardDeviationOf",function(){return R}),n(O,"hypotenuseOf",function(){return T}),n(O,"carryFloat",function(){return A}),n(O,"fixFloat",function(){return C});var P={};n(P,"Second",function(){return L}),n(P,"Minute",function(){return H}),n(P,"Quarter",function(){return D}),n(P,"Hour",function(){return M}),n(P,"Day",function(){return U}),n(P,"Week",function(){return I}),n(P,"Year",function(){return $}),n(P,"Month",function(){return F}),n(P,"Season",function(){return z}),n(P,"diffTime",function(){return W}),n(P,"formatDate",function(){return q}),n(P,"changeMonth",function(){return G});let L=1e3,H=6e4,D=9e5,M=36e5,U=864e5,I=6048e5,$=31536e6,F=2628e6,z=7884e6,B=new Map([["s",L],["m",H],["H",M],["D",U],["W",I],["M",F],["Y",$]]);function W(e,t=new Date,n=B){let r=+new Date(e)-+new Date(t);for(let[e,t]of[...n].reverse()){let n=r/t;if(Math.abs(n)>=1)return{distance:+n.toFixed(0),unit:e}}return{distance:r,unit:"ms"}}function V(e){return e=+e+"",t=>(e.lengtht(n))}catch{return e}}function J(e){let t=K(e);if("string"!=typeof t)return t;let n=+t;return Number.isNaN(n)||n+""!==t?t:n}function Z(e,t,n=","){let r=e.trim().split(/[\r\n]+/).map(e=>{let t=[];do{let r;if('"'===e[0]||"'"===e[0])r=function(e){let t=e[0],n=e.indexOf(t,1);if(n<0)throw SyntaxError(`A ${t} is missing`);return e.slice(1,n)}(e),e=e.slice(r.length+3);else{let t=e.indexOf(n);t>-1?(r=e.slice(0,t),e=e.slice(t+1)):(r=e,e="")}t.push(J(r.trim()))}while(e)return t});return t?r.slice(1).map(e=>e.reduce((e,t,n)=>(e[r[0][n]]=t,e),{})):r}n(Y,"parseJSON",function(){return K}),n(Y,"toJSValue",function(){return J}),n(Y,"parseTextTable",function(){return Z});var Q={};function X(e){return new URL(e,document.baseURI).origin!==location.origin}function ee(e=window.location.search,t=!0){let n=e.split(/\?|#/),r=new URLSearchParams(n[1]||n[0]);return Object.fromEntries([...r.keys()].map(e=>{let n=t?r.getAll(e).map(K):r.getAll(e);return[e,n.length<2?n[0]:n]}))}n(Q,"isXDomain",function(){return X}),n(Q,"parseURLData",function(){return ee}),n(Q,"buildURLData",function(){return en}),n(Q,"blobOf",function(){return er}),n(Q,"blobFrom",function(){return ea});let et=e=>"string"==typeof e?e:v(e)?y(e)+"":JSON.stringify(e);function en(e){e instanceof Array||(e=Object.entries(e));let t=e.map(([e,t])=>!o(t)&&[e,et(t)]).filter(Boolean);return new URLSearchParams(t)}async function er(e){return(await fetch(e+"")).blob()}let ei=/^data:(.+?\/(.+?))?(;base64)?,([\s\S]+)/;function ea(e){var[t,n,r,i,a]=ei.exec(e)||[];a=i?atob(a):a;let s=new ArrayBuffer(a.length),o=new Uint8Array(s);for(let e=0;a[e];e++)o[e]=a.charCodeAt(e);return new Blob([s],{type:n})}var es={};n(es,"makeCRC32",function(){return el}),n(es,"makeSHA",function(){return ec});let eo=Array.from(Array(256),(e,t)=>{for(var n=0;n<8;n++)t=1&t?t>>1&2147483647^3988292384:t>>1&2147483647;return t});function el(e){var t=4294967295;for(let n of e)t=t>>8&16777215^eo[255&t^n.charCodeAt(0)];return"0x"+((4294967295^t)>>>0).toString(16)}if("object"==typeof self){if("msCrypto"in globalThis){let{subtle:e}=globalThis.crypto=globalThis.msCrypto;for(let t in e){let n=e[t];n instanceof Function&&(e[t]=function(){let e=n.apply(this,arguments);return new Promise((t,n)=>{e.oncomplete=({target:e})=>t(e.result),e.onabort=e.onerror=n})})}}let{crypto:e}=globalThis;!e?.subtle&&e?.webkitSubtle&&(e.subtle=e.webkitSubtle)}async function ec(e,t="SHA-1"){let n=await crypto.subtle.digest(t,new TextEncoder().encode(e));return Array.from(new Uint8Array(n),e=>e.toString(16).padStart(2,"0")).join("")}var eu={};n(eu,"templateOf",function(){return eh}),n(eu,"elementTypeOf",function(){return ef}),n(eu,"isHTMLElementClass",function(){return ep}),n(eu,"tagNameOf",function(){return eg}),n(eu,"isDOMReadOnly",function(){return ev}),n(eu,"parseDOM",function(){return eb}),n(eu,"stringifyDOM",function(){return ey}),n(eu,"walkDOM",function(){return ew}),n(eu,"getVisibleText",function(){return ex}),n(eu,"splitPages",function(){return e_}),n(eu,"importCSS",function(){return ej}),n(eu,"stringifyCSS",function(){return function e(t,n=0,r=" "){let i=r.repeat(n);return Object.entries(t).map(([t,a])=>"object"!=typeof a?`${i}${h(t)}: ${a};`:`${i}${t} { +${e(a,n+1,r)} +${i}}`).join("\n")}}),n(eu,"insertToCursor",function(){return ek}),n(eu,"scrollTo",function(){return eO}),n(eu,"watchScroll",function(){return eS}),n(eu,"watchVisible",function(){return eE}),n(eu,"formToJSON",function(){return eN});let ed={};function eh(e){if(ed[e])return ed[e];let t=document.createElement("template");return t.innerHTML=`<${e} />`,ed[e]=t.content.firstElementChild}function ef(e){let t=eh(e);return t instanceof HTMLElement&&!(t instanceof HTMLUnknownElement)?"html":"xml"}function ep(e){return c(e,HTMLElement)}let em=new WeakMap;function eg(e){let t=em.get(e);if(t)return t;var{tagName:n}=new e;return em.set(e,n=n.toLowerCase()),n}function ev(e,t){let n=[[HTMLLinkElement,["sizes"]],[HTMLIFrameElement,["sandbox"]],[HTMLObjectElement,["form"]],[HTMLInputElement,["form","list"]],[HTMLButtonElement,["form"]],[HTMLSelectElement,["form"]],[HTMLTextAreaElement,["form"]],[HTMLOutputElement,["form"]],[HTMLFieldSetElement,["form"]]],r=eh(e);for(let[e,i]of n)if(r instanceof e&&i.includes(t))return!0;return!1}function eb(e){let t=document.createElement("template");return t.innerHTML=e,[...t.content.childNodes].map(e=>(e.remove(),e))}function ey(e){return new XMLSerializer().serializeToString(e).replace(/ xmlns="http:\/\/www.w3.org\/1999\/xhtml"/g,"")}function*ew(e,t){let n=[...e.childNodes];for(let r of((o(t)||t===e.nodeType)&&(yield e),n))yield*ew(r,t)}function ex(e){var t="";for(let{nodeType:n,parentElement:r,nodeValue:i}of ew(e))if(n===Node.TEXT_NODE&&"true"!==r.getAttribute("aria-hidden")){let{width:e,height:n}=r.getBoundingClientRect();e&&n&&(t+=i.trim().replace(/\s+/g," "))}return t}function e_({offsetWidth:e,children:t},n=841.89,r=595.28){let i=n/r*e;var a=0;return[...t].reduce((e,t)=>{var{offsetTop:n,offsetHeight:r}=t;let s=((n+=a)+r)/i,o=~~s;return~~(n/i)!==o&&(a+=r-s),(e[o]||=[]).push(t),e},[])}function ej(e,{alternate:t,...n}={}){let r=[...document.styleSheets].find(({href:t})=>t===e);if(r)return Promise.resolve(r);let i=document.createElement("link");return new Promise((r,a)=>{i.onload=()=>r(i.sheet),i.onerror=(e,t,n,r,i)=>a(i),Object.assign(i,n),i.rel=(t?"alternate ":"")+"stylesheet",i.href=e,document.head.append(i)})}function ek(...e){let t=document.createDocumentFragment();for(let n of(t.append(...e),ew(t)))(![1,3,11].includes(n.nodeType)||["meta","title","link","script"].includes(n.nodeName.toLowerCase()))&&n.replaceWith(...n.childNodes);let n=globalThis.getSelection();if(!n)return;let r=n.getRangeAt(0);r.deleteContents(),r.insertNode(t)}function eO(e,t,n,r){let[i,a]=/^#(.+)/.exec(e)||[];"top"===a?window.scrollTo({top:0,left:0,behavior:"smooth"}):(t||document).querySelector(a?`[id="${a}"]`:e)?.scrollIntoView({behavior:"smooth",block:n,inline:r})}function eS(e,t,n=6){return Array.from(e.querySelectorAll(Array.from(Array(n),(e,t)=>`h${++t}`)+""),e=>(new IntersectionObserver(([e])=>{if(!e.isIntersecting)return;let n=e.target;t({target:n,links:[...n.ownerDocument.querySelectorAll(`[href="#${n.id}"]`)]})}).observe(e),e.id.trim()||(e.id=e.textContent.trim().replace(/\W+/g,"-")),{level:+e.tagName[1],id:e.id,text:e.textContent.trim()}))}function eE(e,t){var n="visible"===document.visibilityState?1:0;function r(e){(3===e||3===n)&&t(3===e),n=e}new IntersectionObserver(([{isIntersecting:e}])=>r(e?2|n:1&n)).observe(e),document.addEventListener("visibilitychange",()=>r("visible"===document.visibilityState?1|n:2&n))}function eN(e){let t={};for(let n of e.elements){let{type:r,name:i,value:a,checked:s,defaultValue:l,selectedOptions:c,files:u}=n;if(!i||""===a)continue;let d="fieldset"!==r&&n.closest("fieldset");if(d&&d!==e)continue;let h=a;switch(r){case"radio":case"checkbox":if(!s)continue;h=!l||J(l);break;case"select-multiple":h=Array.from(c,({value:e})=>J(e));break;case"fieldset":h=eN(n);break;case"file":h=u&&Array.from(u);break;case"date":case"datetime-local":case"month":case"hidden":case"number":case"range":case"select-one":h=J(a)}i in t?t[i]=[].concat(t[i],h):t[i]=h instanceof Array&&o(h[1])?h[0]:h}return t}var eR={};function eT(e=1){return new Promise(t=>setTimeout(t,1e3*e))}function eA(e,t=1){var n=!1;return(async()=>{for(;!n;){let n=e();n instanceof Promise&&await n,await eT(t)}})(),()=>n=!0}n(eR,"sleep",function(){return eT}),n(eR,"asyncLoop",function(){return eA});var eC={};function eP(e,t){return function(n){for(var r,i=n.composedPath();(r=i.shift())&&r!==n.currentTarget;)if(r instanceof HTMLElement&&r.matches(e))return t.call(this,n,r,n.detail)}}n(eC,"delegate",function(){return eP}),n(eC,"documentReady",function(){return eL}),n(eC,"promisify",function(){return eH}),n(eC,"createMessageServer",function(){return eD}),n(eC,"createMessageClient",function(){return eM}),n(eC,"serviceWorkerUpdate",function(){return eU});let eL="undefined"!=typeof window?new Promise(e=>{function t(){document?.removeEventListener("DOMContentLoaded",t),window.removeEventListener("load",t),e()}document?.addEventListener("DOMContentLoaded",t),window.addEventListener("load",t),setTimeout(function t(){document?.readyState==="complete"?e():setTimeout(t)})}):Promise.resolve();function eH(e,t){return new Promise((n,r)=>{function i(e){n(e),s()}function a(e){r(e),s()}function s(){t.removeEventListener(e+"end",i),t.removeEventListener(e+"cancel",a)}t.addEventListener(e+"end",i),t.addEventListener(e+"cancel",a)})}function eD(e){async function t({data:{type:t,id:n,...r},source:i,origin:a}){var s=e[t]?.(r);s instanceof Promise&&(s=await s),i.postMessage({...s,id:n},a)}return globalThis.addEventListener("message",t),()=>globalThis.removeEventListener("message",t)}function eM(e,t="*"){return(n,r)=>new Promise(i=>{let a=p();globalThis.addEventListener("message",function e({data:{id:t,...n}}){t===a&&(i(n),globalThis.removeEventListener("message",e))}),e.postMessage({id:a,type:n,...r},t)})}function eU(e){return new Promise(t=>{if(e.waiting)return t(e.waiting);e.onupdatefound=()=>e.installing?.addEventListener("statechange",function(){"installed"===this.state&&navigator.serviceWorker.controller&&t(this)})})}var eI={};n(eI,"PageVector",function(){return e$}),n(eI,"getSwipeVector",function(){return eF}),n(eI,"durationOf",function(){return ez}),n(eI,"watchMotion",function(){return eB}),n(eI,"transitIn",function(){return eq}),n(eI,"animateIn",function(){return eG}),n(eI,"transitOut",function(){return eY}),n(eI,"animateOut",function(){return eK});class e${constructor(e,t){this.from=e,this.to=t}get length(){let{from:e,to:t}=this;return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)+(null!=t.z?Math.pow(t.z-e.z,2):0))}get direction(){let{from:e,to:t}=this,n=t.x-e.x,r=t.y-e.y,i=t.z-e.z,a=Math.abs(n),s=Math.abs(r),o=Math.abs(i);switch(isNaN(o)?Math.max(a,s):Math.max(a,s,o)){case a:return n>0?"right":"left";case s:return r>0?"forward":"backward";case o:return i>0?"up":"down"}}}function eF(e,t,n=6*parseInt(getComputedStyle(document.body).fontSize)){let r=new e$(e,t);if(r.length>=n&&!getSelection()?.toString().trim())return r}function ez(e,t){let{transitionDuration:n,animationDuration:r}=getComputedStyle(t),i="animation"===e?r:n;return parseFloat(i)*("ms"===i.slice(-2)?1:1e3)}function eB(e,t){return Promise.race([eH(e,t).catch(e=>Promise.resolve(e)),new Promise(n=>setTimeout(n,ez(e,t)))])}function eW(e,t,n,r){t.style.display=r;let i=eB(e,t);return new Promise(e=>requestAnimationFrame(()=>{t.classList.add(n),i.then(e)}))}async function eV(e,t,n,r){let i=eB(e,t);t.classList.remove(n),await i,r?t.remove():t.style.display="none"}function eq(e,t,n="block"){return eW("transition",e,t,n)}function eG(e,t,n="block"){return eW("animation",e,t,n)}function eY(e,t,n){return eV("transition",e,t,n)}function eK(e,t,n){return eV("animation",e,t,n)}var eJ={};async function eZ(e,t){console.log(e),console.time(e),await t(),console.timeEnd(e)}async function eQ(e,t,n=3){async function r(){throw await eT(n),RangeError("Timed out")}console.time(e=" "+e);try{return await Promise.race([t(t=>console.assert(t,e)),r()])}finally{console.timeEnd(e)}}n(eJ,"describe",function(){return eZ}),n(eJ,"it",function(){return eQ})}),iW("dDNcL",function(e,t){function n(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;reB),nW(e.exports,"computed",()=>eG),nW(e.exports,"autorun",()=>tT),nW(e.exports,"action",()=>tE),nW(e.exports,"reaction",()=>tP),nW(e.exports,"configure",()=>tM);var r,i,a,s,o,l,c,u,d,h,f,p,m,g,v,b,y={};function w(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==iI?iI:"undefined"!=typeof self?self:y}var x=Object.assign,_=Object.getOwnPropertyDescriptor,j=Object.defineProperty,k=Object.prototype,O=[];Object.freeze(O);var S={};Object.freeze(S);var E="undefined"!=typeof Proxy,N=Object.toString();function R(){E||n("Proxy not available")}function T(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var A=function(){};function C(e){return"function"==typeof e}function P(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function L(e){return null!==e&&"object"==typeof e}function H(e){if(!L(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n.toString()===N}function D(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function M(e,t,n){j(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function U(e,t,n){j(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function I(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return L(e)&&!0===e[n]}}function $(e){return e instanceof Map}function F(e){return e instanceof Set}var z=void 0!==Object.getOwnPropertySymbols,B="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:z?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function W(e){return null===e?null:"object"==typeof e?""+e:e}function V(e,t){return k.hasOwnProperty.call(e,t)}var q=Object.getOwnPropertyDescriptors||function(e){var t={};return B(e).forEach(function(n){t[n]=_(e,n)}),t};function G(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var et=Symbol("mobx-stored-annotations");function en(e){return Object.assign(function(t,n){if(ei(n))return e.decorate_20223_(t,n);er(t,n,e)},e)}function er(e,t,n){V(e,et)||M(e,et,K({},e[et])),"override"===n.annotationType_||(e[et][t]=n)}function ei(e){return"object"==typeof e&&"string"==typeof e.kind}var ea=Symbol("mobx administration"),es=function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.isPendingUnobservation_=!1,this.isBeingObserved_=!1,this.observers_=new Set,this.diffValue_=0,this.lastAccessedBy_=0,this.lowestObserverState_=f.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return tf(this)},t.reportChanged=function(){td(),tp(this),th()},t.toString=function(){return this.name_},e}(),eo=I("Atom",es);function el(e,t,n){void 0===t&&(t=A),void 0===n&&(n=A);var r=new es(e);return t!==A&&tH("onBO",r,t,void 0),n!==A&&tL(r,n),r}var ec={structural:function(e,t){return nE(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t}};function eu(e,t,n){return tV(e)?e:Array.isArray(e)?eB.array(e,{name:n}):H(e)?eB.object(e,void 0,{name:n}):$(e)?eB.map(e,{name:n}):F(e)?eB.set(e,{name:n}):"function"!=typeof e||tR(e)||tW(e)?e:D(e)?tz(e):tN(n,e)}function ed(e){return e}function eh(e,t){return{annotationType_:e,options_:t,make_:ef,extend_:ep,decorate_20223_:em}}function ef(e,t,n,r){if(null!=(i=this.options_)&&i.bound)return null===this.extend_(e,t,n,!1)?0:1;if(r===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(tR(n.value))return 1;var i,a=eg(e,this,t,n,!1);return j(r,t,a),2}function ep(e,t,n,r){var i=eg(e,this,t,n);return e.defineProperty_(t,i,r)}function em(e,t){var r,i,a,s,o,l,c=t.kind,u=t.name,d=t.addInitializer,h=this;if("field"==c){d(function(){er(this,u,h)});return}if("method"==c)return tR(e)||(r=e,e=eQ(null!=(i=null==(a=h.options_)?void 0:a.name)?i:u.toString(),r,null!=(s=null==(o=h.options_)?void 0:o.autoAction)&&s)),null!=(l=this.options_)&&l.bound&&d(function(){var e=this[u].bind(this);e.isMobxAction=!0,this[u]=e}),e;n("Cannot apply '"+h.annotationType_+"' to '"+String(u)+"' (kind: "+c+"):\n'"+h.annotationType_+"' can only be used on properties with a function value.")}function eg(e,t,n,r,i){void 0===i&&(i=tl.safeDescriptors),t.annotationType_,r.value;var a,s,o,l,c,u,d,h,f=r.value;return null!=(a=t.options_)&&a.bound&&(f=f.bind(null!=(h=e.proxy_)?h:e.target_)),{value:eQ(null!=(s=null==(o=t.options_)?void 0:o.name)?s:n.toString(),f,null!=(l=null==(c=t.options_)?void 0:c.autoAction)&&l,null!=(u=t.options_)&&u.bound?null!=(d=e.proxy_)?d:e.target_:void 0),configurable:!i||e.isPlainObject_,enumerable:!1,writable:!i}}function ev(e,t){return{annotationType_:e,options_:t,make_:eb,extend_:ey,decorate_20223_:ew}}function eb(e,t,n,r){if(r===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(null!=(i=this.options_)&&i.bound&&(!V(e.target_,t)||!tW(e.target_[t]))&&null===this.extend_(e,t,n,!1))return 0;if(tW(n.value))return 1;var i,a=ex(e,this,t,n,!1,!1);return j(r,t,a),2}function ey(e,t,n,r){var i,a=ex(e,this,t,n,null==(i=this.options_)?void 0:i.bound);return e.defineProperty_(t,a,r)}function ew(e,t){var n,r=t.name,i=t.addInitializer;return tW(e)||(e=tz(e)),null!=(n=this.options_)&&n.bound&&i(function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e}),e}function ex(e,t,n,r,i,a){void 0===a&&(a=tl.safeDescriptors),t.annotationType_,r.value;var s,o=r.value;return tW(o)||(o=tz(o)),i&&((o=o.bind(null!=(s=e.proxy_)?s:e.target_)).isMobXFlow=!0),{value:o,configurable:!a||e.isPlainObject_,enumerable:!1,writable:!a}}function e_(e,t){return{annotationType_:e,options_:t,make_:ej,extend_:ek,decorate_20223_:eO}}function ej(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function ek(e,t,n,r){return this.annotationType_,n.get,e.defineComputedProperty_(t,K({},this.options_,{get:n.get,set:n.set}),r)}function eO(e,t){var n=this,r=t.name;return(0,t.addInitializer)(function(){var t=nd(this)[ea],i=K({},n.options_,{get:e,context:this});i.name||(i.name="ObservableObject."+r.toString()),t.values_.set(r,new e2(i))}),function(){return this[ea].getObservablePropValue_(r)}}function eS(e,t){return{annotationType_:e,options_:t,make_:eE,extend_:eN,decorate_20223_:eR}}function eE(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function eN(e,t,n,r){var i,a;return this.annotationType_,e.defineObservableProperty_(t,n.value,null!=(i=null==(a=this.options_)?void 0:a.enhancer)?i:eu,r)}function eR(e,t){var n=this,r=t.kind,i=t.name,a=new WeakSet;function s(e,t){var r,s,o=nd(e)[ea],l=new e1(t,null!=(r=null==(s=n.options_)?void 0:s.enhancer)?r:eu,"ObservableObject."+i.toString(),!1);o.values_.set(i,l),a.add(e)}if("accessor"==r)return{get:function(){return a.has(this)||s(this,e.get.call(this)),this[ea].getObservablePropValue_(i)},set:function(e){return a.has(this)||s(this,e),this[ea].setObservablePropValue_(i,e)},init:function(e){return a.has(this)||s(this,e),e}}}var eT=eA();function eA(e){return{annotationType_:"true",options_:e,make_:eC,extend_:eP,decorate_20223_:eL}}function eC(e,t,n,r){if(n.get)return eG.make_(e,t,n,r);if(n.set){var i,a,s,o,l,c=eQ(t.toString(),n.set);return r===e.target_?null===e.defineProperty_(t,{configurable:!tl.safeDescriptors||e.isPlainObject_,set:c})?0:2:(j(r,t,{configurable:!0,set:c}),2)}if(r!==e.target_&&"function"==typeof n.value)return D(n.value)?(null!=(o=this.options_)&&o.autoBind?tz.bound:tz).make_(e,t,n,r):(null!=(s=this.options_)&&s.autoBind?tN.bound:tN).make_(e,t,n,r);var u=(null==(i=this.options_)?void 0:i.deep)===!1?eB.ref:eB;return"function"==typeof n.value&&null!=(a=this.options_)&&a.autoBind&&(n.value=n.value.bind(null!=(l=e.proxy_)?l:e.target_)),u.make_(e,t,n,r)}function eP(e,t,n,r){var i,a,s;return n.get?eG.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:!tl.safeDescriptors||e.isPlainObject_,set:eQ(t.toString(),n.set)},r):("function"==typeof n.value&&null!=(i=this.options_)&&i.autoBind&&(n.value=n.value.bind(null!=(s=e.proxy_)?s:e.target_)),((null==(a=this.options_)?void 0:a.deep)===!1?eB.ref:eB).extend_(e,t,n,r))}function eL(e,t){n("'"+this.annotationType_+"' cannot be used as a decorator")}var eH={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(eH);var eD=eS("observable"),eM=eS("observable.ref",{enhancer:ed}),eU=eS("observable.shallow",{enhancer:function(e,t,n){return null==e||np(e)||ne(e)||ni(e)||no(e)?e:Array.isArray(e)?eB.array(e,{name:n,deep:!1}):H(e)?eB.object(e,void 0,{name:n,deep:!1}):$(e)?eB.map(e,{name:n,deep:!1}):F(e)?eB.set(e,{name:n,deep:!1}):void 0}}),eI=eS("observable.struct",{enhancer:function(e,t){return nE(e,t)?t:e}}),e$=en(eD);function eF(e){var t,n,r;return!0===e.deep?eu:!1===e.deep?ed:(t=e.defaultDecorator)&&null!=(n=null==(r=t.options_)?void 0:r.enhancer)?n:eu}function ez(e,t,n){if(ei(t))return eD.decorate_20223_(e,t);if(P(t)){er(e,t,eD);return}return tV(e)?e:H(e)?eB.object(e,t,n):Array.isArray(e)?eB.array(e,t):$(e)?eB.map(e,t):F(e)?eB.set(e,t):"object"==typeof e&&null!==e?e:eB.box(e,t)}x(ez,e$);var eB=x(ez,{box:function(e,t){var n=t||eH;return new e1(e,eF(n),n.name,!0,n.equals)},array:function(e,t){var n=t||eH;return(!1===tl.useProxies||!1===n.proxy?function(e,t,n){return new nw(e,t,n)}:function(e,t,n,r){return void 0===n&&(n="ObservableArray"),void 0===r&&(r=!1),R(),nO(function(){var i=new t3(n,t,r,!1);U(i.values_,ea,i);var a=new Proxy(i.values_,t2);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})})(e,eF(n),n.name)},map:function(e,t){var n=t||eH;return new nr(e,eF(n),n.name)},set:function(e,t){var n=t||eH;return new ns(e,eF(n),n.name)},object:function(e,t,n){return nO(function(){var r,i,a,s,o;return s=!1===tl.useProxies||(null==n?void 0:n.proxy)===!1?nd({},n):(r={},R(),null!=(a=(i=(r=nd(r,n))[ea]).proxy_)?a:i.proxy_=new Proxy(r,tG)),o=q(e),nO(function(){var e=nd(s,void 0)[ea];B(o).forEach(function(n){e.extend_(n,o[n],!t||!(n in t)||t[n])})}),s})},ref:en(eM),shallow:en(eU),deep:e$,struct:en(eI)}),eW="computed",eV=e_(eW),eq=e_("computed.struct",{equals:ec.structural}),eG=function(e,t){if(ei(t))return eV.decorate_20223_(e,t);if(P(t))return er(e,t,eV);if(H(e))return en(e_(eW,e));var n=H(t)?t:{};return n.get=e,n.name||(n.name=e.name||""),new e2(n)};Object.assign(eG,eV),eG.struct=en(eq);var eY=0,eK=1,eJ=null!=(c=null==(u=_(function(){},"name"))?void 0:u.configurable)&&c,eZ={value:"action",configurable:!0,writable:!1,enumerable:!1};function eQ(e,t,r,i){function a(){return function(e,t,r,i,a){var s,o,l,c,u=(s=tl.trackingDerivation,o=!t||!s,td(),l=tl.allowStateChanges,o&&(te(),l=eX(!0)),eY=(c={runAsAction_:o,prevDerivation_:s,prevAllowStateChanges_:l,prevAllowStateReads_:tn(!0),notifySpy_:!1,startTime_:0,actionId_:eK++,parentActionId_:eY}).actionId_,c);try{return r.apply(i,a)}catch(e){throw u.error_=e,e}finally{eY!==u.actionId_&&n(30),eY=u.parentActionId_,void 0!==u.error_&&(tl.suppressReactionErrors=!0),e0(u.prevAllowStateChanges_),tr(u.prevAllowStateReads_),th(),u.runAsAction_&&tt(u.prevDerivation_),tl.suppressReactionErrors=!1}}(0,r,t,i||this,arguments)}return void 0===r&&(r=!1),a.isMobxAction=!0,a.toString=function(){return t.toString()},eJ&&(eZ.value=e,j(a,"name",eZ)),a}function eX(e){var t=tl.allowStateChanges;return tl.allowStateChanges=e,t}function e0(e){tl.allowStateChanges=e}d=Symbol.toPrimitive;var e1=function(e){function t(t,n,r,i,a){var s;return void 0===r&&(r="ObservableValue"),void 0===i&&(i=!0),void 0===a&&(a=ec.default),(s=e.call(this,r)||this).enhancer=void 0,s.name_=void 0,s.equals=void 0,s.hasUnreportedChange_=!1,s.interceptors_=void 0,s.changeListeners_=void 0,s.value_=void 0,s.dehancer=void 0,s.enhancer=n,s.name_=r,s.equals=a,s.value_=n(t,void 0,r),s}J(t,e);var n=t.prototype;return n.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},n.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==tl.UNCHANGED&&this.setNewValue_(e)},n.prepareNewValue_=function(e){if(tY(this)){var t=tJ(this,{object:this,type:t1,newValue:e});if(!t)return tl.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?tl.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),tZ(this)&&tX(this,{type:t1,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return tK(this,e)},n.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:t1,newValue:this.value_,oldValue:void 0}),tQ(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+"["+this.value_+"]"},n.valueOf=function(){return W(this.get())},n[d]=function(){return this.valueOf()},t}(es);h=Symbol.toPrimitive;var e2=function(){function e(e){this.dependenciesState_=f.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.isBeingObserved_=!1,this.isPendingUnobservation_=!1,this.observers_=new Set,this.diffValue_=0,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=f.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new e5(null),this.name_=void 0,this.triggeredBy_=void 0,this.isComputing_=!1,this.isRunningSetter_=!1,this.derivation=void 0,this.setter_=void 0,this.isTracing_=p.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=eQ("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?ec.structural:ec.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){this.lowestObserverState_===f.UP_TO_DATE_&&(this.lowestObserverState_=f.POSSIBLY_STALE_,this.observers_.forEach(function(e){e.dependenciesState_===f.UP_TO_DATE_&&(e.dependenciesState_=f.POSSIBLY_STALE_,e.onBecomeStale_())}))},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing_&&n(32,this.name_,this.derivation),0!==tl.inBatch||0!==this.observers_.size||this.keepAlive_){if(tf(this),e4(this)){var e,t=tl.trackingContext;this.keepAlive_&&!t&&(tl.trackingContext=this),this.trackAndCompute()&&(e=this,e.lowestObserverState_!==f.STALE_&&(e.lowestObserverState_=f.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===f.POSSIBLY_STALE_?t.dependenciesState_=f.STALE_:t.dependenciesState_===f.UP_TO_DATE_&&(e.lowestObserverState_=f.UP_TO_DATE_)}))),tl.trackingContext=t}}else e4(this)&&(this.warnAboutUntrackedRead_(),td(),this.value_=this.computeValue_(!1),th());var r=this.value_;if(e9(r))throw r.cause;return r},t.set=function(e){if(this.setter_){this.isRunningSetter_&&n(33,this.name_),this.isRunningSetter_=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter_=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===f.NOT_TRACKING_,n=this.computeValue_(!0),r=t||e9(e)||e9(n)||!this.equals_(e,n);return r&&(this.value_=n),r},t.computeValue_=function(e){this.isComputing_=!0;var t,n=eX(!1);if(e)t=e6(this,this.derivation,this.scope_);else if(!0===tl.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new e5(e)}return e0(n),this.isComputing_=!1,t},t.suspend_=function(){this.keepAlive_||(e7(this),this.value_=void 0)},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return tT(function(){var a=n.get();if(!r||t){var s=te();e({observableKind:"computed",debugObjectName:n.name_,type:t1,object:n,newValue:a,oldValue:i}),tt(s)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return W(this.get())},t[h]=function(){return this.valueOf()},e}(),e3=I("ComputedValue",e2);(r=f||(f={}))[r.NOT_TRACKING_=-1]="NOT_TRACKING_",r[r.UP_TO_DATE_=0]="UP_TO_DATE_",r[r.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",r[r.STALE_=2]="STALE_",(i=p||(p={}))[i.NONE=0]="NONE",i[i.LOG=1]="LOG",i[i.BREAK=2]="BREAK";var e5=function(e){this.cause=void 0,this.cause=e};function e9(e){return e instanceof e5}function e4(e){switch(e.dependenciesState_){case f.UP_TO_DATE_:return!1;case f.NOT_TRACKING_:case f.STALE_:return!0;case f.POSSIBLY_STALE_:for(var t=tn(!0),n=te(),r=e.observing_,i=r.length,a=0;ar&&(r=o.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var l=t[a];0===l.diffValue_&&tc(l,e),l.diffValue_=0}for(;i--;){var c=n[i];1===c.diffValue_&&(c.diffValue_=0,c.observers_.add(e),c.lowestObserverState_>e.dependenciesState_&&(c.lowestObserverState_=e.dependenciesState_))}r!==f.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}(e),tr(i),r}function e7(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)tc(t[n],e);e.dependenciesState_=f.NOT_TRACKING_}function e8(e){var t=te();try{return e()}finally{tt(t)}}function te(){var e=tl.trackingDerivation;return tl.trackingDerivation=null,e}function tt(e){tl.trackingDerivation=e}function tn(e){var t=tl.allowStateReads;return tl.allowStateReads=e,t}function tr(e){tl.allowStateReads=e}function ti(e){if(e.dependenciesState_!==f.UP_TO_DATE_){e.dependenciesState_=f.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=f.UP_TO_DATE_}}var ta=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},ts=!0,to=!1,tl=((a=w()).__mobxInstanceCount>0&&!a.__mobxGlobals&&(ts=!1),a.__mobxGlobals&&a.__mobxGlobals.version!==new ta().version&&(ts=!1),ts)?a.__mobxGlobals?(a.__mobxInstanceCount+=1,a.__mobxGlobals.UNCHANGED||(a.__mobxGlobals.UNCHANGED={}),a.__mobxGlobals):(a.__mobxInstanceCount=1,a.__mobxGlobals=new ta):(setTimeout(function(){to||n(35)},1),new ta);function tc(e,t){e.observers_.delete(t),0===e.observers_.size&&tu(e)}function tu(e){!1===e.isPendingUnobservation_&&(e.isPendingUnobservation_=!0,tl.pendingUnobservations.push(e))}function td(){tl.inBatch++}function th(){if(0==--tl.inBatch){tv();for(var e=tl.pendingUnobservations,t=0;t0&&tu(e),!1)}function tp(e){e.lowestObserverState_!==f.STALE_&&(e.lowestObserverState_=f.STALE_,e.observers_.forEach(function(e){e.dependenciesState_===f.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=f.STALE_}))}var tm=function(){function e(e,t,n,r){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=f.NOT_TRACKING_,this.diffValue_=0,this.runId_=0,this.unboundDepsCount_=0,this.isDisposed_=!1,this.isScheduled_=!1,this.isTrackPending_=!1,this.isRunning_=!1,this.isTracing_=p.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled_||(this.isScheduled_=!0,tl.pendingReactions.push(this),tv())},t.isScheduled=function(){return this.isScheduled_},t.runReaction_=function(){if(!this.isDisposed_){td(),this.isScheduled_=!1;var e=tl.trackingContext;if(tl.trackingContext=this,e4(this)){this.isTrackPending_=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}tl.trackingContext=e,th()}},t.track=function(e){if(!this.isDisposed_){td(),this.isRunning_=!0;var t=tl.trackingContext;tl.trackingContext=this;var n=e6(this,e,void 0);tl.trackingContext=t,this.isRunning_=!1,this.isTrackPending_=!1,this.isDisposed_&&e7(this),e9(n)&&this.reportExceptionInDerivation_(n.cause),th()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(tl.disableErrorBoundaries)throw e;tl.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",e),tl.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed_||(this.isDisposed_=!0,this.isRunning_||(td(),e7(this),th()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",n)};return null==e||null==e.addEventListener||e.addEventListener("abort",n),n[ea]=this,n},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},e}(),tg=function(e){return e()};function tv(){tl.inBatch>0||tl.isRunningReactions||tg(tb)}function tb(){tl.isRunningReactions=!0;for(var e=tl.pendingReactions,t=0;e.length>0;){100==++t&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r",t,e):C(n)?eQ(t,n,e):ei(n)?(e?tk:t_).decorate_20223_(t,n):P(n)?er(t,n,e?tk:t_):P(t)?en(eh(e?tx:tw,{name:t,autoAction:e})):void 0}}var tE=tS(!1);Object.assign(tE,t_);var tN=tS(!0);function tR(e){return C(e)&&!0===e.isMobxAction}function tT(e,t){void 0===t&&(t=S);var n,r,i,a,s,o,l=null!=(n=null==(r=t)?void 0:r.name)?n:"Autorun";if(t.scheduler||t.delay){var c=tC(t),u=!1;o=new tm(l,function(){u||(u=!0,c(function(){u=!1,o.isDisposed_||o.track(d)}))},t.onError,t.requiresObservable)}else o=new tm(l,function(){this.track(d)},t.onError,t.requiresObservable);function d(){e(o)}return null!=(i=t)&&null!=(a=i.signal)&&a.aborted||o.schedule_(),o.getDisposer_(null==(s=t)?void 0:s.signal)}Object.assign(tN,tk),tE.bound=en(tj),tN.bound=en(tO);var tA=function(e){return e()};function tC(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:tA}function tP(e,t,n){void 0===n&&(n=S);var r,i,a,s,o,l,c,u=null!=(i=n.name)?i:"Reaction",d=tE(u,n.onError?(r=n.onError,function(){try{return t.apply(this,arguments)}catch(e){r.call(this,e)}}):t),h=!n.scheduler&&!n.delay,f=tC(n),p=!0,m=!1,g=n.compareStructural?ec.structural:n.equals||ec.default,v=new tm(u,function(){p||h?b():m||(m=!0,f(b))},n.onError,n.requiresObservable);function b(){if(m=!1,!v.isDisposed_){var t=!1;v.track(function(){var n=function(e,t){var n=eX(e);try{return t()}finally{e0(n)}}(!1,function(){return e(v)});t=p||!g(l,n),c=l,l=n}),p&&n.fireImmediately?d(l,c,v):!p&&t&&d(l,c,v),p=!1}}return null!=(a=n)&&null!=(s=a.signal)&&s.aborted||v.schedule_(),v.getDisposer_(null==(o=n)?void 0:o.signal)}function tL(e,t,n){return tH("onBUO",e,t,n)}function tH(e,t,n,r){var i="function"==typeof r?nj(t,n):nj(t),a=C(r)?r:n,s=e+"L";return i[s]?i[s].add(a):i[s]=new Set([a]),function(){var e=i[s];e&&(e.delete(a),0===e.size&&delete i[s])}}var tD="always";function tM(e){!0===e.isolateGlobalState&&function(){if((tl.pendingReactions.length||tl.inBatch||tl.isRunningReactions)&&n(36),to=!0,ts){var e=w();0==--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),tl=new ta}}();var t,r,i=e.useProxies,a=e.enforceActions;if(void 0!==i&&(tl.useProxies=i===tD||"never"!==i&&"undefined"!=typeof Proxy),"ifavailable"===i&&(tl.verifyProxies=!0),void 0!==a){var s=a===tD?tD:"observed"===a;tl.enforceActions=s,tl.allowStateChanges=!0!==s&&s!==tD}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach(function(t){t in e&&(tl[t]=!!e[t])}),tl.allowStateReads=!tl.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,r=tg,tg=function(e){return t(function(){return r(e)})})}var tU=0;function tI(){this.message="FLOW_CANCELLED"}tI.prototype=Object.create(Error.prototype);var t$=ev("flow"),tF=ev("flow.bound",{bound:!0}),tz=Object.assign(function(e,t){if(ei(t))return t$.decorate_20223_(e,t);if(P(t))return er(e,t,t$);var n=e.name||"",r=function(){var t,r=arguments,i=++tU,a=tE(n+" - runid: "+i+" - init",e).apply(this,r),s=void 0,o=new Promise(function(e,r){var o=0;function l(e){var t;s=void 0;try{t=tE(n+" - runid: "+i+" - yield "+o++,a.next).call(a,e)}catch(e){return r(e)}u(t)}function c(e){var t;s=void 0;try{t=tE(n+" - runid: "+i+" - yield "+o++,a.throw).call(a,e)}catch(e){return r(e)}u(t)}function u(t){if(C(null==t?void 0:t.then)){t.then(u,r);return}return t.done?e(t.value):(s=Promise.resolve(t.value)).then(l,c)}t=r,l(void 0)});return o.cancel=tE(n+" - runid: "+i+" - cancel",function(){try{s&&tB(s);var e=a.return(void 0),n=Promise.resolve(e.value);n.then(A,A),tB(n),t(new tI)}catch(e){t(e)}}),o};return r.isMobXFlow=!0,r},t$);function tB(e){C(e.cancel)&&e.cancel()}function tW(e){return(null==e?void 0:e.isMobXFlow)===!0}function tV(e){var t;return!!e&&(void 0!==t?!!np(e)&&e[ea].values_.has(t):np(e)||!!e[ea]||eo(e)||ty(e)||e3(e))}function tq(e,t){void 0===t&&(t=void 0),td();try{return e.apply(t)}finally{th()}}tz.bound=en(tF);var tG={has:function(e,t){return e[ea].has_(t)},get:function(e,t){return e[ea].get_(t)},set:function(e,t,n){var r;return!!P(t)&&(null==(r=e[ea].set_(t,n,!0))||r)},deleteProperty:function(e,t){var n;return!!P(t)&&(null==(n=e[ea].delete_(t,!0))||n)},defineProperty:function(e,t,n){var r;return null==(r=e[ea].defineProperty_(t,n))||r},ownKeys:function(e){return e[ea].ownKeys_()},preventExtensions:function(e){n(13)}};function tY(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function tK(e,t){var n=e.interceptors_||(e.interceptors_=[]);return n.push(t),T(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function tJ(e,t){var r=te();try{for(var i=[].concat(e.interceptors_||[]),a=0,s=i.length;a0}function tQ(e,t){var n=e.changeListeners_||(e.changeListeners_=[]);return n.push(t),T(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function tX(e,t){var n=te(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i0?e.map(this.dehancer):e},t.intercept_=function(e){return tK(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),tQ(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&n("Out of range: "+e);var t=this.values_.length;if(e!==t){if(e>t){for(var r=Array(e-t),i=0;i0&&n_(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;this.atom_;var i=this.values_.length;if(void 0===e?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=1==arguments.length?i-e:null==t?0:Math.max(0,Math.min(t,i-e)),void 0===n&&(n=O),tY(this)){var a=tJ(this,{object:this.proxy_,type:t0,index:e,removedCount:t,added:n});if(!a)return O;t=a.removedCount,n=a.added}if(n=0===n.length?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_){var s=n.length-t;this.updateArrayLength_(i,s)}var o=this.spliceItemsIntoValues_(e,t,n);return(0!==t||0!==n.length)&&this.notifyArraySplice_(e,n,o),this.dehanceValues_(o)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<1e4){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var s=0;s=this.values_.length){console.warn("[mobx] Out of bounds read: "+e);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e2?n-2:0),i=2;i-1&&(this.splice(n,1),!0)}};function t9(e,t){"function"==typeof Array.prototype[e]&&(t5[e]=t(e))}function t4(e){return function(){var t=this[ea];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function t6(e){return function(t,n){var r=this,i=this[ea];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function t7(e){return function(){var t=this,n=this[ea];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}t9("at",t4),t9("concat",t4),t9("flat",t4),t9("includes",t4),t9("indexOf",t4),t9("join",t4),t9("lastIndexOf",t4),t9("slice",t4),t9("toString",t4),t9("toLocaleString",t4),t9("toSorted",t4),t9("toSpliced",t4),t9("with",t4),t9("every",t6),t9("filter",t6),t9("find",t6),t9("findIndex",t6),t9("findLast",t6),t9("findLastIndex",t6),t9("flatMap",t6),t9("forEach",t6),t9("map",t6),t9("some",t6),t9("toReversed",t6),t9("reduce",t7),t9("reduceRight",t7);var t8=I("ObservableArrayAdministration",t3);function ne(e){return L(e)&&t8(e[ea])}var nt={},nn="delete";m=Symbol.iterator,g=Symbol.toStringTag;var nr=function(){function e(e,t,r){var i=this;void 0===t&&(t=eu),void 0===r&&(r="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[ea]=nt,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,C(Map)||n(18),nO(function(){i.keysAtom_=el("ObservableMap.keys()"),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!tl.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new e1(this.has_(e),ed,"ObservableMap.key?",!1);this.hasMap_.set(e,r),tL(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(tY(this)){var r=tJ(this,{type:n?t1:"add",object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,tY(this)&&!tJ(this,{type:nn,object:this,name:e}))return!1;if(this.has_(e)){var n=tZ(this),r=n?{observableKind:"map",debugObjectName:this.name_,type:nn,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return tq(function(){var n;t.keysAtom_.reportChanged(),null==(n=t.hasMap_.get(e))||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),n&&tX(this,r),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if((t=n.prepareNewValue_(t))!==tl.UNCHANGED){var r=tZ(this),i=r?{observableKind:"map",debugObjectName:this.name_,type:t1,object:this,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),r&&tX(this,i)}},t.addValue_=function(e,t){var n=this;this.keysAtom_,tq(function(){var r,i=new e1(t,n.enhancer_,"ObservableMap.key",!1);n.data_.set(e,i),t=i.value_,null==(r=n.hasMap_.get(e))||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=tZ(this),i=r?{observableKind:"map",debugObjectName:this.name_,type:"add",object:this,name:e,newValue:t}:null;r&&tX(this,i)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return nR({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return nR({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[m]=function(){return this.entries()},t.forEach=function(e,t){for(var n,r=ee(this);!(n=r()).done;){var i=n.value,a=i[0],s=i[1];e.call(t,s,a,this)}},t.merge=function(e){var t=this;return ni(e)&&(e=new Map(e)),tq(function(){H(e)?(function(e){var t=Object.keys(e);if(!z)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return k.propertyIsEnumerable.call(e,t)})):t})(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):$(e)?(e.constructor!==Map&&n(19,e),e.forEach(function(e,n){return t.set(n,e)})):null!=e&&n(20,e)}),this},t.clear=function(){var e=this;tq(function(){e8(function(){for(var t,n=ee(e.keys());!(t=n()).done;){var r=t.value;e.delete(r)}})})},t.replace=function(e){var t=this;return tq(function(){for(var r,i=function(e){if($(e)||ni(e))return e;if(Array.isArray(e))return new Map(e);if(!H(e))return n(21,e);var t=new Map;for(var r in e)t.set(r,e[r]);return t}(e),a=new Map,s=!1,o=ee(t.data_.keys());!(r=o()).done;){var l=r.value;if(!i.has(l)){if(t.delete(l))s=!0;else{var c=t.data_.get(l);a.set(l,c)}}}for(var u,d=ee(i.entries());!(u=d()).done;){var h=u.value,f=h[0],p=h[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var g=t.data_.get(f);a.set(f,g),m||(s=!0)}}if(!s){if(t.data_.size!==a.size)t.keysAtom_.reportChanged();else for(var v=t.data_.keys(),b=a.keys(),y=v.next(),w=b.next();!y.done;){if(y.value!==w.value){t.keysAtom_.reportChanged();break}y=v.next(),w=b.next()}}t.data_=a}),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return tQ(this,e)},t.intercept_=function(e){return tK(this,e)},Y(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:g,get:function(){return"Map"}}]),e}(),ni=I("ObservableMap",nr),na={};v=Symbol.iterator,b=Symbol.toStringTag;var ns=function(){function e(e,t,r){var i=this;void 0===t&&(t=eu),void 0===r&&(r="ObservableSet"),this.name_=void 0,this[ea]=na,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,C(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},nO(function(){i.atom_=el(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;tq(function(){e8(function(){for(var t,n=ee(e.data_.values());!(t=n()).done;){var r=t.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n,r=ee(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(this.atom_,tY(this)&&!tJ(this,{type:"add",object:this,newValue:e}))return this;if(!this.has(e)){tq(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var n=tZ(this),r=n?{observableKind:"set",debugObjectName:this.name_,type:"add",object:this,newValue:e}:null;n&&tX(this,r)}return this},t.delete=function(e){var t=this;if(tY(this)&&!tJ(this,{type:nn,object:this,oldValue:e}))return!1;if(this.has(e)){var n=tZ(this),r=n?{observableKind:"set",debugObjectName:this.name_,type:nn,object:this,oldValue:e}:null;return tq(function(){t.atom_.reportChanged(),t.data_.delete(e)}),n&&tX(this,r),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=0,t=Array.from(this.keys()),n=Array.from(this.values());return nR({next:function(){var r=e;return e+=1,rnb){for(var t,n=nb;n=0&&r++}t=nN(t),n=nN(n);var l="[object Array]"===o;if(!l){if("object"!=typeof t||"object"!=typeof n)return!1;var c=t.constructor,u=n.constructor;if(c!==u&&!(C(c)&&c instanceof c&&C(u)&&u instanceof u)&&"constructor"in t&&"constructor"in n)return!1}if(0===r)return!1;r<0&&(r=-1),a=a||[];for(var d=(i=i||[]).length;d--;)if(i[d]===t)return a[d]===n;if(i.push(t),a.push(n),l){if((d=t.length)!==n.length)return!1;for(;d--;)if(!e(t[d],n[d],r-1,i,a))return!1}else{var h,f=Object.keys(t);if(d=f.length,Object.keys(n).length!==d)return!1;for(;d--;)if(!(V(n,h=f[d])&&e(t[h],n[h],r-1,i,a)))return!1}return i.pop(),a.pop(),!0}(e,t,n)}function nN(e){return ne(e)?e.slice():$(e)||ni(e)||F(e)||no(e)?Array.from(e.entries()):e}function nR(e){return e[Symbol.iterator]=nT,e}function nT(){return this}["Symbol","Map","Set"].forEach(function(e){void 0===w()[e]&&n("MobX requires global '"+e+"' to be available or polyfilled")}),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:nk},$mobx:ea})}),iW("coZzl",function(e,t){var n=iB("y4uGz");e.exports=n("6wRuB").then(()=>iB("6cv5F"))}),iW("y4uGz",function(e,t){e.exports=function(e){return import(iB("5IkBo").resolve(e))}}),iW("5IkBo",function(e,t){nW(e.exports,"register",()=>n,e=>n=e),nW(e.exports,"resolve",()=>r,e=>r=e);var n,r,i=new Map;n=function(e,t){for(var n=0;n-1},e_.prototype.set=function(e,t){var n=this.__data__,r=eS(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},ej.prototype.clear=function(){this.__data__={hash:new ex,map:new(el||e_),string:new ex}},ej.prototype.delete=function(e){return eL(this,e).delete(e)},ej.prototype.get=function(e){return eL(this,e).get(e)},ej.prototype.has=function(e){return eL(this,e).has(e)},ej.prototype.set=function(e,t){return eL(this,e).set(e,t),this},ek.prototype.add=ek.prototype.push=function(e){return this.__data__.set(e,l),this},ek.prototype.has=function(e){return this.__data__.has(e)},eO.prototype.clear=function(){this.__data__=new e_},eO.prototype.delete=function(e){return this.__data__.delete(e)},eO.prototype.get=function(e){return this.__data__.get(e)},eO.prototype.has=function(e){return this.__data__.has(e)},eO.prototype.set=function(e,t){var n=this.__data__;if(n instanceof e_){var r=n.__data__;if(!el||r.length<199)return r.push([e,t]),this;n=this.__data__=new ej(r)}return n.set(e,t),this};var eN=function(e,t){if(null==e)return e;if(!eY(e)){var r,i;return r=e,i=t,r&&eR(r,i,e1)}for(var a=e.length,s=n?a:-1,o=Object(e);(n?s--:++so))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,d=!0,h=1&i?new ek:void 0;for(a.set(e,t),a.set(t,e);++u-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991}function eZ(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eQ(e){return!!e&&"object"==typeof e}function eX(e){return"symbol"==typeof e||eQ(e)&&ee.call(e)==j}var e0=z?function(e){return z(e)}:function(e){return eQ(e)&&eJ(e.length)&&!!L[ee.call(e)]};function e1(e){return eY(e)?function(e,t){var n=eG(e)||eq(e)?function(e,t){for(var n=-1,r=Array(e);++n{if(sl("OTHER_MODIFIER")??l("ASTERISK"),u=e=>{let t=l(e);if(void 0!==t)return t;let{type:r,index:i}=n[s];throw TypeError(`Unexpected ${r} at ${i}, expected ${e}`)},d=()=>{let e="",t;for(;t=l("CHAR")??l("ESCAPED_CHAR");)e+=t;return e},h=t.encodePart||(e=>e),f="",p=e=>{f+=e},m=()=>{f.length&&(i.push(new i0(3,"","",h(f),"",3)),f="")},g=(e,t,n,s,l)=>{let c,u,d=3;switch(l){case"?":d=1;break;case"*":d=0;break;case"+":d=2}if(!t&&!n&&3===d){p(e);return}if(m(),!t&&!n){if(!e)return;i.push(new i0(3,"","",h(e),"",d));return}let f=2;if((c=n?"*"===n?".*":n:r)===r?(f=1,c=""):".*"===c&&(f=0,c=""),t?u=t:n&&(u=a++),o.has(u))throw TypeError(`Duplicate name '${u}'.`);o.add(u),i.push(new i0(f,u,h(e),c,h(s),d))};for(;s-1)}return s||(r+=`(?=${a}|${i})`),new RegExp(r,i4(n))}var i8={delimiter:"",prefixes:"",sensitive:!0,strict:!0},ae={delimiter:".",prefixes:"",sensitive:!0,strict:!0},at={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function an(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function ar(e){return!!e&&!(e.length<2)&&("["===e[0]||("\\"===e[0]||"{"===e[0])&&"["===e[1])}var ai=["ftp","file","http","https","ws","wss"];function aa(e){if(!e)return!0;for(let t of ai)if(e.test(t))return!0;return!1}function as(e){switch(e){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function ao(e){if(""===e)return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw TypeError(`Invalid protocol '${e}'.`)}function al(e){if(""===e)return e;let t=new URL("https://example.com");return t.username=e,t.username}function ac(e){if(""===e)return e;let t=new URL("https://example.com");return t.password=e,t.password}function au(e){if(""===e)return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw TypeError(`Invalid hostname '${e}'`);let t=new URL("https://example.com");return t.hostname=e,t.hostname}function ad(e){if(""===e)return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function ah(e){if(""===e||/^[0-9]*$/.test(e)&&65535>=parseInt(e))return e;throw TypeError(`Invalid port '${e}'.`)}function af(e){if(""===e)return e;let t=new URL("https://example.com");return t.pathname="/"!==e[0]?"/-"+e:e,"/"!==e[0]?t.pathname.substring(2,t.pathname.length):t.pathname}function ap(e){return""===e?e:new URL(`data:${e}`).pathname}function am(e){if(""===e)return e;let t=new URL("https://example.com");return t.search=e,t.search.substring(1,t.search.length)}function ag(e){if(""===e)return e;let t=new URL("https://example.com");return t.hash=e,t.hash.substring(1,t.hash.length)}var av=class{#e;#t=[];#n={};#r=0;#i=1;#a=0;#s=0;#o=0;#l=0;#c=!1;constructor(e){this.#e=e}get result(){return this.#n}parse(){for(this.#t=i3(this.#e,!0);this.#r0){if(!this.#m())continue;this.#o-=1}if(this.#g()){this.#o+=1;continue}switch(this.#s){case 0:this.#v()&&(this.#n.username="",this.#n.password="",this.#n.hostname="",this.#n.port="",this.#n.pathname="",this.#n.search="",this.#n.hash="",this.#p(1));break;case 1:if(this.#v()){this.#b();let e=7,t=1;this.#c&&(this.#n.pathname="/"),this.#y()?(e=2,t=3):this.#c&&(e=2),this.#h(e,t)}break;case 2:this.#w()?this.#p(3):(this.#x()||this.#f()||this.#d())&&this.#p(5);break;case 3:this.#_()?this.#h(4,1):this.#w()&&this.#h(5,1);break;case 4:this.#w()&&this.#h(5,1);break;case 5:this.#j()?this.#l+=1:this.#k()&&(this.#l-=1),this.#O()&&!this.#l?this.#h(6,1):this.#x()?this.#h(7,0):this.#f()?this.#h(8,1):this.#d()&&this.#h(9,1);break;case 6:this.#x()?this.#h(7,0):this.#f()?this.#h(8,1):this.#d()&&this.#h(9,1);break;case 7:this.#f()?this.#h(8,1):this.#d()&&this.#h(9,1);break;case 8:this.#d()&&this.#h(9,1)}}}#h(e,t){switch(this.#s){case 0:case 2:break;case 1:this.#n.protocol=this.#S();break;case 3:this.#n.username=this.#S();break;case 4:this.#n.password=this.#S();break;case 5:this.#n.hostname=this.#S();break;case 6:this.#n.port=this.#S();break;case 7:this.#n.pathname=this.#S();break;case 8:this.#n.search=this.#S();break;case 9:this.#n.hash=this.#S()}this.#E(e,t)}#E(e,t){this.#s=e,this.#a=this.#r+t,this.#r+=t,this.#i=0}#u(){this.#r=this.#a,this.#i=0}#p(e){this.#u(),this.#s=e}#N(e){return e<0&&(e=this.#t.length-e),e=0&&(e.pathname=aw(l.pathname.substring(0,t+1),n)+e.pathname)}e.pathname=function(e,t,n){if(n||""===e)return e;if(t&&!ai.includes(t))return new URL(`${t}:${e}`).pathname;let r="/"==e[0];return e=new URL(r?e:"/-"+e,"https://example.com").pathname,r||(e=e.substring(2,e.length)),e}(e.pathname,e.protocol,n)}return"string"==typeof t.search&&(e.search=function(e,t){if(e=an(e,"?"),t||""===e)return e;let n=new URL("https://example.com");return n.search=e,n.search?n.search.substring(1,n.search.length):""}(t.search,n)),"string"==typeof t.hash&&(e.hash=function(e,t){if(e=an(e,"#"),t||""===e)return e;let n=new URL("https://example.com");return n.hash=e,n.hash?n.hash.substring(1,n.hash.length):""}(t.hash,n)),e}function a_(e){return e.replace(/([+*?:{}()\\])/g,"\\$1")}var aj=class{#e;#t={};#n={};#r={};#i={};constructor(e={},t,n){try{let r,i;if("string"==typeof t?r=t:n=t,"string"==typeof e){let t=new av(e);if(t.parse(),e=t.result,void 0===r&&"string"!=typeof e.protocol)throw TypeError("A base URL must be provided for a relative constructor string.");e.baseURL=r}else{if(!e||"object"!=typeof e)throw TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(r)throw TypeError("parameter 1 is not of type 'string'.")}typeof n>"u"&&(n={ignoreCase:!1});let a={ignoreCase:!0===n.ignoreCase};for(i of(this.#e=ax({pathname:"*",protocol:"*",username:"*",password:"*",hostname:"*",port:"*",search:"*",hash:"*"},e,!0),as(this.#e.protocol)===this.#e.port&&(this.#e.port=""),ab)){if(!(i in this.#e))continue;let e={},t=this.#e[i];switch(this.#n[i]=[],i){case"protocol":Object.assign(e,i8),e.encodePart=ao;break;case"username":Object.assign(e,i8),e.encodePart=al;break;case"password":Object.assign(e,i8),e.encodePart=ac;break;case"hostname":Object.assign(e,ae),ar(t)?e.encodePart=ad:e.encodePart=au;break;case"port":Object.assign(e,i8),e.encodePart=ah;break;case"pathname":aa(this.#t.protocol)?(Object.assign(e,at,a),e.encodePart=af):(Object.assign(e,i8,a),e.encodePart=ap);break;case"search":Object.assign(e,i8,a),e.encodePart=am;break;case"hash":Object.assign(e,i8,a),e.encodePart=ag}try{this.#i[i]=i5(t,e),this.#t[i]=i7(this.#i[i],this.#n[i],e),this.#r[i]=function(e,t){t.delimiter??="/#?",t.prefixes??="./",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith="";let n=`[^${t.delimiter.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}]+?`,r=/[$_\u200C\u200D\p{ID_Continue}]/u,i="";for(let a=0;a0?e[a-1]:null,u=a0?u.value[0]:"";l=r.test(e)}else l=!u.hasCustomName()}if(!l&&!s.prefix.length&&c&&3===c.type){let e=c.value[c.value.length-1];l=t.prefixes.includes(e)}l&&(i+="{"),i+=a_(s.prefix),o&&(i+=`:${s.name}`),2===s.type?i+=`(${s.value})`:1===s.type?o||(i+=`(${n})`):0===s.type&&(o||c&&3!==c.type&&3===c.modifier&&!l&&""===s.prefix?i+="(.*)":i+="*"),1===s.type&&o&&s.suffix.length&&r.test(s.suffix[0])&&(i+="\\"),i+=a_(s.suffix),l&&(i+="}"),3!==s.modifier&&(i+=i6(s.modifier))}return i}(this.#i[i],e)}catch{throw TypeError(`invalid ${i} pattern '${this.#e[i]}'.`)}}}catch(e){throw TypeError(`Failed to construct 'URLPattern': ${e.message}`)}}test(e={},t){let n,r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof e&&t)throw TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return!1;try{r="object"==typeof e?ax(r,e,!1):ax(r,ay(e,t),!1)}catch{return!1}for(n of ab)if(!this.#t[n].exec(r[n]))return!1;return!0}exec(e={},t){let n,r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if("string"!=typeof e&&t)throw TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return;try{r="object"==typeof e?ax(r,e,!1):ax(r,ay(e,t),!1)}catch{return null}let i={};for(n of(t?i.inputs=[e,t]:i.inputs=[e],ab)){let e=this.#t[n].exec(r[n]);if(!e)return null;let t={};for(let[r,i]of this.#n[n].entries())if("string"==typeof i||"number"==typeof i){let n=e[r+1];t[i]=n}i[n]={input:r[n]??"",groups:t}}return i}static compareComponent(e,t,n){let r=(e,t)=>{for(let n of["type","modifier","prefix","value","suffix"]){if(e[n]{let n=0;for(;n{this.resolve=e,this.reject=t})})}}function aN(e){var t;for(let n of Object.getOwnPropertySymbols(e)){let r=null===(t=e[n])||void 0===t?void 0:t.values_;if(r instanceof Map)return Object.fromEntries(Array.from(r,([e,{value_:t}])=>[e,t]))}}const aR=(e,t)=>new Promise(n=>{let r=(0,iG.delegate)(t,t=>{e.removeEventListener("animationend",r),e.removeEventListener("animationcancel",r),n(t)});e.addEventListener("animationend",r),e.addEventListener("animationcancel",r)}),aT=new WeakMap;function aA(e,t){return(0,iG.isHTMLElementClass)(e)?function(e){class t extends e{get props(){return aN(this)}constructor(){super(),Object.defineProperty(this,"disposers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"boot",{enumerable:!0,configurable:!0,writable:!0,value:()=>{let e=this.constructor.observedAttributes||[],t=aT.get(this)||[];this.disposers.push(...e.map(e=>(0,iX.autorun)(()=>this.syncPropAttr(e))),...t.map(({expression:e,effect:t})=>(0,iX.reaction)(t=>e(this,t),t.bind(this))))}});let{update:e}=Object.getPrototypeOf(this);this.update=()=>this.disposers.push((0,iX.autorun)(()=>e.call(this))),Promise.resolve().then(this.boot)}disconnectedCallback(){var e;for(let e of this.disposers)e();this.disposers.length=0,null===(e=super.disconnectedCallback)||void 0===e||e.call(this)}setAttribute(e,t){let n=super.getAttribute(e),r=this.constructor.observedAttributes;super.setAttribute(e,t),r.includes(e)&&this.attributeChangedCallback(e,n,t)}attributeChangedCallback(e,t,n){var r;this[(0,iG.toCamelCase)(e)]=(0,iG.parseJSON)(n),null===(r=super.attributeChangedCallback)||void 0===r||r.call(this,e,t,n)}syncPropAttr(e){var t,n=this[(0,iG.toCamelCase)(e)];if(!(null!=n)||!1===n)return this.removeAttribute(e);"object"==typeof(n=!0===n?e:n)&&(n="object"==typeof(n=null===(t=n.toJSON)||void 0===t?void 0:t.call(n))?JSON.stringify(n):n),super.setAttribute(e,n)}}return Object.defineProperty(t,"observedAttributes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),t}(e):t=>{let n=e(t),r=new iQ.DOMRenderer,i=(0,iX.autorun)(()=>{let i=e(t);n.node&&Object.assign(n,r.patch(n,i))}),{ref:a}=n;return n.ref=e=>{e?n.node=e:i(),null==a||a(e)},n}}function aC(e,{name:t,addInitializer:n}){n(function(){let e=this.constructor.observedAttributes,n=(0,iG.toHyphenCase)(t.toString());e.includes(n)||e.push(n)})}function aP(e){return(t,{addInitializer:n})=>n(function(){let n=aT.get(this)||[];n.push({expression:e,effect:t}),aT.set(this,n)})}var aL={};ak(aL,"component",function(){return aD}),ak(aL,"on",function(){return aM});const aH=new WeakMap;function aD(e){return(t,{addInitializer:n})=>(n(function(){var t;null===(t=globalThis.customElements)||void 0===t||t.define(e.tagName,this,e)}),class extends t{get root(){return this.internals.shadowRoot||this}constructor(){super(),Object.defineProperty(this,"internals",{enumerable:!0,configurable:!0,writable:!0,value:this.attachInternals()}),Object.defineProperty(this,"renderer",{enumerable:!0,configurable:!0,writable:!0,value:new iQ.DOMRenderer}),Object.defineProperty(this,"mounted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),e.mode&&!this.internals.shadowRoot&&this.attachShadow(e)}connectedCallback(){var t,n;let{mode:r}=e,i=!(null!=r),{root:a}=this;for(let{type:e,selector:t,handler:n}of aH.get(this)||[])i&&/^:host/.test(t)&&console.warn(`[WebCell] DOM Event delegation of "${t}" won't work if you don't invoke "this.attachShadow()" manually.`),a.addEventListener(e,n);null===(t=super.connectedCallback)||void 0===t||t.call(this),this.mounted||(this.update(),this.mounted=!0,null===(n=this.mountedCallback)||void 0===n||n.call(this))}update(){var t,n;let r=null===(t=this.render)||void 0===t?void 0:t.call(this),i=(0,iG.isEmpty)(r)?e.mode?(0,iV.jsx)("slot",{}):null:r;null!=i&&(this.renderer.render(i,this.root),null===(n=this.updatedCallback)||void 0===n||n.call(this))}disconnectedCallback(){var e;let{root:t}=this;for(let{type:e,handler:n}of aH.get(this)||[])t.removeEventListener(e,n);null===(e=super.disconnectedCallback)||void 0===e||e.call(this)}emit(e,t,{cancelable:n,bubbles:r,composed:i}={}){return this.dispatchEvent(new CustomEvent(e,{detail:t,cancelable:n,bubbles:r,composed:i}))}toString(){return(0,iG.stringifyDOM)(this.root)}})}function aM(e,t){return(n,{addInitializer:r})=>r(function(){let r=aH.get(this)||[],i=(0,iG.delegate)(t,n.bind(this));r.push({type:e,selector:t,handler:i}),aH.set(this,r)})}ak({},"formField",function(){return az});var aU=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},aI=function(e,t,n){for(var r=arguments.length>2,i=0;i{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=p[Symbol.metadata])&&void 0!==e?e:null):void 0;l=[aP(({value:e})=>e)],c=[aC,iX.observable],u=[iX.observable],d=[aC,iX.observable],h=[aC,iX.observable],f=[aC,iX.observable],aU(n,null,l,{kind:"method",name:"setValue",static:!1,private:!1,access:{has:e=>"setValue"in e,get:e=>e.setValue},metadata:t},null,m),aU(n,null,c,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:t},g,m),aU(n,null,u,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:t},v,m),aU(n,null,d,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:t},b,m),aU(n,null,h,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:t},y,m),aU(n,null,f,{kind:"accessor",name:"autofocus",static:!1,private:!1,access:{has:e=>"autofocus"in e,get:e=>e.autofocus,set:(e,t)=>{e.autofocus=t}},metadata:t},w,m),t&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),Object.defineProperty(n,"formAssociated",{enumerable:!0,configurable:!0,writable:!0,value:!0}),n}var aB={};ak(aB,"AsyncCell",function(){return aK}),ak(aB,"lazy",function(){return aJ});var aW=function(e,t,n){for(var r=arguments.length>2,i=0;i=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},aq=function(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},aG=function(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},aY=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};let aK=(i=[aD({tagName:"async-cell"}),aA],a=[],s=HTMLElement,o=[],l=[],c=[],t=class extends s{constructor(){super(...arguments),Object.defineProperty(this,"loader",{enumerable:!0,configurable:!0,writable:!0,value:void aW(this,o)}),nV.set(this,aW(this,l,void 0)),nq.set(this,aW(this,c,void 0))}get component(){return aq(this,nV,"f")}set component(e){aG(this,nV,e,"f")}get delegatedProps(){return aq(this,nq,"f")}set delegatedProps(e){aG(this,nq,e,"f")}connectedCallback(){this.load()}async load(){this.component=void 0;let e=await this.loader();this.component=t=>{var{children:n}=t,r=aY(t,["children"]);return(0,iV.jsx)(e,Object.assign({},r,{children:n}))},this.emit("load",this.component)}render(){let{component:e,props:t,delegatedProps:n}=this,r=Object.assign(Object.assign({},t),n),{children:i}=r,a=aY(r,["children"]);return e&&(0,iV.jsx)(e,Object.assign({},a,{children:i}))}},nV=new WeakMap,nq=new WeakMap,nG=t,"symbol"==typeof(nY="AsyncCell")&&(nY=nY.description?"[".concat(nY.description,"]"):""),Object.defineProperty(nG,"name",{configurable:!0,value:nK?"".concat(nK," ",nY):nY}),(()=>{var u;let d="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(u=s[Symbol.metadata])&&void 0!==u?u:null):void 0;n=[iX.observable],r=[iX.observable],aV(t,null,n,{kind:"accessor",name:"component",static:!1,private:!1,access:{has:e=>"component"in e,get:e=>e.component,set:(e,t)=>{e.component=t}},metadata:d},l,o),aV(t,null,r,{kind:"accessor",name:"delegatedProps",static:!1,private:!1,access:{has:e=>"delegatedProps"in e,get:e=>e.delegatedProps,set:(e,t)=>{e.delegatedProps=t}},metadata:d},c,o),aV(null,e={value:t},i,{kind:"class",name:t.name,metadata:d},null,a),t=e.value,d&&Object.defineProperty(t,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:d}),aW(t,a)})(),t);function aJ(e){return t=>(0,iV.jsx)(aK,{delegatedProps:t,loader:async()=>(await e()).default})}var aZ={};ak(aZ,"AnimateCSS",function(){return a2});var aQ=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},aX=function(e,t,n){for(var r=arguments.length>2,i=0;i{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=v[Symbol.metadata])&&void 0!==e?e:null):void 0;h=[aC,iX.observable],f=[aC,iX.observable],p=[aP(({type:e})=>e)],aQ(d,null,h,{kind:"accessor",name:"type",static:!1,private:!1,access:{has:e=>"type"in e,get:e=>e.type,set:(e,t)=>{e.type=t}},metadata:t},y,b),aQ(d,null,f,{kind:"accessor",name:"playing",static:!1,private:!1,access:{has:e=>"playing"in e,get:e=>e.playing,set:(e,t)=>{e.playing=t}},metadata:t},w,b),aQ(d,null,p,{kind:"method",name:"typeChanged",static:!1,private:!1,access:{has:e=>"typeChanged"in e,get:e=>e.typeChanged},metadata:t},null,b),aQ(null,u={value:d},m,{kind:"class",name:d.name,metadata:t},null,g),d=u.value,t&&Object.defineProperty(d,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),aX(d,g)})(),d);function a3(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}Object.keys(n1={}).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(aZ,e)||Object.defineProperty(aZ,e,{enumerable:!0,get:function(){return n1[e]}})});var a5={};Object.defineProperty(a5,"__esModule",{value:!0,configurable:!0}),a3(a5,"History",()=>sr),a3(a5,"default",()=>si);var a9=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},a4=function(e,t,n){for(var r=arguments.length>2,i=0;i{let{state:e}=se;this.push(),document.title=(null==e?void 0:e.title)||this.titleOf()||sn||a8.href}}),Object.defineProperty(this,"handleForm",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{let{method:n,target:r}=t;if("get"!==n||"_self"!==(r||"_self"))return;e.preventDefault();let i=t.getAttribute("action"),a=(0,iG.buildURLData)((0,iG.formToJSON)(t));this.push(`${i}?${a}`)}}),this.restore(),window.addEventListener("hashchange",this.restore),window.addEventListener("popstate",this.restore),document.addEventListener("click",(0,iG.delegate)("a[href], area[href]",this.handleLink.bind(this))),document.addEventListener("submit",(0,iG.delegate)("form[action]",this.handleForm))}push(e=a8.href){return(e=e.replace(st,""))===this.path?e:(this.oldPath=this.path,this.path=e)}static dataOf(e){let[t,n]=e.split("#");return(0,iG.parseURLData)(n||t)}static match(e,t){var n;if(!t)return;let{pathname:r,hash:i}=new URLPattern(e,st).exec(new URL(t.split("?")[0],st))||{};return null===(n=i||r)||void 0===n?void 0:n.groups}static getTitle(e){return e.title||(0,iG.getVisibleText)(e)}titleOf(e=this.path){if(e=e.replace(/^\//,""))for(let t of document.querySelectorAll(`a[href="${e}"], area[href="${e}"]`)){let e=n2.getTitle(t);if(e)return e}}handleLink(e,t){let n=t.getAttribute("href");if("_self"!==(t.target||"_self")||(0,iG.isXDomain)(n))return;if(e.preventDefault(),n.startsWith("#"))try{if(document.querySelector(n))return(0,iG.scrollTo)(n,e.currentTarget)}catch(e){}let r=n2.getTitle(t);se.pushState({title:r},document.title=r,n),this.push(n)}},n3=new WeakMap,n5=new WeakMap,(()=>{let e="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;x=[iX.observable],_=[iX.observable],j=[iX.action],a9(n2,null,x,{kind:"accessor",name:"path",static:!1,private:!1,access:{has:e=>"path"in e,get:e=>e.path,set:(e,t)=>{e.path=t}},metadata:e},O,k),a9(n2,null,_,{kind:"accessor",name:"oldPath",static:!1,private:!1,access:{has:e=>"oldPath"in e,get:e=>e.oldPath,set:(e,t)=>{e.oldPath=t}},metadata:e},S,k),a9(n2,null,j,{kind:"method",name:"push",static:!1,private:!1,access:{has:e=>"push"in e,get:e=>e.push},metadata:e},null,k),e&&Object.defineProperty(n2,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),n2);var si=new sr;a3({},"CellRoute",()=>sc);var sa=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},ss=function(e,t,n){for(var r=arguments.length>2,i=0;i(0,iV.jsx)(a,Object.assign({},t,{style:e},r,sr.dataOf(s),{path:s,history:si}))}):i?(0,iV.jsx)(a2,{type:n,component:t=>(0,iV.jsx)(a,Object.assign({},t,{style:e},i,sr.dataOf(o),{path:o,history:si}))}):(0,iV.jsx)(iV.Fragment,{})}},n9=new WeakMap,n4=new WeakMap,n6=new WeakMap,n7=N,"symbol"==typeof(n8="CellRoute")&&(n8=n8.description?"[".concat(n8.description,"]"):""),Object.defineProperty(n7,"name",{configurable:!0,value:re?"".concat(re," ",n8):n8}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=D[Symbol.metadata])&&void 0!==e?e:null):void 0;R=[aC,iX.observable],T=[aC,iX.observable],A=[aC,iX.observable],C=[iX.computed],P=[iX.computed],sa(N,null,R,{kind:"accessor",name:"path",static:!1,private:!1,access:{has:e=>"path"in e,get:e=>e.path,set:(e,t)=>{e.path=t}},metadata:t},U,M),sa(N,null,T,{kind:"accessor",name:"inAnimation",static:!1,private:!1,access:{has:e=>"inAnimation"in e,get:e=>e.inAnimation,set:(e,t)=>{e.inAnimation=t}},metadata:t},I,M),sa(N,null,A,{kind:"accessor",name:"outAnimation",static:!1,private:!1,access:{has:e=>"outAnimation"in e,get:e=>e.outAnimation,set:(e,t)=>{e.outAnimation=t}},metadata:t},$,M),sa(N,null,C,{kind:"getter",name:"matched",static:!1,private:!1,access:{has:e=>"matched"in e,get:e=>e.matched},metadata:t},null,M),sa(N,null,P,{kind:"getter",name:"oldMatched",static:!1,private:!1,access:{has:e=>"oldMatched"in e,get:e=>e.oldMatched},metadata:t},null,M),sa(null,E={value:N},L,{kind:"class",name:N.name,metadata:t},null,H),N=E.value,t&&Object.defineProperty(N,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),ss(N,H)})(),N);a3({},"createRouter",()=>sd);var su=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};function sd(e={}){var{mode:t="hash"}=e,n=su(e,["mode"]);let r="hash"===t?"#":"";return{Route:e=>{var{path:t}=e,i=su(e,["path"]);return(0,iV.jsx)(sc,Object.assign({},i,n,{path:r+t}))},Link:e=>{var{to:t,children:n}=e,i=su(e,["to","children"]);return(0,iV.jsx)("a",Object.assign({},i,{href:r+t,children:n}))},Form:e=>{var{action:t,children:n}=e,i=su(e,["action","children"]);return(0,iV.jsx)("form",Object.assign({},i,{action:r+t,children:n}))}}}var sh={};sh=new URL("FCC-CDG-WeChat.70395ae7.png",import.meta.url).toString();var sf={};!/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/function(){var e={}.hasOwnProperty;function t(){for(var r="",i=0;i(0,iV.jsx)("div",{className:i$(sf)("ratio","string"==typeof e&&`ratio-${e}`),style:"number"==typeof e?{"--bs-aspect-ratio":`${100*e}%`}:void 0,children:t});sp({},"Container",function(){return sv});var sg=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sv=e=>{var{className:t="",fluid:n,children:r}=e,i=sg(e,["className","fluid","children"]);return(0,iV.jsx)("div",Object.assign({className:`container${!0===n?"-fluid":n?`-${n}`:""} ${t}`},i,{children:r}))};sp({},"Table",function(){return sy});var sb=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sy=e=>{var{className:t,variant:n,size:r,responsive:i,striped:a,hover:s,bordered:o,borderless:l,caption:c,children:u}=e,d=sb(e,["className","variant","size","responsive","striped","hover","bordered","borderless","caption","children"]);let h=(0,iV.jsx)("table",Object.assign({className:i$(sf)("table",n&&`table-${n}`,r&&`table-${r}`,a&&`table-striped${"columns"===a?"-columns":""}`,s&&"table-hover",o&&"table-bordered",l&&"table-borderless",c&&`caption-${c}`)},d,{children:u}));return i?(0,iV.jsx)("div",{className:`table-responsive${!0===i?"":`-${i}`}`,children:h}):h};function sw(e,t){return n=>n&&new IntersectionObserver(([{isIntersecting:n}])=>n&&t(e)).observe(n)}sp({},"ScrollBoundary",function(){return sx});const sx=({className:e,onTouch:t,top:n,left:r,right:i,bottom:a,children:s})=>(0,iV.jsxs)("div",{className:i$(sf)("position-relative",e),children:[(0,iV.jsx)("div",{className:"position-absolute top-0 left-0 w-100",ref:sw("top",t),children:n}),(0,iV.jsx)("div",{className:"position-absolute top-0 left-0 h-100",ref:sw("left",t),children:r}),s,(0,iV.jsx)("div",{className:"position-absolute top-0 right-0 h-100",ref:sw("right",t),children:i}),(0,iV.jsx)("div",{className:"position-absolute top-100 left-0 w-100",ref:sw("bottom",t),children:a})]});sp({},"Jumbotron",function(){return sj});var s_=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sj=e=>{var{className:t,fluid:n,bg:r="body-tertiary",rounded:i=n?0:3,title:a,description:s,children:o}=e,l=s_(e,["className","fluid","bg","rounded","title","description","children"]);let c=(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("h1",{className:"display-4",children:a}),(0,iV.jsx)("p",{className:"lead",children:s}),o&&(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("hr",{className:"my-4"}),o]})]});return(0,iV.jsx)("header",Object.assign({className:i$(sf)("py-5",!n&&"px-5",r&&`bg-${r}`,i&&`rounded-${i}`,t)},l,{children:n?(0,iV.jsx)(sv,{fluid:n,children:c}):c}))};var sk={};sp(sk,"Card",function(){return sN}),sp(sk,"CardBody",function(){return sT}),sp(sk,"CardHeader",function(){return sR}),sp(sk,"CardFooter",function(){return sA}),sp(sk,"CardTitle",function(){return sC}),sp(sk,"CardImg",function(){return sP}),sp({},"Image",function(){return sS});var sO=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sS=e=>{var{className:t,fluid:n,rounded:r,roundedCircle:i,thumbnail:a}=e,s=sO(e,["className","fluid","rounded","roundedCircle","thumbnail"]);return(0,iV.jsx)("img",Object.assign({className:i$(sf)(n&&"img-fluid",a&&"img-thumbnail",{rounded:r},i&&"rounded-circle",t)},s))};var sE=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sN=e=>{var{className:t,bg:n,text:r,border:i,body:a,children:s}=e,o=sE(e,["className","bg","text","border","body","children"]);return(0,iV.jsx)("div",Object.assign({className:i$(sf)("card",n&&`text-bg-${n}`,r&&`text-${r}`,i&&`border-${i}`,t)},o,{children:a?(0,iV.jsx)(sT,{children:s}):s}))},sR=e=>{var{className:t="",children:n}=e,r=sE(e,["className","children"]);return(0,iV.jsx)("div",Object.assign({className:`card-header ${t}`},r,{children:n}))},sT=e=>{var{className:t="",children:n}=e,r=sE(e,["className","children"]);return(0,iV.jsx)("div",Object.assign({className:`card-body ${t}`},r,{children:n}))},sA=e=>{var{className:t="",children:n}=e,r=sE(e,["className","children"]);return(0,iV.jsx)("div",Object.assign({className:`card-footer ${t}`},r,{children:n}))},sC=e=>{var{className:t="",children:n}=e,r=sE(e,["className","children"]);return(0,iV.jsx)("h5",Object.assign({className:`card-title ${t}`},r,{children:n}))},sP=e=>{var{className:t="",variant:n}=e,r=sE(e,["className","variant"]);return(0,iV.jsx)(sS,Object.assign({className:`card-img${n?`-${n}`:""} ${t}`},r))};var sL={};sp(sL,"FormGroup",function(){return sD}),sp(sL,"FormLabel",function(){return sM}),sp(sL,"FloatingLabel",function(){return sU}),sp(sL,"InputGroup",function(){return sI}),sp(sL,"InputGroupText",function(){return s$}),sp(sL,"FormControl",function(){return sF}),sp(sL,"FormCheck",function(){return sz}),sp(sL,"FormField",function(){return sB});var sH=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sD=e=>{var{children:t}=e,n=sH(e,["children"]);return(0,iV.jsx)("div",Object.assign({},n,{children:t}))},sM=e=>{var{className:t="",children:n}=e,r=sH(e,["className","children"]);return(0,iV.jsx)("label",Object.assign({className:`form-label ${t}`},r,{children:n}))},sU=e=>{var{className:t="",style:n,label:r,children:i}=e,a=sH(e,["className","style","label","children"]);return(0,iV.jsxs)("div",{className:`form-floating ${t}`,style:n,children:[i,(0,iV.jsx)("label",Object.assign({},a,{children:r}))]})},sI=e=>{var{className:t="",size:n,children:r}=e,i=sH(e,["className","size","children"]);return(0,iV.jsx)("div",Object.assign({className:i$(sf)("input-group",n&&`input-group-${n}`,t)},i,{children:r}))},s$=e=>{var{className:t="",children:n}=e,r=sH(e,["className","children"]);return(0,iV.jsx)("span",Object.assign({className:`input-group-text ${t}`},r,{children:n}))},sF=e=>{var{as:t="input",className:n="",htmlSize:r,size:i,plaintext:a}=e,s=sH(e,["as","className","htmlSize","size","plaintext"]);return(0,iV.jsx)(t,Object.assign({className:i$(sf)("form-control",i&&`form-control-${i}`,s.readOnly&&a&&"form-control-plaintext","color"===s.type&&"form-control-color",n)},s,{size:r}))},sz=e=>{var{id:t=(0,iG.uniqueID)(),className:n="",style:r,title:i,type:a,inline:s,reverse:o,label:l}=e,c=sH(e,["id","className","style","title","type","inline","reverse","label"]);return(0,iV.jsxs)("div",{className:i$(sf)(l&&"form-check",s&&"form-check-inline",o&&"form-check-reverse","switch"===a&&"form-switch",n),style:r,children:[(0,iV.jsx)("input",Object.assign({className:"form-check-input",type:"switch"===a?"checkbox":a,role:"switch"===a?"switch":void 0,id:t},c)),l&&(0,iV.jsx)("label",{className:"form-check-label",htmlFor:t,title:i,children:l})]})},sB=e=>{var{className:t,label:n,labelFloat:r}=e,i=sH(e,["className","label","labelFloat"]);n||(n=i.title||i.placeholder);let a=(0,iV.jsx)(sF,Object.assign({},i));return r?(0,iV.jsx)(sU,{className:t,label:n,children:a}):(0,iV.jsxs)(sD,{className:t,children:[(0,iV.jsx)(sM,{children:n}),a]})};var sW={};sp(sW,"Button",function(){return sJ}),sp(sW,"isButton",function(){return sZ}),sp(sW,"IconButton",function(){return sQ}),sp(sW,"CloseButton",function(){return sX});var sV={};sp(sV,"Icon",function(){return sG}),sp(sV,"BGIcon",function(){return sY});var sq=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sG=e=>{var{className:t,style:n,color:r,name:i,size:a,children:s}=e,o=sq(e,["className","style","color","name","size","children"]);return(0,iV.jsx)("i",Object.assign({className:i$(sf)(`bi-${i}`,r&&`text-${r}`,t),style:Object.assign(Object.assign({},n),{fontSize:a?`${a}rem`:void 0})},o))},sY=e=>{var{className:t="",type:n="square",color:r="primary",children:i}=e,a=sq(e,["className","type","color","children"]);return(0,iV.jsx)("span",Object.assign({className:i$(sf)("d-inline-block","p-3",`bg-${r}`,`rounded${"square"===n?"":"-circle"}`,t)},a,{children:(0,iV.jsx)(sG,Object.assign({color:"light"===r?"dark":"light"},a))}))};var sK=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const sJ=e=>{var{className:t,href:n,variant:r,size:i,active:a,children:s}=e,o=sK(e,["className","href","variant","size","active","children"]);let{disabled:l,tabIndex:c}=o,u=i$(sf)("btn",r&&`btn-${r}`,i&&`btn-${i}`,t);return n?(0,iV.jsx)("a",Object.assign({role:"button",className:i$(sf)(u,{disabled:l,active:a}),tabIndex:l?-1:c,ariaDisabled:null==l?void 0:l.toString(),ariaPressed:null==a?void 0:a.toString(),href:n},o,{children:s})):(0,iV.jsx)("button",Object.assign({className:u},o,{ariaPressed:null==a?void 0:a.toString(),children:s}))};function sZ(e){var t;let{selector:n,props:r}=e;return/^(a|input|button)/.test(n)&&(null===(t=null==r?void 0:r.className)||void 0===t?void 0:t.btn)}const sQ=e=>{var{className:t,name:n}=e,r=sK(e,["className","name"]);return(0,iV.jsx)(sJ,Object.assign({className:i$(sf)("p-1",t),style:{lineHeight:"0.8"}},r,{children:(0,iV.jsx)(sG,{name:n})}))},sX=e=>{var{className:t=""}=e,n=sK(e,["className"]);return(0,iV.jsx)("button",Object.assign({className:`btn-close ${t}`,type:"button",ariaLabel:"Close"},n))};sp({},"Badge",function(){return s1});var s0=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const s1=e=>{var{className:t,bg:n,text:r,pill:i,href:a,children:s}=e,o=s0(e,["className","bg","text","pill","href","children"]);let l=i$(sf)("badge",n&&`text-bg-${n}`,r&&`text-${r}`,i&&"rounded-pill",a&&"text-decoration-none",t);return a?(0,iV.jsx)("a",Object.assign({},o,{className:l,href:a,children:s})):(0,iV.jsx)("span",Object.assign({},o,{className:l,children:s}))};var s2={};sp(s2,"Spinner",function(){return s5}),sp(s2,"SpinnerBox",function(){return s9});var s3=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const s5=e=>{var{className:t,variant:n,size:r,animation:i="border",children:a="Loading..."}=e,s=s3(e,["className","variant","size","animation","children"]);return(0,iV.jsx)("div",Object.assign({className:i$(sf)(`spinner-${i}`,r&&`spinner-${i}-${r}`,n&&`text-${n}`,t),role:"status"},s,{children:(0,iV.jsx)("span",{className:"visually-hidden",children:a})}))},s9=e=>{var{className:t="",cover:n,variant:r,size:i,animation:a,role:s,children:o}=e,l=s3(e,["className","cover","variant","size","animation","role","children"]);return(0,iV.jsxs)("div",Object.assign({className:`position-relative ${t}`},l,{children:[o,n&&(0,iV.jsx)("div",{className:"modal-backdrop show d-flex justify-content-center align-items-center",children:(0,iV.jsx)(s5,{variant:r,size:i,animation:a,role:s,ariaHidden:"true"})})]}))};var s4={};sp(s4,"Tooltip",function(){return on}),sp(s4,"TooltipBox",function(){return or});var s6=function(e,t,n){for(var r=arguments.length>2,i=0;i=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},s8=function(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},oe=function(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n},ot=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const on=e=>{var{className:t="",children:n}=e,r=ot(e,["className","children"]);return(0,iV.jsxs)("div",Object.assign({className:`tooltip bs-tooltip show position-absolute ${t}`,role:"tooltip"},r,{children:[(0,iV.jsx)("div",{className:"tooltip-arrow"}),(0,iV.jsx)("div",{className:"tooltip-inner",children:n})]}))};let or=(W=[aD({tagName:"tooltip-box",mode:"open"}),aA],V=[],q=HTMLElement,G=[],Y=[],z=class extends q{constructor(){super(...arguments),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void s6(this,G)}),rn.set(this,s6(this,Y,!1)),Object.defineProperty(this,"handleToggle",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.show=!this.show})}get show(){return s8(this,rn,"f")}set show(e){oe(this,rn,e,"f")}connectedCallback(){this.style.display="inline-block",this.addEventListener("mouseenter",this.handleToggle),this.addEventListener("mouseleave",this.handleToggle)}disconnectedCallback(){this.removeEventListener("mouseenter",this.handleToggle),this.removeEventListener("mouseleave",this.handleToggle)}render(){let{content:e,show:t}=this;return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("link",{rel:"stylesheet",href:"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css"}),(0,iV.jsx)("slot",{}),t&&(0,iV.jsx)(on,{children:e})]})}},rn=new WeakMap,rr=z,"symbol"==typeof(ri="TooltipBox")&&(ri=ri.description?"[".concat(ri.description,"]"):""),Object.defineProperty(rr,"name",{configurable:!0,value:ra?"".concat(ra," ",ri):ri}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=q[Symbol.metadata])&&void 0!==e?e:null):void 0;B=[aC,iX.observable],s7(z,null,B,{kind:"accessor",name:"show",static:!1,private:!1,access:{has:e=>"show"in e,get:e=>e.show,set:(e,t)=>{e.show=t}},metadata:t},Y,G),s7(null,F={value:z},W,{kind:"class",name:z.name,metadata:t},null,V),z=F.value,t&&Object.defineProperty(z,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),s6(z,V)})(),z);var oi={};sp(oi,"Dropdown",function(){return ou}),sp(oi,"DropdownToggle",function(){return od}),sp(oi,"DropdownMenu",function(){return oh}),sp(oi,"DropdownItem",function(){return of}),sp(oi,"DropdownButton",function(){return op});var oa=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},os=function(e,t,n){for(var r=arguments.length>2,i=0;it.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const ou=e=>{var{className:t="",children:n}=e,r=oc(e,["className","children"]);return(0,iV.jsx)("div",Object.assign({className:`dropdown ${t}`},r,{children:n}))},od=e=>{var{className:t="",children:n}=e,r=oc(e,["className","children"]);return(0,iV.jsx)(sJ,Object.assign({},r,{className:`dropdown-toggle ${t}`,type:"button",children:n}))},oh=e=>{var{className:t="",children:n}=e,r=oc(e,["className","children"]);return(0,iV.jsx)("nav",Object.assign({className:`dropdown-menu ${t}`},r,{children:n}))},of=e=>{var{className:t="",children:n}=e,r=oc(e,["className","children"]);return(0,iV.jsx)("a",Object.assign({className:`dropdown-item ${t}`},r,{children:n}))};let op=(ei=[aD({tagName:"dropdown-button",mode:"open"}),aA],ea=[],es=HTMLElement,eo=[],el=[],ec=[],eu=[],ed=[],eh=[],ef=[],ep=[],J=class extends es{constructor(){super(...arguments),rs.set(this,(os(this,eo),os(this,el,void 0))),ro.set(this,os(this,ec,void 0)),rl.set(this,os(this,eu,void 0)),rc.set(this,os(this,ed,void 0)),ru.set(this,os(this,eh,void 0)),rd.set(this,os(this,ef,!1)),rh.set(this,os(this,ep,!1))}get boxClass(){return oo(this,rs,"f")}set boxClass(e){ol(this,rs,e,"f")}get buttonClass(){return oo(this,ro,"f")}set buttonClass(e){ol(this,ro,e,"f")}get variant(){return oo(this,rl,"f")}set variant(e){ol(this,rl,e,"f")}get size(){return oo(this,rc,"f")}set size(e){ol(this,rc,e,"f")}get caption(){return oo(this,ru,"f")}set caption(e){ol(this,ru,e,"f")}get disabled(){return oo(this,rd,"f")}set disabled(e){ol(this,rd,e,"f")}get show(){return oo(this,rh,"f")}set show(e){ol(this,rh,e,"f")}renderContent(){let{boxClass:e,buttonClass:t,variant:n,size:r,caption:i}=this,{disabled:a,show:s}=this;return(0,iV.jsxs)(ou,{className:i$(sf)(e,{show:s}),children:[(0,iV.jsx)(od,{className:i$(sf)(t,{show:s}),variant:n,size:r,disabled:a,onClick:()=>this.show=!s,children:i}),(0,iV.jsx)(oh,{className:i$(sf)({show:s}),children:(0,iV.jsx)("slot",{})})]})}render(){return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("link",{rel:"stylesheet",href:"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css"}),(0,iV.jsx)("style",{children:`:host { + display: inline-block; + }`}),this.renderContent()]})}},rs=new WeakMap,ro=new WeakMap,rl=new WeakMap,rc=new WeakMap,ru=new WeakMap,rd=new WeakMap,rh=new WeakMap,rf=J,"symbol"==typeof(rp="DropdownButton")&&(rp=rp.description?"[".concat(rp.description,"]"):""),Object.defineProperty(rf,"name",{configurable:!0,value:rm?"".concat(rm," ",rp):rp}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=es[Symbol.metadata])&&void 0!==e?e:null):void 0;Z=[aC,iX.observable],Q=[aC,iX.observable],X=[aC,iX.observable],ee=[aC,iX.observable],et=[iX.observable],en=[aC,iX.observable],er=[aC,iX.observable],oa(J,null,Z,{kind:"accessor",name:"boxClass",static:!1,private:!1,access:{has:e=>"boxClass"in e,get:e=>e.boxClass,set:(e,t)=>{e.boxClass=t}},metadata:t},el,eo),oa(J,null,Q,{kind:"accessor",name:"buttonClass",static:!1,private:!1,access:{has:e=>"buttonClass"in e,get:e=>e.buttonClass,set:(e,t)=>{e.buttonClass=t}},metadata:t},ec,eo),oa(J,null,X,{kind:"accessor",name:"variant",static:!1,private:!1,access:{has:e=>"variant"in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:t},eu,eo),oa(J,null,ee,{kind:"accessor",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:t},ed,eo),oa(J,null,et,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:e=>"caption"in e,get:e=>e.caption,set:(e,t)=>{e.caption=t}},metadata:t},eh,eo),oa(J,null,en,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:t},ef,eo),oa(J,null,er,{kind:"accessor",name:"show",static:!1,private:!1,access:{has:e=>"show"in e,get:e=>e.show,set:(e,t)=>{e.show=t}},metadata:t},ep,eo),oa(null,K={value:J},ei,{kind:"class",name:J.name,metadata:t},null,ea),J=K.value,t&&Object.defineProperty(J,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),os(J,ea)})(),J);sp({},"Collapse",function(){return og});var om=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const og=e=>{var{className:t,dimension:n="width",in:r,children:i}=e,a=om(e,["className","dimension","in","children"]);return(0,iV.jsx)("div",Object.assign({className:i$(sf)("collapse",{"collapse-horizontal":"height"===n,show:r},t)},a,{children:i}))};var ov={};sp(ov,"AccordionItem",function(){return oj}),sp(ov,"AccordionHeader",function(){return ok}),sp(ov,"AccordionBody",function(){return oO}),sp(ov,"Accordion",function(){return oS});var ob=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},oy=function(e,t,n){for(var r=arguments.length>2,i=0;it.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const oj=e=>{var{className:t="",children:n}=e,r=o_(e,["className","children"]);return(0,iV.jsx)("div",Object.assign({className:`accordion-item ${t}`},r,{children:n}))},ok=e=>{var{className:t="",children:n,onClick:r}=e,i=o_(e,["className","children","onClick"]);return(0,iV.jsx)("h2",Object.assign({className:`accordion-header ${t}`},i,{children:(0,iV.jsx)("button",{className:"accordion-button",type:"button",onClick:r,children:n})}))},oO=e=>{var{className:t="",children:n}=e,r=o_(e,["className","children"]);return(0,iV.jsx)(og,Object.assign({className:`accordion-collapse ${t}`},r,{children:(0,iV.jsx)("div",{className:"accordion-body",children:n})}))};let oS=(ex=[aD({tagName:"accordion-box",mode:"open"}),aA],e_=[],ej=HTMLElement,ek=[],eO=[],eS=[],eg=class extends ej{constructor(){super(...arguments),rg.set(this,(oy(this,ek),oy(this,eO,!1))),rv.set(this,oy(this,eS,!1))}get flush(){return ow(this,rg,"f")}set flush(e){ox(this,rg,e,"f")}get alwaysOpen(){return ow(this,rv,"f")}set alwaysOpen(e){ox(this,rv,e,"f")}connectedCallback(){this.classList.add("accordion")}handleFlush(e){this.classList.toggle("accordion-flush",e)}handleClick(e,{nextElementSibling:t}){if(!this.alwaysOpen)for(let e of this.querySelectorAll(".accordion-collapse"))e!==t&&(e.classList.remove("show"),e.previousElementSibling.querySelector("button").ariaExpanded="false");t.classList.toggle("show"),t.previousElementSibling.querySelector("button").ariaExpanded="false"}render(){return(0,iV.jsx)("slot",{})}},rg=new WeakMap,rv=new WeakMap,rb=eg,"symbol"==typeof(ry="Accordion")&&(ry=ry.description?"[".concat(ry.description,"]"):""),Object.defineProperty(rb,"name",{configurable:!0,value:rw?"".concat(rw," ",ry):ry}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=ej[Symbol.metadata])&&void 0!==e?e:null):void 0;ev=[aC,iX.observable],eb=[aC,iX.observable],ey=[aP(({flush:e})=>e)],ew=[aM("click",".accordion-header")],ob(eg,null,ev,{kind:"accessor",name:"flush",static:!1,private:!1,access:{has:e=>"flush"in e,get:e=>e.flush,set:(e,t)=>{e.flush=t}},metadata:t},eO,ek),ob(eg,null,eb,{kind:"accessor",name:"alwaysOpen",static:!1,private:!1,access:{has:e=>"alwaysOpen"in e,get:e=>e.alwaysOpen,set:(e,t)=>{e.alwaysOpen=t}},metadata:t},eS,ek),ob(eg,null,ey,{kind:"method",name:"handleFlush",static:!1,private:!1,access:{has:e=>"handleFlush"in e,get:e=>e.handleFlush},metadata:t},null,ek),ob(eg,null,ew,{kind:"method",name:"handleClick",static:!1,private:!1,access:{has:e=>"handleClick"in e,get:e=>e.handleClick},metadata:t},null,ek),ob(null,em={value:eg},ex,{kind:"class",name:eg.name,metadata:t},null,e_),eg=em.value,t&&Object.defineProperty(eg,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),oy(eg,e_)})(),eg);var oE={};sp(oE,"CarouselItem",function(){return oP}),sp(oE,"CarouselCaption",function(){return oL}),sp(oE,"Carousel",function(){return oH});var oN=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},oR=function(e,t,n){for(var r=arguments.length>2,i=0;it.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const oP=e=>{var{className:t="",interval:n,children:r}=e,i=oC(e,["className","interval","children"]);return(0,iV.jsx)("div",Object.assign({className:`carousel-item ${t}`},i,{"data-bs-interval":n,children:r}))},oL=e=>{var{className:t="",children:n}=e,r=oC(e,["className","children"]);return(0,iV.jsx)("div",Object.assign({className:`carousel-caption ${t}`},r,{children:n}))};let oH=(eM=[aD({tagName:"carousel-box",mode:"open"}),aA],eU=[],eI=HTMLElement,e$=[],eF=[],ez=[],eB=[],eN=class extends eI{constructor(){super(...arguments),rx.set(this,(oR(this,e$),oR(this,eF,void 0))),r_.set(this,oR(this,ez,[])),rj.set(this,oR(this,eB,0)),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}get interval(){return oT(this,rx,"f")}set interval(e){oA(this,rx,e,"f")}get itemMeta(){return oT(this,r_,"f")}set itemMeta(e){oA(this,r_,e,"f")}get currentIndex(){return oT(this,rj,"f")}set currentIndex(e){oA(this,rj,e,"f")}connectedCallback(){this.interval?this.timer||(this.timer=window.setInterval(()=>this.turnByOffset(1),this.interval)):this.handleActiveItem(this.currentIndex)}disconnectedCallback(){clearInterval(this.timer)}mountedCallback(){let e=[...this.querySelectorAll(".carousel-item")];this.itemMeta.length!==e.length&&(this.itemMeta=e.map(e=>{var t;return{caption:((null===(t=e.querySelector(".carousel-caption"))||void 0===t?void 0:t.textContent)||e.textContent).trim()}}))}turnByOffset(e){this.currentIndex=(this.currentIndex+e)%this.itemMeta.length}handleButtonClick(e,{dataset:t}){this.turnByOffset("next"===t.bsSlide?1:-1)}handleButtonPress({key:e},{dataset:t}){"Enter"===e&&this.turnByOffset("next"===t.bsSlide?1:-1)}handleIndicatorsButtonClick(e,{dataset:t}){this.currentIndex=+t.bsSlideTo}handleIndicatorsButtonPress({key:e},{dataset:t}){"Enter"===e&&(this.currentIndex=+t.bsSlideTo)}handleActiveItem(e){var t;null===(t=this.querySelector(".carousel-item.active"))||void 0===t||t.classList.remove("active"),this.children[e].classList.add("active")}renderContent(){let{itemMeta:e,currentIndex:t}=this;return(0,iV.jsxs)("div",{className:"carousel",children:[(0,iV.jsx)("div",{className:"carousel-indicators",children:e.map(({caption:e},n)=>(0,iV.jsx)("button",{type:"button",ariaLabel:e,"data-bs-slide-to":n,className:t===n?"active":"",ariaCurrent:t===n?"true":""}))}),(0,iV.jsx)("div",{className:"carousel-inner",children:(0,iV.jsx)("slot",{})}),(0,iV.jsxs)("button",{type:"button",className:"carousel-control-prev","data-bs-slide":"prev",children:[(0,iV.jsx)("span",{className:"carousel-control-prev-icon",ariaHidden:"true"}),(0,iV.jsx)("span",{className:"visually-hidden",children:"-1"})]}),(0,iV.jsxs)("button",{type:"button",className:"carousel-control-next","data-bs-slide":"next",children:[(0,iV.jsx)("span",{className:"carousel-control-next-icon",ariaHidden:"true"}),(0,iV.jsx)("span",{className:"visually-hidden",children:"+1"})]})]})}render(){return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("link",{rel:"stylesheet",href:"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css"}),this.renderContent()]})}},rx=new WeakMap,r_=new WeakMap,rj=new WeakMap,rk=eN,"symbol"==typeof(rO="Carousel")&&(rO=rO.description?"[".concat(rO.description,"]"):""),Object.defineProperty(rk,"name",{configurable:!0,value:rS?"".concat(rS," ",rO):rO}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=eI[Symbol.metadata])&&void 0!==e?e:null):void 0;eR=[aC,iX.observable],eT=[iX.observable],eA=[aC,iX.observable],eC=[aM("click",".carousel > button")],eP=[aM("keyup",".carousel > button")],eL=[aM("click",".carousel-indicators button")],eH=[aM("keyup",".carousel-indicators button")],eD=[aP(({currentIndex:e})=>e)],oN(eN,null,eR,{kind:"accessor",name:"interval",static:!1,private:!1,access:{has:e=>"interval"in e,get:e=>e.interval,set:(e,t)=>{e.interval=t}},metadata:t},eF,e$),oN(eN,null,eT,{kind:"accessor",name:"itemMeta",static:!1,private:!1,access:{has:e=>"itemMeta"in e,get:e=>e.itemMeta,set:(e,t)=>{e.itemMeta=t}},metadata:t},ez,e$),oN(eN,null,eA,{kind:"accessor",name:"currentIndex",static:!1,private:!1,access:{has:e=>"currentIndex"in e,get:e=>e.currentIndex,set:(e,t)=>{e.currentIndex=t}},metadata:t},eB,e$),oN(eN,null,eC,{kind:"method",name:"handleButtonClick",static:!1,private:!1,access:{has:e=>"handleButtonClick"in e,get:e=>e.handleButtonClick},metadata:t},null,e$),oN(eN,null,eP,{kind:"method",name:"handleButtonPress",static:!1,private:!1,access:{has:e=>"handleButtonPress"in e,get:e=>e.handleButtonPress},metadata:t},null,e$),oN(eN,null,eL,{kind:"method",name:"handleIndicatorsButtonClick",static:!1,private:!1,access:{has:e=>"handleIndicatorsButtonClick"in e,get:e=>e.handleIndicatorsButtonClick},metadata:t},null,e$),oN(eN,null,eH,{kind:"method",name:"handleIndicatorsButtonPress",static:!1,private:!1,access:{has:e=>"handleIndicatorsButtonPress"in e,get:e=>e.handleIndicatorsButtonPress},metadata:t},null,e$),oN(eN,null,eD,{kind:"method",name:"handleActiveItem",static:!1,private:!1,access:{has:e=>"handleActiveItem"in e,get:e=>e.handleActiveItem},metadata:t},null,e$),oN(null,eE={value:eN},eM,{kind:"class",name:eN.name,metadata:t},null,eU),eN=eE.value,t&&Object.defineProperty(eN,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),oR(eN,eU)})(),eN);var oD={};sp(oD,"NavLink",function(){return o$}),sp(oD,"NavDropdown",function(){return oF}),sp(oD,"Nav",function(){return oz});var oM=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},oU=function(e,t,n){for(var r=arguments.length>2,i=0;it.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const o$=e=>{var{className:t="",active:n,children:r}=e,i=oI(e,["className","active","children"]);return(0,iV.jsx)("a",Object.assign({className:`nav-link ${n?"active":""} ${t}`},i,{children:r}))},oF=e=>{var{title:t,children:n}=e,r=oI(e,["title","children"]);return(0,iV.jsx)(op,Object.assign({boxClass:"nav-item",buttonClass:"nav-link",caption:t},r,{children:n}))};let oz=(eq=[aD({tagName:"bs-nav",mode:"open"})],eG=[],eY=HTMLElement,rE=eV=class extends eY{connectedCallback(){var e;let t=this.closest("offcanvas-navbar, .navbar");if(!t)return this.classList.add("nav");let n=t.expand||(null===(e=t.className.match(/navbar-expand(-(\S+))?/))||void 0===e?void 0:e[2]);this.classList.add("navbar-nav","align-items-center",n&&"flex-column",n&&`flex-${n}-row`)}render(){return(0,iV.jsx)("slot",{})}},"symbol"==typeof(rN="Nav")&&(rN=rN.description?"[".concat(rN.description,"]"):""),Object.defineProperty(rE,"name",{configurable:!0,value:rR?"".concat(rR," ",rN):rN}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=eY[Symbol.metadata])&&void 0!==e?e:null):void 0;oM(null,eW={value:eV},eq,{kind:"class",name:eV.name,metadata:t},null,eG),eV=eW.value,t&&Object.defineProperty(eV,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),oU(eV,eG)})(),eV);var oB={};sp(oB,"NavbarBrand",function(){return o2}),sp(oB,"NavbarToggle",function(){return o3}),sp(oB,"Navbar",function(){return o5}),sp(oB,"OffcanvasNavbar",function(){return o9});var oW={};sp(oW,"OffcanvasTitle",function(){return oq}),sp(oW,"OffcanvasHeader",function(){return oG}),sp(oW,"OffcanvasBody",function(){return oY}),sp(oW,"Offcanvas",function(){return oK}),sp(oW,"OffcanvasBox",function(){return oJ});var oV=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const oq=e=>{var{className:t="",children:n}=e,r=oV(e,["className","children"]);return(0,iV.jsx)("h5",Object.assign({className:`offcanvas-title ${t}`},r,{children:n}))},oG=e=>{var{className:t="",closeButton:n,children:r,onHide:i}=e,a=oV(e,["className","closeButton","children","onHide"]);return(0,iV.jsxs)("div",Object.assign({className:`offcanvas-header ${t}`},a,{children:[r,n&&(0,iV.jsx)(sX,{onClick:i})]}))},oY=e=>{var{className:t="",children:n}=e,r=oV(e,["className","children"]);return(0,iV.jsx)("div",Object.assign({className:`offcanvas-body ${t}`},r,{children:n}))},oK=e=>{var{className:t="",style:n,backdrop:r=!0,show:i,onHide:a,children:s}=e,o=oV(e,["className","style","backdrop","show","onHide","children"]);return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("div",Object.assign({className:i$(sf)("offcanvas",i?"offcanvas-end show":"offcanvas-start",t),style:Object.assign({maxWidth:"75vw"},n),tabIndex:-1},"static"===r?{"data-bs-backdrop":"static"}:{},o,{children:s})),i&&(0,iV.jsx)("div",{className:"offcanvas-backdrop show",onClick:a})]})},oJ=e=>{var{title:t,titleId:n=(0,iG.uniqueID)(),closeButton:r,onHide:i,children:a}=e,s=oV(e,["title","titleId","closeButton","onHide","children"]);return(0,iV.jsxs)(oK,Object.assign({},s,{onHide:i,"aria-labelledby":n,children:[(0,iV.jsx)(oG,{closeButton:r,onHide:i,children:(0,iV.jsx)(oq,{id:n,children:t})}),(0,iV.jsx)(oY,{children:a})]}))};var oZ=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},oQ=function(e,t,n){for(var r=arguments.length>2,i=0;it.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const o2=e=>{var{className:t="",children:n}=e,r=o1(e,["className","children"]);return(0,iV.jsx)("a",Object.assign({className:`navbar-brand ${t}`},r,{children:n}))},o3=e=>{var{className:t="",type:n,children:r}=e,i=o1(e,["className","type","children"]);return(0,iV.jsx)("button",Object.assign({className:`navbar-toggler ${t}`,type:"button"},i,{children:(0,iV.jsx)("span",{className:"navbar-toggler-icon"})}))},o5=({variant:e="light",bg:t="body-tertiary",fixed:n,sticky:r,expand:i,children:a})=>(0,iV.jsx)("nav",{className:`navbar bg-${t} ${n?`fixed-${n}`:""} ${r?`sticky-${r}`:""} ${i?`navbar-expand${!0===i?"":`-${i}`}`:""}`,"data-bs-theme":e,children:a});let o9=(e6=[aD({tagName:"offcanvas-navbar",mode:"open"}),aA],e7=[],e8=HTMLElement,te=[],tt=[],tn=[],tr=[],ti=[],ta=[],ts=[],to=[],tl=[],tc=[],tu=[],eJ=class extends e8{constructor(){super(...arguments),rT.set(this,(oQ(this,te),oQ(this,tt,void 0))),rA.set(this,oQ(this,tn,void 0)),rC.set(this,oQ(this,tr,void 0)),rP.set(this,oQ(this,ti,void 0)),rL.set(this,oQ(this,ta,void 0)),rH.set(this,oQ(this,ts,void 0)),rD.set(this,oQ(this,to,void 0)),Object.defineProperty(this,"titleId",{enumerable:!0,configurable:!0,writable:!0,value:(0,iG.uniqueID)()}),rM.set(this,oQ(this,tl,void 0)),Object.defineProperty(this,"offcanvasId",{enumerable:!0,configurable:!0,writable:!0,value:(0,iG.uniqueID)()}),rU.set(this,oQ(this,tc,!1)),rI.set(this,oQ(this,tu,!0)),Object.defineProperty(this,"close",{enumerable:!0,configurable:!0,writable:!0,value:e=>{(!(e instanceof KeyboardEvent)||["Escape","Enter"].includes(e.key))&&(this.open=!1)}}),Object.defineProperty(this,"handleLink",{enumerable:!0,configurable:!0,writable:!0,value:(0,iG.delegate)("a[href].nav-link",this.close)})}get variant(){return oX(this,rT,"f")}set variant(e){o0(this,rT,e,"f")}get bg(){return oX(this,rA,"f")}set bg(e){o0(this,rA,e,"f")}get expand(){return oX(this,rC,"f")}set expand(e){o0(this,rC,e,"f")}get fixed(){return oX(this,rP,"f")}set fixed(e){o0(this,rP,e,"f")}get sticky(){return oX(this,rL,"f")}set sticky(e){o0(this,rL,e,"f")}get fluid(){return oX(this,rH,"f")}set fluid(e){o0(this,rH,e,"f")}get title(){return oX(this,rD,"f")}set title(e){o0(this,rD,e,"f")}get brand(){return oX(this,rM,"f")}set brand(e){o0(this,rM,e,"f")}get open(){return oX(this,rU,"f")}set open(e){o0(this,rU,e,"f")}get closeButton(){return oX(this,rI,"f")}set closeButton(e){o0(this,rI,e,"f")}connectedCallback(){var e;null===(e=globalThis.addEventListener)||void 0===e||e.call(globalThis,"keyup",this.close,!0),this.addEventListener("click",this.handleLink)}disconnectedCallback(){var e;null===(e=globalThis.removeEventListener)||void 0===e||e.call(globalThis,"keyup",this.close,!0),this.addEventListener("click",this.handleLink)}renderContent(){let{variant:e,bg:t,expand:n,fixed:r,sticky:i,fluid:a,brand:s}=this,{title:o,titleId:l,offcanvasId:c,open:u,closeButton:d}=this;return(0,iV.jsx)(o5,{variant:e,bg:t,expand:n,fixed:r,sticky:i,children:(0,iV.jsxs)(sv,{fluid:a,children:[s||o,(0,iV.jsx)(o3,{"aria-controls":c,ariaLabel:"Toggle navigation",onClick:()=>this.open=!0}),(0,iV.jsxs)(oK,{id:c,"aria-labelledby":l,show:u,onHide:this.close,children:[(0,iV.jsx)(oG,{closeButton:d,onHide:()=>this.open=!1,children:(0,iV.jsx)(oq,{id:l,children:s||o})}),(0,iV.jsx)(oY,{children:(0,iV.jsx)("slot",{})})]})]})})}render(){return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("link",{rel:"stylesheet",href:"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css"}),this.renderContent()]})}},rT=new WeakMap,rA=new WeakMap,rC=new WeakMap,rP=new WeakMap,rL=new WeakMap,rH=new WeakMap,rD=new WeakMap,rM=new WeakMap,rU=new WeakMap,rI=new WeakMap,r$=eJ,"symbol"==typeof(rF="OffcanvasNavbar")&&(rF=rF.description?"[".concat(rF.description,"]"):""),Object.defineProperty(r$,"name",{configurable:!0,value:rz?"".concat(rz," ",rF):rF}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=e8[Symbol.metadata])&&void 0!==e?e:null):void 0;eZ=[aC,iX.observable],eQ=[aC,iX.observable],eX=[aC,iX.observable],e0=[aC,iX.observable],e1=[aC,iX.observable],e2=[aC,iX.observable],e3=[aC,iX.observable],e5=[iX.observable],e9=[aC,iX.observable],e4=[aC,iX.observable],oZ(eJ,null,eZ,{kind:"accessor",name:"variant",static:!1,private:!1,access:{has:e=>"variant"in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:t},tt,te),oZ(eJ,null,eQ,{kind:"accessor",name:"bg",static:!1,private:!1,access:{has:e=>"bg"in e,get:e=>e.bg,set:(e,t)=>{e.bg=t}},metadata:t},tn,te),oZ(eJ,null,eX,{kind:"accessor",name:"expand",static:!1,private:!1,access:{has:e=>"expand"in e,get:e=>e.expand,set:(e,t)=>{e.expand=t}},metadata:t},tr,te),oZ(eJ,null,e0,{kind:"accessor",name:"fixed",static:!1,private:!1,access:{has:e=>"fixed"in e,get:e=>e.fixed,set:(e,t)=>{e.fixed=t}},metadata:t},ti,te),oZ(eJ,null,e1,{kind:"accessor",name:"sticky",static:!1,private:!1,access:{has:e=>"sticky"in e,get:e=>e.sticky,set:(e,t)=>{e.sticky=t}},metadata:t},ta,te),oZ(eJ,null,e2,{kind:"accessor",name:"fluid",static:!1,private:!1,access:{has:e=>"fluid"in e,get:e=>e.fluid,set:(e,t)=>{e.fluid=t}},metadata:t},ts,te),oZ(eJ,null,e3,{kind:"accessor",name:"title",static:!1,private:!1,access:{has:e=>"title"in e,get:e=>e.title,set:(e,t)=>{e.title=t}},metadata:t},to,te),oZ(eJ,null,e5,{kind:"accessor",name:"brand",static:!1,private:!1,access:{has:e=>"brand"in e,get:e=>e.brand,set:(e,t)=>{e.brand=t}},metadata:t},tl,te),oZ(eJ,null,e9,{kind:"accessor",name:"open",static:!1,private:!1,access:{has:e=>"open"in e,get:e=>e.open,set:(e,t)=>{e.open=t}},metadata:t},tc,te),oZ(eJ,null,e4,{kind:"accessor",name:"closeButton",static:!1,private:!1,access:{has:e=>"closeButton"in e,get:e=>e.closeButton,set:(e,t)=>{e.closeButton=t}},metadata:t},tu,te),oZ(null,eK={value:eJ},e6,{kind:"class",name:eJ.name,metadata:t},null,e7),eJ=eK.value,t&&Object.defineProperty(eJ,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),oQ(eJ,e7)})(),eJ);var o4={};sp(o4,"Tab",function(){return ln}),sp(o4,"Tabs",function(){return lr});var o6=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},o7=function(e,t,n){for(var r=arguments.length>2,i=0;i{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=tm[Symbol.metadata])&&void 0!==e?e:null):void 0;o6(null,td={value:th},tf,{kind:"class",name:th.name,metadata:t},null,tp),th=td.value,t&&Object.defineProperty(th,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),o7(th,tp)})(),th),lr=(t_=[aD({tagName:"tabs-box",mode:"open"}),aA],tj=[],tk=HTMLElement,tO=[],tS=[],tE=[],tv=class extends tk{constructor(){super(...arguments),rB.set(this,(o7(this,tO),o7(this,tS,[]))),rW.set(this,o7(this,tE,0))}get tabMeta(){return le(this,rB,"f")}set tabMeta(e){lt(this,rB,e,"f")}get currentIndex(){return le(this,rW,"f")}set currentIndex(e){lt(this,rW,e,"f")}mountedCallback(){let e=[...this.querySelectorAll("tab-pane")];this.tabMeta=e.map(e=>(e.hidden=!0,{caption:e.caption})),this.turnPaneTo(this.currentIndex)}handleTabClick(e,{dataset:{index:t}}){e.preventDefault(),e.stopPropagation(),this.currentIndex=+t}turnPaneTo(e){let t=this.querySelector("tab-pane.active");t&&(t.hidden=!0,t.classList.remove("active","show"));let n=this.children[e];n.hidden=!1,n.classList.add("active","show")}renderContent(){let{tabMeta:e,currentIndex:t}=this;return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)(oz,{className:"nav-tabs",role:"tablist",children:e.map(({caption:e},n)=>(0,iV.jsx)(o$,{role:"tab","data-index":n,className:t===n?"active":"",ariaSelected:`${t===n}`,children:e}))}),(0,iV.jsx)("div",{className:"tab-content",children:(0,iV.jsx)("slot",{})})]})}render(){return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("link",{rel:"stylesheet",href:"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css"}),this.renderContent()]})}},rB=new WeakMap,rW=new WeakMap,o8(tv,"Tabs"),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=tk[Symbol.metadata])&&void 0!==e?e:null):void 0;tb=[iX.observable],ty=[aC,iX.observable],tw=[aM("click",".nav-tabs > .nav-link")],tx=[aP(({currentIndex:e})=>e)],o6(tv,null,tb,{kind:"accessor",name:"tabMeta",static:!1,private:!1,access:{has:e=>"tabMeta"in e,get:e=>e.tabMeta,set:(e,t)=>{e.tabMeta=t}},metadata:t},tS,tO),o6(tv,null,ty,{kind:"accessor",name:"currentIndex",static:!1,private:!1,access:{has:e=>"currentIndex"in e,get:e=>e.currentIndex,set:(e,t)=>{e.currentIndex=t}},metadata:t},tE,tO),o6(tv,null,tw,{kind:"method",name:"handleTabClick",static:!1,private:!1,access:{has:e=>"handleTabClick"in e,get:e=>e.handleTabClick},metadata:t},null,tO),o6(tv,null,tx,{kind:"method",name:"turnPaneTo",static:!1,private:!1,access:{has:e=>"turnPaneTo"in e,get:e=>e.turnPaneTo},metadata:t},null,tO),o6(null,tg={value:tv},t_,{kind:"class",name:tv.name,metadata:t},null,tj),tv=tg.value,t&&Object.defineProperty(tv,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),o7(tv,tj)})(),tv);sp({},"CountDown",function(){return lc});var li=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},la=function(e,t,n){for(var r=arguments.length>2,i=0;i"tertiary"!==e).slice(0,4);let lc=(tL=[aD({tagName:"count-down"}),aA],tH=[],tD=HTMLElement,tM=[],tU=[],tI=[],t$=[],tR=class extends tD{constructor(){super(...arguments),rV.set(this,(la(this,tM),la(this,tU,Date.now()))),rq.set(this,la(this,tI,0)),rG.set(this,la(this,t$,[{scale:24,label:"D"},{scale:60,label:"h"},{scale:60,label:"m"},{scale:1e3,label:"s"}])),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{let e=this.endTime-Date.now();e>0?(this.rest=e,this.timer||(this.timer=self.setInterval(this.tick,1e3))):this.timer&&clearInterval(this.timer)}})}get endTime(){return ls(this,rV,"f")}set endTime(e){lo(this,rV,e,"f")}get rest(){return ls(this,rq,"f")}set rest(e){lo(this,rq,e,"f")}get units(){return ls(this,rG,"f")}set units(e){lo(this,rG,e,"f")}get timeSections(){var{rest:e}=this;return this.units.reduce((t,{label:n},r,i)=>{let a=i.slice(r).map(({scale:e})=>e).reduce((e,t)=>e*t,1),s=~~(e/a);return e-=s*a,t.push({value:s,label:n}),t},[])}mountedCallback(){"number"!=typeof this.endTime&&(this.endTime=new Date(this.endTime).valueOf()),this.tick()}disconnectedCallback(){clearInterval(this.timer)}render(){return(0,iV.jsx)("ol",{className:"list-inline text-white",children:this.timeSections.map(({value:e,label:t},n)=>(0,iV.jsx)("li",{className:`list-inline-item fs-1 bg-${ll[n]} d-inline-flex align-items-center justify-content-center rounded-4`,style:{width:"5.5rem",height:"5.5rem"},children:(0,iV.jsxs)("small",{children:[(e+"").padStart(2,"0"),(0,iV.jsx)("sub",{children:t})]})},e))})}},rV=new WeakMap,rq=new WeakMap,rG=new WeakMap,rY=tR,"symbol"==typeof(rK="CountDown")&&(rK=rK.description?"[".concat(rK.description,"]"):""),Object.defineProperty(rY,"name",{configurable:!0,value:rJ?"".concat(rJ," ",rK):rK}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=tD[Symbol.metadata])&&void 0!==e?e:null):void 0;tT=[aC,iX.observable],tA=[iX.observable],tC=[iX.observable],tP=[iX.computed],li(tR,null,tT,{kind:"accessor",name:"endTime",static:!1,private:!1,access:{has:e=>"endTime"in e,get:e=>e.endTime,set:(e,t)=>{e.endTime=t}},metadata:t},tU,tM),li(tR,null,tA,{kind:"accessor",name:"rest",static:!1,private:!1,access:{has:e=>"rest"in e,get:e=>e.rest,set:(e,t)=>{e.rest=t}},metadata:t},tI,tM),li(tR,null,tC,{kind:"accessor",name:"units",static:!1,private:!1,access:{has:e=>"units"in e,get:e=>e.units,set:(e,t)=>{e.units=t}},metadata:t},t$,tM),li(tR,null,tP,{kind:"getter",name:"timeSections",static:!1,private:!1,access:{has:e=>"timeSections"in e,get:e=>e.timeSections},metadata:t},null,tM),li(null,tN={value:tR},tL,{kind:"class",name:tR.name,metadata:t},null,tH),tR=tN.value,t&&Object.defineProperty(tR,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),la(tR,tH)})(),tR);sp({},"MonthCalendar",function(){return lp});var lu=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},ld=function(e,t,n){for(var r=arguments.length>2,i=0;i{let{value:t}=this,n=(0,iG.formatDate)(e,"YYYY-MM-DD"),r=null==t?void 0:t.filter(({date:e})=>(0,iG.formatDate)(e,"YYYY-MM-DD")===n);return(0,iV.jsxs)("td",{className:i$(sf)({"opacity-50":e.getMonth()!==this.currentDate.getMonth(),"fw-bold":n===(0,iG.formatDate)(new Date,"YYYY-MM-DD")}),children:[(0,iV.jsx)("time",{className:"d-block",dateTime:e.toJSON(),children:e.getDate()}),null==r?void 0:r.map(e=>"object"==typeof e.content?e.content:(0,iV.jsx)(s1,{className:"d-inline-block text-decoration-none w-100 text-truncate",href:e.link,onClick:()=>this.emit("select",e),children:e.content}))]},e+"")}})}get variant(){return lh(this,rZ,"f")}set variant(e){lf(this,rZ,e,"f")}get locale(){return lh(this,rQ,"f")}set locale(e){lf(this,rQ,e,"f")}get value(){return lh(this,rX,"f")}set value(e){lf(this,rX,e,"f")}get weekFormatter(){var e;let{locale:t=null===(e=globalThis.navigator)||void 0===e?void 0:e.language}=this;return new Intl.DateTimeFormat(t,{weekday:"long"})}get currentDate(){return lh(this,r0,"f")}set currentDate(e){lf(this,r0,e,"f")}get dateGrid(){let e=new Date(this.currentDate);e.setDate(1),e=new Date(+e-e.getDay()*iG.Day);let t=Array.from(Array(42),(t,n)=>new Date(+e+n*iG.Day));return(0,iG.splitArray)(t,7)}changeMonth(e){this.currentDate=(0,iG.changeMonth)(this.currentDate,e),this.emit("change",this.currentDate)}render(){let{style:e,variant:t,weekFormatter:n,currentDate:r,dateGrid:i}=this;return(0,iV.jsxs)(sy,{style:Object.assign({tableLayout:"fixed"},e),children:[(0,iV.jsx)("caption",{children:(0,iV.jsxs)("div",{className:"d-flex justify-content-between align-items-center",children:[(0,iV.jsx)(sJ,{variant:t,onClick:()=>this.changeMonth(-1),children:"<"}),(0,iG.formatDate)(r,"YYYY-MM"),(0,iV.jsx)(sJ,{variant:t,onClick:()=>this.changeMonth(1),children:">"})]})}),(0,iV.jsx)("thead",{children:(0,iV.jsx)("tr",{children:i[0].map((e,r,{length:i})=>(0,iV.jsx)("td",{className:`bg-${t} text-white`,style:{width:`calc(100% / ${i})`},children:n.format(e)},r))})}),(0,iV.jsx)("tbody",{children:i.map(e=>(0,iV.jsx)("tr",{children:e.map(this.renderDate)},e[0]+""))})]})}},rZ=new WeakMap,rQ=new WeakMap,rX=new WeakMap,r0=new WeakMap,r1=tz,"symbol"==typeof(r2="MonthCalendar")&&(r2=r2.description?"[".concat(r2.description,"]"):""),Object.defineProperty(r1,"name",{configurable:!0,value:r3?"".concat(r3," ",r2):r2}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=tZ[Symbol.metadata])&&void 0!==e?e:null):void 0;tB=[aC,iX.observable],tW=[aC,iX.observable],tV=[iX.observable],tq=[iX.computed],tG=[iX.observable],tY=[iX.computed],lu(tz,null,tB,{kind:"accessor",name:"variant",static:!1,private:!1,access:{has:e=>"variant"in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:t},tX,tQ),lu(tz,null,tW,{kind:"accessor",name:"locale",static:!1,private:!1,access:{has:e=>"locale"in e,get:e=>e.locale,set:(e,t)=>{e.locale=t}},metadata:t},t0,tQ),lu(tz,null,tV,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:t},t1,tQ),lu(tz,null,tq,{kind:"getter",name:"weekFormatter",static:!1,private:!1,access:{has:e=>"weekFormatter"in e,get:e=>e.weekFormatter},metadata:t},null,tQ),lu(tz,null,tG,{kind:"accessor",name:"currentDate",static:!1,private:!1,access:{has:e=>"currentDate"in e,get:e=>e.currentDate,set:(e,t)=>{e.currentDate=t}},metadata:t},t2,tQ),lu(tz,null,tY,{kind:"getter",name:"dateGrid",static:!1,private:!1,access:{has:e=>"dateGrid"in e,get:e=>e.dateGrid},metadata:t},null,tQ),lu(null,tF={value:tz},tK,{kind:"class",name:tz.name,metadata:t},null,tJ),tz=tF.value,t&&Object.defineProperty(tz,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),ld(tz,tJ)})(),tz);var lm=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const lg=/^(https?|#)/,lv=e=>{var{menu:t}=e,n=lm(e,["menu"]);return(0,iV.jsx)(o9,Object.assign({variant:"dark",expand:"md",sticky:"top",brand:(0,iV.jsx)("a",{className:"text-light text-decoration-none",href:"#",children:"成都 Web 开发者大会"})},n,{children:null==t?void 0:t.map(e=>{var t,{title:n,href:r}=e,i=lm(e,["title","href"]);return(0,iV.jsx)(o$,Object.assign({className:"m-3 my-md-0 mx-md-3"},i,{href:lg.test(r)?r:`#${r}`,active:null===(t=globalThis.location)||void 0===t?void 0:t.hash.slice(1).startsWith(r+""),children:n}))})}))};var iX=iB("dDNcL");function lb(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}var ly={};lb(ly,"isNumberLetter",function(){return lw}),lb(ly,"textJoin",function(){return lx}),lb(ly,"parseCookie",function(){return l_}),lb(ly,"setCookie",function(){return lj}),lb(ly,"parseLanguageHeader",function(){return lk});const lw=(e="")=>RegExp("\\p{N}","u").test(e)||RegExp("\\p{Ll}","u").test(e.toLowerCase()),lx=(...e)=>e.map((t,n)=>{var r;let i=lw(t.slice(-1));return n+1===e.length?t:t+(i!==lw(null===(r=e[n+1])||void 0===r?void 0:r.trim()[0])||i?" ":"")}).join(""),l_=(e=globalThis.document.cookie)=>e?Object.fromEntries(e.split(/;\s*/).map(e=>e.split("="))):{};function lj(e,t,n={}){let r=`${e}=${t}`,i=Object.entries(n).map(([e,t])=>"boolean"==typeof t?t?e:"":`${e}=${t}`).filter(Boolean).join("; ");return document.cookie=`${r}; expires=${new Date(0)}`,document.cookie=`${r}; ${i}`}const lk=e=>e.split(",").map(e=>{let[t,n=""]=e.split(";"),[r,i="1"]=n.split("=");return[t.trim(),+i]}).sort(([e,t],[n,r])=>r-t).map(([e])=>e);var lO=function(e,t,n){for(var r=arguments.length>2,i=0;i=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},lE=function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function s(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,o)}l((r=r.apply(e,t||[])).next())})},lN=function(e,t,n,r){if("a"===n&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)},lR=function(e,t,n,r,i){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n};const lT=new(t7=[],t8=[],ne=[],nt=[],r5=class{get loading(){return lN(this,r9,"f")}set loading(e){lR(this,r9,e,"f")}get currentLanguage(){return lN(this,r4,"f")}set currentLanguage(e){lR(this,r4,e,"f")}get currentMap(){return lN(this,r6,"f")}set currentMap(e){lR(this,r6,e,"f")}get defaultMap(){return this.configuration[this.defaultLanguage]}constructor(e){for(let t in Object.defineProperty(this,"configuration",{enumerable:!0,configurable:!0,writable:!0,value:(lO(this,t7),e)}),r9.set(this,lO(this,t8,!1)),Object.defineProperty(this,"defaultLanguage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),r4.set(this,lO(this,ne,"")),r6.set(this,lO(this,nt,{})),Object.defineProperty(this,"t",{enumerable:!0,configurable:!0,writable:!0,value:this.textOf.bind(this)}),e)"function"!=typeof e[t]&&(this.defaultLanguage=t);if(!this.defaultLanguage)throw ReferenceError("One static language map is required");if(!globalThis.window)return;let t=[l_().language,...navigator.languages||[this.defaultLanguage]].filter(Boolean);this.loadLanguages(t),window.addEventListener("languagechange",()=>this.changeLanguage(navigator.language))}onLanguageChange(e){(0,iX.reaction)(()=>this.currentLanguage,(t,n)=>{n&&e.call(this,t)})}setLanguage(e){var t;this.currentLanguage=e,(null===(t=globalThis.document)||void 0===t?void 0:t.documentElement)&&lj("language",document.documentElement.lang=e,{path:"/"})}changeLanguage(e){return lE(this,void 0,void 0,function*(){let t=this.configuration[e];if("function"!=typeof t)return this.setLanguage(e),this.currentMap=t;this.loading=!0;let{default:n}=yield t();return this.loading=!1,this.setLanguage(e),this.currentMap=this.configuration[e]=n})}loadLanguages(e){return lE(this,void 0,void 0,function*(){let t=Object.keys(this.configuration).sort(({length:e},{length:t})=>t-e);for(let n of e){let e=t.includes(n)?n:t.find(e=>n.startsWith(e)||e.startsWith(n));if(e)try{return yield this.changeLanguage(e)}catch(e){}}return this.changeLanguage(this.defaultLanguage)})}textOf(e,t){let n=this.currentMap[e]||this.defaultMap[e];if("function"!=typeof n)return n;if(!t)throw ReferenceError("Input data is required for Translation Resolver");return n(t)}},r9=new WeakMap,r4=new WeakMap,r6=new WeakMap,(()=>{let e="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;t3=[iX.observable],t5=[iX.observable],t9=[iX.observable],t4=[iX.computed],t6=[iX.action],lS(r5,null,t3,{kind:"accessor",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:e},t8,t7),lS(r5,null,t5,{kind:"accessor",name:"currentLanguage",static:!1,private:!1,access:{has:e=>"currentLanguage"in e,get:e=>e.currentLanguage,set:(e,t)=>{e.currentLanguage=t}},metadata:e},ne,t7),lS(r5,null,t9,{kind:"accessor",name:"currentMap",static:!1,private:!1,access:{has:e=>"currentMap"in e,get:e=>e.currentMap,set:(e,t)=>{e.currentMap=t}},metadata:e},nt,t7),lS(r5,null,t4,{kind:"getter",name:"defaultMap",static:!1,private:!1,access:{has:e=>"defaultMap"in e,get:e=>e.defaultMap},metadata:e},null,t7),lS(r5,null,t6,{kind:"method",name:"changeLanguage",static:!1,private:!1,access:{has:e=>"changeLanguage"in e,get:e=>e.changeLanguage},metadata:e},null,t7),e&&Object.defineProperty(r5,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),r5)({"zh-CN":{review:"回顾",register:"注册"},"en-US":()=>iB("coZzl")});iS="_9r4TSW_card",new URL("address.2d45661a.jpeg",import.meta.url).toString();var lA={};lA=new URL("banner.d2590421.jpeg",import.meta.url).toString(),new URL("groupManager.fe1f2f18.jpeg",import.meta.url).toString();var lC={};lC=new URL("qrcode.000ea267.jpeg",import.meta.url).toString();var lP={};lP=new URL("wechatLogo.0a5f129f.jpeg",import.meta.url).toString();var lL={};lL=new URL("guest0.4d4bc1b3.jpeg",import.meta.url).toString();var lH={};lH=new URL("guest1.2a8b98da.jpeg",import.meta.url).toString();var lD={};lD=new URL("guest2.00af3133.jpeg",import.meta.url).toString();var lM={};lM=new URL("guest3.5816bb0c.jpeg",import.meta.url).toString();var lU={};lU=new URL("guest4.34a81f15.jpeg",import.meta.url).toString();var lI={};lI=new URL("guest5.b6b6c69f.jpeg",import.meta.url).toString();var l$={};l$=new URL("guest6.1ee21076.jpeg",import.meta.url).toString();var lF={};lF=new URL("guest7.ea35a4b4.jpeg",import.meta.url).toString();var lz=[i$(lL),i$(lH),i$(lD),i$(lM),i$(lU),i$(lI),i$(l$),i$(lF)],lB={};lB=new URL("0.54f08dac.png",import.meta.url).toString();var lW={};lW=new URL("1.8361e329.jpg",import.meta.url).toString();var lV={};lV=new URL("2.79b033bd.jpg",import.meta.url).toString();var lq={};lq=new URL("3.334bb513.jpg",import.meta.url).toString();var lG={};lG=new URL("4.ae5bc98e.jpg",import.meta.url).toString();var lY={};lY=new URL("5.b660aa49.jpg",import.meta.url).toString();var lK={};lK=new URL("6.60aeccfe.jpg",import.meta.url).toString();var lJ={};lJ=new URL("7.6b53a2b5.jpg",import.meta.url).toString();var lZ=[i$(lB),i$(lW),i$(lV),i$(lq),i$(lG),i$(lY),i$(lK),i$(lJ)],lQ={};lQ=new URL("React-ChengDu.10342ab9.jpg",import.meta.url).toString();var lX={};lX=new URL("poster.367bcd76.png",import.meta.url).toString();var l0={};l0=new URL("undraw_01.18599e8b.png",import.meta.url).toString();var l1={};l1=new URL("undraw_04.d9b38312.png",import.meta.url).toString();const l2="https://fcc-cd.dev/images/FCC-CDC-v1-0.png";var l3={};l3=new URL("banner.c8e98b18.jpg",import.meta.url).toString();const l5=[{title:"主办方简介",href:"community"},{title:"全国 IT 活动",href:"activity"}],l9=[{title:"COSCon’20(中国开源年会)成都分会场",date:"2020-10-24",URL:"https://fcc-cd.dev/activity/conference/coscon-2020-chengdu/",banner:"https://ows.blob.core.chinacloudapi.cn/files/assets/COS_Con_20_abaa9e2a66.png"},{title:"2019 成都 Web 全栈大会",date:"2019-11-16",URL:"2019/",banner:i$(l3)},{title:"2018 成都 Web 前端大会",date:"2018-11-10",URL:"2018/",banner:i$(lX)},{title:"2018 重庆 Web 前端大会",date:"2018-08-18",URL:"https://fcc-cd.dev/activity/conference/web-fe-conf-chongqing-2018/",banner:"http://wimg.huodongxing.com/logo/201807/9450206156400/123133704540930_v2.jpg@!wmlogo"},{title:"2018 成都 React 技术大会",date:"2018-03-31",URL:"https://ppt.baomitu.com/conference/60",banner:i$(lQ)},{title:"新耀杯 Code for City 黑客马拉松",date:"2018-01-20",URL:"2018/Code4City/",banner:lZ[0]},{title:"2017 成都 Web 前端大会",date:"2017-11-19",URL:"2017/",banner:i$(lP)}].sort(({date:e},{date:t})=>+new Date(t)-+new Date(e)),{date:l4}=l9.slice(-1)[0],{date:l6}=l9[0],l7=Math.ceil(+l6.slice(0,4)-+l4.slice(0,4))+1,l8=[{title:"秉持 freeCodeCamp 国际社区精神",summary:"freeCodeCamp.org 全球最大的开源编程学习平台(GitHub 星标前十),旨在成为计算机教育界的维基百科",logo:"https://github.com/freeCodeCamp.png"},{title:"引领 freeCodeCamp 中文社区潮流",summary:"第一个制定日常活动方针,第一个设计城市社区 logo、吉祥物,第一个举办黑客马拉松、技术大会,第一个试验开源线下运营",logo:"https://github.com/freeCodeCamp-China.png"},{title:"成都最活跃的程序员社区",summary:`${l7} \u{5E74}\u{8FDE}\u{529E} ${l9.length} \u{573A}\u{6280}\u{672F}\u{5E72}\u{8D27}\u{5927}\u{4F1A}\u{FF0C}\u{5408}\u{529E}\u{6D3B}\u{52A8}\u{3001}\u{4E2D}\u{5C0F}\u{5206}\u{4EAB}\u{4F1A}\u{3001}\u{52A8}\u{624B}\u{8BAD}\u{7EC3}\u{8425}\u{3001}\u{7EBF}\u{4E0A}\u{76F4}\u{64AD}\u{4E0D}\u{8BA1}\u{5176}\u{6570}`,logo:l2},{title:"中文技术社区友军众多",summary:"开源社、开源工场、微软 MVP 社区、成都 Google 开发者社区、阿里云 ACE 成都同城会、成都 Linux 用户组、重庆前端社区……",logo:"https://i0.wp.com/opensource.org/wp-content/uploads/2009/06/osi_symbol.png?w=628&ssl=1"},{title:"更多精彩,期待你的参与……",summary:"",logo:i$(sh)}],{t:ce}=lT,ct=aA(e=>(0,iV.jsxs)("div",Object.assign({},e,{children:[(0,iV.jsx)(lv,{menu:l5}),(0,iV.jsxs)(sj,{fluid:!0,className:"text-center",title:"成都 Web 开发者大会",description:"中国西南地区 Web、JavaScript 全栈开发者的年度盛会",children:[(0,iV.jsx)(sJ,{className:"m-2",variant:"primary",href:l9[0].URL,title:l9[0].title,children:"报名最新大会"}),(0,iV.jsx)(sJ,{className:"m-2",variant:"secondary",href:l9[1].URL,title:l9[1].title,children:"回顾上次大会"})]}),(0,iV.jsx)("section",{className:"container py-5",children:(0,iV.jsx)("div",{className:"d-flex flex-wrap justify-content-center gap-4",children:l9.map(({title:e,banner:t,date:n,URL:r})=>{let i=new Date(n)(0,iV.jsxs)("div",{className:"row",children:[(0,iV.jsxs)("div",{className:i$(sf)("col-md-8",e&&"order-md-2"),children:[(0,iV.jsx)("h2",{className:"B7epaG_heading",children:t}),(0,iV.jsx)("p",{className:"lead",children:n})]}),(0,iV.jsx)("div",{className:i$(sf)("col-md-4",e&&"order-md-1"),children:(0,iV.jsx)(sS,{fluid:!0,className:"w-100",src:r})})]});var iX=(iB("dDNcL"),iB("dDNcL"));function cr(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}var ci={};cr(ci,"Defer",function(){return ca}),cr(ci,"makeDefer",function(){return cs});class ca{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const cs=()=>new ca;cr({},"Observable",function(){return co}),Symbol.observable||Reflect.set(Symbol,"observable",Symbol("observable"));class co{constructor(e){this.subscriber=e}[Symbol.observable](){return this}async *[Symbol.asyncIterator](){var e,t=[new ca],n=!1;e=this.subscriber({next(e){n||(t[t.length-1].resolve(e),t.push(new ca))},error(r){n||(t[t.length-1].reject(r),n=!0),e&&e()},complete(){n||(t[t.length-1].resolve(),n=!0),e&&e()}});do yield t[0].promise,t.shift();while(t[0])}static of(...e){return new this(({next:t,complete:n})=>{for(let n of e)t(n);n()})}async toPromise(){let e=[];for await(let t of this)e.push(t),e.length>2&&e.shift();return e[0]}subscribe(e,t,n){var r=!1;return(async()=>{try{for await(let t of this)if(r)break;else e(t);n instanceof Function&&n()}catch(e){t instanceof Function&&t(e)}})(),{unsubscribe(){r=!0},get closed(){return r}}}static from(e){return new this(({next:t,error:n,complete:r})=>e.subscribe(t,n,r).unsubscribe)}static fromEvent(e,t){return new this(({next:n,error:r})=>("function"==typeof e.on?e.on(t,n).on("error",r):(e.addEventListener(t,n),e.addEventListener("error",r)),()=>{"function"==typeof e.off?e.off(t,n).off("error",r):(e.removeEventListener(t,n),e.removeEventListener("error",r))}))}}function cl(){var e,t;return{process(t){let n=new ca;if(!e)throw Error("Can't process data before Queue consuming");return e({defer:n,data:t}),n.promise},destroy(){if(!t)throw Error("Can't stop a Queue before Queue consuming");t()},observable:new co(({next:n,complete:r})=>{e=n,t=r})}}cr({},"createQueue",function(){return cl});var iG=iB("1MFjU");function cc(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}cc({},"Stack",function(){return cd});const{push:cu}=Array.prototype;class cd{use(...e){return cu.apply(this,e),this}execute(e,t=0){let n=this[t];if(n instanceof Function)return n(e,this.execute.bind(this,e,++t))}mount(e,t){return this.use((n,r)=>e(n)?t.execute(n):r())}constructor(){this.length=0}}var ch={};cc(ch,"BodyRequestMethods",function(){return iN}),cc(ch,"HTTPError",function(){return cy}),cc(ch,"headerParser",function(){return cw}),cc(ch,"parseHeaders",function(){return cx}),cc(ch,"parseBody",function(){return c_}),cc(ch,"requestXHR",function(){return cj}),cc(ch,"requestFetch",function(){return ck}),cc(ch,"request",function(){return cO});var cf={};async function cp(e,t=""){let[n]=t?.split(";")||[];return new DOMParser().parseFromString(e,n||"text/html")}function cm(e){let t=new FormData;for(let[n,r]of Object.entries(e))for(let e of Array.from("string"!=typeof r&&(0,iG.likeArray)(r)?r:[r]))null!=e&&("object"==typeof e?t.append(n,e,e.name):t.append(n,e));return t}function cg(e){var t;if(!(e instanceof HTMLFormElement))return{contentType:e instanceof SVGElement?"image/svg":e instanceof HTMLDocument||e instanceof HTMLElement?"text/html":"application/xml",data:(0,iG.stringifyDOM)(e)};if(e.querySelector('input[type="file"][name]'))return{contentType:"multipart/form-data",data:new FormData(e)};let n=(0,iG.formToJSON)(e);switch(t=e.enctype){case"text/plain":return{contentType:t,data:Object.entries(n).map(([e,t])=>`${e}=${t}`).join("\n")};case"application/x-www-form-urlencoded":return{contentType:t,data:new URLSearchParams(n)+""};default:return{contentType:"application/json",data:JSON.stringify(n)}}}function cv(e,t){let[n]=t?.split(";")||[];switch(n){case"application/x-www-form-urlencoded":return{contentType:t,data:new URLSearchParams(e)};case"multipart/form-data":return{data:cm(e)};case"application/json":return{contentType:t,data:JSON.stringify(e)};case"text/html":case"application/xml":case"image/svg":return{contentType:t,data:(0,iG.stringifyDOM)(e)}}if(n)return{data:e,contentType:t};try{if(e instanceof URLSearchParams)return{contentType:"application/x-www-form-urlencoded",data:e}}catch{}try{if(e instanceof FormData)return{data:e}}catch{}try{if(e instanceof Node)return cg(e)}catch{}try{if((0,iG.isTypedArray)(e)||e instanceof ArrayBuffer||e instanceof DataView||e instanceof Blob||e instanceof ReadableStream)return{contentType:"application/octet-stream",data:e}}catch{}try{return{contentType:"application/json",data:JSON.stringify(e)}}catch{}throw Error("Unserialized Object needs a specific Content-Type")}function cb(e,t,n){let r=new FileReader;return{progress:co.fromEvent(r,"progress"),result:new Promise((i,a)=>{r.onerror=a,r.onload=()=>i(r.result),r[iE[t]](e,n)})}}cc(cf,"parseDocument",function(){return cp}),cc(cf,"makeFormData",function(){return cm}),cc(cf,"serializeNode",function(){return cg}),cc(cf,"serialize",function(){return cv}),cc(cf,"readAs",function(){return cb}),(r7=iE||(iE={})).text="readAsText",r7.dataURL="readAsDataURL",r7.binaryString="readAsBinaryString",r7.arrayBuffer="readAsArrayBuffer",(r8=iN||(iN={})).POST="POST",r8.PUT="PUT",r8.PATCH="PATCH",r8.DELETE="DELETE";class cy extends URIError{constructor(e,t){super(e),Object.assign(this,t)}}const cw={Link:e=>Object.fromEntries(Array.from(e.matchAll(/<(\S+?)>; rel="(\w+)"(?:; title="(.*?)")?/g),([e,t,n,r])=>[n,{rel:n,URI:t,title:r}]))},cx=e=>Object.fromEntries(Array.from(e.trim().matchAll(/^([\w-]+):\s*(.*)/gm),([e,t,n])=>[t=t.replace(/(^[a-z]|-[a-z])/g,e=>e.toUpperCase()),cw[t]?.(n)??n]));function c_(e,t){if(t.includes("text"))return e;if(t.includes("json"))return(0,iG.parseJSON)(e);if(t.match(/html|xml/))try{return cp(e,t)}catch{}return new TextEncoder().encode(e).buffer}function cj({method:e="GET",path:t,headers:n={},body:r,...i}){let a=new XMLHttpRequest,s=n instanceof Array?n:n?.[Symbol.iterator] instanceof Function?[...n]:Object.entries(n);return{response:new Promise((n,o)=>{for(let[r,i]of(a.onload=()=>n({status:a.status,statusText:a.statusText,headers:cx(a.getAllResponseHeaders()),body:a.response||a.responseText}),a.onerror=a.ontimeout=o,a.open(e,t+""),s))a.setRequestHeader(r,i);Object.assign(a,i),a.send(r)}).then(({body:e,...t})=>{let n=a.getResponseHeader("Content-Type")||"";return"string"!=typeof e||n.includes("text")||(e=c_(e,n)),{...t,body:e}}),upload:co.fromEvent(a.upload,"progress"),download:co.fromEvent(a,"progress")}}async function ck({path:e,method:t,headers:n,withCredentials:r,body:i,timeout:a,responseType:s}){let o=a?new AbortController:void 0,l=a&&(0,iG.sleep)(a/1e3).then(()=>{throw o.abort(),RangeError("Timed out")});n=n instanceof Headers?Object.fromEntries(n.entries()):n instanceof Array?Object.fromEntries(n):n,n="text"===s?{...n,Accept:"text/plain"}:"json"===s?{...n,Accept:"application/json"}:"document"===s?{...n,Accept:"text/html, application/xhtml+xml, application/xml"}:"arraybuffer"===s||"blob"===s?{...n,Accept:"application/octet-stream"}:n;let c=fetch(e+"",{method:t,headers:n,credentials:r?"include":"omit",body:i,signal:o?.signal}),u=await (l?Promise.race([l,c]):c),d=cx([...u.headers].map(([e,t])=>`${e}: ${t}`).join("\n"));if(204!==u.status)try{var h=u.headers.get("Content-Type")||"",f=u.clone(),p=await ("text"===s?u.text():"document"===s?cp(await u.text(),h):"json"===s?u.json():"arraybuffer"===s?u.arrayBuffer():u.blob())}catch{var p=c_(await f.text(),h)}return{status:u.status,statusText:u.statusText,headers:d,body:p}}function cO(e){return"function"==typeof globalThis.XMLHttpRequest?cj(e):{response:ck(e)}}cc({},"HTTPClient",function(){return cE});const{splice:cS}=Array.prototype;class cE extends cd{constructor({baseURI:e=globalThis.document?.baseURI,...t}={}){super(),this.defaultWare=async({request:e,response:t},n)=>{let{method:r="GET",headers:i={},body:a}=e;if(r in iN&&a&&"object"==typeof a){let{contentType:t,data:n}=cv(a,i["Content-Type"]);t&&(i["Content-Type"]=t),e.body=n}if(await n(),t.status>299)throw new cy(t.statusText,t)},this.baseURI=e,this.options=t,super.use(this.defaultWare),super.use(async({request:e,response:n})=>{e.path=new URL(e.path+"",this.baseURI)+"",Object.assign(n,await cO({...t,...e}).response)})}use(...e){return cS.call(this,-2,0,...e),this}async request(e){let t={request:{...e,headers:{...e.headers}},response:{}};return await this.execute(t),t.response}async head(e,t){let{headers:n}=await this.request({method:"HEAD",path:e,headers:t});return n}get(e,t){return this.request({method:"GET",path:e,headers:t})}post(e,t,n){return this.request({method:"POST",path:e,headers:n,body:t})}put(e,t,n){return this.request({method:"PUT",path:e,headers:n,body:t})}patch(e,t,n){return this.request({method:"PATCH",path:e,headers:n,body:t})}delete(e,t,n){return this.request({method:"DELETE",path:e,headers:n,body:t})}}const cN=new cE({baseURI:"localhost"===window.location.hostname?"http://localhost:3000":"https://web-conf.leanapp.cn",responseType:"json",withCredentials:!0});var cR=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},cT=function(e,t,n){for(var r=arguments.length>2,i=0;i{let e="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;cR(ie,null,[iX.observable],{kind:"accessor",name:"user",static:!1,private:!1,access:{has:e=>"user"in e,get:e=>e.user,set:(e,t)=>{e.user=t}},metadata:e},nr,nn),e&&Object.defineProperty(ie,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),ie);var iX=iB("dDNcL"),iG=iB("1MFjU"),cH=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},cD=function(e,t,n){for(var r=arguments.length>2,i=0;i{let e="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;ni=[iX.observable],na=[iX.observable],cH(ir,null,ni,{kind:"accessor",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:e},no,ns),cH(ir,null,na,{kind:"accessor",name:"list",static:!1,private:!1,access:{has:e=>"list"in e,get:e=>e.list,set:(e,t)=>{e.list=t}},metadata:e},nl,ns),e&&Object.defineProperty(ir,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),ir);const c$=new cL,cF=new cI;var cz=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},cB=function(e,t,n){for(var r=arguments.length>2,i=0;i{this.countDown=60;let e=setInterval(()=>--this.countDown||clearInterval(e),1e3),{elements:t}=this.firstElementChild;return c$.sendSMSCode(t.namedItem("phone").value)}}),Object.defineProperty(this,"handleSignIn",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault();let t=new FormData(e.target);return c$.signIn(t.get("phone"),t.get("code"))}})}get countDown(){return cW(this,is,"f")}set countDown(e){cV(this,is,e,"f")}connectedCallback(){c$.getProfile()}renderForm(){let{countDown:e}=this;return(0,iV.jsxs)("form",{className:"m-3 p-3 border rounded",onSubmit:this.handleSignIn,children:[(0,iV.jsx)("h2",{className:"text-center mb-3",children:"参会者登录"}),(0,iV.jsx)(sI,{size:"lg",className:"mb-3",children:(0,iV.jsx)(sF,{type:"tel",name:"phone",maxLength:11,required:!0,placeholder:"手机号"})}),(0,iV.jsxs)(sI,{size:"lg",className:"mb-3",children:[(0,iV.jsx)(sF,{name:"code",required:!0,placeholder:"短信验证码",autocomplete:"off"}),(0,iV.jsx)(sJ,{variant:"outline-secondary",onClick:this.handleSMSCode,disabled:!!e,children:e?e+"s":"获取"})]}),(0,iV.jsx)(sJ,{type:"submit",variant:"primary",className:"d-block w-100",size:"lg",children:"登录"})]})}render(){return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("link",{rel:"stylesheet",href:"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css"}),c$.user?(0,iV.jsx)("slot",{}):this.renderForm()]})}},is=new WeakMap,io=nu,"symbol"==typeof(il="SessionBox")&&(il=il.description?"[".concat(il.description,"]"):""),Object.defineProperty(io,"name",{configurable:!0,value:ic?"".concat(ic," ",il):il}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=np[Symbol.metadata])&&void 0!==e?e:null):void 0;nd=[aC,iX.observable],cz(nu,null,nd,{kind:"accessor",name:"countDown",static:!1,private:!1,access:{has:e=>"countDown"in e,get:e=>e.countDown,set:(e,t)=>{e.countDown=t}},metadata:t},ng,nm),cz(null,nc={value:nu},nh,{kind:"class",name:nu.name,metadata:t},null,nf),nu=nc.value,t&&Object.defineProperty(nu,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),cB(nu,nf)})(),nu);const cG=e=>(0,iV.jsxs)("div",Object.assign({},e,{children:[(0,iV.jsx)(lv,{menu:l5}),(0,iV.jsxs)("header",{className:"d-flex flex-column justify-content-center align-items-center",style:{height:"80vh"},children:[(0,iV.jsx)(sS,{fluid:!0,style:{maxWidth:"20rem"},src:l2}),(0,iV.jsx)("h1",{className:"display-4 mt-3",children:"成都社区"})]}),(0,iV.jsx)("main",{className:"container",children:l8.map((e,t)=>(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)(cn,Object.assign({reverse:!!(t%2)},e)),t+1=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},cK=function(e,t,n){for(var r=arguments.length>2,i=0;i(0,iV.jsxs)(sN,{className:`${iS} shadow mb-4`,children:[(0,iV.jsx)(sP,{src:e}),(0,iV.jsxs)(sT,{children:[(0,iV.jsx)(sC,{children:(0,iV.jsx)("a",{className:"stretched-link",target:"_blank",href:t,children:n})}),(0,iV.jsxs)("ul",{className:"list-unstyled",children:[(0,iV.jsxs)("li",{children:["开始:",(0,iG.formatDate)(r)]}),(0,iV.jsxs)("li",{children:["结束:",(0,iG.formatDate)(i)]}),(0,iV.jsxs)("li",{children:["地点:",a]})]})]})]}))}render(){let{date:e}=this,{loading:t,list:n}=cF;return(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)(lv,{menu:l5}),(0,iV.jsx)("h1",{className:"text-center my-5",children:"全国 IT 活动"}),(0,iV.jsx)(lp,{className:"d-block container",onChange:({detail:e})=>this.date=e}),(0,iV.jsx)(s9,{className:"container d-flex mx-auto flex-wrap justify-content-center",cover:t,children:n[0]?this.renderCards(n):`${(0,iG.formatDate)(e,"YYYY 年 M 月 D 日")}\u{6CA1}\u{6709}\u{6D3B}\u{52A8}`})]})}},iu=new WeakMap,id=nb,"symbol"==typeof(ih="ActivityPage")&&(ih=ih.description?"[".concat(ih.description,"]"):""),Object.defineProperty(id,"name",{configurable:!0,value:ip?"".concat(ip," ",ih):ih}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=nj[Symbol.metadata])&&void 0!==e?e:null):void 0;ny=[aC,iX.observable],nw=[aP(({date:e})=>e)],cY(nb,null,ny,{kind:"accessor",name:"date",static:!1,private:!1,access:{has:e=>"date"in e,get:e=>e.date,set:(e,t)=>{e.date=t}},metadata:t},nO,nk),cY(nb,null,nw,{kind:"method",name:"handleDate",static:!1,private:!1,access:{has:e=>"handleDate"in e,get:e=>e.handleDate},metadata:t},null,nk),cY(null,nv={value:nb},nx,{kind:"class",name:nb.name,metadata:t},null,n_),nb=nv.value,t&&Object.defineProperty(nb,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),cK(nb,n_)})(),nb);const cX=({title:e,childrens:t})=>(0,iV.jsxs)("section",{children:[(0,iV.jsx)("h2",{className:"mt-5 mb-4",children:(0,iV.jsx)("span",{children:e})}),(0,iV.jsx)("ul",{className:"list-inline",children:t.map(({url:e,img:t})=>(0,iV.jsx)("li",{className:"list-inline-item m-2",children:(0,iV.jsx)("a",{className:"d-inline-flex justify-content-center align-items-center shadow",href:e,children:(0,iV.jsx)("img",{className:"mw-100 mh-100",src:t})})},t))})]});iR="hQtIPa_web-content";var c0={};c0=new URL("3W.343e9c06.png",import.meta.url).toString();var c1={};c1=new URL("BBD.ed89ee43.png",import.meta.url).toString();var c2={};c2=new URL("BW.0f2c33fb.png",import.meta.url).toString();var c3={};c3=new URL("DevEco.5b51c8ac.jpg",import.meta.url).toString();var c5={};c5=new URL("DKS.1c567b7f.png",import.meta.url).toString();var c9={};c9=new URL("FCC-CDG.bf36daee.png",import.meta.url).toString();var c4={};c4=new URL("GDG.ca994c53.png",import.meta.url).toString();var c6={};c6=new URL("GT.27a90685.png",import.meta.url).toString();var c7={};c7=new URL("HCXY.6f490d1a.png",import.meta.url).toString();var c8={};c8=new URL("MZ.d0765924.png",import.meta.url).toString(),new URL("OS.58b63fb9.png",import.meta.url).toString();var ue={};ue=new URL("QE.be8c3b0d.png",import.meta.url).toString();var ut={};ut=new URL("QRGJ.14ffed50.png",import.meta.url).toString();var un={};un=new URL("SF.c6f8e6e7.png",import.meta.url).toString();var ur={};ur=new URL("SYL.da34d90b.png",import.meta.url).toString();var ui={};ui=new URL("TH.1178f233.png",import.meta.url).toString();var ua={};ua=new URL("TW.0498d9bc.png",import.meta.url).toString();var us={};us=new URL("WORK.90e8ce09.png",import.meta.url).toString();var uo={};uo=new URL("ZDK.fb7a5ccd.png",import.meta.url).toString();const ul="https://b-gold-cdn.xitu.io/v3/static/img/logo.a7995ad.svg",uc="https://static.oschina.net/new-osc/img/logo_osc_new.svg",uu=[{name:"叶小钗",avatar:lz[0],content:"叶小钗嘉宾开场演讲",description:"原医联研发副总监,现为企鹅医生技术总监,研发负责人。先后任职于携程百度等公司,擅长前端开发,混合开发,对大型前端项目开发有一些认识,平时喜欢霹雳布袋戏。"},{name:"陈洋彬",avatar:lz[7],content:"一个 Node 模块的自我修养",description:"麦麦养老软件研发负责人,持续创业者。在研发团队搭建、管理与技术体系渐进增强方面有一定心得。多年 Web 前端、服务端研发及架构设计经验,关注技术的原理与融会贯通,主张编码与工程的专业、规范、极简。"},{name:"水歌",avatar:lz[4],content:"轻量级 Web MVVM 引擎的实现",description:"东方天呈 Web 前端工程师,JavaScript 全栈开发者、开源软件作者、freeCodeCamp 中文社区技术布道师、四川大学飞扬俱乐部·研发部 创始团队成员、jQuery贡献者。"},{name:"廖伟",avatar:lz[2],content:"HTML 5 跨平台解决方案实践",description:"乐车邦前端开发负责人。曾就职于携程移动端框架技术部,负责构建代码的打包平台,维护共用组件,目前在乐车邦主要负责整个前端(浏览器,微信,小程序,app),致力于解决一套代码多端运行的方案,主要擅长 SPA 应用的开发,具有丰富的SPA开发经验。"},{name:"胡敏",avatar:lz[5],content:"Vue 开发那些事",description:"新蛋高级软件工程师。目前主要负责 Web 模块化开发平台建设与开发工作,擅长功能设计与实现。对前后端开发有较多实践经验。"},{name:"董涛",avatar:lz[6],content:"大数据可视化之美",description:"5年前端经验,热爱钻研各种技术,喜欢写代码,工作之余著有 MTUI、H5DS 两个开源项目。现 BBD 前端部部门经理,对 Web 交互,以及数据可视化有丰富经验。"},{name:"卢林",avatar:lz[3],content:"React 组件化通用模式",description:"国双科技高级软件工程师,曾供职于奇虎 360 奇舞团、麦客 CRM。目前专注于端技术体系,喜欢思考软件开发的通用模式。"},{name:"余泽江",avatar:lz[1],content:"Angular:挣脱舒适区的枷锁",description:"ThoughtWorks 咨询师,有着丰富的前后端项目开发经验,目前专注于前端领域的技术实践。Angular 项目活跃的 Community Contributor,广泛涉猎于国内的 Angular 技术布道工作。"}],ud=[{time:"09:00",content:"签到,早鸟有礼品",description:"扫码签到"},{time:"09:30",content:"主办方致辞、活动开场",description:"为了更好的活动参与体验,将手机调制静音,方便你我他……"},{time:"09:50",guest:uu[0],content:"叶小钗嘉宾开场演讲",description:"内容暂时保密~"},{time:"10:20",guest:uu[1],content:"一个 Node 模块的自我修养",description:"作为一个“全干”工程师,与你朝夕相处的 Node 模块,说简单可以简单到一个 index.js 和一个 package.json,说复杂也可以复杂到必须引入工程化的理念来管理。本分享来一起探讨下一个开源 Node 模块,所应该考虑的目录结构、代码检查、单元测试、基准测试、持续集成、自动构建、版本发布、变更记录等等这些需求,如何高效、规范的去实现"},{time:"11:10",guest:uu[2],content:"轻量级 Web MVVM 引擎的实现",description:"只依赖 HTML 5、JS (ES 5) 的纯异步加载、声明式的 MVVM 引擎,它的简洁用法与内部实现"},{time:"12:00",content:"午餐时间(与嘉宾近距离交流)",description:"为了大家可以自行选择美食,所以午餐可以到会场外的银泰城解决哦~"},{time:"13:00",guest:uu[3],content:"HTML 5 跨平台解决方案实践",description:"乐车邦创业阶段,前端开发人数相对较少,但是平台众多,常用的如:浏览器、乐车邦 App、微信公众号网页版本、微信小程序。还有不计其数的定制化流量平台,如:手淘、百度地图、汽车之家、百度糯米、58到家、新美大等等,虽然渠道众多,但是业务流程相对统一,如何利用一套 HTML 5 代码解决多终端运行问题成了前端重中之重。"},{time:"13:50",guest:uu[4],content:"Vue 开发那些事",description:"通过对 Vue 项目开发中遇到的部分通用问题进行分解,探索特定问题或场景的解决方案。从目录结构划分、业务封装等方面来提升项目的可维护性。"},{time:"14:40",guest:uu[5],content:"大数据可视化之美",description:"如何让繁杂的数据以最简最直观的形式呈现在用户的眼前?数据可视化真的那么高不可攀吗?今天就让我们来聊聊大数据可视化的常用技巧和常用算法吧!"},{time:"15:20",content:"茶歇 & 开放式交流",description:"BBD 为大家准备了精美的茶歇~"},{time:"15:50",guest:uu[6],content:"React 组件化通用模式",description:"通过 React 项目的开发过程以及多个框架的使用,提取组件化开发的通用思路,对组件化、组件容器化以及微服务前端开发方式的一点思考。"},{time:"16:40",guest:uu[7],content:"Angular:挣脱舒适区的枷锁",description:"作为一个大而全的开发平台,Angular 团队提供了完善的开发环境:各类功能库、命令行工具、IDE 集成、移动端支持等等。然而,原生支持的完备性也为部分 Angular 开发者建立起了狭隘的舒适区,使得一些人放弃了探索,把官方支持当作了 Angular 的一切,自身沦落到日复一日调试 Component 和 Service 的搬砖工作中。其实,在 Angular 官方舒适区之外仍然存在很大的世界。比如我们可以使用 Webpack 之外的工具构建出比 jQuery 更小的完整应用,可以动态加载任意远程组件而无需统一打包,可以在 AOT 编译下实现运行时动态拼接视图…… 本次分享将会带来舒适区之外的无限可能。"},{time:"17:30",content:"活动结束、留影",description:"留下美好的瞬间~"}],uh=[{title:"主办单位",childrens:[{img:i$(ut),url:"http://www.cdht.gov.cn/cycjcyyq/50449.jhtml"},{img:i$(c9),url:"https://fcc-cd.dev/"}]},{title:"冠名赞助",childrens:[{img:i$(c1),url:"https://www.bbdservice.com"}]},{title:"协办单位",childrens:[{img:i$(c7),url:"hhttp://www.hechuangxinye.com/"},{img:i$(c0),url:"http://www.3wcoffee.com/"}]},{title:"赞助单位",childrens:[{img:i$(c3),url:"http://www.deveco.io/"},{img:i$(c2),url:"http://www.broadview.com.cn/"},{img:i$(c6),url:"http://www.getui.com/cn/index.html"},{img:i$(ur),url:"https://www.shiyanlou.com/"},{img:i$(ue),url:"https://www.doctorwork.com/"}]},{title:"合作社区",childrens:[{img:ul,url:"https://juejin.im/"},{img:uc,url:"https://www.oschina.net/"},{img:i$(un),url:"https://segmentfault.com/"},{img:i$(uo),url:"http://www.zaoduke.net/"},{img:i$(c8),url:"http://www.maiziedu.com/"},{img:i$(c4),url:"https://developers.google.com/groups"},{img:i$(ua),url:"https://www.thoughtworks.com/cn/"},{img:i$(ui),url:"http://www.tianhukeji.com/"},{img:i$(us),url:"http://workjia.cn/"}]},{title:"合作媒体",childrens:[{img:i$(c5),url:"http://www.itdks.com/"}]}],uf=e=>(0,iV.jsxs)("main",Object.assign({},e,{children:[(0,iV.jsxs)("div",{className:"container",children:[(0,iV.jsx)("header",{id:"hQtIPa_logo",children:(0,iV.jsx)("img",{className:"w-100",src:i$(lA)})}),(0,iV.jsxs)("div",{id:"hQtIPa_introduce",children:[(0,iV.jsxs)("h2",{className:"mt-5 mb-4 text-center",children:[(0,iV.jsx)("span",{children:"INTRODUCE"})," ",(0,iV.jsx)("span",{children:"活动介绍"})]}),(0,iV.jsx)("p",{style:{textIndent:"2em"},children:"freeCodeCamp 成都社区一直以为成都技术爱好者以及用户提供一个开放的交流环境为目的,在过去的一年里,我们成功举办了30余次的社区活动,受到大家的一致好评和热烈响应。2017年已接近尾声,在组织部何青松的倡议下,我们特筹办freeCodeCamp【2017成都WEB前端交流大会】,为成都前端圈的技术工程师、爱好者提供一场前所未有的饕餮盛宴。在此,我们向您发出诚挚的邀请,此次盛会期待您的参与!"})]}),(0,iV.jsxs)("div",{className:iR,children:[(0,iV.jsxs)("h2",{className:"mt-5 mb-4 text-center",children:[(0,iV.jsx)("span",{children:"SPEAKER"})," ",(0,iV.jsx)("span",{children:"分享嘉宾"})]}),(0,iV.jsx)("div",{className:"row row-cols-1 row-cols-sm-2 row-cols-md-4 g-3",children:uu.map(({avatar:e,name:t,description:n})=>(0,iV.jsx)("div",{className:"col",children:(0,iV.jsxs)(sN,{id:"guest_"+t,children:[(0,iV.jsx)(sP,{src:e}),(0,iV.jsxs)(sT,{children:[(0,iV.jsx)(sC,{children:t}),(0,iV.jsx)("p",{className:"text-muted",children:n})]})]})}))})]}),(0,iV.jsxs)("div",{className:iR,children:[(0,iV.jsxs)("h2",{className:"mt-5 mb-4 text-center",children:[(0,iV.jsx)("span",{children:"SCHEDULE"})," ",(0,iV.jsx)("span",{children:"活动流程"})]}),(0,iV.jsx)(oS,{alwaysOpen:!0,children:ud.map(({time:e,content:t,guest:n,description:r})=>(0,iV.jsxs)(oj,{children:[(0,iV.jsxs)(ok,{children:[e,"【",t,"】"]}),(0,iV.jsx)(oO,{children:n?(0,iV.jsxs)("ul",{children:[(0,iV.jsxs)("li",{children:["讲师:",(0,iV.jsx)("a",{href:"#guest_"+n.name,children:n.name})]}),(0,iV.jsxs)("li",{children:["简介:",r]})]}):r})]},e))})]}),(0,iV.jsx)("div",{className:`${iR} text-center`,children:(0,iV.jsxs)("div",{children:[(0,iV.jsx)("h2",{className:"mt-5 mb-4",children:(0,iV.jsx)("span",{children:"时间地址"})}),(0,iV.jsx)("p",{children:"时间:2017 年 11 月 19 日 09 :00 - 17 :30"}),(0,iV.jsx)("p",{children:"地点:成都市高新区天府五街 200 号菁蓉国际广场 7 栋 1 楼 主会场"})]})}),(0,iV.jsxs)("div",{className:iR,children:[(0,iV.jsx)("div",{className:"hQtIPa_logos text-center",children:uh.map(cX)}),(0,iV.jsx)(sJ,{className:"my-5 d-block",variant:"primary",size:"lg",target:"_blank",href:"http://cn.mikecrm.com/rdVltvT",children:"我 要 报 名"})]})]}),(0,iV.jsxs)("footer",{className:"hQtIPa_footer",children:[(0,iV.jsx)("img",{className:"hQtIPa_qrcode",src:i$(lC)}),(0,iV.jsxs)("p",{className:"mt-0",children:["特别鸣谢",(0,iV.jsx)("a",{target:"_blank",href:"http://918930.lofter.com",children:"BBD - 王波"}),"提供 海报、Logo 设计"]}),(0,iV.jsx)(sm,{aspectRatio:"21x9",children:(0,iV.jsx)("iframe",{loading:"lazy",src:`//uri.amap.com/marker?src=fcc-cdc&callnative=1&position=104.063519,30.539362&name=2017 成都 Web 前端大会`})})]})]}));var up={};!function(e){function t(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function n(t){e.defaults=t}e.defaults=t();let r=/[&<>"']/,i=RegExp(r.source,"g"),a=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,s=RegExp(a.source,"g"),o={"&":"&","<":"<",">":">",'"':""","'":"'"},l=e=>o[e];function c(e,t){if(t){if(r.test(e))return e.replace(i,l)}else if(a.test(e))return e.replace(s,l);return e}let u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,d=/(^|[^\[])\^/g;function h(e,t){let n="string"==typeof e?e:e.source;t=t||"";let r={replace:(e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(d,"$1"),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}function f(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}let p={exec:()=>null};function m(e,t){let n=e.replace(/\|/g,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t){if(n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:g(e,"\n")}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=function(e,t){let n=e.match(/^(\s+)(?:```)/);if(null===n)return t;let r=n[1];return t.split("\n").map(e=>{let t=e.match(/^\s+/);if(null===t)return e;let[n]=t;return n.length>=r.length?e.slice(r.length):e}).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){let t=g(e,"#");this.options.pedantic?e=t.trim():(!t||/ $/.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=g(t[0].replace(/^ *>[ \t]?/gm,""),"\n"),n=this.lexer.state.top;this.lexer.state.top=!0;let r=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:r,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let a=RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),s="",o="",l=!1;for(;e;){let n,r=!1;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;s=t[0],e=e.substring(s.length);let c=t[2].split("\n",1)[0].replace(/^\t+/,e=>" ".repeat(3*e.length)),u=e.split("\n",1)[0],d=0;this.options.pedantic?(d=2,o=c.trimStart()):(d=(d=t[2].search(/[^ ]/))>4?1:d,o=c.slice(d),d+=t[1].length);let h=!1;if(!c&&/^ *$/.test(u)&&(s+=u+"\n",e=e.substring(u.length+1),r=!0),!r){let t=RegExp(`^ {0,${Math.min(3,d-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),n=RegExp(`^ {0,${Math.min(3,d-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),r=RegExp(`^ {0,${Math.min(3,d-1)}}(?:\`\`\`|~~~)`),i=RegExp(`^ {0,${Math.min(3,d-1)}}#`);for(;e;){let a=e.split("\n",1)[0];if(u=a,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),r.test(u)||i.test(u)||t.test(u)||n.test(e))break;if(u.search(/[^ ]/)>=d||!u.trim())o+="\n"+u.slice(d);else{if(h||c.search(/[^ ]/)>=4||r.test(c)||i.test(c)||n.test(c))break;o+="\n"+u}h||u.trim()||(h=!0),s+=a+"\n",e=e.substring(a.length+1),c=u.slice(d)}}!i.loose&&(l?i.loose=!0:/\n *\n *$/.test(s)&&(l=!0));let f=null;this.options.gfm&&(f=/^\[[ xX]\] /.exec(o))&&(n="[ ] "!==f[0],o=o.replace(/^\[[ xX]\] +/,"")),i.items.push({type:"list_item",raw:s,task:!!f,checked:n,loose:!1,text:o,tokens:[]}),i.raw+=s}i.items[i.items.length-1].raw=s.trimEnd(),i.items[i.items.length-1].text=o.trimEnd(),i.raw=i.raw.trimEnd();for(let e=0;e"space"===e.type),n=t.length>0&&t.some(e=>/\n.*\n/.test(e.raw));i.loose=n}if(i.loose)for(let e=0;e$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let n=m(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),i=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],a={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)/^ *-+: *$/.test(e)?a.align.push("right"):/^ *:-+: *$/.test(e)?a.align.push("center"):/^ *:-+ *$/.test(e)?a.align.push("left"):a.align.push(null);for(let e of n)a.header.push({text:e,tokens:this.lexer.inline(e)});for(let e of i)a.rows.push(m(e,a.header.length).map(e=>({text:e,tokens:this.lexer.inline(e)})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:c(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;let t=g(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(t[1]))return -1;let n=0;for(let r=0;r-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){let e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),v(t,{href:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n,title:r?r.replace(this.rules.inline.anyPunctuation,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(/\s+/g," ").toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return v(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||r[3]&&n.match(/[\p{L}\p{N}]/u))&&(!(r[1]||r[2])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,s=n,o=0,l="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=l.exec(t));){if(!(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6]))continue;if(a=[...i].length,r[3]||r[4]){s+=a;continue}if((r[5]||r[6])&&n%3&&!((n+a)%3)){o+=a;continue}if((s-=a)>0)continue;a=Math.min(a,a+s+o);let t=[...r[0]][0].length,l=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=l.slice(1,-1);return{type:"em",raw:l,text:e,tokens:this.lexer.inlineTokens(e)}}let c=l.slice(2,-2);return{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," "),n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=c(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return n="@"===t[2]?"mailto:"+(e=c(t[1])):e=c(t[1]),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])n="mailto:"+(e=c(t[0]));else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(r!==t[0])e=c(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:c(t[0]),{type:"text",raw:t[0],text:e}}}}let y=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,w=/(?:[*+-]|\d{1,9}[.)])/,x=h(/^(?!bull )((?:.|\n(?!\s*?\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,w).getRegex(),_=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,j=/(?!\s*\])(?:\\.|[^\[\]\\])+/,k=h(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",j).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),O=h(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,w).getRegex(),S="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",E=/|$))/,N=h("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",E).replace("tag",S).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),R=h(_).replace("hr",y).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",S).getRegex(),T={blockquote:h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",R).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:k,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:y,html:N,lheading:x,list:O,newline:/^(?: *(?:\n|$))+/,paragraph:R,table:p,text:/^[^\n]+/},A=h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",y).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",S).getRegex(),C={...T,table:A,paragraph:h(_).replace("hr",y).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",A).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",S).getRegex()},P={...T,html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",E).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:p,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:h(_).replace("hr",y).replace("heading"," *#{1,6} *[^\n]").replace("lheading",x).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},L=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,H=/^( {2,}|\\)\n(?!\s*$)/,D="\\p{P}\\p{S}",M=h(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,D).getRegex(),U=h(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,D).getRegex(),I=h("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,D).getRegex(),$=h("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,D).getRegex(),F=h(/\\([punct])/,"gu").replace(/punct/g,D).getRegex(),z=h(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),B=h(E).replace("(?:-->|$)","-->").getRegex(),W=h("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",B).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),V=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,q=h(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",V).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),G=h(/^!?\[(label)\]\[(ref)\]/).replace("label",V).replace("ref",j).getRegex(),Y=h(/^!?\[(ref)\](?:\[\])?/).replace("ref",j).getRegex(),K=h("reflink|nolink(?!\\()","g").replace("reflink",G).replace("nolink",Y).getRegex(),J={_backpedal:p,anyPunctuation:F,autolink:z,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:H,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:p,emStrongLDelim:U,emStrongRDelimAst:I,emStrongRDelimUnd:$,escape:L,link:q,nolink:Y,punctuation:M,reflink:G,reflinkSearch:K,tag:W,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\t+" ".repeat(n.length));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))){if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length),(r=t[t.length-1])&&("paragraph"===r.type||"text"===r.type)?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n);continue}if((n=this.tokenizer.fences(e))||(n=this.tokenizer.heading(e))||(n=this.tokenizer.hr(e))||(n=this.tokenizer.blockquote(e))||(n=this.tokenizer.list(e))||(n=this.tokenizer.html(e))){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length),(r=t[t.length-1])&&("paragraph"===r.type||"text"===r.type)?(r.raw+="\n"+n.raw,r.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title});continue}if((n=this.tokenizer.table(e))||(n=this.tokenizer.lheading(e))){e=e.substring(n.raw.length),t.push(n);continue}if(i=e,this.options.extensions&&this.options.extensions.startBlock){let t,n=1/0,r=e.slice(1);this.options.extensions.startBlock.forEach(e=>{"number"==typeof(t=e.call({lexer:this},r))&&t>=0&&(n=Math.min(n,t))}),n<1/0&&n>=0&&(i=e.substring(0,n+1))}if(this.state.top&&(n=this.tokenizer.paragraph(i))){r=t[t.length-1],a&&"paragraph"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n),a=i.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length),(r=t[t.length-1])&&"text"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,i,a,s,o;let l=e;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,a.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(s||(o=""),s=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),(r=t[t.length-1])&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),(r=t[t.length-1])&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if((n=this.tokenizer.emStrong(e,l,o))||(n=this.tokenizer.codespan(e))||(n=this.tokenizer.br(e))||(n=this.tokenizer.del(e))||(n=this.tokenizer.autolink(e))||!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),t.push(n);continue}if(i=e,this.options.extensions&&this.options.extensions.startInline){let t,n=1/0,r=e.slice(1);this.options.extensions.startInline.forEach(e=>{"number"==typeof(t=e.call({lexer:this},r))&&t>=0&&(n=Math.min(n,t))}),n<1/0&&n>=0&&(i=e.substring(0,n+1))}if(n=this.tokenizer.inlineText(i)){e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(o=n.raw.slice(-1)),s=!0,(r=t[t.length-1])&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return t}}class er{options;constructor(t){this.options=t||e.defaults}code(e,t,n){let r=(t||"").match(/^\S*/)?.[0];return(e=e.replace(/\n$/,"")+"\n",r)?'
'+(n?e:c(e,!0))+"
\n":"
"+(n?e:c(e,!0))+"
\n"}blockquote(e){return`
+${e}
+`}html(e,t){return e}heading(e,t,n){return`${e} +`}hr(){return"
\n"}list(e,t,n){let r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e,t,n){return`
  • ${e}
  • +`}checkbox(e){return"'}paragraph(e){return`

    ${e}

    +`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return` +${e} +`}tablecell(e,t){let n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+` +`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,t,n){let r=f(e);if(null===r)return n;let i='
    "}image(e,t,n){let r=f(e);if(null===r)return n;e=r;let i=`${n}"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""));continue;case"code":n+=this.renderer.code(i.text,i.lang,!!i.escaped);continue;case"table":{let e="",t="";for(let e=0;e0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=e+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=e+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",text:e+" "}):o+=e+" "}o+=this.parse(t.tokens,r),a+=this.renderer.listitem(o,s,!!n)}n+=this.renderer.list(a,e,t);continue}case"html":n+=this.renderer.html(i.text,i.block);continue;case"paragraph":n+=this.renderer.paragraph(this.parseInline(i.tokens));continue;case"text":{let a=i,s=a.tokens?this.parseInline(a.tokens):a.text;for(;r+1{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new er(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if("options"===n)continue;let r=e.renderer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new b(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let r=e.tokenizer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new es;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if("options"===n)continue;let r=e.hooks[n],i=t[n];es.passThroughHooks.has(n)?t[n]=e=>{if(this.defaults.async)return Promise.resolve(r.call(t,e)).then(e=>i.call(t,e));let n=r.call(t,e);return i.call(t,n)}:t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return en.lex(e,t??this.defaults)}parser(e,t){return ea.parse(e,t??this.defaults)}#T(e,t){return(n,r)=>{let i={...r},a={...this.defaults,...i};!0===this.defaults.async&&!1===i.async&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);let s=this.#A(!!a.silent,!!a.async);if(null==n)return s(Error("marked(): input parameter is undefined or null"));if("string"!=typeof n)return s(Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(n):n).then(t=>e(t,a)).then(e=>a.hooks?a.hooks.processAllTokens(e):e).then(e=>a.walkTokens?Promise.all(this.walkTokens(e,a.walkTokens)).then(()=>e):e).then(e=>t(e,a)).then(e=>a.hooks?a.hooks.postprocess(e):e).catch(s);try{a.hooks&&(n=a.hooks.preprocess(n));let r=e(n,a);a.hooks&&(r=a.hooks.processAllTokens(r)),a.walkTokens&&this.walkTokens(r,a.walkTokens);let i=t(r,a);return a.hooks&&(i=a.hooks.postprocess(i)),i}catch(e){return s(e)}}}#A(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="

    An error occurred:

    "+c(n.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}let el=new eo;function ec(e,t){return el.parse(e,t)}ec.options=ec.setOptions=function(e){return el.setOptions(e),ec.defaults=el.defaults,n(ec.defaults),ec},ec.getDefaults=t,ec.defaults=e.defaults,ec.use=function(...e){return el.use(...e),ec.defaults=el.defaults,n(ec.defaults),ec},ec.walkTokens=function(e,t){return el.walkTokens(e,t)},ec.parseInline=el.parseInline,ec.Parser=ea,ec.parser=ea.parse,ec.Renderer=er,ec.TextRenderer=ei,ec.Lexer=en,ec.lexer=en.lex,ec.Tokenizer=b,ec.Hooks=es,ec.parse=ec;let eu=ec.options,ed=ec.setOptions,eh=ec.use,ef=ec.walkTokens,ep=ec.parseInline,em=ea.parse,eg=en.lex;e.Hooks=es,e.Lexer=en,e.Marked=eo,e.Parser=ea,e.Renderer=er,e.TextRenderer=ei,e.Tokenizer=b,e.getDefaults=t,e.lexer=eg,e.marked=ec,e.options=eu,e.parse=ec,e.parseInline=ep,e.parser=em,e.setOptions=ed,e.use=eh,e.walkTokens=ef}(up);const um=({member:e})=>(0,iV.jsx)("div",{className:"d-flex justify-content-around align-content-center flex-wrap",children:e.map(({URL:e,name:t,path:n})=>(0,iV.jsx)("a",{target:"_blank",href:e,children:(0,iV.jsx)("img",{className:"py-3 px-1 flex-grow-0 flex-shrink-0",title:t,src:n,style:{width:"210px"}})},n))});iT="sparked_bb4793",iA="contributorGroup_bb4793";var ug={};ug=new URL("epubit.c1d8c5b0.png",import.meta.url).toString();var uv={};uv=new URL("fezaoduke.fb7a5ccd.png",import.meta.url).toString();var ub={};ub=new URL("mikecrm.0a457542.png",import.meta.url).toString();var uy={};uy=new URL("young.5f5cc2c5.png",import.meta.url).toString();var uw={};uw=new URL("BaiCiZhan.259fa4d1.png",import.meta.url).toString();var ux={};ux=new URL("baozun.75f58188.jpg",import.meta.url).toString();var u_={};u_=new URL("cocoet.da319e74.png",import.meta.url).toString();var uj={};uj=new URL("sxl.dd9a9c0f.jpg",import.meta.url).toString();var uk={};uk=new URL("Guo DaFeng.6d7546f5.png",import.meta.url).toString();var uO={};uO=new URL("Guo LinShuo.12cd3b39.png",import.meta.url).toString();var uS={};uS=new URL("Huang Yi.a58655d7.png",import.meta.url).toString(),new URL("OpenSource.1df18182.png",import.meta.url).toString();var uE={};uE=new URL("Quincy Larson.caaecba1.png",import.meta.url).toString();var uN={};uN=new URL("Si Yue.fba3c144.png",import.meta.url).toString();var uR={};uR=new URL("Xiong Jie.6367f3c4.png",import.meta.url).toString();var uT={};uT=new URL("Yu Che.f3526e5b.png",import.meta.url).toString();var uA={};uA=new URL("CD-LUG.5d9dea2f.png",import.meta.url).toString();var uC={};uC=new URL("Covariant Script.6b878a1e.png",import.meta.url).toString();var uP={};uP=new URL("Deepin.ae36ed8d.png",import.meta.url).toString();var uL={};uL=new URL("Fun loading.6e397c0c.png",import.meta.url).toString();var uH={};uH=new URL("H5DS.e8bb5317.png",import.meta.url).toString();var uD={};uD=new URL("KaiYuanShe.da310f52.png",import.meta.url).toString();var uM={};uM=new URL("PI6.1bc18258.png",import.meta.url).toString();var uU={};uU=new URL("React Admin.6c9f1934.png",import.meta.url).toString();var uI={};uI=new URL("UKylin.71e361fb.png",import.meta.url).toString();var u$={};u$=new URL("Vena Network.a2781646.png",import.meta.url).toString();var uF={};uF=new URL("WebCell.48070487.png",import.meta.url).toString();const uz="2018 成都 Web 前端大会",uB=[{title:"大会介绍",href:"#Introduction"},{title:"与会嘉宾",href:"#Lecturer"},{title:"议题",href:"#Topic"},{title:"开源市集",href:"#Bazaar"},{title:"参会企业",href:"#Enterprise"},{title:"日程",href:"#Schedule"},{title:"地址",href:"#Address"},{title:"往期精彩回顾",href:"#Review"},{title:"照片直播",href:"http://www.pailixiang.com/album_ia172238913.html"},{title:"共创伙伴",href:"#Contributor"}],uW=[{name:"昆西·拉尔森",avatar:i$(uE),detail:"Quincy Larson 是 https://freeCodeCamp.org/ 社区创始人,致力于帮助数百万人们免费学习编程。他曾在美国一所高校执教,并在中国分校任职校长。\n\nQuincy 在 31 岁时开始学习编程,希望通过程序使学校的各项事务处理更高效。在接触编程之后,他意识到这是一项人人都应该掌握的技能,可以帮助众多组织提升效率。"},{name:"熊节",avatar:i$(uR),detail:"宝尊电商成都研发中心总经理,拥有超过十七年 IT 行业的从业经验,在金融、政府、电信、物流等行业的信息化建设方面有着丰富经验。熊节曾翻译了《重构》、《最后期限》、《与熊共舞》、《软件工艺》等行业重要著作,参与了 Selenium、RubyWorks、OpenLMIS 等开源软件社区,并在各种媒体发表过数十篇文章,获得利物浦大学 MBA 学位。"},{name:"黄轶",avatar:i$(uS),detail:"北京科技大学毕业,计算机专业硕士。曾任职百度、滴滴,现任 Zoom 前端架构师、专家工程师;擅长前端自动化、工程化,前端架构方向。开源项目 better-scroll、cube-ui 作者,《Vue.js 权威指南》作者,乐于技术分享,追求极致,慕课网精英讲师。"},{name:"死月",avatar:i$(uN),detail:"蚂蚁金服体验技术部研发工程师,Node.JS 核心贡献者(Node.JS Core Collaborator)之一,CNode 社区版主之一,杭州 Node Party 组织者之一,曾任大搜车无线架构组 Node.JS 团队负责人;浙江大学软件工程硕士,退役 OI、ACM 选手,《Node.JS 来一打 C++ 扩展》作者。"},{name:"余澈",avatar:i$(uT),detail:"京东凹凸实验室前端工程师,主要负责基础设施建设和前端性能优化。热爱开源事业,先后作为主要开发者参与了 Vue.js 第一个大型 UI 库 vue-strap、高性能类 React 框架 Nerv、多端统一开发框架 Taro 的开源和维护。在技术之外,他喜欢玩 Dota2 和游泳。"},{name:"郭林烁",avatar:i$(uO),detail:"腾讯 AlloyTeam 前端工程师,参与过腾讯文档、互动直播等大型 Web 项目开发与优化,专注于前端性能优化、前端可用性及开发效率提升,乐于分享。"},{name:"郭达峰",avatar:i$(uk),detail:"郭达峰,Strikingly CTO。毕业于香港中文大学,于 2010 年开发了三款 Facebook 平台的应用,获取了超过 2 千万的用户。2012 年创立了市面上最简易的建站平台 Strikingly,成为第一家进入 YC 孵化器的华人团队。"}],uV=[{title:"freeCodeCamp 从 0 到 29 万 star",lecturer:uW[0],detail:"Quincy Larson 完整讲述他的求学和职业生涯:\n 1. 为什么转行学编程?\n 2. 为什么创立 freeCodeCamp?\n 3. freeCodeCamp 是怎么逐渐流行起来的?中间遇到哪些困难和调整,是如何解决的?\n 4. freeCodeCamp 的技术架构变迁史、核心团队和代码贡献者介绍。"},{title:"给 Node.js 插上 C++ 的翅膀",lecturer:uW[3],detail:"本主题围绕着何时、为何、如何在 Node.js 中使用 C++ 来赋予它更多的可能性(如提升性能、降低开发成本、做一些神奇的事情等):\n 1. 对于一些重计算且输入输出数据简单的场景,用 C++ 的扩展来替代原本的 Pure JavaScript 写法,将会得到一些意想不到的效果\n 2. 对于一些本身就有成熟 C++ 库的场景来说,重新造一个 Node.js 的轮子无疑是一个开发成本比较高的做法\n 3. 还有一些 Node.js 无法涉及的底层,可以通过 C++ 扩展将那些接口暴露出来再在 Node.js 中封装\n 4. 有时候我们没必要去造一个 Electron 这样的结合 Node.js 的东西,但是我们可以利用 Node.js 的 C++ 扩展去封装一个已有的游戏引擎,打通它们各间独自管理的线程\n\n###### 听众收获\n 1. 会明白 Node.js 的一些内部机制\n 2. 对 Node.js 与 C++ 进行交互有一个初步的概念\n 3. 在自己的玩具项目中付诸实践,甚至在生产环境中用上这种姿势"},{title:"开源项目维护",lecturer:uW[4],detail:"###### 如何做好一个开源项目?\n 1. 前期的宣传\n 2. 后期的维护\n 3. 工鞥的迭代\n 4. 失败案例 vue-strap\n 5. 成功案例 taro\n\n###### 做开源项目对个人的影响\n 1. 生活的影响\n 2. 对工作和职业的影响\n 3. 开源、工作、生活之间的平衡\n\n###### 在做开源项目中学到的东西"},{title:"敏捷中国史",lecturer:uW[1],detail:"以2002年《程序员》杂志发表《极限编程》技术专题、人民邮电出版社引进《极限编程》丛书为标志,敏捷进入中国已经十六年了。\n\n十六年前,全中国相信敏捷的人屈指可数;十六年后,大银行的CIO站在大会上讲的关键词里就有敏捷二字。沧海桑田,令人唏嘘。\n\n今天敏捷成为最为广泛采纳的软件开发方法,背后折射出的是 IT 在国民经济生活中的地位提升、是技术人员从外包码农到企业核心竞争力的地位提升、更是中国经济在全球经济中的地位提升。\n\n这十六年里,敏捷是如何被引进、被推介、被传播、被漠视、被抗拒、被接纳、被推崇、被转变、被淡化,如何由涓滴潜流汇成时代大潮?变革的源流是如何传承?哪些人,在哪些时间节点上,起到了重要的推动作用?\n\n作为敏捷在中国十六年发展历程的见证者和参与者,我希望回头梳理这段历史,为这段历史和卷入其中的人们刻碑立传。"},{title:"高效 H5 动画开发方式",lecturer:uW[5],detail:"随着设备性能的不断提升,越来越多的需求希望以动画的形式去表达呈现。在 Web 开发中,动画的实现成本无疑是重头之一。如何选择合适的实现方式,如何提高动画的开发效率,值得大家一起探讨。\n\n本次分享将围绕“保质保量”高效动画开发方式的主题,分享团队的一些探索心得与成果。"},{title:"高可用 React 服务端渲染",lecturer:uW[6],detail:"深入浅出地分享“高可用 React SSR(服务端渲染)”技术栈在企业中应用实践"},{title:"打造 Vue 组件库",lecturer:uW[2],detail:" 1. 为什么要做组件库?\n 2. 组件的设计\n 3. 模块设计\n 4. 生态建设\n 5. 最佳实践"}],uq=[{title:"签到与逛“市集”",time:"09:00 ~ 09:30"},{topic:uV[0],time:"09:30 ~ 10:20"},{topic:uV[1],time:"10:20 ~ 11:10"},{topic:uV[2],time:"11:10 ~ 12:00"},{title:"午餐与逛“市集”",time:"12:00 ~ 13:55"},{title:"抽奖环节",time:"13:55 ~ 14:00"},{topic:uV[3],time:"14:00 ~ 14:50"},{topic:uV[4],time:"14:50 ~ 15:40"},{title:"茶歇 & 逛“市集” & “可好玩乐”趣味编程赛",time:"15:40 ~ 16:10"},{topic:uV[5],time:"16:10 ~ 17:00"},{topic:uV[6],time:"17:00 ~ 17:50"},{title:"抽奖环节",time:"17:50 ~ 17:55"}],uG=[{title:"深度操作系统",name:"Deepin",type:0,URL:"https://www.deepin.org",detail:"有全球影响力的中国 Linux 发行版",logo:i$(uP)},{title:"WebCell",name:"WebCell",type:0,URL:"https://web-cell.dev/",detail:"轻量级 Web 组件化引擎,基于 Web components(HTML 5.3、DOM 4.1)、ECMAScript 2018 和 装饰器提案 提供 MVVM 模型,并有官方封装的 BootStrap v4、Material Design 组件库。",logo:i$(uF)},{title:"HTML 5 design software",name:"H5DS",type:0,URL:"http://www.h5ds.com",detail:"H5DS (HTML 5 design software) 是一款 B/S 的 H5 代码生成工具,通过可视化操作让不会代码的人也能轻松制作 H5 页面",logo:i$(uH)},{title:"Fun loading",name:"Fun loading",type:0,URL:"https://fanerge.github.io/fun-loading/dist/",detail:"基于 React 的 loading 组件库",logo:i$(uL)},{title:"Ubuntu Kylin",name:"UKylin",type:0,URL:"http://www.ubuntukylin.com",detail:"优麒麟(Ubuntu Kylin)是由中国 CCN(由 CSIP、Canonical、NUDT 三方联合组建)开源创新联合实验室与天津麒麟信息技术有限公司主导开发的全球开源项目,其宗旨是通过研发用户友好的桌面环境以及特定需求的应用软件,为全球 Linux 桌面用户带来非凡的全新体验!\n\n优麒麟操作系统是 Ubuntu 官方衍生版,得到来自 Debian、Ubuntu、Mate、LUPA 等国际社区及众多国内外社区爱好者的广泛参与和热情支持!",logo:i$(uI)},{title:"Covariant Script",name:"Covariant Script",type:0,URL:"http://covscript.org",detail:"Covariant Script 编程语言是一个新兴的开源编程语言,发展前景广阔",logo:i$(uC)},{title:"PI6",name:"PI6",type:0,URL:"http://github.com/visi-pivi-sivi/PI6",detail:"PI6 is a bash shell based framework, allow author to add comments in the script, and provides a good interactive experience for user, who needs to know what will be done in the next, while running the script in step by step mode.",logo:i$(uM)},{title:"React Admin",name:"React Admin",type:0,URL:"https://github.com/yezihaohao/react-admin",detail:"一套基于 React、Ant design 和 create-react-app 的后台管理系统解决方案。完整的代码目录结构设计、权限管理、自定义主题、路由配置以及 Redux 的基本用法等,一个完整且简单的 demo 让你快速上手 React 和后台系统。",logo:i$(uU)},{title:"开源社",name:"KaiYuanShe",type:1,URL:"http://www.kaiyuanshe.cn/",detail:"开源社是由中国支持开源的企业,社区及个人所组织的一个开源联盟,旨在推广开源,各成员按照“共治、共识、贡献”的原则自发设立。",logo:i$(uD)},{title:"洛书协议",name:"Vena Network",type:0,URL:"https://github.com/venanetwork",detail:"洛书协议 —— 资产融通代币化的开放协议",logo:i$(u$)},{title:"成都 Linux 用户组",name:"CD-LUG",type:1,URL:"https://cdlug.org/",detail:"成都 GNU/Linux 自组建以来,已经集聚了一批 Linux 爱好者、开发者、创业者。",logo:i$(uA)}],uY=[{title:"React 技术演讲"},{title:"React 技术提问"},{title:"React 技术讲师"},{title:"React 大会观众"},{title:"React 大会招聘"},{title:"Code for City 黑客松茶歇"},{title:"Code for City 黑客松 FCC 合影"},{title:"茶歇一览"},{title:"React 大会招聘"}],uK=[{title:"主",member:[{name:"FCC 成都",path:l2,URL:"https://freecodecamp-chengdu.github.io/"}]},{title:"协",member:[{name:" 掘金",path:ul,URL:"https://juejin.im/"}]}],uJ=[{title:"金牌",member:[{name:"上线了",path:i$(uj),URL:"https://www.sxl.cn/"}]},{title:"银牌",member:[{name:"宝尊电商",path:i$(ux),URL:"https://www.baozun.com/cn/"}]},{title:"铜牌",member:[{name:"可好玩乐",path:i$(u_),URL:"https://cocoet.cn/"},{name:"百词斩",path:i$(uw),URL:"http://www.baicizhan.com/"}]}],uZ=[{name:"博文视点",path:i$(c2),URL:"http://www.broadview.com.cn/"},{name:"开源中国",path:uc,URL:"https://www.oschina.net/"},{name:"麦克",path:i$(ub),URL:"https://www.mikecrm.com/"},{name:"前端早读课",path:i$(uv),URL:"https://zdk.f2er.net/"},{name:"实验楼",path:i$(ur),URL:"https://www.shiyanlou.com/"},{name:"图灵社区",path:"http://tp1.sinaimg.cn/1752543513/180/1.jpg",URL:"http://www.ituring.com.cn/"},{name:"异步社区",path:i$(ug),URL:"https://www.epubit.com/"},{name:"SegmentFault",path:i$(un),URL:"https://segmentfault.com/"},{name:"小样青年社区",path:i$(uy),URL:"http://www.xypark.com/"}],uQ=["上线了","宝尊电商","企鹅医生","新蛋","乐车邦","tap4fun","ThoughtWorks","麦麦养老","BBD","美团","腾讯","知道创宇","陌陌成都","孔明科技","知乎","去哪儿","医联","极米科技","今日头条","点融网","客如云","街电","华为云","Camera360","鱼说科技","折800","TestBird","汇通天下","科大讯飞","咕咚","西瓜创客","实验楼","四方伟业","猪八戒","陌陌","货车邦","活跃网络","蚂蚁金服"];var uX={};uX=new URL("1.bcd16fd1.jpg",import.meta.url).toString();var u0={};u0=new URL("2.09e20710.jpg",import.meta.url).toString();var u1={};u1=new URL("3.244a440c.jpg",import.meta.url).toString();var u2={};u2=new URL("4.c55a5098.jpg",import.meta.url).toString();var u3={};u3=new URL("5.656cea07.jpg",import.meta.url).toString();var u5={};u5=new URL("6.da397600.jpg",import.meta.url).toString();var u9={};u9=new URL("7.f4500b56.jpg",import.meta.url).toString();var u4={};u4=new URL("8.42f8e777.jpg",import.meta.url).toString();var u6={};u6=new URL("9.f9c67304.jpg",import.meta.url).toString();var u7=[i$(uX),i$(u0),i$(u1),i$(u2),i$(u3),i$(u5),i$(u9),i$(u4),i$(u6)],u8=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const de=e=>{var{className:t}=e,n=u8(e,["className"]);return(0,iV.jsxs)("main",Object.assign({className:`root_bb4793 ${t}`},n,{children:[(0,iV.jsxs)("div",{className:"poster_bb4793",children:[(0,iV.jsx)(lv,{brand:(0,iV.jsx)(iV.Fragment,{children:uz}),expand:"lg",variant:"light",menu:uB}),(0,iV.jsx)("img",{src:i$(lX),className:"img-fluid"})]}),(0,iV.jsxs)("section",{id:"Introduction",children:[(0,iV.jsx)("h2",{className:"text-center mb-5",children:"大会介绍"}),(0,iV.jsx)("div",{className:"container",children:(0,iV.jsxs)("div",{className:"row",children:[(0,iV.jsxs)("div",{className:"col-md-7",children:[(0,iV.jsx)("p",{children:"成都 Web 前端大会是 freeCodeCamp 成都社区一年一度举办的大型技术交流活动,主要面向西南地区 Web 应用、JavaScript 全栈开发领域的程序员、架构师、研发团队管理者和技术爱好者。我们在借鉴同类行业大会技术分享宝贵经验的同时,也创新地增加了优秀企业现场招聘、开源项目/社团宣传展位,为互联网、软件开发技术从业者提供从学习、求职到合作洽谈的一站式资讯平台,全力打造西南一流的 IT 行业盛会。"}),(0,iV.jsx)("div",{className:"p-4 text-center",children:(0,iV.jsx)(sJ,{variant:"primary",size:"lg",target:"_blank",href:"http://fcc-chengdu.mikecrm.com/tFM8Rk8",children:"立即报名参加"})})]}),(0,iV.jsx)("div",{className:"col-md-5",children:(0,iV.jsx)("img",{className:"img-fluid",src:i$(l0)})})]})})]}),(0,iV.jsxs)("section",{id:"Lecturer",className:iT,children:[(0,iV.jsx)("h2",{className:"mb-5",children:"与会嘉宾"}),(0,iV.jsx)("div",{className:"container",children:(0,iV.jsx)("div",{className:"row lecture-list",children:uW.map(({avatar:e,name:t,detail:n})=>(0,iV.jsx)("div",{className:"col-md-3 p-2",children:(0,iV.jsxs)("div",{className:"lecture_bb4793",children:[(0,iV.jsx)("img",{src:e,className:"avatar_bb4793",alt:t}),(0,iV.jsx)("p",{className:"lecture-name",children:t}),(0,iV.jsx)("p",{className:"lecture-intro text-left",innerHTML:(0,up.marked)(n)})]})},t))})})]}),(0,iV.jsxs)("section",{id:"Topic",children:[(0,iV.jsx)("h2",{className:"text-center mb-5",children:"议题"}),(0,iV.jsx)("div",{className:"container",children:(0,iV.jsx)("ol",{className:"subjects_bb4793 overflow-hidden list-unstyled position-relative",children:uV.map(({lecturer:e,title:t,detail:n})=>(0,iV.jsxs)("li",{className:t,children:[(0,iV.jsxs)("div",{className:"text-center",children:[(0,iV.jsx)("h6",{children:e.name}),(0,iV.jsx)("img",{className:"avatar-sm_bb4793",src:e.avatar})]}),(0,iV.jsxs)("div",{children:[(0,iV.jsx)("h5",{children:t}),(0,iV.jsx)("p",{innerHTML:(0,up.marked)(n)})]})]},t))})})]}),(0,iV.jsx)("section",{className:iT,children:(0,iV.jsxs)("div",{className:"container",children:[(0,iV.jsxs)("div",{id:"Bazaar",className:"mb-4",children:[(0,iV.jsx)("h2",{className:"text-center mb-5",children:"开源市集"}),(0,iV.jsx)("div",{className:"row row-cols-1 row-cols-md-3 g-3",children:uG.map(({type:e,URL:t,title:n,detail:r,logo:i})=>(0,iV.jsx)("div",{className:"col",children:(0,iV.jsxs)(sN,{className:"overflow-hidden",children:[(0,iV.jsx)(sP,{src:i}),(0,iV.jsxs)(sT,{children:[(0,iV.jsx)(sC,{children:(0,iV.jsx)("a",{className:"stretched-link text-primary",target:"_blank",href:t,children:n})}),(0,iV.jsx)("div",{className:`cr cr-top cr-right cr-${e?"red":"blue"}`,children:e?"社团":"项目"}),r]})]})},n))})]}),(0,iV.jsxs)("div",{id:"Enterprise",className:"text-center",children:[(0,iV.jsx)("h2",{className:"text-center mb-5",children:"参会企业"}),(0,iV.jsx)("p",{className:"text-muted",children:"部分企业开放现场招聘位,欢迎优秀人才携简历前来~"}),(0,iV.jsx)("p",{className:"text-muted",children:"(排名不分先后)"}),(0,iV.jsxs)("div",{className:"row",children:[(0,iV.jsx)("div",{className:"col-md-7",children:(0,iV.jsx)("ul",{className:"companies_bb4793 list-inline",children:uQ.map(e=>(0,iV.jsx)("li",{className:"list-inline-item py-1 px-3 m-1 bg-white rounded",children:e},e))})}),(0,iV.jsx)("div",{className:"col-md-5",children:(0,iV.jsx)("img",{className:"img-fluid",src:i$(l1)})})]})]})]})}),(0,iV.jsxs)("section",{id:"Schedule",children:[(0,iV.jsx)("h2",{className:"text-center mb-5",children:"日程"}),(0,iV.jsx)("div",{className:"container",children:(0,iV.jsxs)(sy,{className:"text-center",striped:!0,hover:!0,children:[(0,iV.jsx)("thead",{children:(0,iV.jsxs)("tr",{children:[(0,iV.jsx)("th",{scope:"col",className:"d-none d-md-block",children:"#"}),(0,iV.jsx)("th",{scope:"col",children:"时间"}),(0,iV.jsx)("th",{scope:"col",children:"活动"}),(0,iV.jsx)("th",{scope:"col",children:"主咖"})]})}),(0,iV.jsx)("tbody",{children:uq.map(({time:e,title:t,topic:n})=>(0,iV.jsxs)("tr",{children:[(0,iV.jsx)("td",{className:"d-none d-md-block"}),(0,iV.jsx)("td",{className:"text-nowrap",children:e}),(0,iV.jsx)("td",{children:t||`\u{300A}${null==n?void 0:n.title}\u{300B}`}),(0,iV.jsx)("td",{children:null==n?void 0:n.lecturer.name})]},e))})]})})]}),(0,iV.jsxs)("section",{id:"Review",className:iT,children:[(0,iV.jsx)("h2",{className:"text-center mb-5",children:"往期精彩回顾"}),(0,iV.jsx)("div",{className:"container",children:(0,iV.jsx)("div",{className:"row photos_bb4793",children:uY.map(({title:e},t)=>(0,iV.jsx)("div",{className:"col-md-4",children:(0,iV.jsx)("img",{className:"img-fluid",title:e,src:u7[t]})},e))})})]}),(0,iV.jsxs)("section",{id:"Address",className:"text-center",children:[(0,iV.jsx)("h2",{className:"text-center mb-5",children:"地址"}),(0,iV.jsxs)("div",{className:"container",children:[(0,iV.jsx)("p",{className:"text-muted",children:"天府大道北段966号天府国际金融中心4号楼1楼1号会议厅"}),(0,iV.jsx)(sm,{aspectRatio:"21x9",children:(0,iV.jsx)("iframe",{loading:"lazy",src:`//uri.amap.com/marker?src=fcc-cdc&callnative=1&position=104.065789,30.582013&name=${uz}`})})]})]}),(0,iV.jsxs)("section",{id:"Contributor",className:"text-center",children:[(0,iV.jsx)("h2",{children:"共创伙伴"}),(0,iV.jsx)("div",{className:"container",children:uK.map(({title:e,member:t})=>(0,iV.jsxs)("div",{className:`${iA} my-4`,children:[(0,iV.jsxs)("h5",{className:"py-3",children:[e,"办方"]}),(0,iV.jsx)(um,{member:t})]},e))}),(0,iV.jsx)("div",{className:"container",children:(0,iV.jsx)("div",{className:`${iA} my-4`,children:uJ.map(({title:e,member:t})=>(0,iV.jsxs)("section",{children:[(0,iV.jsxs)("h5",{className:"py-3",children:[e,"赞助"]}),(0,iV.jsx)(um,{member:t})]},e))})}),(0,iV.jsx)("div",{className:"container",children:(0,iV.jsxs)("div",{className:`${iA} my-4`,children:[(0,iV.jsx)("h5",{className:"py-3",children:"合作伙伴"}),(0,iV.jsx)(um,{member:uZ})]})})]}),(0,iV.jsx)("section",{id:"CallInAction",className:iT,children:(0,iV.jsx)("div",{className:"container text-center",children:(0,iV.jsx)(sJ,{variant:"primary",size:"lg",target:"_blank",href:"http://fcc-chengdu.mikecrm.com/tFM8Rk8",children:"立即报名参加"})})}),(0,iV.jsx)("footer",{className:"pt-4 pb-3 clearfix",children:(0,iV.jsx)("div",{className:"container",children:(0,iV.jsx)("div",{className:"d-none d-md-block",children:(0,iV.jsx)("ul",{className:"nav",children:uB.map(({href:e,title:t})=>(0,iV.jsx)("li",{className:"nav-item",children:(0,iV.jsx)("a",{className:"nav-link",href:e,children:t})},t))})})})})]}))};iC="cqVWBq_card-content",iP="cqVWBq_card-title",iL="cqVWBq_line-center",iH="cqVWBq_title";const dt=({avatar:e,name:t,role:n,identity:r,describe:i})=>(0,iV.jsx)("div",{className:"col-md-6 col-xs-12",children:(0,iV.jsxs)("div",{className:"cqVWBq_guest",children:[(0,iV.jsx)(sS,{className:"cqVWBq_guest-avatar",src:e}),(0,iV.jsxs)("div",{className:"cqVWBq_guest-title",children:[(0,iV.jsx)("h5",{className:"guest-name text-white",children:t}),(0,iV.jsx)("span",{className:"cqVWBq_guest-role",children:n}),(0,iV.jsx)("div",{className:"cqVWBq_guest-identity",children:r})]}),(0,iV.jsx)("div",{className:"cqVWBq_guest-describe",children:i})]})});var dn={};dn=new URL("BG-mountain.a40cd143.png",import.meta.url).toString();var dr={};dr=new URL("BG-points.a36cbcb5.png",import.meta.url).toString();var di={};di=new URL("fanxiaobin.ddf67f59.jpg",import.meta.url).toString();var da={};da=new URL("hushenquan.3bc3a3e8.jpg",import.meta.url).toString();var ds={};ds=new URL("liangtongming.0896bffc.png",import.meta.url).toString();var dl={};dl=new URL("liwanpeng.3e384392.png",import.meta.url).toString();var dc={};dc=new URL("lvyan.20f8146a.png",import.meta.url).toString();var du={};du=new URL("maoyufeng.4fad4d67.png",import.meta.url).toString();var dd={};dd=new URL("qinglinbo.b653a5f8.png",import.meta.url).toString();var dh={};dh=new URL("shenchangkun.34a950bc.png",import.meta.url).toString();var df={};df=new URL("wenqixiang.ba6a4c9e.jpg",import.meta.url).toString();var dp={};dp=new URL("zhangwei.8a1eaf8f.png",import.meta.url).toString();var dm={};dm=new URL("cdht.1a98fe03.png",import.meta.url).toString();var dg={};dg=new URL("cdhttv.95996f0d.png",import.meta.url).toString();var dv={};dv=new URL("cdkfx.45303dec.png",import.meta.url).toString();var db={};db=new URL("cdtv.cad3f6aa.png",import.meta.url).toString();var dy={};dy=new URL("first.db3f3b7f.png",import.meta.url).toString();var dw={};dw=new URL("fm940.57af6fef.png",import.meta.url).toString();var dx={};dx=new URL("github.dc076018.png",import.meta.url).toString();var d_={};d_=new URL("jhspace.79b894fc.jpeg",import.meta.url).toString();var dj={};dj=new URL("jintai.c9daf80f.png",import.meta.url).toString();var dk={};dk=new URL("JRsquare.3938dff7.png",import.meta.url).toString();var dO={};dO=new URL("kct.fa12078d.png",import.meta.url).toString();var dS={};dS=new URL("lvs.8542bc34.png",import.meta.url).toString();var dE={};dE=new URL("Microsoft.1f15902a.png",import.meta.url).toString();var dN={};dN=new URL("mikecrm.4f148944.png",import.meta.url).toString();var dR={};dR=new URL("Monstarlab.412935c4.png",import.meta.url).toString();var dT={};dT=new URL("scdaily.cc7ea553.png",import.meta.url).toString();var dA={};dA=new URL("sctv.57b7dcc8.png",import.meta.url).toString();var dC={};dC=new URL("SegmentFault.9eb84f2a.png",import.meta.url).toString();var dP={};dP=new URL("sinasc.13983356.png",import.meta.url).toString();var dL={};dL=new URL("tap4fun.7ad8b888.png",import.meta.url).toString();var dH={};dH=new URL("tedxChengDu.51c170fc.png",import.meta.url).toString();var dD={};dD=new URL("ThoughtWorks.a36bb1e9.png",import.meta.url).toString();var dM={};dM=new URL("XinYaoHang.d3fe522f.png",import.meta.url).toString();var dU={};dU=new URL("yunpian.40cabf38.png",import.meta.url).toString();const dI=[{title:"一等奖",detail:"¥10000+"},{title:"二等奖",detail:"¥5000+"},{title:"三等奖",detail:"¥3000+"},{title:"特别奖项",detail:"若干"}],d$=[{avatar:i$(da),name:"胡胜全",role:"专家评委",identity:"成都科技企业孵化器协会首席运营官",describe:"长期负责“成都科技创业导师”评选、创业项目辅导、创业孵化行业人才培养等工作,完成了上百场训练营、创新创业大赛等活动,累计培训辅导项目上千个。"},{avatar:i$(di),name:"樊晓兵",role:"专家评委",identity:"高新区创新创业服务中心创业服务处项目经理",describe:"长期从事科技创新创业服务工作、天府创业联盟创始人、资深技术经纪人,天府创联®核心竞争力系统发明人,专注并擅长于创新创业政策解读、技术转移和战略规划等。"},{avatar:i$(dh),name:"沈长锟",role:"专家评委",identity:"TEDx 中国区大使",describe:"TEDx 中国区大使,TEDxChengdu 及 TEDxChongqing 策展人。自2012年起创办 TEDxChongqing,2016年当选 TEDx 中国区大使,并在2017年发起 TEDxChengdu。气候政策研究者,世界银行第五期CDD项目专员。2011年起先后入选 Rio+20 联合国里约地球峰会、COP17 联合国德班气候大会、COP18 联合国多哈气候大会、土耳其 Global Power Shift 气候论坛中国青年代表。"},{avatar:i$(du),name:"毛玉峰",role:"专家评委",identity:"新耀行集团董事长",describe:"曾就职于中原地产,有近二十年地产专业服务运营从业经验。毛玉峰先生带领新耀行集团深耕中国商业地产,致力于商业地产价值最大化挖掘,引领商业地产新思维的崛起,并为我们的城市和居民提升更为美好的社区商业场景而坚定前行!"},{avatar:i$(df),name:"闻其详",role:"专家评委",identity:"GNOME ASIA 重庆主席",describe:"自 2007年开始接触 Linux 和开源软件就投身到开源浪潮之中,喜爱开放协作的包容文化,认同开源文化的社会意义和生产力价值。目前是 GNOME 基金会成员,中华民国软体自由协会成员,现主要关注在推广开源、应用开源技术和开源理念贡献教育领域,创办有公益小组开放教育反应堆和开源工场。"},{avatar:i$(dl),name:"李万鹏",role:"专家评委",identity:"优聚加速器创始人&CEO",describe:"优聚加速器创始人&CEO,成都科技创业导师;iWeb成都站负责人;在移动互联网行业拥有十四年的实操经验;“优聚加速器”2016年上半年也成功投资和孵化2家VR公司,目前已经获得高速的发展,在去年10月成功获得科技部颁布的“国家级众创空间”的荣誉。"},{avatar:i$(dd),name:"卿粼波",role:"专家评委",identity:"四川大学副教授&硕士生导师",describe:"具有多年从事图像处理,人工智能,嵌入式系统等领域理论和技术研究的经验。 美国视觉科学学会(Vision Science Society)会员,亚太信号与信息处理协会(APSIPA)会员。 担任IEEE Transactions on Multimedia, IEEE Transactions on Circuits and Systems for Video Technology, International Jounal of Electrical Power and Energy Systems, Journal of Computational and Applied Mathematecs等多个国际学术期刊的审稿人。"},{avatar:i$(dp),name:"张伟",role:"特邀嘉宾",identity:"BBD 基础架构部经理",describe:"曾就职于Oracle,在Oracle China Offshore Center部门担任Middleware Consultant。曾就职于Alipay,在金融核心技术部担任研发工程师,参与过双11核心交易系统的开发工作。现负责BBD中间件基础设施的建设,对企业级中间件、区块链有浓厚的兴趣。"},{avatar:i$(ds),name:"梁桐铭",role:"特邀嘉宾",identity:"微软最有价值专家(MVP)",describe:"从2015年5月开始在国内的开源社区中进行推广ASP.NETBoilerplate Project开源框架,创建了”角落的白板报”博客及公众号,发表一些基础性文章来帮助大家提高开发技巧!代码生成器(ABP Code Generator)作者,辅助ABP框架以提高开发人员的效率。现主要关注于VSTS、Devops、区块链等方向的实践和落地。"},{avatar:i$(dc),name:"吕彦",role:"特邀嘉宾",identity:"高级项目经理",describe:"微软大中华区创新技术合作事业部高级项目经理。具有14年IT行业B2B市场经验,负责微软中国社区及校园精英项目"}],dF=[{title:"主办单位",list:[{title:"高新区创新创业服务中心",imageURL:i$(dm)},{title:"成都科技企业孵化器协会",imageURL:i$(dv)},{title:"FCC成都社区",imageURL:i$(c9)}]},{title:"冠名单位",list:[{title:"成都新耀行房产营销策划",imageURL:i$(dM)}]},{title:"承办单位",list:[{title:"合创新业",imageURL:i$(c7)},{title:"菁蓉国际广场",imageURL:i$(dk)}]},{title:"平台提供",list:[{title:"梦思特科技(成都)",imageURL:i$(dR)}]},{title:"合作伙伴",list:[{title:"Github",imageURL:i$(dx)},{title:"微软",imageURL:i$(dE)},{title:"BBD",imageURL:i$(c1)},{title:"尼毕鲁",imageURL:i$(dL)},{title:"交换空间",imageURL:i$(d_)},{title:"掘金",imageURL:ul},{title:"开源中国",imageURL:uc},{title:"SegmentFault",imageURL:i$(dC)},{title:"ThoughtWorks",imageURL:i$(dD)},{title:"GDG",imageURL:i$(c4)},{title:"TEDxChengDu",imageURL:i$(dH)},{title:"猿生态",imageURL:i$(c3)},{title:"个推",imageURL:i$(c6)},{title:"麦客",imageURL:i$(dN)},{title:"实验楼",imageURL:i$(ur)},{title:"菲斯特地产",imageURL:i$(dy)},{title:"锦泰地产",imageURL:i$(dj)},{title:"LiveVideoStack",imageURL:i$(dS)},{title:"yunpian",imageURL:i$(dU)}]},{title:"媒体伙伴",list:[{title:"四川省电视台",imageURL:i$(dA)},{title:"成都电视台",imageURL:i$(db)},{title:"成都高新区电视台",imageURL:i$(dg)},{title:"新浪四川",imageURL:i$(dP)},{title:"四川日报",imageURL:i$(dT)},{title:"四川财富广播",imageURL:i$(dw)},{title:"科创通",imageURL:i$(dO)},{title:"IT大咖说",imageURL:i$(c5)}]}],dz=[{title:"FCC 成都社区 Hackathon",imageURL:lZ[0]},{title:"《程序员职业生涯规划》FCC 成都 Code & Coffee #21",imageURL:lZ[1]},{title:"2017 成都 Web 前端大会(会场侧影)",imageURL:lZ[2]},{title:"认真笔记的 FCC 活跃社员(2017 成都 Web 前端大会)",imageURL:lZ[3]},{title:"2017 成都 Web 前端大会(会后合影)",imageURL:lZ[4]},{title:"2017 成都 Web 前端大会(听众提问)",imageURL:lZ[5]},{title:"2017 全球开发者关系大会(成都分会场)",imageURL:lZ[6]},{title:"龙泉中学 IT 科普",imageURL:lZ[7]}],dB=e=>(0,iV.jsxs)("main",Object.assign({},e,{children:[(0,iV.jsx)("div",{className:"text-light",style:{backgroundImage:`url(${i$(dn)})`},children:(0,iV.jsx)("div",{className:"container px-3 py-5",children:(0,iV.jsxs)("div",{className:"row",children:[(0,iV.jsxs)("div",{className:"col-xs-12 col-md-6",children:[(0,iV.jsx)("h1",{className:"cqVWBq_main-title text-white",children:"2018 黑客松大赛"}),(0,iV.jsx)("h2",{className:"theme text-white",children:"Code for City"}),(0,iV.jsx)(sJ,{className:"cqVWBq_register",variant:"primary",target:"_blank",href:"https://fcc.hackerearth.com/zh/",children:"参赛通道 →"}),(0,iV.jsxs)("ul",{className:"list-unstyled",children:[(0,iV.jsx)("li",{children:"线上预赛:2018 年 1 月 12 日 20:00 ~ 2018 年 1 月 14 日 20:00"}),(0,iV.jsx)("li",{children:"决赛日期:2018 年 1 月 20 日 9:00 ~ 19:00"}),(0,iV.jsx)("li",{children:"决赛地址:高新天府五街 200 号菁蓉国际广场 7 栋 1 号菁蓉汇主会场"})]})]}),(0,iV.jsx)("div",{className:"col-xs-12 col-md-6",children:(0,iV.jsx)(oH,{interval:3e3,children:dz.map(({imageURL:e,title:t})=>(0,iV.jsxs)(oP,{children:[(0,iV.jsx)(sS,{className:"d-block w-100",src:e}),(0,iV.jsx)(oL,{children:(0,iV.jsx)("h5",{children:t})})]},e))})}),(0,iV.jsxs)("div",{className:"d-md-flex w-100 align-items-start my-5",children:[(0,iV.jsx)("h4",{className:`${iP} ${iL} mr-md-3`,children:"大赛宗旨"}),(0,iV.jsxs)("ul",{className:`list-unstyled ${iC} flex-fill`,children:[(0,iV.jsx)("li",{children:"关注城市生活:以“Code For City”为主题,旨在用实际编程行动改变城市生活,让城市更美好"}),(0,iV.jsx)("li",{children:"鼓励技术创新:创意与实践相互结合,想象与行动二者并重,是本次大赛的重要评判标准之一"}),(0,iV.jsx)("li",{children:"提升行业氛围:创造有价值的产品,挖掘有潜力的团队,加强高新区对人才、企业资本的吸引力"}),(0,iV.jsx)("li",{children:"展现成都风采:打造一个广泛聚焦的舞台,一展成都程序员风采,彰显成都IT新一线的城市风貌"})]})]}),(0,iV.jsxs)("div",{className:"d-md-flex w-100 align-items-start my-5 flex-row-reverse",children:[(0,iV.jsx)("h4",{className:`${iP} ${iL} ml-md-3`,children:"品牌理念"}),(0,iV.jsx)("p",{className:iC,children:"Code for City 是 freeCodeCamp China 的品牌活动,通过联合企业、高校、技术社区、公益组织等机构,以编程工作坊或黑客松等形式,赋能青年人为社会问题设计解决方案,旨在推动编程的普及,用技术影响世界。"})]}),(0,iV.jsxs)("div",{className:"col-md-12 col-xs-12 mt-md-5 text-center",children:[(0,iV.jsx)("h3",{className:`${iH} ${iL} text-white"`,children:"大赛奖项"}),(0,iV.jsx)("div",{className:"my-4",children:dI.map(({title:e,detail:t})=>(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("h4",{className:"text-white",children:e}),(0,iV.jsx)("p",{children:t})]}))}),(0,iV.jsx)("div",{className:"col-md-12 my-4",children:(0,iV.jsx)("p",{style:{color:"darkgray"},children:"所有奖项以现金或同等价值奖品发放"})})]})]})})}),(0,iV.jsx)("div",{className:"cqVWBq_Detail",children:(0,iV.jsxs)("div",{className:"container px-3 py-5",children:[(0,iV.jsxs)("section",{className:"text-center my-5",children:[(0,iV.jsx)("h4",{className:`${iH} ${iL} text-white text-center"`,children:"大赛参赛队伍规模及规则"}),(0,iV.jsxs)("small",{className:"p-3",children:[(0,iV.jsx)("span",{className:"pr-4",children:"海选期:不限"}),"决赛日:6支"]}),(0,iV.jsxs)("ol",{className:"cqVWBq_rule-list",children:[(0,iV.jsx)("li",{children:"参赛队长通过官方链接或者官方微信群报名"}),(0,iV.jsx)("li",{children:"队长在获得官方授予的权限之后,拉队员进入自己的Team(GitHub 对应的 team、repository 自动创建)"}),(0,iV.jsx)("li",{children:"参赛队成员在比赛开始时才被赋予代码库 push 权限,在评选阶段暂时失去 push 权限,赛后会取得 admin 权限以便继续开发"})]})]}),(0,iV.jsxs)("section",{className:"text-center",children:[(0,iV.jsx)("h4",{className:`${iH} ${iL} text-white"`,children:"嘉宾评委介绍"}),(0,iV.jsx)("small",{style:{color:"#697078"},children:"按首字母排序"}),(0,iV.jsx)("div",{className:"d-flex flex-wrap",children:d$.map(dt)})]}),(0,iV.jsx)("div",{className:"cqVWBq_Sponsor",style:{backgroundImage:`url(${i$(dr)})`},children:(0,iV.jsxs)("section",{className:"p-5",children:[(0,iV.jsx)("h4",{className:"text-white",children:"合作单位"}),(0,iV.jsx)("div",{className:"row",children:dF.map(({title:e,list:t})=>(0,iV.jsxs)("div",{className:"col-md-2 col-sm-6 col-xs-6",children:[(0,iV.jsx)("h5",{className:"text-white",children:e}),(0,iV.jsx)("ul",{className:"list-unstyled",children:t.map(({title:e})=>(0,iV.jsx)("li",{children:e}))})]}))})]})}),(0,iV.jsx)("ul",{className:"list-unstyled d-flex flex-wrap justify-content-around align-items-center",children:dF.map(({list:e})=>e.map(({imageURL:e,title:t})=>(0,iV.jsx)("li",{children:(0,iV.jsx)("img",{className:"img-fluid m-3",style:{width:"12rem"},src:e,alt:t})})))})]})})]}));var dW=iB("eV21f"),dV={};dV=JSON.parse('{"title":"2019 成都 Web 全栈大会","address":"成都市高新区天府五街菁蓉国际广场 7 号楼主会场","menu":[{"title":"大会议题","href":"#Topic"},{"title":"大咖讲师","href":"#Mentor"},{"title":"共创伙伴","href":"#Contributor"},{"title":"会场交通","href":"#Address"},{"title":"我的邀请函","href":"2019/invitation/"},{"title":"财务公开","href":"2019/accounts/"}],"mentors":[{"id":4,"name":"贺师俊","GitHub":"hax","organization":"360 技术委员会","title":"Web 前端 TC 委员","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/He-ShiJun.png","introduction":"ECMA TC39 代表,W3C Chinese Web IG 成员"},{"id":5,"name":"陈森森","GitHub":"wanyicss","organization":"阿里云","title":"Web 前端工程师","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-0/ChenSenSen.png"},{"id":2,"name":"慕阳","GitHub":"myzhibie","organization":"华为云","title":"Web 前端工程师","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-0/MuYang.jpeg"},{"id":3,"name":"尹吉峰","GitHub":"flisky","title":"全栈工程师","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Yin-JiFeng.jpg"},{"id":1,"name":"死月","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-0/SiYue.jpg","GitHub":"XadillaX","organization":"蚂蚁金服","title":"Node.js 工程师"},{"id":8,"name":"蒙维","GitHub":"mengweivictor","organization":"亚马逊 AWS","title":"高级解决方案架构师","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Meng-Wei.jpg"},{"id":7,"name":"陈洋彬","GitHub":"imnemo","organization":"麦麦养老","title":"软件研发负责人","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Chen-YangBing.jpg"},{"id":10,"name":"余泽江","GitHub":"trotyl","organization":"ThoughtWorks","title":"咨询师","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-0/YuZeJiang.png"},{"id":9,"name":"谢扬","GitHub":"leinue","organization":"蒸汽记忆","title":"创始人","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-0/XieYang.jpeg"},{"id":6,"name":"陈成","GitHub":"sorrycc","organization":"蚂蚁金服","title":"Web 前端技术专家","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Chen-Cheng.jpeg"},{"id":11,"name":"满远荣","GitHub":"manyuanrong","organization":"Deno 中国社区","title":"发起人","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-0/ManYuanRong.jpg"},{"id":12,"name":"于航","GitHub":"Becavalier","organization":"PayPal","title":"Web 前端工程师","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Yu-Hang.jpeg"},{"id":13,"name":"唐刚","GitHub":"daogangtang","organization":"RustCC 社区","title":"联合创始人","avatar":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Tang-Gang.jpg"},{"id":14,"name":"Jack Works","GitHub":"Jack-Works","organization":"Dimension","title":"现代前端魔法使","avatar":"https://github.com/Jack-Works.png"},{"id":15,"name":"谢彬彬","GitHub":"xiebinbin","title":"全栈工程师","avatar":"https://github.com/xiebinbin.png"},{"id":16,"name":"董涛","GitHub":"mtsee","title":"Web 前端工程师","avatar":"https://github.com/mtsee.png"},{"id":17,"name":"叶师傅","GitHub":"Tealeafpei","organization":"AALab 算法艺术实验室","title":"算法工程师","avatar":"https://github.com/Tealeafpei.png"},{"id":18,"name":"唐睿","GitHub":"tangrui","organization":"阿里云","title":"产品经理","avatar":"https://github.com/tangrui.png"},{"id":19,"name":"呂靖","GitHub":"JimmyLv","organization":"中国极限编程实践者社群","title":"Web 前端工程师","avatar":"https://github.com/JimmyLv.png"},{"id":20,"name":"孙华","GitHub":"bnusunny","organization":"亚马逊 AWS","title":"工程师","avatar":"https://github.com/bnusunny.png"}],"topics":[{"title":"蚂蚁前端研发最佳实践","type":"lecture","mentorId":6,"date":"2019-11-16","time":["09:30","10:10"],"place":"主会场","image":"https://github.com/ant-design.png","slideshow":"https://docs.qq.com/slide/DTllLRUx6b0N3bnZi"},{"title":"基于 Node.js 打造研发团队的瑞士军刀","type":"lecture","mentorId":7,"date":"2019-11-16","time":["10:10","10:50"],"place":"主会场","image":"https://github.com/nodejs.png","slideshow":"https://docs.qq.com/slide/DTmJISEVjc09EaXha"},{"title":"城市大脑地图可视化技术实践","type":"lecture","mentorId":5,"date":"2019-11-16","time":["10:50","11:30"],"place":"主会场","image":"https://github.com/aliyun.png","slideshow":"https://docs.qq.com/slide/DTmV3QmhFbVh6Q3F3"},{"title":"基于 GraphQL 的业务中台实践","type":"lecture","mentorId":3,"date":"2019-11-16","time":["11:30","12:10"],"place":"主会场","image":"https://github.com/graphql.png","slideshow":"https://docs.qq.com/slide/DTmtldVpQUkl5S0ZD"},{"title":"SoLiD 社交互联数据 —— 万维网之父的数据主权革命","type":"lecture","mentorId":9,"date":"2019-11-16","time":["14:00","14:40"],"place":"主会场","image":"https://github.com/solid.png","slideshow":"https://leinue.github.io/webfullstack-2019/index.html"},{"title":"从 Infrastructure as Code 到 Open Application Model —— 填补开发到运维的鸿沟","type":"lecture","mentorId":18,"date":"2019-11-16","time":["14:40","15:20"],"place":"主会场","image":"https://github.com/oam-dev.png","slideshow":"https://docs.qq.com/slide/DTnVmRlRkcHhKQXhs"},{"title":"用 Python Flask 打造小型视频点播站","type":"lecture","mentorId":15,"date":"2019-11-16","time":["15:40","16:20"],"place":"主会场","image":"https://github.com/FFmpeg.png","slideshow":"https://docs.qq.com/slide/DTkJFVHZ2RUhvVWto"},{"title":"DevCloud Web Components 实践","type":"lecture","mentorId":2,"date":"2019-11-16","time":["16:20","17:00"],"place":"主会场","image":"https://github.com/webcomponents.png","slideshow":"https://docs.qq.com/slide/DTnlwYmFham56YkFI"},{"title":"聊聊 Node.js 构建部署时我们要关心的数据","type":"lecture","mentorId":1,"date":"2019-11-16","time":["17:00","17:40"],"place":"主会场","image":"https://github.com/nodejs.png","slideshow":"https://docs.qq.com/slide/DTmt3VllvaGhtRFdk"},{"title":"无服务器计算架构","type":"lecture","mentorId":8,"date":"2019-11-17","time":["09:30","10:10"],"place":"主会场","image":"https://github.com/serverless.png","slideshow":"https://docs.qq.com/pdf/DTlJFSE5pVk16WHJV"},{"title":"从 Angular Ivy 认识前端框架","type":"lecture","mentorId":10,"date":"2019-11-17","time":["10:10","10:50"],"place":"主会场","image":"https://github.com/angular.png","slideshow":"https://docs.qq.com/slide/DTk1ITEZNbnRtZXlO"},{"title":"Thoughts In Deno","type":"lecture","mentorId":11,"date":"2019-11-17","time":["10:50","11:30"],"place":"主会场","image":"https://github.com/denoland.png","slideshow":"https://ppt.baomitu.com/d/9ffcac5c"},{"title":"Brand New Things in WebAssembly Post-MVP Standard","type":"lecture","mentorId":12,"date":"2019-11-17","time":["11:30","12:10"],"place":"主会场","image":"https://github.com/WebAssembly.png","slideshow":"https://docs.qq.com/slide/DTnhJYUN2dUhtWFRQ"},{"title":"Rust 语言全栈开发","type":"lecture","mentorId":13,"date":"2019-11-17","time":["14:00","14:40"],"place":"主会场","image":"https://github.com/rust-lang.png","slideshow":"https://docs.qq.com/slide/DTlNuTkZtUmJ1RUV2"},{"title":"Enhanced Privacy with Decentralized Identity","type":"lecture","mentorId":14,"date":"2019-11-17","time":["14:40","15:20"],"place":"主会场","image":"https://github.com/GoogleChrome.png","slideshow":"https://docs.qq.com/slide/DTkdHVXJScEJZZHFt"},{"title":"从数据可视化看前端未来","type":"lecture","mentorId":16,"date":"2019-11-17","time":["15:40","16:20"],"place":"主会场","slideshow":"https://docs.qq.com/slide/DTkJWVkVQRVhKR1Vi"},{"title":"this in JS","type":"lecture","mentorId":4,"date":"2019-11-17","time":["16:20","17:00"],"place":"主会场","image":"https://github.com/tc39.png","slideshow":"https://johnhax.net/2019/js-this/slide"},{"title":"即影即有 —— 异形投影与着色器语言","type":"workshop","mentorId":17,"date":"2019-11-16","time":["14:00","17:00"],"place":"分会场","image":"https://github.com/Unity-Technologies.png"},{"title":"Serverless 应用开发","type":"workshop","mentorId":20,"date":"2019-11-17","time":["10:20","11:20"],"place":"分会场","image":"https://github.com/serverless.png","slideshow":"https://docs.qq.com/pdf/DTkdTcm5vemZ0dlJG"},{"title":"敏捷 TDD(测试驱动开发)","type":"workshop","mentorId":19,"date":"2019-11-17","time":["14:00","17:00"],"place":"分会场","image":"http://extremeprogramming.cn/images/extreme_programming_white.png","slideshow":"https://jimmylv.gitee.io/slides/tdd-dojo"}],"partners":[{"title":"主办","name":"freeCodeCamp 成都社区","logo":"https://fcc-cd.dev/images/FCC-CDC-v1-1.png"},{"title":"协办","name":"四川捷云信通","logo":"https://tvax3.sinaimg.cn/crop.4.0.237.237.180/00729vHHly8fp6nb4mncdj308a07raa2.jpg?KID=imgbed,tva&Expires=1571330231&ssig=Fs1dNMHnlm"},{"title":"协办","name":"Next 创业空间","logo":"http://user-assets.sxlcdn.com/images/30463/Fn_sgltP1ZZexyG8yyqy11RacFWD.png?imageMogr2/strip/auto-orient/thumbnail/300x300%3E/format/png"},{"title":"钻石赞助","name":"阿里云计算","logo":"https://img.alicdn.com/tfs/TB1Ly5oS3HqK1RjSZFPXXcwapXa-238-54.png"},{"title":"金牌赞助","name":"(虚位以待)"},{"title":"银牌赞助","name":"(虚位以待)"},{"title":"铜牌赞助","name":"亚马逊 AWS","logo":"https://fcc-cd.dev/activity/conference/web-conf-2019-1/AWS.png"},{"title":"合作伙伴","name":"图灵","logo":"http://tp1.sinaimg.cn/1752543513/180/1.jpg"},{"title":"合作伙伴","name":"掘金","logo":"https://b-gold-cdn.xitu.io/v3/static/img/logo.a7995ad.svg"},{"title":"合作伙伴","name":"开源中国","logo":"https://static.oschina.net/new-osc/img/logo_osc_new.svg"},{"title":"合作伙伴","name":"开源工场","logo":"https://openingsource.org/wp-content/uploads/2018/02/test_logo.png"},{"title":"合作伙伴","name":"Linux 中国","logo":"https://img.linux.net.cn/static/image/common/linuxcn_logo_2017.png"},{"title":"合作伙伴","name":"开源社","logo":"https://kaiyuanshe.cn/image/KaiYuanShe-logo.png"},{"title":"合作伙伴","name":"GDG 成都","logo":"https://fcc-cd.dev/partner/gdg-cd/logo.webp"},{"title":"合作伙伴","name":"Copell 高配","logo":"https://www.copell.cn/copellPC/static/footer-logo.98e6f1cc.png"},{"title":"合作伙伴","name":"中生代技术","logo":"http://zhongshengdai.com/wp-content/uploads/2019/06/中生代技术logo竖大图-300x300.png"},{"title":"合作伙伴","name":"回眸刻","logo":"http://sucimg.itc.cn/avatarimg/3313d107e2194ea1a469f4d984fa0050_1510107027722"}]}');var dq=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n};const dG=e=>{var{children:t}=e,n=dq(e,["children"]);return(0,iV.jsxs)("div",Object.assign({},n,{children:[(0,iV.jsx)(lv,{brand:dV.title,variant:"light",menu:dV.menu}),(0,iV.jsx)("main",{className:"container",children:t})]}))},dY=({topics:e,mentors:t})=>(0,iV.jsx)("div",{className:"d-flex flex-wrap justify-content-center",children:[...e].sort((e,t)=>e.time[0].localeCompare(t.time[0])).map(({title:e,image:n,mentorId:r,slideshow:i,time:a})=>{let s=r&&t.find(({id:e})=>e===r);return(0,iV.jsxs)(sN,{className:"X1o3xW_topic",direction:"row",children:[(0,iV.jsx)(sP,{src:n}),(0,iV.jsxs)(sT,{children:[(0,iV.jsx)(sC,{children:e}),s&&(0,iV.jsx)("a",{href:"#"+s.GitHub,children:s.name}),(0,iV.jsxs)("div",{className:"d-flex justify-content-between",children:[(0,iV.jsx)("time",{children:a.join(" ~ ")}),i&&(0,iV.jsx)("a",{target:"_blank",href:i,children:"演示文稿"})]})]})]})})}),dK=({title:e,list:t})=>(0,iV.jsxs)(iV.Fragment,{children:[(0,iV.jsx)("h3",{className:"mt-4 mb-3",children:e}),(0,iV.jsx)("ul",{className:"list-unstyled d-flex flex-wrap justify-content-around align-items-center",children:t.map(({name:e,logo:t})=>(0,iV.jsx)("li",{className:"m-3",children:t?(0,iV.jsx)("img",{className:"img-fluid",style:{maxWidth:"15rem",maxHeight:"10rem"},src:t,alt:e}):e}))})]});var dJ={};dJ=new URL("BuyCode.5f20ce22.png",import.meta.url).toString();const dZ=Object.entries(i$(dW)(i$(dV).topics,({date:e,place:t})=>`${e} ${t}`)).sort((e,t)=>e[1][0].date.localeCompare(t[1][0].date)||t[1][0].place.localeCompare(e[1][0].place)),dQ=Object.entries(i$(dW)(i$(dV).partners,"title")),dX=e=>(0,iV.jsxs)(dG,Object.assign({},e,{children:[(0,iV.jsxs)(sj,{className:"text-center",title:i$(dV).title,description:(0,iV.jsxs)("ul",{className:"list-unstyled my-4",children:[(0,iV.jsx)("li",{children:"2019 年 11 月 16 ~ 17 日"}),(0,iV.jsx)("li",{children:i$(dV).address})]}),children:[(0,iV.jsx)(lc,{endTime:"2019-11-16 09:00:00"}),(0,iV.jsx)(sJ,{variant:"danger",size:"lg",className:"mt-5",href:"http://fcc-chengdu.mikecrm.com/7pG2aOh",children:"即刻报名"})]}),(0,iV.jsx)("h2",{className:"text-center my-4",id:"Topic",children:"大会议程"}),(0,iV.jsx)(lr,{children:dZ.map(([e,t])=>(0,iV.jsx)(ln,{caption:e,children:(0,iV.jsx)(dY,{topics:t,mentors:i$(dV).mentors})}))}),(0,iV.jsx)("hr",{className:"m-5"}),(0,iV.jsx)("h2",{className:"text-center",id:"Mentor",children:"大咖讲师"}),(0,iV.jsx)("p",{className:"lead text-center",children:"(排名不分先后)"}),(0,iV.jsx)("section",{className:"row cols-1 row-cols-sm-2 row-cols-md-4 g-3",children:i$(dV).mentors.map(({name:e,avatar:t,organization:n,title:r,GitHub:i})=>(0,iV.jsx)("div",{className:"col",children:(0,iV.jsxs)(sN,{className:"shadow-sm",id:i,children:[(0,iV.jsx)(sP,{src:t}),(0,iV.jsxs)(sT,{children:[(0,iV.jsx)(sC,{children:e}),n?`${n} - ${r}`:r,(0,iV.jsxs)("a",{className:"stretched-link",target:"_blank",href:"https://github.com/"+i,children:["@",i]})]})]})},e))}),(0,iV.jsx)("hr",{className:"m-5"}),(0,iV.jsx)("h2",{className:"text-center",id:"Contributor",children:"共创伙伴"}),(0,iV.jsx)("section",{className:"text-center",children:dQ.map(([e,t])=>(0,iV.jsx)(dK,{title:e,list:t}))}),(0,iV.jsx)("hr",{className:"m-5"}),(0,iV.jsx)("h2",{className:"text-center",id:"Address",children:"会场交通"}),(0,iV.jsx)("p",{className:"lead text-center mt-4 mb-5",children:i$(dV).address}),(0,iV.jsx)(sm,{aspectRatio:"21x9",children:(0,iV.jsx)("iframe",{loading:"lazy",src:`//uri.amap.com/marker?src=fcc-cdc&callnative=1&position=104.06309,30.538734&name=${i$(dV).title}`})}),(0,iV.jsx)("hr",{className:"m-5"}),(0,iV.jsx)("h2",{className:"text-center",children:"报名通道"}),(0,iV.jsx)("img",{className:"d-block mx-auto my-5",src:i$(dJ),style:{width:"20rem"}})]}));var iX=iB("dDNcL"),d0={},d1=d0={};function d2(){throw Error("setTimeout has not been defined")}function d3(){throw Error("clearTimeout has not been defined")}function d5(e){if(iD===setTimeout)return setTimeout(e,0);if((iD===d2||!iD)&&setTimeout)return iD=setTimeout,setTimeout(e,0);try{return iD(e,0)}catch(t){try{return iD.call(null,e,0)}catch(t){return iD.call(this,e,0)}}}!function(){try{iD="function"==typeof setTimeout?setTimeout:d2}catch(e){iD=d2}try{iM="function"==typeof clearTimeout?clearTimeout:d3}catch(e){iM=d3}}();var d9=[],d4=!1,d6=-1;function d7(){d4&&iU&&(d4=!1,iU.length?d9=iU.concat(d9):d6=-1,d9.length&&d8())}function d8(){if(!d4){var e=d5(d7);d4=!0;for(var t=d9.length;t;){for(iU=d9,d9=[];++d61)for(var n=1;n{let e=0,t=()=>`0000${(1679616*Math.random()<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function hr(e){let t=[];for(let n=0,r=e.length;n{let r=new Image;r.decode=()=>t(r),r.onload=()=>t(r),r.onerror=n,r.crossOrigin="anonymous",r.decoding="async",r.src=e})}async function ho(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(e=>`data:image/svg+xml;charset=utf-8,${e}`)}async function hl(e,t,n){let r="http://www.w3.org/2000/svg",i=document.createElementNS(r,"svg"),a=document.createElementNS(r,"foreignObject");return i.setAttribute("width",`${t}`),i.setAttribute("height",`${n}`),i.setAttribute("viewBox",`0 0 ${t} ${n}`),a.setAttribute("width","100%"),a.setAttribute("height","100%"),a.setAttribute("x","0"),a.setAttribute("y","0"),a.setAttribute("externalResourcesRequired","true"),i.appendChild(a),a.appendChild(e),ho(i)}const hc=(e,t)=>{if(e instanceof t)return!0;let n=Object.getPrototypeOf(e);return null!==n&&(n.constructor.name===t.name||hc(n,t))};function hu(e,t,n){let r=window.getComputedStyle(e,n),i=r.getPropertyValue("content");if(""===i||"none"===i)return;let a=hn();try{t.className=`${t.className} ${a}`}catch(e){return}let s=document.createElement("style");s.appendChild(function(e,t,n){let r=`.${e}:${t}`,i=n.cssText?function(e){let t=e.getPropertyValue("content");return`${e.cssText} content: '${t.replace(/'|"/g,"")}';`}(n):hr(n).map(e=>{let t=n.getPropertyValue(e),r=n.getPropertyPriority(e);return`${e}: ${t}${r?" !important":""};`}).join(" ");return document.createTextNode(`${r}{${i}}`)}(a,n,r)),t.appendChild(s)}const hd="application/font-woff",hh="image/jpeg",hf={woff:hd,woff2:hd,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:hh,jpeg:hh,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function hp(e){return hf[(function(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:""})(e).toLowerCase()]||""}function hm(e){return -1!==e.search(/^(data:)/)}function hg(e,t){return`data:${t};base64,${e}`}async function hv(e,t,n){let r=await fetch(e,t);if(404===r.status)throw Error(`Resource "${r.url}" not found`);let i=await r.blob();return new Promise((e,t)=>{let a=new FileReader;a.onerror=t,a.onloadend=()=>{try{e(n({res:r,result:a.result}))}catch(e){t(e)}},a.readAsDataURL(i)})}const hb={};async function hy(e,t,n){var r,i,a;let s,o;let l=(r=e,i=t,a=n.includeQueryParams,o=r.replace(/\?.*/,""),a&&(o=r),/ttf|otf|eot|woff2?/i.test(o)&&(o=o.replace(/.*\//,"")),i?`[${i}]${o}`:o);if(null!=hb[l])return hb[l];n.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());try{let r=await hv(e,n.fetchRequestInit,({res:e,result:n})=>(t||(t=e.headers.get("Content-Type")||""),n.split(/,/)[1]));s=hg(r,t)}catch(r){s=n.imagePlaceholder||"";let t=`Failed to fetch resource: ${e}`;r&&(t="string"==typeof r?r:r.message),t&&console.warn(t)}return hb[l]=s,s}async function hw(e){let t=e.toDataURL();return"data:,"===t?e.cloneNode(!1):hs(t)}async function hx(e,t){if(e.currentSrc){let t=document.createElement("canvas"),n=t.getContext("2d");return t.width=e.clientWidth,t.height=e.clientHeight,null==n||n.drawImage(e,0,0,t.width,t.height),hs(t.toDataURL())}let n=e.poster,r=hp(n);return hs(await hy(n,r,t))}async function h_(e){var t;try{if(null===(t=null==e?void 0:e.contentDocument)||void 0===t?void 0:t.body)return await hE(e.contentDocument.body,{},!0)}catch(e){}return e.cloneNode(!1)}async function hj(e,t){return hc(e,HTMLCanvasElement)?hw(e):hc(e,HTMLVideoElement)?hx(e,t):hc(e,HTMLIFrameElement)?h_(e):e.cloneNode(!1)}const hk=e=>null!=e.tagName&&"SLOT"===e.tagName.toUpperCase();async function hO(e,t,n){var r,i;let a=[];return 0===(a=hk(e)&&e.assignedNodes?hr(e.assignedNodes()):hc(e,HTMLIFrameElement)&&(null===(r=e.contentDocument)||void 0===r?void 0:r.body)?hr(e.contentDocument.body.childNodes):hr((null!==(i=e.shadowRoot)&&void 0!==i?i:e).childNodes)).length||hc(e,HTMLVideoElement)||await a.reduce((e,r)=>e.then(()=>hE(r,n)).then(e=>{e&&t.appendChild(e)}),Promise.resolve()),t}async function hS(e,t){let n=e.querySelectorAll?e.querySelectorAll("use"):[];if(0===n.length)return e;let r={};for(let i=0;ihj(e,t)).then(n=>hO(e,n,t)).then(t=>{var n,r;return n=e,hc(r=t,Element)&&(!function(e,t){let n=t.style;if(!n)return;let r=window.getComputedStyle(e);r.cssText?(n.cssText=r.cssText,n.transformOrigin=r.transformOrigin):hr(r).forEach(i=>{let a=r.getPropertyValue(i);if("font-size"===i&&a.endsWith("px")){let e=Math.floor(parseFloat(a.substring(0,a.length-2)))-.1;a=`${e}px`}hc(e,HTMLIFrameElement)&&"display"===i&&"inline"===a&&(a="block"),"d"===i&&t.getAttribute("d")&&(a=`path(${t.getAttribute("d")})`),n.setProperty(i,a,r.getPropertyPriority(i))})}(n,r),hu(n,r,":before"),hu(n,r,":after"),hc(n,HTMLTextAreaElement)&&(r.innerHTML=n.value),hc(n,HTMLInputElement)&&r.setAttribute("value",n.value),function(e,t){if(hc(e,HTMLSelectElement)){let n=Array.from(t.children).find(t=>e.value===t.getAttribute("value"));n&&n.setAttribute("selected","")}}(n,r)),r}).then(e=>hS(e,t)):null}const hN=/url\((['"]?)([^'"]+?)\1\)/g,hR=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,hT=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;async function hA(e,t,n,r,i){try{let a;let s=n?function(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let n=document.implementation.createHTMLDocument(),r=n.createElement("base"),i=n.createElement("a");return n.head.appendChild(r),n.body.appendChild(i),t&&(r.href=t),i.href=e,i.href}(t,n):t,o=hp(t);if(i){let e=await i(s);a=hg(e,o)}else a=await hy(s,o,r);return e.replace(function(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,"g")}(t),`$1${a}$3`)}catch(e){}return e}function hC(e){return -1!==e.search(hN)}async function hP(e,t,n){if(!hC(e))return e;let r=function(e,{preferredFontFormat:t}){return t?e.replace(hT,e=>{for(;;){let[n,,r]=hR.exec(e)||[];if(!r)return"";if(r===t)return`src: ${n};`}}):e}(e,n);return(function(e){let t=[];return e.replace(hN,(e,n,r)=>(t.push(r),e)),t.filter(e=>!hm(e))})(r).reduce((e,r)=>e.then(e=>hA(e,r,t,n)),Promise.resolve(r))}async function hL(e,t,n){var r;let i=null===(r=t.style)||void 0===r?void 0:r.getPropertyValue(e);if(i){let r=await hP(i,null,n);return t.style.setProperty(e,r,t.style.getPropertyPriority(e)),!0}return!1}async function hH(e,t){await hL("background",e,t)||await hL("background-image",e,t),await hL("mask",e,t)||await hL("mask-image",e,t)}async function hD(e,t){let n=hc(e,HTMLImageElement);if(!(n&&!hm(e.src))&&!(hc(e,SVGImageElement)&&!hm(e.href.baseVal)))return;let r=n?e.src:e.href.baseVal,i=await hy(r,hp(r),t);await new Promise((t,r)=>{e.onload=t,e.onerror=r,e.decode&&(e.decode=t),"lazy"===e.loading&&(e.loading="eager"),n?(e.srcset="",e.src=i):e.href.baseVal=i})}async function hM(e,t){let n=hr(e.childNodes).map(e=>hU(e,t));await Promise.all(n).then(()=>e)}async function hU(e,t){hc(e,Element)&&(await hH(e,t),await hD(e,t),await hM(e,t))}const hI={};async function h$(e){let t=hI[e];if(null!=t)return t;let n=await fetch(e);return t={url:e,cssText:await n.text()},hI[e]=t,t}async function hF(e,t){let n=e.cssText,r=/url\(["']?([^"')]+)["']?\)/g;return Promise.all((n.match(/url\([^)]+\)/g)||[]).map(async i=>{let a=i.replace(r,"$1");return a.startsWith("https://")||(a=new URL(a,e.url).href),hv(a,t.fetchRequestInit,({result:e})=>(n=n.replace(i,`url(${e})`),[i,e]))})).then(()=>n)}function hz(e){if(null==e)return[];let t=[],n=e.replace(/(\/\*[\s\S]*?\*\/)/gi,""),r=RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){let e=r.exec(n);if(null===e)break;t.push(e[0])}n=n.replace(r,"");let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a=RegExp("((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})","gi");for(;;){let e=i.exec(n);if(null===e){if(null===(e=a.exec(n)))break;i.lastIndex=a.lastIndex}else a.lastIndex=i.lastIndex;t.push(e[0])}return t}async function hB(e,t){let n=[],r=[];return e.forEach(n=>{if("cssRules"in n)try{hr(n.cssRules||[]).forEach((e,i)=>{if(e.type===CSSRule.IMPORT_RULE){let a=i+1,s=e.href,o=h$(s).then(e=>hF(e,t)).then(e=>hz(e).forEach(e=>{try{n.insertRule(e,e.startsWith("@import")?a+=1:n.cssRules.length)}catch(t){console.error("Error inserting rule from remote css",{rule:e,error:t})}})).catch(e=>{console.error("Error loading remote css",e.toString())});r.push(o)}})}catch(a){let i=e.find(e=>null==e.href)||document.styleSheets[0];null!=n.href&&r.push(h$(n.href).then(e=>hF(e,t)).then(e=>hz(e).forEach(e=>{i.insertRule(e,n.cssRules.length)})).catch(e=>{console.error("Error loading remote stylesheet",e)})),console.error("Error inlining remote css file",a)}}),Promise.all(r).then(()=>(e.forEach(e=>{if("cssRules"in e)try{hr(e.cssRules||[]).forEach(e=>{n.push(e)})}catch(t){console.error(`Error while reading CSS rules from ${e.href}`,t)}}),n))}async function hW(e,t){if(null==e.ownerDocument)throw Error("Provided element is not within a Document");let n=hr(e.ownerDocument.styleSheets);return(await hB(n,t)).filter(e=>e.type===CSSRule.FONT_FACE_RULE).filter(e=>hC(e.style.getPropertyValue("src")))}async function hV(e,t){let n=await hW(e,t);return(await Promise.all(n.map(e=>{let n=e.parentStyleSheet?e.parentStyleSheet.href:null;return hP(e.cssText,n,t)}))).join("\n")}async function hq(e,t){let n=null!=t.fontEmbedCSS?t.fontEmbedCSS:t.skipFonts?null:await hV(e,t);if(n){let t=document.createElement("style"),r=document.createTextNode(n);t.appendChild(r),e.firstChild?e.insertBefore(t,e.firstChild):e.appendChild(t)}}async function hG(e,t={}){let{width:n,height:r}=ha(e,t),i=await hE(e,t,!0);return await hq(i,t),await hU(i,t),!function(e,t){let{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);let r=t.style;null!=r&&Object.keys(r).forEach(e=>{n[e]=r[e]})}(i,t),await hl(i,n,r)}async function hY(e,t={}){let{width:n,height:r}=ha(e,t),i=await hG(e,t),a=await hs(i),s=document.createElement("canvas"),o=s.getContext("2d"),l=t.pixelRatio||function(){let e,t;try{t=d0}catch(e){}let n=t&&t.env?t.env.devicePixelRatio:null;return n&&Number.isNaN(e=parseInt(n,10))&&(e=1),e||window.devicePixelRatio||1}(),c=t.canvasWidth||n,u=t.canvasHeight||r;return s.width=c*l,s.height=u*l,!t.skipAutoScale&&(s.width>16384||s.height>16384)&&(s.width>16384&&s.height>16384?s.width>s.height?(s.height*=16384/s.width,s.width=16384):(s.width*=16384/s.height,s.height=16384):s.width>16384?(s.height*=16384/s.width,s.width=16384):(s.width*=16384/s.height,s.height=16384)),s.style.width=`${c}`,s.style.height=`${u}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,s.width,s.height)),o.drawImage(a,0,0,s.width,s.height),s}async function hK(e,t={}){return(await hY(e,t)).toDataURL()}var hJ=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},hZ=function(e,t,n){for(var r=arguments.length>2,i=0;i{var e,t,n,r;return e=this,t=void 0,n=void 0,r=function*(){if(this.imageURI)return;let e=this.querySelector("main");e&&(this.imageURI=yield hK(e))},new(n||(n=Promise))(function(i,a){function s(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,o)}l((r=r.apply(e,t||[])).next())})}})}get imageURI(){return hQ(this,im,"f")}set imageURI(e){hX(this,im,e,"f")}renderCard(){let{username:e,gender:t}=c$.user;return(0,iV.jsxs)("main",{className:"vw-100 vh-100 text-white d-flex flex-column CqZazW_box",children:[(0,iV.jsx)("img",{className:"img-fluid",src:i$(l3)}),(0,iV.jsxs)("div",{className:"flex-grow-1 d-flex flex-column align-items-center justify-content-around text-center",children:[(0,iV.jsxs)("header",{children:[(0,iV.jsx)("h3",{children:"诚挚邀请"}),(0,iV.jsxs)("h2",{children:[e[0],"女"===t?"女士":"先生"]}),(0,iV.jsxs)("p",{className:"lead mt-3",children:["于 11 月 16 ~ 17 日",(0,iV.jsx)("br",{}),"莅临",(0,iV.jsx)("b",{children:"菁蓉国际广场"}),"参会"]})]}),(0,iV.jsxs)("section",{className:"w-50 px-3 pt-3 bg-white",children:[(0,iV.jsx)("img",{className:"img-fluid",src:i$(dJ)}),(0,iV.jsx)("div",{className:"lead text-dark",children:"和我一起去"})]})]})]})}render(){let{imageURI:e}=this;return(0,iV.jsxs)(cq,{className:"position-relative",onClick:this.showImage,children:[c$.user&&this.renderCard(),(0,iV.jsx)("img",{className:"position-absolute vw-100 vh-100 CqZazW_cover",hidden:!e,src:e})]})}},im=new WeakMap,ig=nE,"symbol"==typeof(iv="InvitationCard")&&(iv=iv.description?"[".concat(iv.description,"]"):""),Object.defineProperty(ig,"name",{configurable:!0,value:ib?"".concat(ib," ",iv):iv}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=nA[Symbol.metadata])&&void 0!==e?e:null):void 0;nN=[iX.observable],hJ(nE,null,nN,{kind:"accessor",name:"imageURI",static:!1,private:!1,access:{has:e=>"imageURI"in e,get:e=>e.imageURI,set:(e,t)=>{e.imageURI=t}},metadata:t},nP,nC),hJ(null,nS={value:nE},nR,{kind:"class",name:nE.name,metadata:t},null,nT),nE=nS.value,t&&Object.defineProperty(nE,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),hZ(nE,nT)})(),nE);var iG=iB("1MFjU"),iX=iB("dDNcL"),h1=function(e,t,n,r,i,a){function s(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),h=!1,f=n.length-1;f>=0;f--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(h)throw TypeError("Cannot add initializers after decoration has completed");a.push(s(e||null))};var g=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],p);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw TypeError("Object expected");(o=s(g.get))&&(d.get=o),(o=s(g.set))&&(d.set=o),(o=s(g.init))&&i.unshift(o)}else(o=s(g))&&("field"===l?i.unshift(o):d[c]=o)}u&&Object.defineProperty(u,r.name,d),h=!0},h2=function(e,t,n){for(var r=arguments.length>2,i=0;i(0,iV.jsxs)("tr",{children:[(0,iV.jsx)("td",{children:++s}),(0,iV.jsx)("td",{children:e}),(0,iV.jsx)("td",{className:"text-right",children:t}),(0,iV.jsx)("td",{className:"text-right",children:n}),(0,iV.jsx)("td",{children:r&&(0,iV.jsxs)("a",{target:"_blank",href:"https://github.com/"+r,children:["@",r]})}),(0,iV.jsx)("td",{children:i}),(0,iV.jsx)("td",{children:a})]},e)})}get list(){return h3(this,iy,"f")}set list(e){h5(this,iy,e,"f")}get expenditure(){return this.list.reduce((e,{price:t,count:n,date:r})=>t<0&&r?e+t*n:e,0)}get revenue(){return this.list.reduce((e,{price:t,count:n,date:r})=>t>0&&r?e+t*n:e,0)}mountedCallback(){var e,t,n,r;return e=this,t=void 0,n=void 0,r=function*(){let e=yield(yield fetch(new URL(h9))).text();this.list=(0,iG.parseTextTable)(e,!0)},new(n||(n=Promise))(function(i,a){function s(e){try{l(r.next(e))}catch(e){a(e)}}function o(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(s,o)}l((r=r.apply(e,t||[])).next())})}render(){let{list:e,expenditure:t,revenue:n}=this;return(0,iV.jsxs)(dG,{children:[(0,iV.jsx)("h2",{className:"py-5 text-center",children:"收支账目"}),(0,iV.jsxs)(sy,{striped:!0,hover:!0,children:[(0,iV.jsx)("thead",{children:(0,iV.jsxs)("tr",{children:[(0,iV.jsx)("th",{children:"#"}),(0,iV.jsx)("th",{children:"事项"}),(0,iV.jsx)("th",{children:"单价(人民币¥)"}),(0,iV.jsx)("th",{children:"数量"}),(0,iV.jsx)("th",{children:"经办"}),(0,iV.jsx)("th",{children:"日期"}),(0,iV.jsx)("th",{children:"备注"})]})}),(0,iV.jsx)("tbody",{children:e.map(this.renderRow)}),(0,iV.jsx)("tfoot",{children:(0,iV.jsxs)("tr",{children:[(0,iV.jsx)("th",{children:"总支出(人民币¥)"}),(0,iV.jsx)("td",{children:t.toFixed(2)}),(0,iV.jsx)("th",{children:"总收入(人民币¥)"}),(0,iV.jsx)("td",{children:n.toFixed(2)}),(0,iV.jsx)("th",{children:"总结余(人民币¥)"}),(0,iV.jsx)("td",{children:(n+t).toFixed(2)})]})})]})]})}},iy=new WeakMap,iw=nH,"symbol"==typeof(ix="AccountPage")&&(ix=ix.description?"[".concat(ix.description,"]"):""),Object.defineProperty(iw,"name",{configurable:!0,value:i_?"".concat(i_," ",ix):ix}),(()=>{var e;let t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=nF[Symbol.metadata])&&void 0!==e?e:null):void 0;nD=[iX.observable],nM=[iX.computed],nU=[iX.computed],h1(nH,null,nD,{kind:"accessor",name:"list",static:!1,private:!1,access:{has:e=>"list"in e,get:e=>e.list,set:(e,t)=>{e.list=t}},metadata:t},nB,nz),h1(nH,null,nM,{kind:"getter",name:"expenditure",static:!1,private:!1,access:{has:e=>"expenditure"in e,get:e=>e.expenditure},metadata:t},null,nz),h1(nH,null,nU,{kind:"getter",name:"revenue",static:!1,private:!1,access:{has:e=>"revenue"in e,get:e=>e.revenue},metadata:t},null,nz),h1(null,nL={value:nH},nI,{kind:"class",name:nH.name,metadata:t},null,n$),nH=nL.value,t&&Object.defineProperty(nH,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t}),h2(nH,n$)})(),nH);const{Route:h6}=sd(),h7=()=>(0,iV.jsxs)("div",{className:"d-flex flex-column",style:{height:"300vh"},children:[(0,iV.jsxs)("div",{className:"flex-fill overflow-auto scrollbar-none",children:[(0,iV.jsx)(h6,{path:"",component:ct}),(0,iV.jsx)(h6,{path:"community",component:cG}),(0,iV.jsx)(h6,{path:"2017/",component:uf}),(0,iV.jsx)(h6,{path:"2018/Code4City/",component:dB}),(0,iV.jsx)(h6,{path:"2018/",component:de}),(0,iV.jsx)(h6,{path:"2019/",component:dX}),(0,iV.jsx)(h6,{path:"2019/invitation/",component:h0}),(0,iV.jsx)(h6,{path:"2019/accounts/",component:h4}),(0,iV.jsx)(h6,{path:"activity",component:cQ})]}),(0,iV.jsxs)("footer",{className:"text-muted bg-light overflow-hidden mt-4",children:[(0,iV.jsxs)("section",{className:"container d-md-flex justify-content-between my-4",children:[(0,iV.jsxs)("div",{children:[(0,iV.jsx)("h4",{children:"关于我们"}),(0,iV.jsx)("p",{className:"text-muted",children:"非营利组织 freeCodeCamp.org 自 2014 年成立以来,以“帮助人们免费学习编程”为使命,创建了大量免费的编程教程,包括交互式课程、视频课程、文章等。线下开发者社区遍布 160 多个国家、2000 多个城市。我们正在帮助全球数百万人学习编程,希望让世界上每个人都有机会获得免费的优质的编程教育资源,成为开发者或者运用编程去解决问题。"}),(0,iV.jsxs)("p",{className:"text-muted",children:[(0,iV.jsx)("a",{target:"_blank",href:"https://fcc-cd.dev/",children:"freeCodeCamp 成都社区"}),"成立于 2016 年,是中国大陆最早一批 FCC 城市线下社区,目前会员千余人,也是最大的 FCC 城市社区。在核心团队 20 余人两年的努力下,FCC 成都已覆盖 编程教育、技术招聘、行业大会等程序员全职业生涯的公益服务。"]})]}),(0,iV.jsxs)("div",{children:[(0,iV.jsx)("h4",{children:"联系我们"}),(0,iV.jsxs)("ul",{className:"list-unstyled",children:[(0,iV.jsx)("li",{children:(0,iV.jsx)("a",{href:"https://www.weibo.com/u/6165665516",children:"新浪微博"})}),(0,iV.jsx)("li",{children:(0,iV.jsx)("a",{href:"https://github.com/FreeCodeCamp-Chengdu",children:"GitHub"})}),(0,iV.jsx)("li",{children:(0,iV.jsx)("img",{className:"img-thumbnail w-75",src:i$(sh),title:"微信公众号"})})]})]})]}),(0,iV.jsxs)("section",{className:"container d-flex flex-column flex-md-row align-items-center justify-content-around my-4",children:[(0,iV.jsxs)("span",{children:["自豪地使用",(0,iV.jsx)("a",{className:"px-1",href:"https://github.com/EasyWebApp/WebCell/tree/v2",children:"WebCell v3"}),"&",(0,iV.jsx)("a",{className:"px-1",href:"https://web-cell.dev/BootCell",children:"BootCell v2"}),"开发"]}),(0,iV.jsx)("a",{href:"#top",children:"返回页顶"})]})]})]});"undefined"==typeof PromiseRejectionEvent&&(Promise=iZ),(0,iX.configure)({enforceActions:"never"}),self.addEventListener("unhandledrejection",e=>{let{message:t}=e.reason;t&&(e.preventDefault(),self.alert(t))});const{serviceWorker:h8}=window.navigator;null==h8||h8.register("sw.js").then(iG.serviceWorkerUpdate).then(e=>{window.confirm("检测到新版本,是否立即启用?")&&e.postMessage({type:"SKIP_WAITING"})}),null==h8||h8.addEventListener("controllerchange",()=>window.location.reload()),(0,iG.documentReady).then(()=>new(0,iQ.DOMRenderer)().render((0,iV.jsx)(h7,{}))); +//# sourceMappingURL=index.dc96cc69.js.map diff --git a/index.dc96cc69.js.map b/index.dc96cc69.js.map new file mode 100644 index 0000000..5f00a50 --- /dev/null +++ b/index.dc96cc69.js.map @@ -0,0 +1 @@ +{"mappings":"I,E,E,E,EgGoBC,E,EAI8B,E,E,E,E,E,E,E,E,ECP9B,E,EAGW,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,EZKX,E,EAE8B,E,E,E,E,E,E,E,E+BK9B,E,EAK+B,E,E,E,E,E,E,E,E,G,G,G,GCgB/B,G,GAKmC,G,G,G,G,G,G,G,G,G,G,G,G,G,G,GEJnC,G,GAK8B,G,G,G,G,G,G,G,G,G,G,G,G,G,GCR9B,G,GAK6B,G,G,G,G,G,G,GCX7B,G,GAIwB,G,G,G,G,G,G,G,G,G,G,G,G,GCmCxB,G,GAKoC,G,G,G,G,G,G,G,G,G,G,G,G,G,GEtEpC,G,GACwB,G,G,G,G,G,G,GAWxB,G,GAKyB,G,G,G,G,G,G,G,G,G,GCXzB,G,GAE8B,G,G,G,G,G,G,G,G,G,G,G,G,GCM9B,G,GAGW,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G4C5BX,G,GAK+B,G,G,G,G,G,G,GgBM/B,G,GAEiC,G,G,G,G,G,GmIVjC,G,GAEmC,G,G,G,G,G,G,G,GuBDnC,G,GAEgC,G,G,G,S,G,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G7OZrB,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G2EkIP,GDhIO,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G,G1EFA,G+BFZ,G,G,GuDKA,GoCKA,GAOA,G6CbA,GAEA,GASA,GAKA,GwDZI,GACA,GAkFA,G,G,W,S,G,C,E,O,G,E,U,C,E,O,C,C,C,I,G,C,E,G,C,E,G,G,iB,A,O,K,A,C,G,S,C,E,G,K,G,O,E,C,E,C,O,C,G,K,G,C,I,E,E,C,E,A,Q,E,C,E,C,I,E,C,G,E,Q,C,C,E,O,E,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,E,C,E,C,C,E,G,iB,C,I,I,G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,EAAA,EAAI,IAAI,EAAE,EAAG,IAAI,CAAC,EAAE,KAAK,CAC7E,CACA,MAAO,EAAO,CAAE,EAAI,CAAE,MAAO,CAAM,CAAG,QAC9B,CACJ,GAAI,CACI,GAAK,CAAC,EAAE,IAAI,EAAK,CAAA,EAAI,EAAE,MAAS,AAAT,GAAY,EAAE,IAAI,CAAC,EAClD,QACQ,CAAE,GAAI,EAAG,MAAM,EAAE,KAAK,AAAE,CACpC,CACA,OAAO,CACX,CAkBO,SAAS,EAAc,CAAE,CAAE,CAAI,CAAE,CAAI,EACxC,GAAI,GAAQ,AAAqB,GAArB,UAAU,MAAM,CAAQ,IAAK,IAA4B,EAAxB,EAAI,EAAG,EAAI,EAAK,MAAM,CAAM,EAAI,EAAG,KACxE,GAAQ,KAAK,IACR,GAAI,CAAA,EAAK,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAG,EAAlD,EACA,CAAE,CAAC,EAAE,CAAG,CAAI,CAAC,EAAE,EAGvB,OAAO,EAAG,MAAM,CAAC,GAAM,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GACtD,CA8FuB,AAA2B,YAA3B,OAAO,iBAAiC,e,G,G,Q,S,C,C,C,E,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,G,E,O,C,U,I,G,G,E,O,C,e,I,G,G,E,O,C,c,I,G,G,E,O,C,W,I,G,G,E,O,C,a,I,G,G,E,O,C,W,I,G,G,E,O,C,U,I,G,G,E,O,C,Y,I,G,G,E,O,C,e,I,G,G,E,O,C,a,I,G,G,E,O,C,M,I,G,G,E,O,C,a,I,G,G,E,O,C,c,I,G,G,E,O,C,Y,I,G,G,E,O,C,iB,I,G,G,E,O,C,Y,I,G,G,E,O,C,e,I,I,G,E,O,C,e,I,I,G,E,O,C,a,I,I,G,E,O,C,gB,I,I,G,E,O,C,qB,I,I,G,E,O,C,Y,I,I,G,E,O,C,gB,I,I,G,E,O,C,e,I,I,G,E,O,C,iB,I,I,G,E,O,C,Y,I,I,G,E,O,C,W,I,I,G,E,O,C,a,I,I,G,E,O,C,Q,I,I,G,E,O,C,W,I,I,G,E,O,C,gB,I,I,G,E,O,C,sB,I,I,IGjPnD,EAAL,E,E,C,EA5DA,SAAS,EAAS,CAAW,EAChC,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AAG,EAAA,OAAI1tB,OAAOsuB,mBAAmB,CAACZ,GAAK3mB,MAAM,CAAC/G,OAAOmQ,qBAAqB,CAACud,GAAY,EAC5D1tB,OAAOsuB,mBAAmB,CAY/D,SAAgBC,EAAYnoB,CAAU,EAClC,OAAOA,AAAU,OAAVA,EAAiB,KAAO,AAAiB,UAAjB,OAAOA,EAAqB,GAAKA,EAAQA,CAC5E,CAEA,SAAgBooB,EAAQ/P,CAAc,CAAEgQ,CAAiB,EACrD,OAAOlC,EAAgBrc,cAAc,CAACpK,IAAI,CAAC2Y,EAAQgQ,EACvD,CAGO,IAAMC,EACT1uB,OAAO0uB,yBAAyB,EAChC,SAAmCjQ,CAAW,EAE1C,IAAMkQ,EAAW,CAAA,EAKjB,OAHAN,EAAQ5P,GAAQ1R,OAAO,CAAC,SAAAxE,CAAG,EACvBomB,CAAG,CAACpmB,EAAI,CAAG+jB,EAAc7N,EAAQlW,EACpC,GACMomB,CACX,E,S,E,C,C,C,E,I,I,E,E,E,E,M,C,I,C,I,E,C,C,E,A,C,E,U,C,E,U,E,C,E,E,Y,C,C,E,U,G,C,E,Q,C,C,C,E,O,c,C,E,A,S,C,E,I,E,A,S,C,C,C,E,G,A,U,O,G,A,O,E,O,E,I,E,C,C,O,W,C,C,G,A,K,I,E,C,I,E,E,I,C,E,G,W,G,A,U,O,E,O,C,O,A,U,+C,C,M,A,C,A,W,E,O,M,E,E,E,E,U,M,A,U,O,E,E,O,E,E,E,G,E,E,C,C,S,E,C,C,C,C,C,E,O,G,E,E,S,C,G,G,E,E,G,O,c,C,E,Y,C,S,C,C,G,C,C,S,I,M,A,C,E,O,M,C,O,M,C,I,G,S,C,E,I,I,E,E,E,U,M,C,I,C,I,E,S,C,E,C,I,I,K,E,O,S,C,c,C,I,C,E,I,C,C,C,E,C,C,C,E,A,C,C,O,C,C,E,K,C,I,C,U,C,S,E,C,C,C,E,E,S,C,O,M,C,E,S,E,E,S,C,W,C,E,E,E,E,C,S,E,C,C,C,E,M,A,C,E,O,c,C,O,c,C,I,G,S,C,C,C,E,O,E,S,C,E,C,C,E,E,E,C,S,E,C,E,G,A,K,I,E,M,A,e,6D,O,C,C,S,E,C,C,C,E,C,A,M,G,E,E,M,A,G,C,E,E,M,A,E,I,I,E,E,E,A,M,G,E,E,I,C,C,E,C,C,C,E,C,O,C,C,S,G,C,C,C,E,I,E,A,a,O,Q,C,C,O,Q,C,E,C,C,a,C,G,E,M,A,C,E,E,I,C,E,E,I,C,I,C,G,G,M,O,C,I,C,E,A,S,C,C,C,E,G,G,G,A,U,O,E,O,E,E,G,I,E,O,S,C,Q,C,I,C,G,K,C,E,I,G,W,G,E,W,E,C,E,E,W,C,I,A,E,A,Q,G,A,Q,E,O,M,I,C,G,G,A,c,G,2C,I,C,G,O,E,E,G,E,E,G,G,G,A,U,O,E,M,C,C,G,C,E,C,E,I,E,E,O,kB,A,G,E,M,C,C,K,C,C,E,C,K,C,E,M,C,C,I,A,C,C,C,M,A,U,wI,CC1MG,IAAMkC,GAA0B9f,OAAO,2BAO9C,SAAgB+f,GACZC,CAAsB,EAStB,OAAO/wB,OAAOwG,MAAM,CAPpB,SAAmBiY,CAAM,CAAEuS,CAAQ,EAC/B,GAAIC,GAAiBD,GACjB,OAAOD,EAAWG,eAAe,CAACzS,EAAQuS,GAE1CG,GAAgB1S,EAAQuS,EAAUD,E,EAGVA,EACpC,CAMA,SAAgBI,GAAgBhnB,CAAc,CAAE5B,CAAgB,CAAEwoB,CAAsB,EAC/EvC,EAAQrkB,EAAW0mB,KACpBjD,EAAczjB,EAAW0mB,GAAuBrB,EAAA,CAAA,EAEzCrlB,CAAS,CAAC0mB,GAAwB,GIrBhC,aAWNE,AJyBSA,EIzBEK,eAAe,EJ0B7BjnB,CAAAA,CAAS,CAAC0mB,GAAwB,CAACtoB,EAAI,CAAGwoB,CAD9C,CAGJ,CAgCA,SAAgBE,GAAiBI,CAAO,EACpC,MAAO,AAAkB,UAAlB,OAAOA,GAAuB,AAA0B,UAA1B,OAAOA,EAAQ,IAAO,AAC/D,CCpEaC,IAAAA,GAAQvgB,OAAO,uBAOfwgB,GAAb,WAYI,SAAAA,EAAmBC,CAAnB,EAAmBA,KAAAA,IAAAA,GAAAA,CAAAA,EAA0C,MAA1CA,EAAgD,IAAA,CAAhDA,KAAgD,CAAA,KAAA,EAXnEC,IAAAA,CAAAA,uBAAuB,CAAG,CAAA,EAAK,IAAA,CAC/BC,gBAAgB,CAAG,CAAA,EAAK,IAAA,CACxBC,UAAU,CAAG,IAAIvb,IAAkB,IAAA,CAEnCwb,UAAU,CAAG,EAAC,IAAA,CACdC,eAAe,CAAG,EAAC,IAAA,CACnBC,oBAAoB,C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,CAGrB,IAAK,GAAM,CAAA,KAAE,CAAI,CAAA,QAAE,CAAO,CAAE,GAFf,GAAS,GAAG,CAAC,IAAI,GAAK,EAAE,CAGjC,EAAK,mBAAmB,CAAC,EAAM,EAEnC,AAA6B,QAA7B,CAAA,EAAA,KAAK,CAAC,oBAAA,GAAuB,AAAA,KAAA,IAAA,GAAA,EAAA,IAAA,CAAA,IAAA,CACjC,CAEA,KACI,CAAa,CACb,CAAY,CACZ,CAAA,WAAE,CAAU,CAAA,QAAE,CAAO,CAAA,SAAE,CAAQ,CAAA,CAAgB,CAAA,CAAE,CAHrD,CAKI,OAAO,IAAI,CAAC,aAAa,CACrB,IAAI,YAAY,EAAO,CACnB,OAAA,EACA,WAAA,EACA,QAAA,EACA,SAAA,CACH,GAET,CAEA,UAAA,CACI,MAAO,AAAA,CAAA,EAAA,GAAA,YAAA,AAAA,EAAa,IAAI,CAAC,IAAI,CACjC,CACH,EAOT,CAKM,SAAU,GACZ,CAA4B,CAC5B,CAAgB,EAEhB,MAAO,CACH,EACA,CAAA,eAAE,CAAc,CAAkC,GAElD,EAAe,WACX,IAAM,EAAS,GAAS,GAAG,CAAC,IAAI,GAAK,EAAE,CACnC,EAAU,AAAA,CAAA,EAAA,GAAA,QAAA,AAAA,EAAS,EAAU,EAAO,IAAI,CAAC,IAAI,GAEjD,EAAO,IAAI,CAAC,CAAE,KAAA,EAAM,SAAA,EAAU,QAAA,CAAO,GAErC,GAAS,GAAG,CAAC,IAAI,CAAE,EACvB,EACR,C,G,C,E,Y,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EClKM,SAAU,GACZ,CAAQ,CACR,CAAwB,M,E,E,E,E,E,M,E,E,E,E,E,EAGX,E,E,E,E,E,E,EAkEb,OAlEa,EAAA,E,E,E,C,E,E,C,E,E,C,E,E,C,E,E,C,E,E,CADP,EAAA,cACM,E,a,C,K,I,WAoBC,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,GAGA,EAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAAA,KAAA,IAIA,EAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAAA,KAAA,IAIA,EAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAAA,KAAA,IAIA,EAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAAA,KAAA,GA8Bb,CAvDI,SAAS,CAAa,CAAtB,CACI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAChC,CAEA,qBAAqB,CAAiB,CAAtC,CACI,IAAI,CAAC,QAAQ,CAAG,CACpB,CAIA,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,EAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,EAAA,EAAA,IAAA,CAGb,IAA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AAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,cAAA,EAAA,IAAA,AAAA,GAAA,EAAS,SAAS,CAAA,IAAA,CAAA,EAAA,KAAA,EAAT,SAAS,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,G,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,E,C,IA5BX,OAAA,cAAA,CAAA,EAAA,iBAAA,C,W,C,E,a,C,E,S,C,EAAiB,MAAA,CAAA,CAAK,G,CA4DrC,C,I,G,C,E,G,G,Y,W,O,E,G,G,G,O,W,O,E,G,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C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,AAAA,EAGxD,C,I,G,C,E,G,G,a,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,ECpDa,IAAA,IAFZ,EAAA,CAAA,GAAU,CAAE,QAAS,eAAe,GACpC,GADA,C,E,E,CAGW,EAAA,Y,E,E,C,E,E,C,E,E,CAAR,EAAA,cAAQ,E,a,C,K,I,WAKC,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,GAIA,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAAU,CAAA,IAEnB,OAAA,cAAA,CAAA,IAAA,CAAA,YAAA,C,W,C,E,a,C,E,S,C,E,M,K,CAA4B,EA4BhC,CAlCI,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAIb,IAAS,SAAO,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAhB,IAAS,QAAO,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAIhB,MAAM,mBAAN,CACI,MAAM,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAU,mDAEhB,IAAI,CAAC,WAAW,EACpB,CAGA,MAAM,aAAN,CACI,IAAI,CAAC,OAAO,CAAG,CAAA,EAEf,MAAM,GAAS,IAAI,CAAE,sBAErB,IAAI,CAAC,OAAO,CAAG,CAAA,CACnB,CAEA,QAAA,CACI,GAAM,CAAA,KAAE,CAAI,CAAA,QAAE,CAAO,CAAE,UAAW,CAAG,CAAE,CAAG,IAAI,CAE9C,OAAO,EACH,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,EAAG,CAAC,UAAW,CAAA,2BAAA,EAA8B,EAAI,CAAE,AAAA,GACpD,EAAK,QAAQ,CAAC,OACd,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,GAAA,QAAA,CAAA,CAAA,GAEA,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,EAAG,CAAA,EAEZ,C,E,G,I,Q,G,I,Q,G,E,U,O,G,e,C,G,G,W,C,I,M,C,G,W,C,K,E,E,O,c,C,G,O,C,a,C,E,M,G,G,M,C,G,I,I,E,G,A,C,K,I,E,I,E,A,Y,O,Q,O,Q,C,O,M,C,A,O,C,E,C,C,O,Q,C,A,G,A,K,I,E,E,M,K,EAnCC,EAAA,CAAA,GACA,GAAA,UAAA,CADA,CAIA,EAAA,CAAA,GACA,GAAA,UAAA,CADA,CAYA,EAAA,CAAA,GAAS,CAAC,CAAA,KAAE,CAAI,CAAE,GAAK,GAAvB,CAdD,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAIb,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,UAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,YAAA,EAAA,IAAA,AAAA,GAAA,EAAS,OAAO,CAAA,IAAA,CAAA,EAAA,KAAA,EAAP,OAAO,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAWhB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAA,SAAA,KAAA,cAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,gBAAA,EAAA,IAAA,AAAA,GAAA,EAAM,WAAW,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,GArBrB,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,KAAA,QAAA,KAAA,EAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,G,E,E,K,C,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,EAAA,E,C,I,G,S,G,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,O,I,C,G,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,G,I,O,c,C,G,E,C,W,C,E,I,W,O,E,C,E,A,C,E,G,I,G,C,E,O,c,C,G,a,C,M,C,E,a,C,C,G,G,G,U,I,I,G,G,U,I,I,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EbPb,KAAM,CAAA,SAAE,EAAQ,CAAA,QAAE,EAAO,CAAE,CAAG,OACxB,GAAU,AAAA,CAAA,AAA8B,OAA9B,CAAA,GAAA,SAAS,aAAa,CAAC,OAAA,GAAO,AAAA,KAAA,IAAA,GAAA,KAAA,EAAA,GAAE,IAAI,AAAJ,GAAQ,GAAS,MAAM,CACnE,GAAgB,AAA+B,OAA/B,CAAA,GAAA,SAAS,aAAa,CAAC,QAAA,GAAQ,AAAA,KAAA,IAAA,GAAA,KAAA,EAAA,GAAE,WAAW,CAAC,IAAI,GAExD,IAAA,I,E,E,C,E,E,C,E,E,CAAA,GAAA,MAET,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAGb,IAAS,SAAO,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAhB,IAAS,QAAO,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAEhB,aAAA,CALS,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,GAGA,GAAA,GAAA,CAA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AAA,CAGA,EAAA,CAAA,GAAA,UAAA,CAAA,CA4BA,EAAA,CAAA,GAAA,MAAA,CAAA,CA9BD,GAAA,GAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GAGb,GAAA,GAAA,KAAA,EAAA,CAAA,KAAA,WAAA,KAAA,UAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,YAAA,EAAA,IAAA,AAAA,GAAA,EAAS,OAAO,CAAA,IAAA,CAAA,EAAA,KAAA,EAAP,OAAO,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,GA4BhB,GAAA,GAAA,KAAA,EAAA,CAAA,KAAA,SAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAA,IAAI,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,G,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,E,C,I,IA8ER,IAAA,GAAe,IAAI,G,G,C,E,Y,I,I,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,ECpGN,IAAA,IAFZ,EAAA,CAAA,AAAA,GAAU,CAAE,QAAS,YAAY,GACjC,GADA,C,E,E,CAE8B,EAAA,Y,E,E,C,E,E,C,E,E,C,E,E,CAAR,EAAA,cAAQ,E,a,C,K,I,WAKlB,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,GAAA,IAAA,CAAA,EAAA,KAAA,EAAA,GAET,OAAA,cAAA,CAAA,IAAA,CAAA,YAAA,C,W,C,E,a,C,E,S,C,E,M,K,CAAuC,GAI9B,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAA6C,WAI7C,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,EAA+C,YAYxD,OAAA,cAAA,CAAA,IAAA,CAAA,YAAA,C,W,C,E,a,C,E,S,C,EAAmC,MAAA,CAC/B,SAAU,WACV,IAAK,IACL,KAAM,IACN,MAAO,MACV,CAAC,EA4CN,CAvEI,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAMb,IAAS,aAAW,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAApB,IAAS,YAAW,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAIpB,IAAS,cAAY,CAAA,OAAA,GAAA,IAAA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,E,GCFG,MAAM,GAAwB,CAAC,CAAA,YAAE,EAAc,KAAA,CAAA,SAAO,CAAQ,CAAE,GACnE,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,CACI,UAAW,AAAA,GAAA,IACP,QACA,AAAuB,UAAvB,OAAO,GAA4B,CAAA,MAAA,EAAS,EAAW,CAAE,EAE7D,MACI,AAAuB,UAAvB,OAAO,EACD,CAAE,oBAAqB,CAAA,EAAG,AAAc,IAAd,EAAiB,CAAA,CAAG,AAAA,EAC9C,KAAA,EAAS,SAGlB,CAAQ,G,G,C,E,Y,W,O,E,G,I,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,ECVV,MAAM,GAAgC,AAAC,IAAA,GAAA,CAAA,UAC1C,EAAY,EAAA,CAAA,MACZ,CAAK,CAAA,SACL,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAJkC,CAAA,YAAA,QAAA,WAK7C,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CACI,UAAW,CAAA,SAAA,EACP,AAAU,CAAA,IAAV,EAAiB,SAAW,EAAQ,CAAA,CAAA,EAAI,EAAK,CAAE,CAAG,GACtD,CAAA,EAAI,EAAS,CAAE,AAAA,EACX,EAAK,CAAA,SAER,CAAQ,GAEhB,E,G,C,E,Q,W,O,E,G,I,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,ECPM,MAAM,GAAwB,AAAC,IAAA,GAAA,CAAA,UAClC,CAAS,CAAA,QACT,CAAO,CAAA,KACP,CAAI,CAAA,WACJ,CAAU,CAAA,QACV,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AW,CAAA,QAAA,EAAW,EAAO,CAAE,CAC/B,EACH,EACG,EAAK,CAAA,SAER,EAAQ,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAS,CAAC,MAAO,EAAK,SAAG,CAAO,GAAgB,CAAO,GAG7E,E,I,G,C,E,G,G,O,W,O,E,G,G,G,W,W,O,E,G,G,G,a,W,O,E,G,G,G,a,W,O,E,G,G,G,Y,W,O,E,G,G,G,U,W,O,E,G,G,C,E,Q,W,O,E,G,I,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EE7CO,MAAM,GAAwB,AAAC,IAAA,GAAA,CAAA,UAClC,CAAS,CAAA,MACT,CAAK,CAAA,QACL,CAAO,CAAA,cACP,CAAa,CAAA,UACb,CAAS,CAAA,CAAA,EACN,EAAK,GAAA,EAN0B,CAAA,YAAA,QAAA,UAAA,gBAAA,YAOrC,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CACI,UAAW,AAAA,GAAA,IACP,GAAS,YACT,GAAa,gBACb,CAAE,QAAA,CAAO,EACT,GAAiB,iBACjB,EACH,EACG,GAEX,E,I,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EDbM,MAAM,GAAsB,AAAC,IAAA,GAAA,CAAA,UAChC,CAAS,CAAA,GACT,CAAE,CAAA,KACF,CAAI,CAAA,OACJ,CAAM,CAAA,KACN,CAAI,CAAA,SACJ,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAPwB,CAAA,YAAA,KAAA,OAAA,SAAA,OAAA,WAQnC,EAAK,MACF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AA,EAAA,MAAA,OAAA,MAAA,CAAA,CAAK,UAAW,CAAA,kBAAA,EAAqB,EAAS,CAAE,AAAA,EAAM,EAAK,CAAA,SAAA,CACtD,EAEA,GACG,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,CAAK,UAAU,uEAAsE,SACjF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAO,CACE,QAAA,EAAS,KAAA,EAAM,UAAA,EAAW,KAAA,EAAM,WAAY,MAAM,EAC1D,GAET,AAAA,GAER,E,I,G,C,E,G,G,U,W,O,E,G,G,G,a,W,O,E,G,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,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E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EC9BN,MAAM,GAA6C,AAAC,IAAA,GAAA,CAAA,UACvD,EAAY,EAAA,CAAA,SACZ,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAH+C,CAAA,YAAA,WAI1D,EAAK,MACF,AAAA,CAAA,EAAA,GA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AA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IAIjB,GAAA,EAAA,KAAA,GAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IA5BjB,GAAA,KAAA,EAAA,CAAA,MAAA,CAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,EAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,E,E,K,C,G,O,c,C,E,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,EAAA,G,C,I,G,G,C,E,W,W,O,E,G,I,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EClDN,MAAM,GAA8B,AAAC,IAAA,GAAA,CAAA,UACxC,CAAS,CAAA,UACT,EAAY,OAAA,CACZ,GAAI,CAAI,CAAA,SACR,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EALgC,CAAA,YAAA,YAAA,KAAA,WAM3C,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CACI,UAAW,AAAA,GAAA,IACP,WACA,CAAE,sBAAuB,AAAc,WAAd,EAAwB,KAAA,CAAI,EACrD,EACH,EACG,EAAK,CAAA,SAER,CAAQ,GAEhB,E,I,G,C,E,G,G,gB,W,O,E,G,G,G,kB,W,O,E,G,G,G,gB,W,O,E,G,G,G,Y,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,ECXM,MAAM,GAAkD,AAAC,IAAA,GAAA,CAAA,UAC5D,EAAY,EAAA,CAAA,SACZ,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAHoD,CAAA,YAAA,WAI/D,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CAAK,UAAW,CAAA,eAAA,EAAkB,EAAS,CAAE,AAAA,EAAM,EAAK,CAAA,SACnD,CAAQ,GAEhB,EAEY,GAA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AAA,CAAA,EAAA,GAAA,IAOnB,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,SAAA,KAAA,cAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,gBAAA,EAAA,IAAA,AAAA,GAAA,EAAA,WAAW,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,IAKX,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,SAAA,KAAA,cAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,gBAAA,EAAA,IAAA,AAAA,GAAA,EAAA,WAAW,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,IAnBf,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,I,I,G,C,E,G,G,e,W,O,E,G,G,G,kB,W,O,E,G,G,G,W,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EC3CN,MAAM,GAAsC,AAAC,IAAA,GAAA,CAAA,UAChD,EAAY,EAAA,CAAA,SACZ,CAAQ,CAAA,SACR,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAJwC,CAAA,YAAA,WAAA,WAKnD,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CACI,UAAW,CAAA,cAAA,EAAiB,EAAS,CAAE,AAAA,EACnC,EAAK,CAAA,mBACS,EAAQ,SAEzB,CAAQ,GAEhB,EAEY,GAAoD,AAAC,IAAA,GAAA,CAAA,UAC9D,EAAY,EAAA,CAAA,SACZ,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAHsD,CAAA,YAAA,WAIjE,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CAAK,UAAW,CAAA,iBAAA,EAAoB,EAAS,CAAE,AAAA,EAAM,EAAK,CAAA,SACrD,CAAQ,GAEhB,EAiBY,IAAA,IALZ,GAAA,CAAA,AAAA,GAAU,CACP,QAAS,eACT,KAAM,MACT,GACA,GADA,C,G,E,CAE6B,GAAA,Y,G,E,C,G,E,C,G,E,C,G,E,CAAR,GAAA,cAAQ,G,a,C,K,I,WAGjB,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAA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A,GAAA,KAAA,GAAA,CAAA,KAAA,SAAA,KAAA,8BAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,gCAAA,EAAA,IAAA,AAAA,GAAA,EAAA,2BAA2B,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,IAQ3B,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,SAAA,KAAA,mBAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,qBAAA,EAAA,IAAA,AAAA,GAAA,EAAA,gBAAgB,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,IApEpB,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,I,I,G,C,E,G,G,U,W,O,E,G,G,G,c,W,O,E,G,G,G,M,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EC7CN,MAAM,GAA4B,AAAC,IAAA,GAAA,CAAA,UACtC,EAAY,EAAA,CAAA,OACZ,CAAM,CAAA,SACN,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAJ8B,CAAA,YAAA,SAAA,WAKzC,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,IAAA,OAAA,MAAA,CAAA,CAAG,UAAW,CAAA,SAAA,EAAY,EAAS,SAAW,GAAE,CAAA,EAAI,EAAS,CAAE,AAAA,EAAM,EAAK,CAAA,SACrE,CAAQ,GAEhB,EAQY,GAAoC,AAAC,IAAA,GAAA,CAAA,MAC9C,CAAK,CAAA,SACL,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAHsC,CAAA,QAAA,WAIjD,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAc,OAAA,MAAA,CAAA,CACX,SAAS,WACT,YAAY,WACZ,QAAS,CAAK,EACV,EAAK,CAAA,SAER,CAAQ,GAEhB,EAQY,IAAA,IAJZ,GAAA,CAAA,AAAA,GAAU,CACP,QAAS,SACT,KAAM,MACT,GAAA,C,G,E,CACwB,GAAA,Y,GAAR,GAAA,cAAQ,GAGrB,mBAAA,C,I,EACI,IAAM,EAAS,IAAI,CAAC,OAAO,CACvB,6BAGJ,GAAI,CAAC,EAAQ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAEvC,IAAM,EACF,EAAO,MAAM,EACb,CAAA,AAAgD,OAAhD,CAAA,EAAA,EAAO,SAAS,CAAC,KAAK,CAAC,yBAAA,GAAyB,AAAA,KAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAG,EAAA,AAAA,EAEvD,IAAI,CAAC,SAAS,CAAC,GAAG,CACd,aACA,qBACA,GAAU,cACV,GAAU,CAAA,KAAA,EAAQ,EAAM,IAAA,CAAM,CAEtC,CAEA,QAAA,CACI,MAAO,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EACX,C,E,U,O,G,Q,C,G,G,W,C,I,M,C,G,W,C,K,E,E,O,c,C,G,O,C,a,C,E,M,G,G,M,C,G,I,I,E,G,A,C,K,I,E,I,E,A,Y,O,Q,O,Q,C,O,M,C,A,O,C,E,E,C,O,Q,C,A,G,A,K,I,E,E,M,K,EAxBJ,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,I,I,G,C,E,G,G,c,W,O,E,G,G,G,e,W,O,E,G,G,G,S,W,O,E,G,G,G,kB,W,O,E,G,I,G,C,E,G,G,iB,W,O,E,G,G,G,kB,W,O,E,G,G,G,gB,W,O,E,G,G,G,Y,W,O,E,G,G,G,e,W,O,E,G,I,G,S,C,C,C,E,I,E,C,E,I,I,K,E,O,S,C,c,C,I,C,E,I,A,E,E,O,C,I,C,C,C,E,C,C,C,E,A,E,G,A,M,G,A,Y,O,O,qB,C,I,I,E,E,E,O,qB,C,G,E,E,M,C,I,E,E,O,C,C,C,E,G,O,S,C,oB,C,I,C,E,C,C,E,G,C,C,C,C,C,E,C,C,C,C,C,C,E,C,A,E,O,C,EE3CN,MAAM,GAAuD,AAAC,IAAA,GAAA,CAAA,UACjE,EAAY,EAAA,CAAA,SACZ,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAHyD,CAAA,YAAA,WAIpE,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,KAAA,OAAA,MAAA,CAAA,CAAI,UAAW,CAAA,gBAAA,EAAmB,EAAS,CAAE,AAAA,EAAM,EAAK,CAAA,SACnD,CAAQ,GAEhB,EAOY,GAA4C,AAAC,IAAA,GAAA,CAAA,UACtD,EAAY,EAAA,CAAA,YACZ,CAAW,CAAA,SACX,CAAQ,CAAA,OACR,CAAM,CAAA,CAAA,EACH,EAAK,GAAA,EAL8C,CAAA,YAAA,cAAA,WAAA,SAMzD,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CAAK,UAAW,CAAA,iBAAA,EAAoB,EAAS,CAAE,AAAA,EAAM,EAAK,CAAA,SAAA,CACrD,EAEA,GAAe,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAW,CAAC,QAAS,CAAM,GAAI,AAAA,GAEvD,EAEY,GAAkD,AAAC,IAAA,GAAA,CAAA,UAC5D,EAAY,EAAA,CAAA,SACZ,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAHoD,CAAA,YAAA,WAI/D,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CAAK,UAAW,CAAA,eAAA,EAAkB,EAAS,CAAE,AAAA,EAAM,EAAK,CAAA,SACnD,CAAQ,GAEhB,EAQY,GAAgC,AAAC,IAAA,GAAA,CAAA,UAC1C,EAAY,EAAA,CAAA,MACZ,CAAK,CAAA,SACL,EAAW,CAAA,CAAA,CAAA,KACX,CAAI,CAAA,OACJ,CAAM,CAAA,SACN,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EAPkC,CAAA,YAAA,QAAA,WAAA,OAAA,SAAA,WAQ7C,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,GAAA,QAAA,CAAA,CAAA,SAAA,CACI,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,OAAA,MAAA,CAAA,CACI,UAAW,AAAA,GAAA,IACP,YACA,EAAO,qBAAuB,kBAC9B,GAEJ,MAAK,OAAA,MAAA,CAAA,CAAI,SAAU,MAAM,EAAK,GAC9B,SAAU,EAAE,EACP,AAAa,WAAb,EAAwB,CAAE,mBAAoB,QAAQ,EAAK,CAAA,EAC5D,EAAK,CAAA,SAER,CAAQ,IAGZ,GAAQ,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,CAAK,UAAU,0BAA0B,QAAS,CAAM,GAAI,AAAA,EAE5E,EAQY,GAAsC,AAAC,IAAA,GAAA,CAAA,MAChD,CAAK,CAAA,QACL,EAAU,AAAA,CAAA,EAAA,GAAA,QAAA,AAAA,GAAA,CAAA,YACV,CAAW,CAAA,OACX,CAAM,CAAA,SACN,CAAQ,CAAA,CAAA,EACL,EAAK,GAAA,EANwC,CAAA,QAAA,UAAA,cAAA,SAAA,WAOnD,EAAK,MACF,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAC,GAAS,OAAA,MAAA,CAAA,CAAA,EAAU,EAAK,CAAE,OAAA,EAAM,kBAAqB,EAAO,SAAA,CACzD,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAe,CAAO,YAAA,EAAa,OAAA,EAAM,SACtC,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAc,CAAC,GAAI,EAAO,SAAG,CAAK,EAAkB,GAEzD,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAC,GAAa,CAAA,SAAE,CAAQ,GAAiB,AAAA,GAEhD,E,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,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K,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IAKd,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,WAAA,KAAA,QAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,UAAA,EAAA,IAAA,AAAA,GAAA,EAAS,KAAK,CAAA,IAAA,CAAA,EAAA,KAAA,EAAL,KAAK,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IAMd,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IAIb,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,WAAA,KAAA,cAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,gBAAA,EAAA,IAAA,AAAA,GAAA,EAAS,WAAW,CAAA,IAAA,CAAA,EAAA,KAAA,EAAX,WAAW,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IA5CxB,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,I,I,G,C,E,G,G,M,W,O,E,G,G,G,O,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,E,M,U,O,G,C,E,E,W,C,I,M,C,E,W,C,K,E,E,O,c,C,E,O,C,a,C,E,M,E,G,M,C,E,I,G,C,E,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EErEA,IAAA,IADZ,GAAA,CAAA,AAAA,GAAU,CAAE,QAAS,UAAU,GAA/B,C,G,E,CACwB,GAAA,Y,GAAR,GAAA,cAAQ,G,a,C,K,I,WACrB,OAAA,cAAA,CAAA,IAAA,CAAA,UAAA,C,W,C,E,a,C,E,S,C,E,M,K,CAAqB,EAMzB,CAJI,mBAAA,CACI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YACnB,IAAI,CAAC,IAAI,CAAG,UAChB,C,E,O,A,C,K,I,E,I,E,A,Y,O,Q,O,Q,C,O,M,C,A,O,C,E,E,C,O,Q,C,A,G,A,K,I,E,E,M,K,EANJ,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,IAgBA,IALZ,GAAA,CAAA,AAA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AAA,CAAA,EAAA,KAAA,EAAZ,YAAY,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IAerB,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,SAAA,KAAA,iBAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,mBAAA,EAAA,IAAA,AAAA,GAAA,EAAA,cAAc,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,IAWd,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,SAAA,KAAA,aAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,eAAA,EAAA,IAAA,AAAA,GAAA,EAAA,UAAU,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,IAhCd,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,I,G,C,E,Y,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,ECrBb,MAAM,GAAS,OAAO,IAAI,CAAC,IACtB,MAAM,CAAC,AAAA,GAAS,AAAU,aAAV,GAChB,KAAK,CAAC,EAAG,GAUD,IAAA,IAFZ,GAAA,CAAA,AAAA,GAAU,CAAE,QAAS,YAAY,GACjC,GADA,C,G,E,CAE8B,GAAA,Y,G,E,C,G,E,C,G,E,C,G,E,CAAR,GAAA,cAAQ,G,a,C,K,I,WAGlB,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,GAAqC,KAAK,GAAG,GAAA,GAG7C,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAO,IAGP,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAoB,CACzB,CACI,MAAO,GACP,MAAO,GACV,EACD,CACI,MAAO,GACP,MAAO,GACV,EACD,CACI,MAAO,GACP,MAAO,GACV,EACD,CACI,MAAO,IACP,MAAO,GACV,EACJ,GAsBO,OAAA,cAAA,CAAA,IAAA,CAAA,QAAA,C,W,C,E,a,C,E,S,C,E,M,K,CAAc,GAEtB,OAAA,cAAA,CAAA,IAAA,CAAA,OAAA,C,W,C,E,a,C,E,S,C,EAAO,MAAA,KACH,IAAM,EAAQ,IAAI,CAAC,OAAkB,CAAG,KAAK,GAAG,EAE5C,CAAA,EAAO,GACP,IAAI,CAAC,IAAI,CAAG,EAEP,IAAI,CAAC,KAAK,EAAE,CAAA,IAAI,CAAC,KAAK,CAAG,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAE,IAA1D,GACO,IAAI,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,KAAK,CACnD,CAAE,EA+BN,CAtFI,I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QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,iBAAA,EAAA,IAAA,AAAA,GAAA,EAAI,YAAY,AAAA,EAAA,SAAA,CAAA,EAAA,KAAA,IA7BpB,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,I,G,C,E,gB,W,O,E,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,ECQA,IAAA,IAFZ,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,CAAA,EAAG,EAAI,UAAA,EAAa,IAAI,KAAK,GAAE,CAAE,CAE3C,SAAS,MAAM,CAAG,CAAA,EAAG,EAAI,EAAA,EAAK,EAAM,CAAE,AAClD,CAEO,MAAM,GAAsB,AAAC,GAChC,EACK,KAAK,CAAC,KACN,GAAG,CAAC,AAAA,IACD,GAAM,CAAC,EAAM,EAAW,EAAE,CAAC,CAAG,EAAS,KAAK,CAAC,KACvC,CAAC,EAAG,EAAQ,GAAG,CAAC,CAAG,EAAS,KAAK,CAAC,KAExC,MAAO,CAAC,EAAK,IAAI,GAAI,CAAC,EAAe,AACzC,GACC,IAAI,CAAC,CAAC,CAAC,EAAG,EAAE,CAAE,CAAC,EAAI,EAAE,GAAK,EAAI,GAC9B,GAAG,CAAC,CAAC,CAAC,EAAK,GAAK,G,I,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EH9DlB,MAAM,GAAO,I,G,E,C,G,E,C,G,E,C,G,E,CEsBP,GAAA,MAET,IAAS,SAAO,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAhB,IAAS,QAAO,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAKhB,IAAS,iBAAe,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAxB,IAAS,gBAAe,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAGxB,IAAS,YAAU,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAnB,IAAS,WAAU,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAGnB,IAAI,YAAJ,CACI,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAwB,AAC1E,CAEA,YAAmB,CAAkD,CAArE,CACI,IAAK,IAAM,KADH,OAAA,cAAA,CAAA,IAAA,CAAA,gBAAA,C,W,C,E,a,C,E,S,C,EAAO,MAAA,CAAA,GAAA,IAAA,CAAA,IAAA,CAAA,CAAkD,GAf5D,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAU,CAAA,IAEnB,OAAA,cAAA,CAAA,IAAA,CAAA,kBAAA,C,W,C,E,a,C,E,S,C,E,M,K,CAAsB,GAGb,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAkB,KAGlB,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAa,CAAA,IAsGtB,OAAA,cAAA,CAAA,IAAA,CA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,OAAO,IAAI,CAAC,OAAO,CAAI,CAAE,OAAQ,MAAO,KAAA,EAAM,QAAA,CAAQ,EAC1D,CAEA,KACI,CAAqB,CACrB,CAAsB,CACtB,CAA4B,CAC9B,CACE,OAAO,IAAI,CAAC,OAAO,CAAI,CACnB,OAAQ,OACR,KAAA,EACA,QAAA,EACA,KAAA,CACJ,EACJ,CAEA,IACI,CAAqB,CACrB,CAAsB,CACtB,CAA4B,CAC9B,CACE,OAAO,IAAI,CAAC,OAAO,CAAI,CACnB,OAAQ,MACR,KAAA,EACA,QAAA,EACA,KAAA,CACJ,EACJ,CAEA,MACI,CAAqB,CACrB,CAAsB,CACtB,CAA4B,CAC9B,CACE,OAAO,IAAI,CAAC,OAAO,CAAI,CACnB,OAAQ,QACR,KAAA,EACA,QAAA,EACA,KAAA,CACJ,EACJ,CAEA,OACI,CAAqB,CACrB,CAAsB,CACtB,CAA4B,CAC9B,CACE,OAAO,IAAI,CAAC,OAAO,CAAI,CACnB,OAAQ,SACR,KAAA,EACA,QAAA,EACA,KAAA,CACJ,EACJ,CACJ,CN9IO,MAAM,GAAS,IAAI,GAAW,CACjC,QACI,AAA6B,cAA7B,OAAO,QAAQ,CAAC,QAAQ,CAClB,wBACA,8BACV,aAAc,OACd,gBAAiB,CAAA,CACpB,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EDAY,IAAA,I,G,E,C,G,E,CAAA,GAAA,M,a,CAEA,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,GAAA,KAAA,EAAA,EAqBb,CArBI,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAEP,YAAA,C,O,G,I,C,K,E,K,E,YACF,GAAI,CACA,GAAM,CAAA,KAAE,CAAI,CAAE,CAAG,MAAM,AAAA,GAAO,GAAG,CAAO,aAExC,OAAQ,IAAI,CAAC,IAAI,CAAG,CACxB,CAAE,MAAO,EAAO,CACZ,GAAK,AAA+B,MAA/B,EAAoB,MAAM,CAAU,MAAM,CACnD,CACJ,EAAC,CAED,YAAY,CAAa,CAAzB,CACI,OAAO,AAAA,GAAO,IAAI,CAAC,mBAAoB,CAAE,MAAA,CAAK,EAClD,CAEM,OAAO,CAAa,CAAE,CAAY,CAAlC,C,O,G,I,C,K,E,K,E,YACF,GAAM,CAAA,KAAE,CAAI,CAAE,CAAG,MAAM,AAAA,GAAO,IAAI,CAAO,YAAa,CAAE,MAAA,EAAO,KAAA,CAAI,GAEnE,OAAQ,IAAI,CAAC,IAAI,CAAG,CACxB,EAAC,C,E,G,I,Q,A,C,K,I,E,A,Y,O,Q,O,Q,C,O,M,C,M,K,EApBD,GAAA,GAAA,KADC,CAAA,GAAA,UAAA,CAAA,CACD,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,I,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,E,C,I,I,I,G,G,S,G,G,S,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EaHJ,IAAA,I,G,E,C,G,E,C,G,E,CAAA,GAAA,M,a,CAEA,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,GAAU,CAAA,EAAA,GAGV,GAAA,GAAA,CAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAmB,EAAE,EAgBlC,CAnBI,IAAS,SAAO,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAhB,IAAS,QAAO,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAGhB,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb,IAAS,KAAI,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAEP,WAAW,CAAU,CAArB,K,E,E,E,E,O,E,I,C,E,K,E,E,K,E,E,YACF,IAAI,CAAC,OAAO,CAAG,CAAA,EAEf,GAAM,CAAA,KAAE,CAAI,CAAE,CAAG,MAAM,AAAA,GAAO,GAAG,CAC7B,CAAA,SAAA,EAAY,AAAA,CAAA,EAAA,GAAA,YAAA,AAAA,EAAa,CACrB,KAAM,AAAA,CAAA,EAAA,GAAA,UAAA,AAAA,EAAW,EAAM,cACvB,GAAI,AAAA,CAAA,EAAA,GAAA,UAAA,AAAA,EAAW,IAAI,KAAK,CAAC,EAAO,GAAA,GAAA,EAAM,cACtC,KAAM,GACT,GAAC,CAAE,EAIR,OAFA,IAAI,CAAC,OAAO,CAAG,CAAA,EAEP,IAAI,CAAC,IAAI,CAAG,CACxB,E,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,EAAC,C,E,G,I,Q,G,I,Q,A,C,K,I,E,A,Y,O,Q,O,Q,C,O,M,C,M,K,EAnBA,GAAA,CAAA,GAAA,UAAA,CAAA,CAGA,GAAA,CAAA,GAAA,UAAA,CAAA,CAFD,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,WAAA,KAAA,UAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,YAAA,EAAA,IAAA,AAAA,GAAA,EAAS,OAAO,CAAA,IAAA,CAAA,EAAA,KAAA,EAAP,OAAO,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IAGhB,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,WAAA,KAAA,OAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,SAAA,EAAA,IAAA,AAAA,GAAA,EAAS,IAAI,CAAA,IAAA,CAAA,EAAA,KAAA,EAAJ,IAAI,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,I,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,E,C,I,IdRV,MAAM,GAAU,IAAI,GACd,GAAW,IAAI,G,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EDOf,IAAA,IALZ,GAAA,CAAA,AAAA,GAAU,CACP,QAAS,cACT,KAAM,MACT,GACA,GADA,C,G,E,CAE+B,GAAA,Y,G,E,C,G,E,CAAR,GAAA,cAAQ,G,a,C,K,I,WAGnB,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,GAAY,EAAA,GAMrB,OAAA,cAAA,CAAA,IAAA,CAAA,gBAAA,C,W,C,E,a,C,E,S,C,EAAgB,MAAA,KACZ,IAAI,CAAC,SAAS,CAAG,GAEjB,IAAM,EAAQ,YACN,IAAM,EAAE,IAAI,CAAC,SAAU,EAAI,cAAc,GACzC,KAEJ,CAAA,SAAE,CAAQ,CAAE,CAAG,IAAI,CAAC,iBAAoC,CAE5D,OAAO,AAAA,GAAQ,WAAW,CACrB,EAAS,SAAS,CAAC,SAA8B,KAAK,CAE/D,CAAE,GAEF,OAAA,cAAA,CAAA,IAAA,CAAA,eAAA,C,W,C,E,a,C,E,S,C,EAAe,MAAA,AAAC,IACZ,EAAM,cAAc,GAEpB,IAAM,EAAO,IAAI,SAAS,EAAM,MAAyB,EAEzD,OAAO,AAAA,GAAQ,MAAM,CACjB,EAAK,GAAG,CAAC,SACT,EAAK,GAAG,CAAC,QAEjB,CAAE,EA+DN,CA5FI,IAAS,WAAS,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAlB,IAAS,UAAS,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAElB,mBAAA,CACI,AAAA,GAAQ,UAAU,EACtB,CA2BA,YAAA,CACI,GAAM,CAAA,UAAE,CAAS,CAAE,CAAG,IAAI,CAE1B,MACI,AAAA,CAA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AAU,MAAM,GAAG,AAAA,GAE7D,GACC,AAAA,I,I,G,G,S,G,G,S,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EoBNF,IAAA,IAFZ,GAAA,CAAA,AAAA,GAAU,CAAE,QAAS,eAAe,GACpC,GADA,C,G,E,CAEiC,GAAA,Y,G,E,C,G,E,CAAR,GAAA,cAAQ,G,a,C,K,I,WAGrB,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,GAAO,IAAI,KAAA,EAyDxB,CAzDI,IAAS,MAAI,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAb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ACI,KAAM,QAEN,QAAS,WACT,YAAa,MAChB,EACD,CACI,KAAM,QAEN,QAAS,aACT,YAAa,6BAChB,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,YACT,YAAa,SAChB,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,kBACT,YACI,+KACP,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,qBACT,YACI,sDACP,EACD,CACI,KAAM,QAEN,QAAS,iBACT,YACI,iCACP,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,mBACT,YACI,+JACP,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,YACT,YACI,sEACP,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,WACT,YACI,sEACP,EACD,CACI,KAAM,QAEN,QAAS,aACT,YAAa,kBAChB,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,gBACT,YACI,oEACP,EACD,CACI,KAAM,QACN,MAAO,EAAM,CAAC,EAAE,CAChB,QAAS,mBACT,YACI,oTACP,EACD,CACI,KAAM,QAEN,QAAS,UACT,YAAa,UAChB,EACJ,CAEY,GAAQ,CACjB,CACI,MAAO,OACP,UAAW,CACP,CACI,IAAK,GAAA,IACL,IAAK,6CACR,EACD,CACI,IAAK,GAAA,IACL,IAAK,qBACR,EACJ,AACJ,EACD,CACI,MAAO,OACP,UAAW,CACP,CACI,IAAK,GAAA,IACL,IAAK,4BACR,EACJ,AACJ,EACD,CACI,MAAO,OACP,UAAW,CACP,CACI,IAAK,GAAA,IACL,IAAK,gCACR,EACD,CACI,IAAK,GAAA,IACL,IAAK,0BACR,EACJ,AACJ,EACD,CACI,MAAO,OACP,UAAW,CACP,CACI,IAAK,GAAA,IACL,IAAK,uBACR,EACD,CACI,IAAK,GAAA,IACL,IAAK,8BACR,EACD,CACI,IAAK,GAAA,IACL,IAAK,oCACR,EACD,CACI,IAAK,GAAA,IAC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D,CACI,MAAO,cACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,UACP,SAAU,GAAA,GACb,EACJ,AACJ,EACD,CACI,MAAO,OACP,KAAM,CACF,CACI,MAAO,cACP,SAAU,GAAA,GACb,EACJ,AACJ,EACD,CACI,MAAO,OACP,KAAM,CACF,CACI,MAAO,OACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,SACP,SAAU,GAAA,GACb,EACJ,AACJ,EACD,CACI,MAAO,OACP,KAAM,CACF,CACI,MAAO,YACP,SAAU,GAAA,GACb,EACJ,AACJ,EACD,CACI,MAAO,OACP,KAAM,CACF,CACI,MAAO,SACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,KACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,MACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,MACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,OACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,KACP,SAAU,EACb,EACD,CACI,MAAO,OACP,SAAU,EACb,EACD,CACI,MAAO,eACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,eACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,MACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,cACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,MACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,KACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,KACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,MACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,QACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,OACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,iBACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,UACP,SAAU,GAAA,GACb,EACJ,AACJ,EACD,CACI,MAAO,OACP,KAAM,CACF,CACI,MAAO,SACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,QACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,WACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,OACP,SAAU,GAAA,GACb,EACD,CACI,MAAO,OACP,SA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ATU,MAWnB,ANlFgB,EMkFT,KAAK,CAAG,ANlFC,EMkFM,MAAM,EAC9B,ANnFkB,EMmFX,MAAM,EAAI,AAZI,MAYmB,ANnFtB,EMmF6B,KAAK,CACpD,ANpFkB,EMoFX,KAAK,CAbS,QAerB,ANtFkB,EMsFX,KAAK,EAAI,AAfK,MAekB,ANtFrB,EMsF4B,MAAM,CACpD,ANvFkB,EMuFX,MAAM,CAhBQ,OAkBd,ANzFW,EMyFJ,KAAK,CAlBE,OAmBvB,AN1FoB,EM0Fb,MAAM,EAAI,AAnBM,MAmBiB,AN1FpB,EM0F2B,KAAK,CACpD,AN3FoB,EM2Fb,KAAK,CApBW,QAsBvB,AN7FoB,EM6Fb,KAAK,EAAI,AAtBO,MAsBgB,AN7FnB,EM6F0B,MAAM,CACpD,AN9FoB,EM8Fb,MAAM,CAvBU,QNrE3B,EAAO,KAAK,CAAC,KAAK,CAAG,CAAA,EAAG,EAAW,CAAE,CACrC,EAAO,KAAK,CAAC,MAAM,CAAG,CAAA,EAAG,EAAY,CAAE,CAEnC,EAAQ,eAAe,GACzB,EAAQ,SAAS,CAAG,EAAQ,eAAe,CAC3C,EAAQ,QAAQ,CAAC,EAAG,EAAG,EAAO,KAAK,CAAE,EAAO,MAAM,GAGpD,EAAQ,SAAS,CAAC,EAAK,EAAG,EAAG,EAAO,KAAK,CAAE,EAAO,MAAM,EAEjD,CACT,CAYO,eAAe,GACpB,CAAO,CACP,EAAmB,CAAA,CAAE,EAGrB,MAAO,AADQ,CAAA,MAAM,GAAS,EAAM,EAApC,EACc,SAAS,EACzB,C,I,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,EF/Da,IAAA,IAFZ,GAAA,CAAA,AAAA,GAAU,CAAE,QAAS,iBAAiB,GACtC,GADA,C,G,E,CAEmC,GAAA,Y,G,E,C,G,E,CAAR,GAAA,cAAQ,G,a,C,K,I,WAEvB,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,GAAW,GAAA,GAEpB,OAAA,cAAA,CAAA,IAAA,CAAA,YAAA,C,W,C,E,a,C,E,S,C,EAAY,MAAA,S,E,E,E,S,EAAA,IAAA,C,EAAA,KAAA,E,EAAA,KAAA,E,EAAA,YACR,GAAI,IAAI,CAAC,QAAQ,CAAE,OAEnB,IAAM,EAAM,IAAI,CAAC,aAAa,CAAc,QAExC,GAAK,CAAA,IAAI,CAAC,QAAQ,CAAG,MAAM,AAAA,GAAM,EAArC,CACJ,E,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,GAAE,EA+CN,CAvDI,IAAS,UAAQ,CAAA,OAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAjB,IAAS,SAAQ,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,EAAA,IAAA,CAUjB,YAAA,CACI,GAAM,CAAA,SAAE,CAAQ,CAAA,OAAE,CAAM,CAAE,CAAG,AAAA,GAAQ,IAAK,CAE1C,MACI,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,OAAA,CACI,UAAW,yDAA0D,SAAA,CAErE,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,CAAK,UAAU,YAAY,IAAK,GAAA,GAAM,GAEtC,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,MAAA,CAAK,UAAU,uFAAsF,SAAA,CACjG,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,SAAA,CAAA,SAAA,CACI,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,KAAA,CAAA,SAAA,MAAA,GACA,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,KAAA,CAAA,SAAA,CACK,CAAQ,CAAC,EAAE,CACX,AAAW,MAAX,EAAiB,KAAO,KAAI,AAAA,GAEjC,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,IAAA,CAAG,UAAU,YAAW,SAAA,CAAA,mBACJ,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,KAAA,CAAA,GAAM,KACpB,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,IAAA,CAAA,SAAA,QAAA,GAAa,KAAA,AAAA,GACf,AAAA,GAGR,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,UAAA,CAAS,UAAU,0BAAyB,SAAA,CACxC,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,CAAK,UAAU,YAAY,IAAK,GAAA,GAAO,GACvC,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,CAAK,UAAU,iBAAgB,SAAA,OAAA,GAAY,AAAA,GACrC,AAAA,GACR,AAAA,EAGlB,CAEA,QAAA,CACI,GAAM,CAAA,SAAE,CAAQ,CAAE,CAAG,IAAI,CAEzB,MACI,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAC,GAAU,CAAC,UAAU,oBAAoB,QAAS,IAAI,CAAC,SAAS,CAAA,SAAA,CAC5D,AAAA,GAAQ,IAAI,EAAI,IAAI,CAAC,UAAU,GAChC,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,MAAA,CACI,UAAW,+CACX,OAAQ,CAAC,EACT,IAAK,CAAQ,GACf,AAAA,EAGd,C,E,G,I,Q,G,G,U,O,G,mB,C,G,G,W,C,I,M,C,G,W,C,K,E,E,O,c,C,G,O,C,a,C,E,M,G,G,M,C,G,I,I,E,G,A,C,K,I,E,I,E,A,Y,O,Q,O,Q,C,O,M,C,A,O,C,E,E,C,O,Q,C,A,G,A,K,I,E,E,M,K,EAvDC,GAAA,CAAA,GAAA,UAAA,CAAA,CACD,GAAA,GAAA,KAAA,GAAA,CAAA,KAAA,WAAA,KAAA,WAAA,OAAA,CAAA,EAAA,QAAA,CAAA,EAAA,OAAA,CAAA,IAAA,AAAA,GAAA,aAAA,EAAA,IAAA,AAAA,GAAA,EAAS,QAAQ,CAAA,IAAA,CAAA,EAAA,KAAA,EAAR,QAAQ,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,IAFrB,GAAA,KAAA,GAAA,CAAA,MAAA,EAAA,EAAA,GAAA,CAAA,KAAA,QAAA,KAAA,GAAA,IAAA,CAAA,SAAA,CAAA,EAAA,KAAA,I,G,G,K,C,G,O,c,C,G,O,Q,C,C,W,C,E,a,C,E,S,C,E,M,C,GAAa,GAAA,GAAA,G,C,I,I,I,G,G,S,G,G,S,G,S,C,C,C,C,C,C,C,C,C,C,C,E,S,E,C,E,G,A,K,I,G,A,Y,O,E,M,A,U,qB,O,C,C,I,I,E,E,E,I,C,E,A,W,E,M,A,W,E,M,Q,E,C,G,E,E,M,C,E,E,S,C,K,E,G,C,E,O,wB,C,E,E,I,E,C,C,E,E,C,E,E,E,M,C,E,G,E,I,C,I,E,C,E,I,I,K,E,C,C,E,C,A,W,E,C,E,C,C,E,C,I,I,K,E,M,C,E,M,C,E,C,E,M,C,E,A,C,E,c,C,S,C,E,G,E,M,A,U,0D,E,I,C,E,G,M,E,I,E,A,C,E,C,C,E,A,E,A,a,E,C,I,E,G,C,I,E,G,A,E,C,C,E,C,G,G,A,a,E,C,G,A,K,I,E,S,G,A,O,G,A,U,O,E,M,A,U,mB,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,G,C,G,C,E,G,C,C,E,C,E,E,E,I,C,G,E,O,C,E,K,C,E,E,E,I,A,U,E,E,O,C,G,C,C,E,C,E,C,G,O,c,C,E,E,I,C,G,E,C,C,E,G,S,C,C,C,C,C,E,I,I,E,U,M,C,E,E,E,E,E,M,C,I,E,E,C,C,E,C,I,C,E,G,C,C,E,C,I,C,G,O,E,E,K,C,E,G,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,G,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,G,C,EwBbb,GAAiB,IAAA,IAAoB,wCAAA,YAAA,GAAA,EAAyC,QAAQ,GDczE,IAAA,IAFZ,GAAA,CAAA,AAAA,GAAU,CAAE,QAAS,cAAc,GACnC,GADA,C,G,E,CAEgC,GAAA,Y,G,E,C,G,E,CAAR,GAAA,cAAQ,G,a,C,K,I,WAEpB,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA,GAAA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA,GAAkB,EAAE,CAAA,GA4B7B,OAAA,cAAA,CAAA,IAAA,CAAA,YAAA,C,W,C,E,a,C,E,S,C,EAAY,MAAA,CACR,CAAA,KAAE,CAAI,CAAA,MAAE,CAAK,CAAA,MAAE,CAAK,CAAA,QAAE,CAAO,CAAA,KAAE,CAAI,CAAA,OAAE,CAAM,CAAW,CACtD,IAEA,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAA,KAAA,CAAA,SAAA,CACI,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,KAAA,CAAA,SAAK,EAAE,CAAK,GACZ,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,KAAA,CAAA,SAAK,CAAI,GACT,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,KAAA,CAAI,UAAU,aAAY,SAAE,CAAK,GACjC,AAAA,CAAA,EAAA,GAAA,GAAA,AAAA,EAAA,KAAA,CAAI,UAAU,aAAY,SAAE,CAAK,GACjC,AAAA,CAAA,EA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","sources":["","node_modules/.pnpm/dom-renderer@2.1.1_typescript@5.3.3/node_modules/dom-renderer/dist/VDOM.js","node_modules/.pnpm/dom-renderer@2.1.1_typescript@5.3.3/node_modules/dom-renderer/dist/DOMRenderer.js","node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.js","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/index.esm.js","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/index.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/data.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/math.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/date.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/parser.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/URL.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/crypto.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/DOM-type.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/DOM.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/timer.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/event.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/animation.ts","node_modules/.pnpm/web-utility@4.1.3_typescript@5.3.3/node_modules/web-utility/dist/source/assert.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/dist/mobx.esm.js","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/errors.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/utils/global.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/utils/utils.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/decorators.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/atom.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/utils/comparer.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/modifiers.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/overrideannotation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/actionannotation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/flowannotation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/computedannotation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/observableannotation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/autoannotation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/observable.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/computed.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/action.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/observablevalue.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/computedvalue.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/derivation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/globalstate.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/observable.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/reaction.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/core/spy.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/action.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/autorun.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/become-observed.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/configure.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/extendobservable.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/extras.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/flow.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/intercept-read.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/intercept.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/iscomputed.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/isobservable.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/object-api.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/observe.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/tojs.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/trace.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/transaction.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/when.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/dynamicobject.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/intercept-utils.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/listen-utils.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/makeObservable.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/observablearray.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/observablemap.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/observableset.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/observableobject.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/legacyobservablearray.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/types/type-utils.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/utils/eq.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/utils/iterable.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/api/annotation.ts","node_modules/.pnpm/mobx@6.12.0/node_modules/mobx/src/mobx.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-159b5b5e4217df85.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/helpers/browser/esm-js-loader.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/helpers/bundle-manifest.js","node_modules/.pnpm/lodash.groupby@4.6.0/node_modules/lodash.groupby/index.js","source/index.tsx","node_modules/.pnpm/dom-renderer@2.1.1_typescript@5.3.3/node_modules/dom-renderer/jsx-runtime.js","node_modules/.pnpm/browser-unhandled-rejection@1.0.2/node_modules/browser-unhandled-rejection/dist/bundle.es.js","node_modules/.pnpm/dom-renderer@2.1.1_typescript@5.3.3/node_modules/dom-renderer/dist/index.js","source/page/index.tsx","node_modules/.pnpm/cell-router@3.0.0-rc.5_typescript@5.3.3/node_modules/cell-router/dist/index.esm.js","node_modules/.pnpm/cell-router@3.0.0-rc.5_typescript@5.3.3/node_modules/cell-router/dist/source/index.ts","node_modules/.pnpm/cell-router@3.0.0-rc.5_typescript@5.3.3/node_modules/cell-router/dist/source/History.ts","node_modules/.pnpm/cell-router@3.0.0-rc.5_typescript@5.3.3/node_modules/cell-router/dist/source/Router.tsx","node_modules/.pnpm/cell-router@3.0.0-rc.5_typescript@5.3.3/node_modules/cell-router/dist/source/utility.ts","node_modules/.pnpm/cell-router@3.0.0-rc.5_typescript@5.3.3/node_modules/cell-router/dist/source/scope.tsx","node_modules/.pnpm/urlpattern-polyfill@9.0.0/node_modules/urlpattern-polyfill/index.js","node_modules/.pnpm/urlpattern-polyfill@9.0.0/node_modules/urlpattern-polyfill/dist/urlpattern.js","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/index.esm.js","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/index.ts","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/decorator.ts","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/utility.ts","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/WebCell.tsx","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/WebField.ts","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/Async.tsx","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/Animation/index.tsx","node_modules/.pnpm/web-cell@3.0.0-rc.14_typescript@5.3.3/node_modules/web-cell/dist/source/Animation/type.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-fbf3e771069bcd52.js","source/page/Home.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/index.esm.js","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/index.ts","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/type.ts","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Ratio.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Grid.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Table.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/ScrollBoundary.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Jumbotron.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Card.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Image.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Form.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Button.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Icon.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Badge.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Spinner.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Tooltip.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Dropdown.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Collapse.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Accordion.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Carousel.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Nav.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Navbar.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Offcanvas.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/Tabs.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/CountDown.tsx","node_modules/.pnpm/boot-cell@2.0.0-beta.18_typescript@5.3.3/node_modules/boot-cell/dist/source/MonthCalendar.tsx","node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js","source/component/TopNavBar.tsx","source/i18n/index.ts","node_modules/.pnpm/mobx-i18n@0.5.0_mobx@6.12.0/node_modules/mobx-i18n/dist/index.esm.js","node_modules/.pnpm/mobx-i18n@0.5.0_mobx@6.12.0/node_modules/mobx-i18n/dist/source/index.ts","node_modules/.pnpm/mobx-i18n@0.5.0_mobx@6.12.0/node_modules/mobx-i18n/dist/source/utility.ts","source/i18n/zh-CN.ts","source/page/Home.module.less","source/page/data.ts","source/page/2017/image/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-0f6c6b638e1674d6.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-d99584826486605c.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-2c30de79fcc427b9.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5d37c4562ab42371.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-c3bdf56cc3ebfcbe.js","source/page/2017/image/guests/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-e066f1cbe1883739.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-69aa7d3d79e7acfb.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5f0b5584f5d8ad28.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-fe2e1fb61014ba40.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-7f5104705bc650eb.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-d9043d1887265d7a.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-9cedfc197cfdf830.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5a79c0bcda027b5c.js","source/page/2018-Code4City/image/gallery/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-d5b5ad502a9a6314.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-8baeac9d9bef469f.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-7e465de889784e94.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-fada37f9479efba1.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-f1f9bf41800cfb4d.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-31360455cd9bab68.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-18e8c8faddbbc47d.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-bb101b1dcd6edd52.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-835165488bdf1a99.js","source/page/2018/image/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-ee74f02a43ba344d.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-029d55d997c984cd.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-1a7fa7409a3302e4.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-517d0fbd8e61d85d.js","source/page/Community.tsx","source/component/index.ts","source/component/Feature.tsx","source/component/Feature.module.less","source/component/SessionBox.tsx","source/model/index.ts","source/model/App.ts","source/model/service.ts","node_modules/.pnpm/koajax@0.9.6_typescript@5.3.3/node_modules/koajax/dist/index.esm.js","node_modules/.pnpm/koajax@0.9.6_typescript@5.3.3/node_modules/koajax/dist/source/index.ts","node_modules/.pnpm/koajax@0.9.6_typescript@5.3.3/node_modules/koajax/dist/source/Stack.ts","node_modules/.pnpm/koajax@0.9.6_typescript@5.3.3/node_modules/koajax/dist/source/HTTPRequest.ts","node_modules/.pnpm/koajax@0.9.6_typescript@5.3.3/node_modules/koajax/dist/source/utility.ts","node_modules/.pnpm/koajax@0.9.6_typescript@5.3.3/node_modules/koajax/dist/source/HTTPClient.ts","node_modules/.pnpm/iterable-observer@1.0.1/node_modules/iterable-observer/dist/index.esm.js","node_modules/.pnpm/iterable-observer@1.0.1/node_modules/iterable-observer/dist/source/index.ts","node_modules/.pnpm/iterable-observer@1.0.1/node_modules/iterable-observer/dist/source/utility.ts","node_modules/.pnpm/iterable-observer@1.0.1/node_modules/iterable-observer/dist/source/Observable.ts","node_modules/.pnpm/iterable-observer@1.0.1/node_modules/iterable-observer/dist/source/Queue.ts","source/model/Activity.ts","source/page/Activity.tsx","source/page/2017/index.tsx","source/page/2017/LogoList.tsx","source/page/2017/index.module.less","source/page/2017/data.ts","source/page/2017/image/logos/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-6393fca5a054dc59.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-009e677dec0fbe80.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-0dc0408d1d061440.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-6ead37d043faf4d7.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5afc3dfc3b90d7a6.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-1740e845c5830afe.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-7d03d26c3e63d5df.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-77a22267d1a264d2.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-078f4882f66c5405.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-1234313ac27c8c30.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-0f00926df6e806d9.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-6539407f0afcff10.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-6f1d39c26cc480de.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5c80febd9be818bd.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-3a7d9ca1ddb4c857.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-fad416bcc0a2e5cb.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-cb94f5be78fdb246.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-f76f501a4eca6cb2.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-b8103ee149f70f56.js","source/page/2018/index.tsx","node_modules/.pnpm/marked@12.0.0/node_modules/marked/lib/marked.umd.js","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/defaults.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/helpers.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/Tokenizer.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/rules.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/Lexer.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/Renderer.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/TextRenderer.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/Parser.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/Hooks.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/Instance.ts","node_modules/.pnpm/marked@12.0.0/node_modules/marked/src/marked.ts","source/page/2018/LogoList.tsx","source/page/2018/index.module.less","source/page/2018/data.ts","source/page/2018/image/logo/partner/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-cd89d373644d7c2c.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-103ed9741e45a184.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-689a0b01cb4e6261.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-41432f2e2b921e5f.js","source/page/2018/image/logo/sponsor/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-f0c117bf6a2b319e.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-40892cf36655921b.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-9fe82dddce453fec.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-e851696e0182fcd1.js","source/page/2018/image/lecturer/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5660c7ee9793b4e8.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5cc74063d508fafb.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-6d6f8186010bc3d7.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-b4a9f326c943fce9.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-7a39a5c50fffa247.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-b9e36cf44aabbc84.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-59ea2d36f40dc5f9.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-b42d386cb9540ca9.js","source/page/2018/image/project/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-f5e2d82a930c7815.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-f78eeeda9383c26a.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-7db1f9eb1e671ff3.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-889b4de37c1d8cbf.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-ea05875dc7c74bbd.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-8b48062b8f6006ca.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-73350d55779622fc.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-a8117e1aadc689a1.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-702a274f6395a416.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-8c4e808ee4f0278d.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-7b0172dd06dcb7a6.js","source/page/2018/image/photos/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-5762609b3353ab94.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-1719e646e2d33d47.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-aea376459071d3f6.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-8a7aeb08aa4d1bf1.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-dbf66ae2edf95c7b.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-f381fe350cf525da.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-24c352ad13654dfc.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-c4074f0acb9a8b4e.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-984067fe68f00ce4.js","source/page/2018-Code4City/index.tsx","source/page/2018-Code4City/GuestCard.tsx","source/page/2018-Code4City/index.module.less","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-f7e05cdbaf35c323.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-831b66945f8f49c4.js","source/page/2018-Code4City/data.ts","source/page/2018-Code4City/image/avatar/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-20f4eed5e33d5255.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-9233a85b93696850.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-a2056a1f3d4343f0.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-3265661734710105.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-9ce4e3fc9335bbab.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-54c09d8114f94b55.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-c5606c382a176bcb.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-c147ad9b693d5a92.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-11a68fb761884e89.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-832f9369428cbeed.js","source/page/2018-Code4City/image/logo/index.ts","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-82cd6cbad9fa1214.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-103a86a207fa8148.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-11185cfd8f21a842.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-8d3fcc56db862d99.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-758faf30059d8c8c.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-d468b23754582ea7.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-331d741d84c1a00b.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-9ec5b0c816a46bf5.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-437c3884bb3abb68.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-4860c5225aa90bd5.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-53a92a67e3ddd04c.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-dcab6d4d0cbc9373.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-522885547dc608bd.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-e101f87942c03ab0.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-220030bd2296816d.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-309f82ff3f34935c.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-e15dfaeeaa529809.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-3bdf53ccfd7d404a.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-2489b37a680b0347.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-0eac7fa441fedce1.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-c497bb2a738aed0d.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-ec4f69c5f35f7dbf.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-b411b015752baf1b.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-45926c9e547e8dd7.js","source/page/2019/index.tsx","source/page/2019/PageFrame.tsx","source/page/2019/data/index.json","source/page/2019/TopicGroup.tsx","source/page/2019/TopicGroup.module.less","source/page/2019/PartnerGroup.tsx","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-43102cb03d9bfa00.js","source/page/2019/InvitationCard.tsx","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/index.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/index.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/clone-node.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/clone-node.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/clone-pseudos.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/clone-pseudos.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/util.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/util.ts","node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/mimes.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/mimes.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/dataurl.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/dataurl.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/embed-images.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/embed-images.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/embed-resources.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/embed-resources.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/apply-style.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/apply-style.ts","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/es/embed-webfonts.js","node_modules/.pnpm/html-to-image@1.11.11/node_modules/html-to-image/src/embed-webfonts.ts","source/page/2019/InvitationCard.module.less","source/page/2019/PageAccount.tsx","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-d66a2417dbc284ed.js"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire2198\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire2198\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"9GY6Y\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.VNode = void 0;\nvar $70e6aa354ba0051d$var$VNode = /** @class */ function() {\n function VNode(meta) {\n Object.assign(this, meta);\n var tagName = meta.tagName, is = meta.is, props = meta.props;\n if (!tagName && !(props === null || props === void 0 ? void 0 : props.className) && !is) return;\n this.selector = [\n tagName === null || tagName === void 0 ? void 0 : tagName.toLowerCase(),\n (props === null || props === void 0 ? void 0 : props.className) && \".\".concat(props.className.trim().replace(/\\s+/, \".\")),\n is && '[is=\"'.concat(is, '\"]')\n ].filter(Boolean).join(\"\");\n }\n VNode.fromDOM = function(node) {\n var _this = this;\n if (node instanceof Text) return new _a({\n node: node,\n text: node.nodeValue\n });\n if (!(node instanceof Element)) return new _a({\n node: node\n });\n var _b = node, tagName = _b.tagName, attributes = _b.attributes, style = _b.style, childNodes = _b.childNodes;\n var vNode = {\n node: node,\n tagName: tagName.toLowerCase(),\n is: node.getAttribute(\"is\")\n };\n var props = Array.from(attributes, function(_b) {\n var name = _b.name, value = _b.value;\n return name !== \"style\" && [\n _this.attrsMap[name] || name,\n value\n ];\n }).filter(Boolean);\n if (props[0]) vNode.props = Object.fromEntries(props);\n var styles = Array.from(style, function(key) {\n return [\n key,\n style[key]\n ];\n });\n if (styles[0]) vNode.style = Object.fromEntries(styles);\n var children = Array.from(childNodes, function(node) {\n return _a.fromDOM(node);\n });\n if (children[0]) vNode.children = children;\n return new _a(vNode);\n };\n var _a;\n _a = VNode;\n VNode.propsMap = {\n className: \"class\",\n htmlFor: \"for\"\n };\n VNode.attrsMap = Object.fromEntries(Object.entries(_a.propsMap).map(function(item) {\n return item.reverse();\n }));\n return VNode;\n}();\nmodule.exports.VNode = $70e6aa354ba0051d$var$VNode;\n\n});\n\nparcelRegister(\"iu10s\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.DOMRenderer = void 0;\n\nvar $g8iUW = parcelRequire(\"g8iUW\");\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\nvar $9GY6Y = parcelRequire(\"9GY6Y\");\nvar $d74bcf2c13b9c8b3$var$DOMRenderer = /** @class */ function() {\n function DOMRenderer() {\n var _this = this;\n this.eventPattern = /^on[A-Z]/;\n this.ariaPattern = /^aira[A-Z]/;\n this.treeCache = new WeakMap();\n this.keyOf = function(_a, index) {\n var key = _a.key, text = _a.text, props = _a.props, selector = _a.selector;\n return (key === null || key === void 0 ? void 0 : key.toString()) || (props === null || props === void 0 ? void 0 : props.id) || (text || selector || \"\") + index;\n };\n this.vNodeOf = function(list, key) {\n return list.find(function(vNode, index) {\n return \"\".concat(_this.keyOf(vNode, index)) === String(key);\n });\n };\n this.propsKeyOf = function(key) {\n return key.startsWith(\"aria-\") ? (0, $1MFjU.toCamelCase)(key) : _this.eventPattern.test(key) ? key.toLowerCase() : key;\n };\n }\n DOMRenderer.prototype.updateProps = function(node, oldProps, newProps, onDelete, onAdd) {\n var e_1, _a, e_2, _b;\n if (oldProps === void 0) oldProps = {};\n if (newProps === void 0) newProps = {};\n var group = (0, $1MFjU.diffKeys)(Object.keys(oldProps), Object.keys(newProps)).group;\n try {\n for(var _c = $g8iUW.__values(group[$1MFjU.DiffStatus.Old] || []), _d = _c.next(); !_d.done; _d = _c.next()){\n var _e = $g8iUW.__read(_d.value, 1), key = _e[0];\n onDelete === null || onDelete === void 0 || onDelete(node, key);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally{\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally{\n if (e_1) throw e_1.error;\n }\n }\n try {\n for(var _f = $g8iUW.__values($g8iUW.__spreadArray($g8iUW.__spreadArray([], $g8iUW.__read(group[$1MFjU.DiffStatus.Same] || []), false), $g8iUW.__read(group[$1MFjU.DiffStatus.New] || []), false)), _g = _f.next(); !_g.done; _g = _f.next()){\n var _h = $g8iUW.__read(_g.value, 1), key = _h[0];\n if (oldProps[key] !== newProps[key]) {\n if (onAdd instanceof Function) onAdd(node, key, newProps[key]);\n else Reflect.set(node, key, newProps[key]);\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally{\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n } finally{\n if (e_2) throw e_2.error;\n }\n }\n };\n DOMRenderer.prototype.createNode = function(vNode, reusedVNodes) {\n var _a, _b;\n if (vNode.text) return vNode.node = document.createTextNode(vNode.text);\n var reusedVNode = vNode.selector && ((_a = reusedVNodes === null || reusedVNodes === void 0 ? void 0 : reusedVNodes[vNode.selector]) === null || _a === void 0 ? void 0 : _a.shift());\n vNode.node = vNode.tagName ? (reusedVNode === null || reusedVNode === void 0 ? void 0 : reusedVNode.node) || document.createElement(vNode.tagName, {\n is: vNode.is\n }) : document.createDocumentFragment();\n var node = this.patch(reusedVNode || {\n tagName: vNode.tagName,\n node: vNode.node\n }, vNode).node;\n if (node) (_b = vNode.ref) === null || _b === void 0 || _b.call(vNode, node);\n return node;\n };\n DOMRenderer.prototype.deleteNode = function(_a) {\n var ref = _a.ref, node = _a.node, children = _a.children;\n if (node instanceof DocumentFragment) children === null || children === void 0 || children.forEach(this.deleteNode);\n else if (node) {\n node.remove();\n ref === null || ref === void 0 || ref();\n }\n };\n DOMRenderer.prototype.commitChildren = function(root, newNodes) {\n var e_3, _a;\n try {\n for(var _b = $g8iUW.__values($g8iUW.__spreadArray([], $g8iUW.__read(root.childNodes), false)), _c = _b.next(); !_c.done; _c = _b.next()){\n var oldNode = _c.value;\n var index = newNodes.indexOf(oldNode);\n if (index < 0) continue;\n else if (index === 0) {\n newNodes.shift();\n continue;\n }\n var beforeNodes = newNodes.slice(0, index);\n if (!beforeNodes[0]) continue;\n oldNode.before.apply(oldNode, $g8iUW.__spreadArray([], $g8iUW.__read(beforeNodes), false));\n newNodes = newNodes.slice(index + 1);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally{\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally{\n if (e_3) throw e_3.error;\n }\n }\n if (newNodes[0]) root.append.apply(root, $g8iUW.__spreadArray([], $g8iUW.__read(newNodes), false));\n };\n DOMRenderer.prototype.updateChildren = function(node, oldList, newList) {\n var e_4, _a;\n var _this = this;\n var _b = (0, $1MFjU.diffKeys)(oldList.map(this.keyOf), newList.map(this.keyOf)), map = _b.map, group = _b.group;\n var deletingGroup = group[$1MFjU.DiffStatus.Old] && (0, $1MFjU.groupBy)(group[$1MFjU.DiffStatus.Old].map(function(_a) {\n var _b = $g8iUW.__read(_a, 1), key = _b[0];\n return _this.vNodeOf(oldList, key);\n }), function(_a) {\n var selector = _a.selector;\n return selector + \"\";\n });\n var newNodes = newList.map(function(vNode, index) {\n var key = _this.keyOf(vNode, index);\n if (map[key] !== $1MFjU.DiffStatus.Same) return _this.createNode(vNode, deletingGroup);\n var oldVNode = _this.vNodeOf(oldList, key);\n return vNode.text != null ? vNode.node = oldVNode.node : _this.patch(oldVNode, vNode).node;\n });\n for(var selector in deletingGroup)try {\n for(var _c = (e_4 = void 0, $g8iUW.__values(deletingGroup[selector])), _d = _c.next(); !_d.done; _d = _c.next()){\n var vNode = _d.value;\n this.deleteNode(vNode);\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally{\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally{\n if (e_4) throw e_4.error;\n }\n }\n this.commitChildren(node, newNodes);\n };\n DOMRenderer.prototype.patch = function(oldVNode, newVNode) {\n var _this = this;\n var tagName = oldVNode.tagName;\n var isXML = (0, $1MFjU.templateOf)(tagName) && (0, $1MFjU.elementTypeOf)(tagName) === \"xml\";\n this.updateProps(oldVNode.node, oldVNode.props, newVNode.props, function(node, key) {\n return _this.eventPattern.test(key) ? node[key.toLowerCase()] = null : node.removeAttribute(_this.ariaPattern.test(key) ? (0, $1MFjU.toHyphenCase)(key) : $9GY6Y.VNode.propsMap[key] || key);\n }, function(node, key, value) {\n // @ts-ignore\n if (isXML || key.includes(\"-\") || (0, $1MFjU.isDOMReadOnly)(tagName, key)) node.setAttribute(key, value);\n else node[_this.propsKeyOf(key)] = value;\n });\n this.updateProps(oldVNode.node.style, oldVNode.style, newVNode.style, function(node, key) {\n return node.removeProperty(key);\n });\n this.updateChildren(oldVNode.node, oldVNode.children || [], newVNode.children || []);\n newVNode.node = oldVNode.node;\n return newVNode;\n };\n DOMRenderer.prototype.render = function(vNode, node) {\n if (node === void 0) node = document.body;\n var root = this.treeCache.get(node) || $9GY6Y.VNode.fromDOM(node);\n root = this.patch(root, $g8iUW.__assign($g8iUW.__assign({}, root), {\n children: [\n vNode\n ]\n }));\n this.treeCache.set(node, root);\n return root;\n };\n DOMRenderer.prototype.renderToStaticMarkup = function(tree) {\n var body = document.implementation.createHTMLDocument().body;\n this.render(tree, body);\n return body.innerHTML;\n };\n return DOMRenderer;\n}();\nmodule.exports.DOMRenderer = $d74bcf2c13b9c8b3$var$DOMRenderer;\n\n});\nparcelRegister(\"g8iUW\", function(module, exports) {\n\n$parcel$export(module.exports, \"__assign\", () => $bbec114f87dbfe2a$export$18ce0697a983be9b);\n$parcel$export(module.exports, \"__rest\", () => $bbec114f87dbfe2a$export$3c9a16f847548506);\n$parcel$export(module.exports, \"__exportStar\", () => $bbec114f87dbfe2a$export$f33643c0debef087);\n$parcel$export(module.exports, \"__values\", () => $bbec114f87dbfe2a$export$19a8beecd37a4c45);\n$parcel$export(module.exports, \"__read\", () => $bbec114f87dbfe2a$export$8d051b38c9118094);\n$parcel$export(module.exports, \"__spreadArray\", () => $bbec114f87dbfe2a$export$1216008129fb82ed);\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */ /* global Reflect, Promise, SuppressedError, Symbol */ var $bbec114f87dbfe2a$var$extendStatics = function(d, b) {\n $bbec114f87dbfe2a$var$extendStatics = Object.setPrototypeOf || ({\n __proto__: []\n }) instanceof Array && function(d, b) {\n d.__proto__ = b;\n } || function(d, b) {\n for(var p in b)if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return $bbec114f87dbfe2a$var$extendStatics(d, b);\n};\nfunction $bbec114f87dbfe2a$export$a8ba968b8961cb8a(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n $bbec114f87dbfe2a$var$extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nvar $bbec114f87dbfe2a$export$18ce0697a983be9b = function() {\n $bbec114f87dbfe2a$export$18ce0697a983be9b = Object.assign || function __assign(t) {\n for(var s, i = 1, n = arguments.length; i < n; i++){\n s = arguments[i];\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return $bbec114f87dbfe2a$export$18ce0697a983be9b.apply(this, arguments);\n};\nfunction $bbec114f87dbfe2a$export$3c9a16f847548506(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nfunction $bbec114f87dbfe2a$export$29e00dfd3077644b(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction $bbec114f87dbfe2a$export$d5ad3fd78186038f(paramIndex, decorator) {\n return function(target, key) {\n decorator(target, key, paramIndex);\n };\n}\nfunction $bbec114f87dbfe2a$export$3a84e1ae4e97e9b0(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\nfunction $bbec114f87dbfe2a$export$d831c04e792af3d(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n}\nfunction $bbec114f87dbfe2a$export$6a2a36740a146cb8(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n}\nfunction $bbec114f87dbfe2a$export$d1a06452d3489bc7(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\nfunction $bbec114f87dbfe2a$export$f1db080c865becb9(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nfunction $bbec114f87dbfe2a$export$1050f835b63b671e(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nfunction $bbec114f87dbfe2a$export$67ebef60e6f28a6(thisArg, body) {\n var _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, f, y, t, g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n return this;\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nvar $bbec114f87dbfe2a$export$45d3717a4c69092e = Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nfunction $bbec114f87dbfe2a$export$f33643c0debef087(m, o) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) $bbec114f87dbfe2a$export$45d3717a4c69092e(o, m, p);\n}\nfunction $bbec114f87dbfe2a$export$19a8beecd37a4c45(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction $bbec114f87dbfe2a$export$8d051b38c9118094(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally{\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally{\n if (e) throw e.error;\n }\n }\n return ar;\n}\nfunction $bbec114f87dbfe2a$export$afc72e2116322959() {\n for(var ar = [], i = 0; i < arguments.length; i++)ar = ar.concat($bbec114f87dbfe2a$export$8d051b38c9118094(arguments[i]));\n return ar;\n}\nfunction $bbec114f87dbfe2a$export$6388937ca91ccae8() {\n for(var s = 0, i = 0, il = arguments.length; i < il; i++)s += arguments[i].length;\n for(var r = Array(s), k = 0, i = 0; i < il; i++)for(var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)r[k] = a[j];\n return r;\n}\nfunction $bbec114f87dbfe2a$export$1216008129fb82ed(to, from, pack) {\n if (pack || arguments.length === 2) {\n for(var i = 0, l = from.length, ar; i < l; i++)if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction $bbec114f87dbfe2a$export$10c90e4f7922046c(v) {\n return this instanceof $bbec114f87dbfe2a$export$10c90e4f7922046c ? (this.v = v, this) : new $bbec114f87dbfe2a$export$10c90e4f7922046c(v);\n}\nfunction $bbec114f87dbfe2a$export$e427f37a30a4de9b(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i;\n function verb(n) {\n if (g[n]) i[n] = function(v) {\n return new Promise(function(a, b) {\n q.push([\n n,\n v,\n a,\n b\n ]) > 1 || resume(n, v);\n });\n };\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof $bbec114f87dbfe2a$export$10c90e4f7922046c ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nfunction $bbec114f87dbfe2a$export$bbd80228419bb833(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function(e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function() {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function(v) {\n return (p = !p) ? {\n value: $bbec114f87dbfe2a$export$10c90e4f7922046c(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nfunction $bbec114f87dbfe2a$export$e3b29a3d6162315f(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof $bbec114f87dbfe2a$export$19a8beecd37a4c45 === \"function\" ? $bbec114f87dbfe2a$export$19a8beecd37a4c45(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function() {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function(v) {\n return new Promise(function(resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function(v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nfunction $bbec114f87dbfe2a$export$4fb47efe1390b86f(cooked, raw) {\n if (Object.defineProperty) Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n else cooked.raw = raw;\n return cooked;\n}\nvar $bbec114f87dbfe2a$var$__setModuleDefault = Object.create ? function(o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function(o, v) {\n o[\"default\"] = v;\n};\nfunction $bbec114f87dbfe2a$export$c21735bcef00d192(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) {\n for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $bbec114f87dbfe2a$export$45d3717a4c69092e(result, mod, k);\n }\n $bbec114f87dbfe2a$var$__setModuleDefault(result, mod);\n return result;\n}\nfunction $bbec114f87dbfe2a$export$da59b14a69baef04(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nfunction $bbec114f87dbfe2a$export$d5dcaf168c640c35(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nfunction $bbec114f87dbfe2a$export$d40a35129aaff81f(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nfunction $bbec114f87dbfe2a$export$81fdc39f203e4e04(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nfunction $bbec114f87dbfe2a$export$88ac25d8e944e405(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) env.stack.push({\n async: true\n });\n return value;\n}\nvar $bbec114f87dbfe2a$var$_SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function(error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\nfunction $bbec114f87dbfe2a$export$8f076105dc360e92(env) {\n function fail(e) {\n env.error = env.hasError ? new $bbec114f87dbfe2a$var$_SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while(env.stack.length){\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) {\n fail(e);\n return next();\n });\n } catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\nvar $bbec114f87dbfe2a$export$2e2bcd8739ae039 = {\n __extends: $bbec114f87dbfe2a$export$a8ba968b8961cb8a,\n __assign: $bbec114f87dbfe2a$export$18ce0697a983be9b,\n __rest: $bbec114f87dbfe2a$export$3c9a16f847548506,\n __decorate: $bbec114f87dbfe2a$export$29e00dfd3077644b,\n __param: $bbec114f87dbfe2a$export$d5ad3fd78186038f,\n __metadata: $bbec114f87dbfe2a$export$f1db080c865becb9,\n __awaiter: $bbec114f87dbfe2a$export$1050f835b63b671e,\n __generator: $bbec114f87dbfe2a$export$67ebef60e6f28a6,\n __createBinding: $bbec114f87dbfe2a$export$45d3717a4c69092e,\n __exportStar: $bbec114f87dbfe2a$export$f33643c0debef087,\n __values: $bbec114f87dbfe2a$export$19a8beecd37a4c45,\n __read: $bbec114f87dbfe2a$export$8d051b38c9118094,\n __spread: $bbec114f87dbfe2a$export$afc72e2116322959,\n __spreadArrays: $bbec114f87dbfe2a$export$6388937ca91ccae8,\n __spreadArray: $bbec114f87dbfe2a$export$1216008129fb82ed,\n __await: $bbec114f87dbfe2a$export$10c90e4f7922046c,\n __asyncGenerator: $bbec114f87dbfe2a$export$e427f37a30a4de9b,\n __asyncDelegator: $bbec114f87dbfe2a$export$bbd80228419bb833,\n __asyncValues: $bbec114f87dbfe2a$export$e3b29a3d6162315f,\n __makeTemplateObject: $bbec114f87dbfe2a$export$4fb47efe1390b86f,\n __importStar: $bbec114f87dbfe2a$export$c21735bcef00d192,\n __importDefault: $bbec114f87dbfe2a$export$da59b14a69baef04,\n __classPrivateFieldGet: $bbec114f87dbfe2a$export$d5dcaf168c640c35,\n __classPrivateFieldSet: $bbec114f87dbfe2a$export$d40a35129aaff81f,\n __classPrivateFieldIn: $bbec114f87dbfe2a$export$81fdc39f203e4e04,\n __addDisposableResource: $bbec114f87dbfe2a$export$88ac25d8e944e405,\n __disposeResources: $bbec114f87dbfe2a$export$8f076105dc360e92\n};\n\n});\n\nparcelRegister(\"1MFjU\", function(module, exports) {\n\n$parcel$export(module.exports, \"isEmpty\", () => $14ca536f88a616ab$export$dd1bc94b04021eeb);\n$parcel$export(module.exports, \"toHyphenCase\", () => $14ca536f88a616ab$export$3f34ca2fef821bbd);\n$parcel$export(module.exports, \"toCamelCase\", () => $14ca536f88a616ab$export$86f54f62aa7a7514);\n$parcel$export(module.exports, \"uniqueID\", () => $14ca536f88a616ab$export$89912e019eef22aa);\n$parcel$export(module.exports, \"DiffStatus\", () => $14ca536f88a616ab$export$2ddabb89308e1a22);\n$parcel$export(module.exports, \"diffKeys\", () => $14ca536f88a616ab$export$14527669107aa301);\n$parcel$export(module.exports, \"groupBy\", () => $14ca536f88a616ab$export$3f063810d7bf01bd);\n$parcel$export(module.exports, \"likeArray\", () => $14ca536f88a616ab$export$b5a4d6f439a5044d);\n$parcel$export(module.exports, \"isTypedArray\", () => $14ca536f88a616ab$export$b119cc7e1840e59c);\n$parcel$export(module.exports, \"splitArray\", () => $14ca536f88a616ab$export$697c3df919c0e61a);\n$parcel$export(module.exports, \"Day\", () => $14ca536f88a616ab$export$7a9a31a911eb9a20);\n$parcel$export(module.exports, \"formatDate\", () => $14ca536f88a616ab$export$3ae94a2503e890a1);\n$parcel$export(module.exports, \"changeMonth\", () => $14ca536f88a616ab$export$62ad822b3a5fd9a0);\n$parcel$export(module.exports, \"parseJSON\", () => $14ca536f88a616ab$export$27924e57e9afff7f);\n$parcel$export(module.exports, \"parseTextTable\", () => $14ca536f88a616ab$export$bb8626e4916f587b);\n$parcel$export(module.exports, \"isXDomain\", () => $14ca536f88a616ab$export$71e6483fc2b024eb);\n$parcel$export(module.exports, \"parseURLData\", () => $14ca536f88a616ab$export$eb9b2aadbe449a20);\n$parcel$export(module.exports, \"buildURLData\", () => $14ca536f88a616ab$export$13397a83aa5915d6);\n$parcel$export(module.exports, \"templateOf\", () => $14ca536f88a616ab$export$2ee022bbbc550b25);\n$parcel$export(module.exports, \"elementTypeOf\", () => $14ca536f88a616ab$export$a549dd5cef7f8327);\n$parcel$export(module.exports, \"isHTMLElementClass\", () => $14ca536f88a616ab$export$8eece510bcb9c62c);\n$parcel$export(module.exports, \"tagNameOf\", () => $14ca536f88a616ab$export$b8a1af58c024fefd);\n$parcel$export(module.exports, \"isDOMReadOnly\", () => $14ca536f88a616ab$export$a2cf0d4bb6e06de4);\n$parcel$export(module.exports, \"stringifyDOM\", () => $14ca536f88a616ab$export$b0709844452f8b6b);\n$parcel$export(module.exports, \"getVisibleText\", () => $14ca536f88a616ab$export$be4650432daa84fd);\n$parcel$export(module.exports, \"importCSS\", () => $14ca536f88a616ab$export$7cd14c57bbb84350);\n$parcel$export(module.exports, \"scrollTo\", () => $14ca536f88a616ab$export$3f99968195accfaf);\n$parcel$export(module.exports, \"formToJSON\", () => $14ca536f88a616ab$export$86d7c59254d6a2c9);\n$parcel$export(module.exports, \"sleep\", () => $14ca536f88a616ab$export$e772c8ff12451969);\n$parcel$export(module.exports, \"delegate\", () => $14ca536f88a616ab$export$10b1921597150314);\n$parcel$export(module.exports, \"documentReady\", () => $14ca536f88a616ab$export$3e2b244719956741);\n$parcel$export(module.exports, \"serviceWorkerUpdate\", () => $14ca536f88a616ab$export$d635d04af3887bbe);\nfunction $14ca536f88a616ab$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $14ca536f88a616ab$var$$9b05bcda60cc529c$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"likeNull\", function() {\n return $14ca536f88a616ab$export$61cc6ed0f143570b;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"isEmpty\", function() {\n return $14ca536f88a616ab$export$dd1bc94b04021eeb;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"classNameOf\", function() {\n return $14ca536f88a616ab$export$a09f818797e212c4;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"assertInheritance\", function() {\n return $14ca536f88a616ab$export$170f4e08cad8229d;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"isUnsafeNumeric\", function() {\n return $14ca536f88a616ab$export$67a6ce548ae77071;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"byteLength\", function() {\n return $14ca536f88a616ab$export$a48f0734ac7c2329;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"toHyphenCase\", function() {\n return $14ca536f88a616ab$export$3f34ca2fef821bbd;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"toCamelCase\", function() {\n return $14ca536f88a616ab$export$86f54f62aa7a7514;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"uniqueID\", function() {\n return $14ca536f88a616ab$export$89912e019eef22aa;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"objectFrom\", function() {\n return $14ca536f88a616ab$export$1c8ba402144543e5;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"DiffStatus\", function() {\n return $14ca536f88a616ab$export$2ddabb89308e1a22;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"diffKeys\", function() {\n return $14ca536f88a616ab$export$14527669107aa301;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"groupBy\", function() {\n return $14ca536f88a616ab$export$3f063810d7bf01bd;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"likeArray\", function() {\n return $14ca536f88a616ab$export$b5a4d6f439a5044d;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"isTypedArray\", function() {\n return $14ca536f88a616ab$export$b119cc7e1840e59c;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"makeArray\", function() {\n return $14ca536f88a616ab$export$7b85fd78dd236198;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"splitArray\", function() {\n return $14ca536f88a616ab$export$697c3df919c0e61a;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"findDeep\", function() {\n return $14ca536f88a616ab$export$e6b5ff3168b5942b;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"countBy\", function() {\n return $14ca536f88a616ab$export$1d012a0dff3dab06;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"cache\", function() {\n return $14ca536f88a616ab$export$69a3209f1a06c04d;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$9b05bcda60cc529c$exports, \"mergeStream\", function() {\n return $14ca536f88a616ab$export$dce9414bed0662c;\n});\nfunction $14ca536f88a616ab$export$61cc6ed0f143570b(value) {\n return !(value != null) || Number.isNaN(value);\n}\nfunction $14ca536f88a616ab$export$dd1bc94b04021eeb(value) {\n return $14ca536f88a616ab$export$61cc6ed0f143570b(value) || (typeof value === \"object\" ? !Object.keys(value).length : value === \"\");\n}\nconst $14ca536f88a616ab$export$a09f818797e212c4 = (data)=>Object.prototype.toString.call(data).slice(8, -1);\nfunction $14ca536f88a616ab$export$170f4e08cad8229d(Sub, Super) {\n return Sub.prototype instanceof Super;\n}\nfunction $14ca536f88a616ab$export$67a6ce548ae77071(raw) {\n return /^[\\d.]+$/.test(raw) && raw.localeCompare(Number.MAX_SAFE_INTEGER + \"\", undefined, {\n numeric: true\n }) > 0;\n}\nfunction $14ca536f88a616ab$export$a48f0734ac7c2329(raw) {\n return raw.replace(/[^\\u0021-\\u007e\\uff61-\\uffef]/g, \"xx\").length;\n}\nfunction $14ca536f88a616ab$export$3f34ca2fef821bbd(raw) {\n return raw.replace(/[A-Z]+|[^A-Za-z][A-Za-z]/g, (match, offset)=>`${offset ? \"-\" : \"\"}${(match[1] || match[0]).toLowerCase()}`);\n}\nfunction $14ca536f88a616ab$export$86f54f62aa7a7514(raw, large = false) {\n return raw.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g, (match, offset)=>offset || large ? (match[1] || match[0]).toUpperCase() : match.toLowerCase());\n}\nfunction $14ca536f88a616ab$export$89912e019eef22aa() {\n return (Date.now() + parseInt((Math.random() + \"\").slice(2))).toString(36);\n}\nfunction $14ca536f88a616ab$export$1c8ba402144543e5(values, keys) {\n return Object.fromEntries(values.map((value, index)=>[\n keys[index],\n value\n ]));\n}\nvar $14ca536f88a616ab$export$2ddabb89308e1a22;\n(function(DiffStatus) {\n DiffStatus[DiffStatus[\"Old\"] = -1] = \"Old\";\n DiffStatus[DiffStatus[\"Same\"] = 0] = \"Same\";\n DiffStatus[DiffStatus[\"New\"] = 1] = \"New\";\n})($14ca536f88a616ab$export$2ddabb89308e1a22 || ($14ca536f88a616ab$export$2ddabb89308e1a22 = {}));\nfunction $14ca536f88a616ab$export$14527669107aa301(oldList, newList) {\n const map = {};\n for (const item of oldList)map[item] = $14ca536f88a616ab$export$2ddabb89308e1a22.Old;\n for (const item of newList){\n map[item] ||= 0;\n map[item] += $14ca536f88a616ab$export$2ddabb89308e1a22.New;\n }\n return {\n map: map,\n group: $14ca536f88a616ab$export$3f063810d7bf01bd(Object.entries(map), ([key, status])=>status)\n };\n}\nfunction $14ca536f88a616ab$export$b5a4d6f439a5044d(data) {\n if ($14ca536f88a616ab$export$61cc6ed0f143570b(data)) return false;\n const { length: length } = data;\n return typeof length === \"number\" && length >= 0 && ~~length === length;\n}\nconst $14ca536f88a616ab$export$b119cc7e1840e59c = (data)=>data instanceof Object.getPrototypeOf(Int8Array);\nfunction $14ca536f88a616ab$export$7b85fd78dd236198(data) {\n if (data instanceof Array) return data;\n if ($14ca536f88a616ab$export$61cc6ed0f143570b(data)) return [];\n if ($14ca536f88a616ab$export$b5a4d6f439a5044d(data)) return Array.from(data);\n return [\n data\n ];\n}\nconst $14ca536f88a616ab$export$697c3df919c0e61a = (array, unitLength)=>array.reduce((grid, item, index)=>{\n (grid[~~(index / unitLength)] ||= [])[index % unitLength] = item;\n return grid;\n }, []);\nfunction $14ca536f88a616ab$export$e6b5ff3168b5942b(list, subKey, handler) {\n for (const item of list){\n if (handler(item)) return [\n item\n ];\n if (item[subKey] instanceof Array) {\n const result = $14ca536f88a616ab$export$e6b5ff3168b5942b(item[subKey], subKey, handler);\n if (result.length) return [\n item,\n ...result\n ];\n }\n }\n return [];\n}\nfunction $14ca536f88a616ab$export$3f063810d7bf01bd(list, iteratee) {\n const data = {};\n for (const item of list){\n let keys = iteratee instanceof Function ? iteratee(item) : item[iteratee];\n if (!(keys instanceof Array)) keys = [\n keys\n ];\n for (const key of new Set(keys.filter((key)=>key != null)))(data[key] = data[key] || []).push(item);\n }\n return data;\n}\nfunction $14ca536f88a616ab$export$1d012a0dff3dab06(list, iteratee) {\n const group = $14ca536f88a616ab$export$3f063810d7bf01bd(list, iteratee);\n const sortedList = Object.entries(group).map(([key, { length: length }])=>[\n key,\n length\n ]);\n return Object.fromEntries(sortedList);\n}\nfunction $14ca536f88a616ab$export$69a3209f1a06c04d(executor, title) {\n var cacheData;\n return function(...data) {\n if (cacheData != null) return cacheData;\n console.trace(`[Cache] execute: ${title}`);\n cacheData = executor.call(this, ()=>cacheData = undefined, ...data);\n Promise.resolve(cacheData).then((data)=>console.log(`[Cache] refreshed: ${title} => ${data}`), (error)=>console.error(`[Cache] failed: ${error?.message || error}`));\n return cacheData;\n };\n}\nasync function* $14ca536f88a616ab$export$dce9414bed0662c(...sources) {\n var iterators = sources.map((item)=>item());\n while(iterators[0]){\n const dones = [];\n for(let i = 0, iterator; iterator = iterators[i]; i++){\n const { done: done, value: value } = await iterator.next();\n if (!done) yield value;\n else dones.push(i);\n }\n iterators = iterators.filter((_, i)=>!dones.includes(i));\n }\n}\nvar $14ca536f88a616ab$var$$6a9944941b4c1893$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$6a9944941b4c1893$exports, \"sum\", function() {\n return $14ca536f88a616ab$export$8a63f25cc62965f1;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$6a9944941b4c1893$exports, \"averageOf\", function() {\n return $14ca536f88a616ab$export$e1f36757ecda301d;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$6a9944941b4c1893$exports, \"varianceOf\", function() {\n return $14ca536f88a616ab$export$8e694e1eafd55acb;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$6a9944941b4c1893$exports, \"standardDeviationOf\", function() {\n return $14ca536f88a616ab$export$57d7c52a66287430;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$6a9944941b4c1893$exports, \"hypotenuseOf\", function() {\n return $14ca536f88a616ab$export$2b4693832ca3ce16;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$6a9944941b4c1893$exports, \"carryFloat\", function() {\n return $14ca536f88a616ab$export$5b784e078da1ce6;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$6a9944941b4c1893$exports, \"fixFloat\", function() {\n return $14ca536f88a616ab$export$17ec9c9f4f23588c;\n});\nfunction $14ca536f88a616ab$export$8a63f25cc62965f1(...data) {\n return data.reduce((sum, item)=>sum + item, 0);\n}\nfunction $14ca536f88a616ab$export$e1f36757ecda301d(...data) {\n return $14ca536f88a616ab$export$8a63f25cc62965f1(...data) / data.length;\n}\nfunction $14ca536f88a616ab$export$8e694e1eafd55acb(data, sample = false) {\n const average = $14ca536f88a616ab$export$e1f36757ecda301d(...data);\n const summary = $14ca536f88a616ab$export$8a63f25cc62965f1(...data.map((item)=>(item - average) ** 2));\n return summary / (data.length - (sample ? 1 : 0));\n}\nfunction $14ca536f88a616ab$export$57d7c52a66287430(data, sample = false) {\n return Math.sqrt($14ca536f88a616ab$export$8e694e1eafd55acb(data, sample));\n}\nfunction $14ca536f88a616ab$export$2b4693832ca3ce16(...data) {\n return Math.sqrt($14ca536f88a616ab$export$8a63f25cc62965f1(...data.map((item)=>item ** 2)));\n}\nfunction $14ca536f88a616ab$export$5b784e078da1ce6(raw, length) {\n const text = raw.toFixed(length + 2);\n const offset = text.indexOf(\".\") + length + 1;\n const cut = (text)=>text.slice(0, offset - (length ? 0 : 1));\n if (!+text.slice(offset)) return cut(text);\n const result = cut((+cut(text) + 10 ** -length).toFixed(length));\n return result.includes(\".\") ? result.padEnd(offset, \"0\") : result;\n}\nfunction $14ca536f88a616ab$export$17ec9c9f4f23588c(raw, length = 2) {\n const text = raw.toFixed(length + 2);\n const floatOffset = text.indexOf(\".\");\n if (floatOffset < 0) return length ? `${text}.${\"0\".repeat(length)}` : text;\n const offset = floatOffset + length + 1;\n const before = +text[offset - 1], anchor = +text[offset], after = +text[offset + 1];\n const carry = anchor > 5 || anchor === 5 && (!!after || !!(before % 2));\n if (carry) return $14ca536f88a616ab$export$5b784e078da1ce6(raw, length);\n const result = text.slice(0, offset - (length ? 0 : 1));\n return result.includes(\".\") ? result.padEnd(offset, \"0\") : result;\n}\nvar $14ca536f88a616ab$var$$f872d8bba1c0f79f$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Second\", function() {\n return $14ca536f88a616ab$export$c489aa6f7fd82b1a;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Minute\", function() {\n return $14ca536f88a616ab$export$cbd942915f33be50;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Quarter\", function() {\n return $14ca536f88a616ab$export$9b886f8493244014;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Hour\", function() {\n return $14ca536f88a616ab$export$e99cbb807a5bb10d;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Day\", function() {\n return $14ca536f88a616ab$export$7a9a31a911eb9a20;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Week\", function() {\n return $14ca536f88a616ab$export$fca4f8121099df57;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Year\", function() {\n return $14ca536f88a616ab$export$6ce2f08d515512;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Month\", function() {\n return $14ca536f88a616ab$export$951c8378cdfec6e6;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"Season\", function() {\n return $14ca536f88a616ab$export$1a4097b876a13bf7;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"diffTime\", function() {\n return $14ca536f88a616ab$export$506c8e8f8c8edda;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"formatDate\", function() {\n return $14ca536f88a616ab$export$3ae94a2503e890a1;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$f872d8bba1c0f79f$exports, \"changeMonth\", function() {\n return $14ca536f88a616ab$export$62ad822b3a5fd9a0;\n});\nconst $14ca536f88a616ab$export$c489aa6f7fd82b1a = 1000;\nconst $14ca536f88a616ab$export$cbd942915f33be50 = $14ca536f88a616ab$export$c489aa6f7fd82b1a * 60;\nconst $14ca536f88a616ab$export$9b886f8493244014 = $14ca536f88a616ab$export$cbd942915f33be50 * 15;\nconst $14ca536f88a616ab$export$e99cbb807a5bb10d = $14ca536f88a616ab$export$9b886f8493244014 * 4;\nconst $14ca536f88a616ab$export$7a9a31a911eb9a20 = $14ca536f88a616ab$export$e99cbb807a5bb10d * 24;\nconst $14ca536f88a616ab$export$fca4f8121099df57 = $14ca536f88a616ab$export$7a9a31a911eb9a20 * 7;\nconst $14ca536f88a616ab$export$6ce2f08d515512 = $14ca536f88a616ab$export$7a9a31a911eb9a20 * 365;\nconst $14ca536f88a616ab$export$951c8378cdfec6e6 = $14ca536f88a616ab$export$6ce2f08d515512 / 12;\nconst $14ca536f88a616ab$export$1a4097b876a13bf7 = $14ca536f88a616ab$export$951c8378cdfec6e6 * 3;\nconst $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$TimeUnit = new Map([\n [\n \"s\",\n $14ca536f88a616ab$export$c489aa6f7fd82b1a\n ],\n [\n \"m\",\n $14ca536f88a616ab$export$cbd942915f33be50\n ],\n [\n \"H\",\n $14ca536f88a616ab$export$e99cbb807a5bb10d\n ],\n [\n \"D\",\n $14ca536f88a616ab$export$7a9a31a911eb9a20\n ],\n [\n \"W\",\n $14ca536f88a616ab$export$fca4f8121099df57\n ],\n [\n \"M\",\n $14ca536f88a616ab$export$951c8378cdfec6e6\n ],\n [\n \"Y\",\n $14ca536f88a616ab$export$6ce2f08d515512\n ]\n]);\nfunction $14ca536f88a616ab$export$506c8e8f8c8edda(end, start = new Date(), map = $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$TimeUnit) {\n const distance = +new Date(end) - +new Date(start);\n for (const [unit, base] of [\n ...map\n ].reverse()){\n const rest = distance / base;\n if (Math.abs(rest) >= 1) return {\n distance: +rest.toFixed(0),\n unit: unit\n };\n }\n return {\n distance: distance,\n unit: \"ms\"\n };\n}\nfunction $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit(value) {\n value = +value + \"\";\n return (template)=>(value.length < template.length ? value.padStart(template.length, \"0\") : value).slice(-Math.max(template.length, 2));\n}\nfunction $14ca536f88a616ab$export$3ae94a2503e890a1(time = new Date(), template = \"YYYY-MM-DD HH:mm:ss\") {\n time = time instanceof Date ? time : new Date(time);\n time = new Date(+time - time.getTimezoneOffset() * $14ca536f88a616ab$export$cbd942915f33be50);\n const [year, month, day, hour, minute, second, millisecond] = time.toJSON().split(/\\D/);\n return template.replace(/ms/g, millisecond).replace(/Y+/g, $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit(year)).replace(/M+/g, $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit(month)).replace(/D+/g, $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit(day)).replace(/H+/g, $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit(hour)).replace(/m+/g, $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit(minute)).replace(/s+/g, $14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit(second));\n}\nfunction $14ca536f88a616ab$export$62ad822b3a5fd9a0(date, delta) {\n date = new Date(date);\n const month = date.getMonth() + delta;\n date.setFullYear(date.getFullYear() + Math.floor(month / 12));\n delta = month % 12;\n date.setMonth(delta < 0 ? 12 + delta : delta);\n return date;\n}\nvar $14ca536f88a616ab$var$$ba0e5dc395660a7c$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$ba0e5dc395660a7c$exports, \"parseJSON\", function() {\n return $14ca536f88a616ab$export$27924e57e9afff7f;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$ba0e5dc395660a7c$exports, \"toJSValue\", function() {\n return $14ca536f88a616ab$export$7ea17d45ecdcf634;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$ba0e5dc395660a7c$exports, \"parseTextTable\", function() {\n return $14ca536f88a616ab$export$bb8626e4916f587b;\n});\nfunction $14ca536f88a616ab$export$27924e57e9afff7f(raw) {\n function parseItem(value) {\n if (typeof value === \"string\" && /^\\d+(-\\d{1,2}){1,2}/.test(value)) {\n const date = new Date(value);\n if (!Number.isNaN(+date)) return date;\n }\n return value;\n }\n const value = parseItem(raw);\n if (typeof value !== \"string\" || $14ca536f88a616ab$export$67a6ce548ae77071(value)) return value;\n try {\n return JSON.parse(raw, (key, value)=>parseItem(value));\n } catch {\n return raw;\n }\n}\nfunction $14ca536f88a616ab$export$7ea17d45ecdcf634(raw) {\n const parsed = $14ca536f88a616ab$export$27924e57e9afff7f(raw);\n if (typeof parsed !== \"string\") return parsed;\n const number = +parsed;\n return Number.isNaN(number) || number + \"\" !== parsed ? parsed : number;\n}\nfunction $14ca536f88a616ab$var$$ba0e5dc395660a7c$var$readQuoteValue(raw) {\n const quote = raw[0];\n const index = raw.indexOf(quote, 1);\n if (index < 0) throw SyntaxError(`A ${quote} is missing`);\n return raw.slice(1, index);\n}\nfunction $14ca536f88a616ab$export$bb8626e4916f587b(raw, header, separator = \",\") {\n const data = raw.trim().split(/[\\r\\n]+/).map((row)=>{\n const list = [];\n do {\n let value;\n if (row[0] === '\"' || row[0] === \"'\") {\n value = $14ca536f88a616ab$var$$ba0e5dc395660a7c$var$readQuoteValue(row);\n row = row.slice(value.length + 3);\n } else {\n const index = row.indexOf(separator);\n if (index > -1) {\n value = row.slice(0, index);\n row = row.slice(index + 1);\n } else {\n value = row;\n row = \"\";\n }\n }\n list.push($14ca536f88a616ab$export$7ea17d45ecdcf634(value.trim()));\n }while (row);\n return list;\n });\n return !header ? data : data.slice(1).map((row)=>row.reduce((object, item, index)=>{\n object[data[0][index]] = item;\n return object;\n }, {}));\n}\nvar $14ca536f88a616ab$var$$083124ac4b1a50a0$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$083124ac4b1a50a0$exports, \"isXDomain\", function() {\n return $14ca536f88a616ab$export$71e6483fc2b024eb;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$083124ac4b1a50a0$exports, \"parseURLData\", function() {\n return $14ca536f88a616ab$export$eb9b2aadbe449a20;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$083124ac4b1a50a0$exports, \"buildURLData\", function() {\n return $14ca536f88a616ab$export$13397a83aa5915d6;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$083124ac4b1a50a0$exports, \"blobOf\", function() {\n return $14ca536f88a616ab$export$fd89523fba250fa4;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$083124ac4b1a50a0$exports, \"blobFrom\", function() {\n return $14ca536f88a616ab$export$504fbde693c1771c;\n});\nfunction $14ca536f88a616ab$export$71e6483fc2b024eb(URI) {\n return new URL(URI, document.baseURI).origin !== location.origin;\n}\nfunction $14ca536f88a616ab$export$eb9b2aadbe449a20(raw = window.location.search, toBuiltIn = true) {\n const list = raw.split(/\\?|#/);\n const data = new URLSearchParams(list[1] || list[0]);\n return Object.fromEntries([\n ...data.keys()\n ].map((key)=>{\n const list = toBuiltIn ? data.getAll(key).map($14ca536f88a616ab$export$27924e57e9afff7f) : data.getAll(key);\n return [\n key,\n list.length < 2 ? list[0] : list\n ];\n }));\n}\nconst $14ca536f88a616ab$var$$083124ac4b1a50a0$var$stringify = (value)=>typeof value === \"string\" ? value : $14ca536f88a616ab$export$b5a4d6f439a5044d(value) ? $14ca536f88a616ab$export$7b85fd78dd236198(value) + \"\" : JSON.stringify(value);\nfunction $14ca536f88a616ab$export$13397a83aa5915d6(map) {\n if (!(map instanceof Array)) map = Object.entries(map);\n const list = map.map(([key, value])=>!$14ca536f88a616ab$export$dd1bc94b04021eeb(value) && [\n key,\n $14ca536f88a616ab$var$$083124ac4b1a50a0$var$stringify(value)\n ]).filter(Boolean);\n return new URLSearchParams(list);\n}\nasync function $14ca536f88a616ab$export$fd89523fba250fa4(URI) {\n return (await fetch(URI + \"\")).blob();\n}\nconst $14ca536f88a616ab$var$$083124ac4b1a50a0$var$DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\nfunction $14ca536f88a616ab$export$504fbde693c1771c(URI) {\n var [_, type, __, base64, data] = $14ca536f88a616ab$var$$083124ac4b1a50a0$var$DataURI.exec(URI) || [];\n data = base64 ? atob(data) : data;\n const aBuffer = new ArrayBuffer(data.length);\n const uBuffer = new Uint8Array(aBuffer);\n for(let i = 0; data[i]; i++)uBuffer[i] = data.charCodeAt(i);\n return new Blob([\n aBuffer\n ], {\n type: type\n });\n}\nvar $14ca536f88a616ab$var$$50872bf213056663$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$50872bf213056663$exports, \"makeCRC32\", function() {\n return $14ca536f88a616ab$export$1b9ac4d3de3ffd2e;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$50872bf213056663$exports, \"makeSHA\", function() {\n return $14ca536f88a616ab$export$d51f3b55e8d1aa73;\n});\nconst $14ca536f88a616ab$var$$50872bf213056663$var$CRC_32_Table = Array.from(new Array(256), (_, cell)=>{\n for(var j = 0; j < 8; j++)if (cell & 1) cell = cell >> 1 & 0x7fffffff ^ 0xedb88320;\n else cell = cell >> 1 & 0x7fffffff;\n return cell;\n});\nfunction $14ca536f88a616ab$export$1b9ac4d3de3ffd2e(raw) {\n var value = 0xffffffff;\n for (const char of raw)value = value >> 8 & 0x00ffffff ^ $14ca536f88a616ab$var$$50872bf213056663$var$CRC_32_Table[value & 0xff ^ char.charCodeAt(0)];\n return \"0x\" + ((value ^ 0xffffffff) >>> 0).toString(16);\n}\nif (typeof self === \"object\") {\n if (\"msCrypto\" in globalThis) {\n // @ts-ignore\n const { subtle: subtle } = globalThis.crypto = globalThis.msCrypto;\n for(const key in subtle){\n const origin = subtle[key];\n if (origin instanceof Function) subtle[key] = function() {\n const observer = origin.apply(this, arguments);\n return new Promise((resolve, reject)=>{\n observer.oncomplete = ({ target: target })=>resolve(target.result);\n observer.onabort = observer.onerror = reject;\n });\n };\n }\n }\n const { crypto: crypto1 } = globalThis;\n if (!crypto1?.subtle && crypto1?.[\"webkitSubtle\"]) crypto1.subtle = crypto1[\"webkitSubtle\"];\n}\nasync function $14ca536f88a616ab$export$d51f3b55e8d1aa73(raw, algorithm = \"SHA-1\") {\n const buffer = await crypto.subtle.digest(algorithm, new TextEncoder().encode(raw));\n return Array.from(new Uint8Array(buffer), (byte)=>byte.toString(16).padStart(2, \"0\")).join(\"\");\n}\nvar $14ca536f88a616ab$var$$93a3089d2937b23f$exports = {};\nvar $14ca536f88a616ab$var$$3e0a089cc13f69ad$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"templateOf\", function() {\n return $14ca536f88a616ab$export$2ee022bbbc550b25;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"elementTypeOf\", function() {\n return $14ca536f88a616ab$export$a549dd5cef7f8327;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"isHTMLElementClass\", function() {\n return $14ca536f88a616ab$export$8eece510bcb9c62c;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"tagNameOf\", function() {\n return $14ca536f88a616ab$export$b8a1af58c024fefd;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"isDOMReadOnly\", function() {\n return $14ca536f88a616ab$export$a2cf0d4bb6e06de4;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"parseDOM\", function() {\n return $14ca536f88a616ab$export$d66b332881d9723f;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"stringifyDOM\", function() {\n return $14ca536f88a616ab$export$b0709844452f8b6b;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"walkDOM\", function() {\n return $14ca536f88a616ab$export$5118471ee5d5453b;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"getVisibleText\", function() {\n return $14ca536f88a616ab$export$be4650432daa84fd;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"splitPages\", function() {\n return $14ca536f88a616ab$export$578e38b4a3e0b255;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"importCSS\", function() {\n return $14ca536f88a616ab$export$7cd14c57bbb84350;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"stringifyCSS\", function() {\n return $14ca536f88a616ab$export$5100419dfae0456d;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"insertToCursor\", function() {\n return $14ca536f88a616ab$export$28d9d24a8cd0ffc2;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"scrollTo\", function() {\n return $14ca536f88a616ab$export$3f99968195accfaf;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"watchScroll\", function() {\n return $14ca536f88a616ab$export$eafdbaa868ea9975;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"watchVisible\", function() {\n return $14ca536f88a616ab$export$36a0c1ca2ae264fa;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$3e0a089cc13f69ad$exports, \"formToJSON\", function() {\n return $14ca536f88a616ab$export$86d7c59254d6a2c9;\n});\nconst $14ca536f88a616ab$var$$3e0a089cc13f69ad$var$templateMap = {};\nfunction $14ca536f88a616ab$export$2ee022bbbc550b25(tagName) {\n if ($14ca536f88a616ab$var$$3e0a089cc13f69ad$var$templateMap[tagName]) return $14ca536f88a616ab$var$$3e0a089cc13f69ad$var$templateMap[tagName];\n const spawn = document.createElement(\"template\");\n spawn.innerHTML = `<${tagName} />`;\n return $14ca536f88a616ab$var$$3e0a089cc13f69ad$var$templateMap[tagName] = spawn.content.firstElementChild;\n}\nfunction $14ca536f88a616ab$export$a549dd5cef7f8327(tagName) {\n const node = $14ca536f88a616ab$export$2ee022bbbc550b25(tagName);\n return node instanceof HTMLElement && !(node instanceof HTMLUnknownElement) ? \"html\" : \"xml\";\n}\nfunction $14ca536f88a616ab$export$8eece510bcb9c62c(Class) {\n return $14ca536f88a616ab$export$170f4e08cad8229d(Class, HTMLElement);\n}\nconst $14ca536f88a616ab$var$$3e0a089cc13f69ad$var$nameMap = new WeakMap();\nfunction $14ca536f88a616ab$export$b8a1af58c024fefd(Class) {\n const name = $14ca536f88a616ab$var$$3e0a089cc13f69ad$var$nameMap.get(Class);\n if (name) return name;\n var { tagName: tagName } = new Class();\n $14ca536f88a616ab$var$$3e0a089cc13f69ad$var$nameMap.set(Class, tagName = tagName.toLowerCase());\n return tagName;\n}\nfunction $14ca536f88a616ab$export$a2cf0d4bb6e06de4(tagName, propertyName) {\n /**\n * fetch from https://html.spec.whatwg.org/\n */ const ReadOnly_Properties = [\n [\n HTMLLinkElement,\n [\n \"sizes\"\n ]\n ],\n [\n HTMLIFrameElement,\n [\n \"sandbox\"\n ]\n ],\n [\n HTMLObjectElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLInputElement,\n [\n \"form\",\n \"list\"\n ]\n ],\n [\n HTMLButtonElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLSelectElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLTextAreaElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLOutputElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLFieldSetElement,\n [\n \"form\"\n ]\n ]\n ];\n const template = $14ca536f88a616ab$export$2ee022bbbc550b25(tagName);\n for (const [Class, keys] of ReadOnly_Properties)if (template instanceof Class && keys.includes(propertyName)) return true;\n return false;\n}\nfunction $14ca536f88a616ab$export$d66b332881d9723f(HTML) {\n const spawn = document.createElement(\"template\");\n spawn.innerHTML = HTML;\n return [\n ...spawn.content.childNodes\n ].map((node)=>{\n node.remove();\n return node;\n });\n}\nfunction $14ca536f88a616ab$export$b0709844452f8b6b(node) {\n return new XMLSerializer().serializeToString(node).replace(/ xmlns=\"http:\\/\\/www.w3.org\\/1999\\/xhtml\"/g, \"\");\n}\nfunction* $14ca536f88a616ab$export$5118471ee5d5453b(root, type) {\n const children = [\n ...root.childNodes\n ];\n if ($14ca536f88a616ab$export$dd1bc94b04021eeb(type) || type === root.nodeType) yield root;\n for (const node of children)yield* $14ca536f88a616ab$export$5118471ee5d5453b(node, type);\n}\nfunction $14ca536f88a616ab$export$be4650432daa84fd(root) {\n var text = \"\";\n for (const { nodeType: nodeType, parentElement: parentElement, nodeValue: nodeValue } of $14ca536f88a616ab$export$5118471ee5d5453b(root))if (nodeType === Node.TEXT_NODE && parentElement.getAttribute(\"aria-hidden\") !== \"true\") {\n const { width: width, height: height } = parentElement.getBoundingClientRect();\n if (width && height) text += nodeValue.trim().replace(/\\s+/g, \" \");\n }\n return text;\n}\nfunction $14ca536f88a616ab$export$578e38b4a3e0b255({ offsetWidth: offsetWidth, children: children }, pageHeight = 841.89, pageWidth = 595.28) {\n const scrollHeight = pageHeight / pageWidth * offsetWidth;\n var offset = 0;\n return [\n ...children\n ].reduce((pages, node)=>{\n var { offsetTop: top, offsetHeight: height } = node;\n top += offset;\n var bottom = top + height;\n const bottomOffset = bottom / scrollHeight;\n const topIndex = ~~(top / scrollHeight), bottomIndex = ~~bottomOffset;\n if (topIndex !== bottomIndex) offset += height - bottomOffset;\n (pages[bottomIndex] ||= []).push(node);\n return pages;\n }, []);\n}\nfunction $14ca536f88a616ab$export$7cd14c57bbb84350(URI, { alternate: alternate, ...options } = {}) {\n const style = [\n ...document.styleSheets\n ].find(({ href: href })=>href === URI);\n if (style) return Promise.resolve(style);\n const link = document.createElement(\"link\");\n return new Promise((resolve, reject)=>{\n link.onload = ()=>resolve(link.sheet);\n link.onerror = (_1, _2, _3, _4, error)=>reject(error);\n Object.assign(link, options);\n link.rel = (alternate ? \"alternate \" : \"\") + \"stylesheet\";\n link.href = URI;\n document.head.append(link);\n });\n}\nfunction $14ca536f88a616ab$export$5100419dfae0456d(data, depth = 0, indent = \" \") {\n const padding = indent.repeat(depth);\n return Object.entries(data).map(([key, value])=>typeof value !== \"object\" ? `${padding}${$14ca536f88a616ab$export$3f34ca2fef821bbd(key)}: ${value};` : `${padding}${key} {\n${$14ca536f88a616ab$export$5100419dfae0456d(value, depth + 1, indent)}\n${padding}}`).join(\"\\n\");\n}\nfunction $14ca536f88a616ab$export$28d9d24a8cd0ffc2(...nodes) {\n const fragment = document.createDocumentFragment();\n fragment.append(...nodes);\n for (const node of $14ca536f88a616ab$export$5118471ee5d5453b(fragment))if (![\n 1,\n 3,\n 11\n ].includes(node.nodeType) || [\n \"meta\",\n \"title\",\n \"link\",\n \"script\"\n ].includes(node.nodeName.toLowerCase())) node.replaceWith(...node.childNodes);\n const selection = globalThis.getSelection();\n if (!selection) return;\n const range = selection.getRangeAt(0);\n range.deleteContents();\n range.insertNode(fragment);\n}\nfunction $14ca536f88a616ab$export$3f99968195accfaf(selector, root, align, justify) {\n const [_, ID] = /^#(.+)/.exec(selector) || [];\n if (ID === \"top\") window.scrollTo({\n top: 0,\n left: 0,\n behavior: \"smooth\"\n });\n else (root || document).querySelector(ID ? `[id=\"${ID}\"]` : selector)?.scrollIntoView({\n behavior: \"smooth\",\n block: align,\n inline: justify\n });\n}\nfunction $14ca536f88a616ab$export$eafdbaa868ea9975(box, handler, depth = 6) {\n return Array.from(box.querySelectorAll(Array.from(new Array(depth), (_, index)=>`h${++index}`) + \"\"), (header)=>{\n new IntersectionObserver(([item])=>{\n if (!item.isIntersecting) return;\n const target = item.target;\n handler({\n target: target,\n links: [\n ...target.ownerDocument.querySelectorAll(`[href=\"#${target.id}\"]`)\n ]\n });\n }).observe(header);\n if (!header.id.trim()) header.id = header.textContent.trim().replace(/\\W+/g, \"-\");\n return {\n level: +header.tagName[1],\n id: header.id,\n text: header.textContent.trim()\n };\n });\n}\nfunction $14ca536f88a616ab$export$36a0c1ca2ae264fa(root, handler) {\n var last = document.visibilityState === \"visible\" ? 1 : 0;\n function change(state) {\n if (state === 3 || last === 3) handler(state === 3);\n last = state;\n }\n new IntersectionObserver(([{ isIntersecting: isIntersecting }])=>change(isIntersecting ? last | 2 : last & 1)).observe(root);\n document.addEventListener(\"visibilitychange\", ()=>change(document.visibilityState === \"visible\" ? last | 1 : last & 2));\n}\nfunction $14ca536f88a616ab$export$86d7c59254d6a2c9(form) {\n const data = {};\n for (const field of form.elements){\n let { type: type, name: name, value: value, checked: checked, defaultValue: defaultValue, selectedOptions: selectedOptions, files: files } = field;\n if (!name || value === \"\") continue;\n const box = type !== \"fieldset\" && field.closest(\"fieldset\");\n if (box && box !== form) continue;\n let parsedValue = value;\n switch(type){\n case \"radio\":\n case \"checkbox\":\n if (checked) parsedValue = defaultValue ? $14ca536f88a616ab$export$7ea17d45ecdcf634(defaultValue) : true;\n else continue;\n break;\n case \"select-multiple\":\n parsedValue = Array.from(selectedOptions, ({ value: value })=>$14ca536f88a616ab$export$7ea17d45ecdcf634(value));\n break;\n case \"fieldset\":\n parsedValue = $14ca536f88a616ab$export$86d7c59254d6a2c9(field);\n break;\n case \"file\":\n parsedValue = files && Array.from(files);\n break;\n case \"date\":\n case \"datetime-local\":\n case \"month\":\n case \"hidden\":\n case \"number\":\n case \"range\":\n case \"select-one\":\n parsedValue = $14ca536f88a616ab$export$7ea17d45ecdcf634(value);\n }\n if (name in data) data[name] = [].concat(data[name], parsedValue);\n else data[name] = !(parsedValue instanceof Array) || !$14ca536f88a616ab$export$dd1bc94b04021eeb(parsedValue[1]) ? parsedValue : parsedValue[0];\n }\n return data;\n}\nvar $14ca536f88a616ab$var$$bb23e0c794fefbef$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$bb23e0c794fefbef$exports, \"sleep\", function() {\n return $14ca536f88a616ab$export$e772c8ff12451969;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$bb23e0c794fefbef$exports, \"asyncLoop\", function() {\n return $14ca536f88a616ab$export$57207d71b8c929c8;\n});\nfunction $14ca536f88a616ab$export$e772c8ff12451969(seconds = 1) {\n return new Promise((resolve)=>setTimeout(resolve, seconds * 1000));\n}\nfunction $14ca536f88a616ab$export$57207d71b8c929c8(executor, seconds = 1) {\n var stop = false;\n (async ()=>{\n while(!stop){\n const result = executor();\n if (result instanceof Promise) await result;\n await $14ca536f88a616ab$export$e772c8ff12451969(seconds);\n }\n })();\n return ()=>stop = true;\n}\nvar $14ca536f88a616ab$var$$19ed8aeb7905a045$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$19ed8aeb7905a045$exports, \"delegate\", function() {\n return $14ca536f88a616ab$export$10b1921597150314;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$19ed8aeb7905a045$exports, \"documentReady\", function() {\n return $14ca536f88a616ab$export$3e2b244719956741;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$19ed8aeb7905a045$exports, \"promisify\", function() {\n return $14ca536f88a616ab$export$1d1d2ed6b55cf67f;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$19ed8aeb7905a045$exports, \"createMessageServer\", function() {\n return $14ca536f88a616ab$export$2155c0b5a4b77fb8;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$19ed8aeb7905a045$exports, \"createMessageClient\", function() {\n return $14ca536f88a616ab$export$9d97473344489dfc;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$19ed8aeb7905a045$exports, \"serviceWorkerUpdate\", function() {\n return $14ca536f88a616ab$export$d635d04af3887bbe;\n});\nfunction $14ca536f88a616ab$export$10b1921597150314(selector, handler) {\n return function(event) {\n var node, path = event.composedPath();\n while((node = path.shift()) && node !== event.currentTarget)if (node instanceof HTMLElement && node.matches(selector)) return handler.call(this, event, node, event.detail);\n };\n}\nconst $14ca536f88a616ab$export$3e2b244719956741 = typeof window !== \"undefined\" ? new Promise((resolve)=>{\n function done() {\n document?.removeEventListener(\"DOMContentLoaded\", done);\n window.removeEventListener(\"load\", done);\n resolve();\n }\n document?.addEventListener(\"DOMContentLoaded\", done);\n window.addEventListener(\"load\", done);\n setTimeout(function check() {\n document?.readyState === \"complete\" ? resolve() : setTimeout(check);\n });\n}) : Promise.resolve();\nfunction $14ca536f88a616ab$export$1d1d2ed6b55cf67f(scope, element) {\n return new Promise((resolve, reject)=>{\n function end(event) {\n resolve(event), clean();\n }\n function cancel(event) {\n reject(event), clean();\n }\n function clean() {\n element.removeEventListener(scope + \"end\", end);\n element.removeEventListener(scope + \"cancel\", cancel);\n }\n element.addEventListener(scope + \"end\", end);\n element.addEventListener(scope + \"cancel\", cancel);\n });\n}\nfunction $14ca536f88a616ab$export$2155c0b5a4b77fb8(handlers) {\n async function server({ data: { type: type, id: id, ...data }, source: source, origin: origin }) {\n var result = handlers[type]?.(data);\n if (result instanceof Promise) result = await result;\n // @ts-ignore\n source.postMessage({\n ...result,\n id: id\n }, origin);\n }\n globalThis.addEventListener(\"message\", server);\n return ()=>globalThis.removeEventListener(\"message\", server);\n}\nfunction $14ca536f88a616ab$export$9d97473344489dfc(target, origin = \"*\") {\n return (type, data)=>new Promise((resolve)=>{\n const UID = $14ca536f88a616ab$export$89912e019eef22aa();\n function handler({ data: { id: id, ...data } }) {\n if (id !== UID) return;\n resolve(data);\n globalThis.removeEventListener(\"message\", handler);\n }\n globalThis.addEventListener(\"message\", handler);\n // @ts-ignore\n target.postMessage({\n id: UID,\n type: type,\n ...data\n }, origin);\n });\n}\nfunction $14ca536f88a616ab$export$d635d04af3887bbe(registration) {\n return new Promise((resolve)=>{\n if (registration.waiting) return resolve(registration.waiting);\n registration.onupdatefound = ()=>registration.installing?.addEventListener(\"statechange\", function() {\n if (this.state === \"installed\" && navigator.serviceWorker.controller) resolve(this);\n });\n });\n}\nvar $14ca536f88a616ab$var$$7a08303ce13c49c5$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"PageVector\", function() {\n return $14ca536f88a616ab$export$1b88f6b6d432a52a;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"getSwipeVector\", function() {\n return $14ca536f88a616ab$export$b70f6380221b1350;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"durationOf\", function() {\n return $14ca536f88a616ab$export$75d6cbe4503e149;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"watchMotion\", function() {\n return $14ca536f88a616ab$export$b2618d51188815c2;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"transitIn\", function() {\n return $14ca536f88a616ab$export$490814474ddbb428;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"animateIn\", function() {\n return $14ca536f88a616ab$export$3ea201dffb50dfef;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"transitOut\", function() {\n return $14ca536f88a616ab$export$d1012c7198c6b460;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$7a08303ce13c49c5$exports, \"animateOut\", function() {\n return $14ca536f88a616ab$export$a35a418b7b17958e;\n});\nclass $14ca536f88a616ab$export$1b88f6b6d432a52a {\n constructor(from, to){\n this.from = from;\n this.to = to;\n }\n get length() {\n const { from: from, to: to } = this;\n return Math.sqrt(Math.pow(to.x - from.x, 2) + Math.pow(to.y - from.y, 2) + (to.z != null ? Math.pow(to.z - from.z, 2) : 0));\n }\n get direction() {\n const { from: from, to: to } = this;\n const XD = to.x - from.x, YD = to.y - from.y, ZD = to.z - from.z;\n const XL = Math.abs(XD), YL = Math.abs(YD), ZL = Math.abs(ZD);\n switch(isNaN(ZL) ? Math.max(XL, YL) : Math.max(XL, YL, ZL)){\n case XL:\n return XD > 0 ? \"right\" : \"left\";\n case YL:\n return YD > 0 ? \"forward\" : \"backward\";\n case ZL:\n return ZD > 0 ? \"up\" : \"down\";\n }\n }\n}\nfunction $14ca536f88a616ab$export$b70f6380221b1350(from, to, threshold = parseInt(getComputedStyle(document.body).fontSize) * 6) {\n const vector = new $14ca536f88a616ab$export$1b88f6b6d432a52a(from, to);\n if (vector.length >= threshold && !getSelection()?.toString().trim()) return vector;\n}\nfunction $14ca536f88a616ab$export$75d6cbe4503e149(type, element) {\n const { transitionDuration: transitionDuration, animationDuration: animationDuration } = getComputedStyle(element);\n const duration = type === \"animation\" ? animationDuration : transitionDuration;\n return parseFloat(duration) * (duration.slice(-2) === \"ms\" ? 1 : 1000);\n}\nfunction $14ca536f88a616ab$export$b2618d51188815c2(type, element) {\n return Promise.race([\n $14ca536f88a616ab$export$1d1d2ed6b55cf67f(type, element).catch((event)=>Promise.resolve(event)),\n new Promise((resolve)=>setTimeout(resolve, $14ca536f88a616ab$export$75d6cbe4503e149(type, element)))\n ]);\n}\nfunction $14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeIn(type, element, className, display) {\n element.style.display = display;\n const end = $14ca536f88a616ab$export$b2618d51188815c2(type, element);\n return new Promise((resolve)=>requestAnimationFrame(()=>{\n element.classList.add(className);\n end.then(resolve);\n }));\n}\nasync function $14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeOut(type, element, className, remove) {\n const end = $14ca536f88a616ab$export$b2618d51188815c2(type, element);\n element.classList.remove(className);\n await end;\n if (remove) element.remove();\n else element.style.display = \"none\";\n}\nfunction $14ca536f88a616ab$export$490814474ddbb428(element, className, display = \"block\") {\n return $14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeIn(\"transition\", element, className, display);\n}\nfunction $14ca536f88a616ab$export$3ea201dffb50dfef(element, className, display = \"block\") {\n return $14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeIn(\"animation\", element, className, display);\n}\nfunction $14ca536f88a616ab$export$d1012c7198c6b460(element, className, remove) {\n return $14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeOut(\"transition\", element, className, remove);\n}\nfunction $14ca536f88a616ab$export$a35a418b7b17958e(element, className, remove) {\n return $14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeOut(\"animation\", element, className, remove);\n}\nvar $14ca536f88a616ab$var$$69bd9f0117925302$exports = {};\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$69bd9f0117925302$exports, \"describe\", function() {\n return $14ca536f88a616ab$export$cd5450f3a47e3789;\n});\n$14ca536f88a616ab$var$$parcel$export($14ca536f88a616ab$var$$69bd9f0117925302$exports, \"it\", function() {\n return $14ca536f88a616ab$export$3486a10f30cf1ee4;\n});\nasync function $14ca536f88a616ab$export$cd5450f3a47e3789(title, cases) {\n console.log(title);\n console.time(title);\n await cases();\n console.timeEnd(title);\n}\nasync function $14ca536f88a616ab$export$3486a10f30cf1ee4(title, userCase, secondsOut = 3) {\n title = \" \" + title;\n console.time(title);\n async function timeOut() {\n await $14ca536f88a616ab$export$e772c8ff12451969(secondsOut);\n throw new RangeError(\"Timed out\");\n }\n try {\n return await Promise.race([\n userCase((status)=>console.assert(status, title)),\n timeOut()\n ]);\n } finally{\n console.timeEnd(title);\n }\n}\n\n});\n\n\nparcelRegister(\"dDNcL\", function(module, exports) {\n\n$parcel$export(module.exports, \"observable\", () => observable);\n$parcel$export(module.exports, \"computed\", () => computed);\n$parcel$export(module.exports, \"autorun\", () => autorun);\n$parcel$export(module.exports, \"action\", () => action);\n$parcel$export(module.exports, \"reaction\", () => reaction);\n$parcel$export(module.exports, \"configure\", () => configure);\nvar niceErrors = {\n 0: \"Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'\",\n 1: function _(annotationType, key) {\n return \"Cannot apply '\" + annotationType + \"' to '\" + key.toString() + \"': Field not found.\";\n },\n /*\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n */ 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: \"Invalid annotation\",\n 13: \"Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: \"Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 16: \"Modification exception: the internal structure of an observable array was changed.\",\n 17: function _(index, length) {\n return \"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + length;\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19: function _(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name;\n },\n 20: function _(other) {\n return \"Cannot initialize map from \" + other;\n },\n 21: function _(dataStructure) {\n return \"Cannot convert to map from '\" + dataStructure + \"'\";\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24: function _(thing) {\n return \"Cannot obtain administration from \" + thing;\n },\n 25: function _(property, name) {\n return \"the entry '\" + property + \"' does not exist in the observable map '\" + name + \"'\";\n },\n 26: \"please specify a property\",\n 27: function _(property, name) {\n return \"no observable property '\" + property.toString() + \"' found on the observable object '\" + name + \"'\";\n },\n 28: function _(thing) {\n return \"Cannot obtain atom from \" + thing;\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32: function _(name, derivation) {\n return \"Cycle detected in computation \" + name + \": \" + derivation;\n },\n 33: function _(name) {\n return \"The setter of computed value '\" + name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\";\n },\n 34: function _(name) {\n return \"[ComputedValue '\" + name + \"'] It is not possible to assign a new value to a computed value.\";\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37: function _(method) {\n return \"[mobx] `observableArray.\" + method + \"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice().\" + method + \"()` instead\";\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n};\nvar errors = {};\nfunction die(error) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++)args[_key - 1] = arguments[_key];\n var e;\n throw new Error(typeof error === \"number\" ? \"[MobX] minified error nr: \" + error + (args.length ? \" \" + args.map(String).join(\",\") : \"\") + \". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts\" : \"[MobX] \" + error);\n}\nvar mockGlobal = {};\nfunction getGlobal() {\n if (typeof globalThis !== \"undefined\") return globalThis;\n if (typeof window !== \"undefined\") return window;\n if (typeof $parcel$global !== \"undefined\") return $parcel$global;\n if (typeof self !== \"undefined\") return self;\n return mockGlobal;\n}\n// We shorten anything used > 5 times\nvar assign = Object.assign;\nvar getDescriptor = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar objectPrototype = Object.prototype;\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nvar EMPTY_OBJECT = {};\nObject.freeze(EMPTY_OBJECT);\nvar hasProxy = typeof Proxy !== \"undefined\";\nvar plainObjectString = /*#__PURE__*/ Object.toString();\nfunction assertProxies() {\n if (!hasProxy) die(\"Proxy not available\");\n}\nfunction warnAboutProxyRequirement(msg) {}\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\n/**\n * Makes sure that the provided function is invoked at most once.\n */ function once(func) {\n var invoked = false;\n return function() {\n if (invoked) return;\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function noop() {};\nfunction isFunction(fn) {\n return typeof fn === \"function\";\n}\nfunction isStringish(value) {\n var t = typeof value;\n switch(t){\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (!isObject(value)) return false;\n var proto = Object.getPrototypeOf(value);\n if (proto == null) return true;\n var protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString;\n}\n// https://stackoverflow.com/a/37865170\nfunction isGenerator(obj) {\n var constructor = obj == null ? void 0 : obj.constructor;\n if (!constructor) return false;\n if (\"GeneratorFunction\" === constructor.name || \"GeneratorFunction\" === constructor.displayName) return true;\n return false;\n}\nfunction addHiddenProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction createInstanceofPredicate(name, theClass) {\n var propName = \"isMobX\" + name;\n theClass.prototype[propName] = true;\n return function(x) {\n return isObject(x) && x[propName] === true;\n };\n}\nfunction isES6Map(thing) {\n return thing instanceof Map;\n}\nfunction isES6Set(thing) {\n return thing instanceof Set;\n}\nvar hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\";\n/**\n * Returns the following: own enumerable keys and symbols.\n */ function getPlainObjectKeys(object) {\n var keys = Object.keys(object);\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) return keys;\n var symbols = Object.getOwnPropertySymbols(object);\n if (!symbols.length) return keys;\n return [].concat(keys, symbols.filter(function(s) {\n return objectPrototype.propertyIsEnumerable.call(object, s);\n }));\n}\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys ? Reflect.ownKeys : hasGetOwnPropertySymbols ? function(obj) {\n return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));\n} : /* istanbul ignore next */ Object.getOwnPropertyNames;\nfunction stringifyKey(key) {\n if (typeof key === \"string\") return key;\n if (typeof key === \"symbol\") return key.toString();\n return new String(key).toString();\n}\nfunction toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value;\n}\nfunction hasProp(target, prop) {\n return objectPrototype.hasOwnProperty.call(target, prop);\n}\n// From Immer utils\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(target) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n var res = {};\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(function(key) {\n res[key] = getDescriptor(target, key);\n });\n return res;\n};\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i];\n for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _assertThisInitialized(self1) {\n if (self1 === void 0) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self1;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nvar storedAnnotationsSymbol = /*#__PURE__*/ Symbol(\"mobx-stored-annotations\");\n/**\n * Creates a function that acts as\n * - decorator\n * - annotation object\n */ function createDecoratorAnnotation(annotation) {\n function decorator(target, property) {\n if (is20223Decorator(property)) return annotation.decorate_20223_(target, property);\n else storeAnnotation(target, property, annotation);\n }\n return Object.assign(decorator, annotation);\n}\n/**\n * Stores annotation to prototype,\n * so it can be inspected later by `makeObservable` called from constructor\n */ function storeAnnotation(prototype, key, annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) addHiddenProp(prototype, storedAnnotationsSymbol, _extends({}, prototype[storedAnnotationsSymbol]));\n var fieldName;\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key);\n // Ignore override\n if (!isOverride(annotation)) prototype[storedAnnotationsSymbol][key] = annotation;\n}\nfunction assertNotDecorated(prototype, annotation, key) {\n var fieldName, currentAnnotationType, requestedAnnotationType;\n}\n/**\n * Collects annotations from prototypes and stores them on target (instance)\n */ function collectStoredAnnotations(target) {\n if (!hasProp(target, storedAnnotationsSymbol)) // if (__DEV__ && !target[storedAnnotationsSymbol]) {\n // die(\n // `No annotations were passed to makeObservable, but no decorated members have been found either`\n // )\n // }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, _extends({}, target[storedAnnotationsSymbol]));\n return target[storedAnnotationsSymbol];\n}\nfunction is20223Decorator(context) {\n return typeof context == \"object\" && typeof context[\"kind\"] == \"string\";\n}\nfunction assert20223DecoratorType(context, types) {}\nvar $mobx = /*#__PURE__*/ Symbol(\"mobx administration\");\nvar Atom = /*#__PURE__*/ function() {\n // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */ function Atom(name_) {\n if (name_ === void 0) name_ = \"Atom\";\n this.name_ = void 0;\n this.isPendingUnobservation_ = false;\n this.isBeingObserved_ = false;\n this.observers_ = new Set();\n this.diffValue_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.NOT_TRACKING_;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n this.name_ = name_;\n }\n // onBecomeObservedListeners\n var _proto = Atom.prototype;\n _proto.onBO = function onBO() {\n if (this.onBOL) this.onBOL.forEach(function(listener) {\n return listener();\n });\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) this.onBUOL.forEach(function(listener) {\n return listener();\n });\n } /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */ ;\n _proto.reportObserved = function reportObserved$1() {\n return reportObserved(this);\n } /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */ ;\n _proto.reportChanged = function reportChanged() {\n startBatch();\n propagateChanged(this);\n endBatch();\n };\n _proto.toString = function toString() {\n return this.name_;\n };\n return Atom;\n}();\nvar isAtom = /*#__PURE__*/ createInstanceofPredicate(\"Atom\", Atom);\nfunction createAtom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (onBecomeObservedHandler === void 0) onBecomeObservedHandler = noop;\n if (onBecomeUnobservedHandler === void 0) onBecomeUnobservedHandler = noop;\n var atom = new Atom(name);\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) onBecomeObserved(atom, onBecomeObservedHandler);\n if (onBecomeUnobservedHandler !== noop) onBecomeUnobserved(atom, onBecomeUnobservedHandler);\n return atom;\n}\nfunction identityComparer(a, b) {\n return a === b;\n}\nfunction structuralComparer(a, b) {\n return deepEqual(a, b);\n}\nfunction shallowComparer(a, b) {\n return deepEqual(a, b, 1);\n}\nfunction defaultComparer(a, b) {\n if (Object.is) return Object.is(a, b);\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b;\n}\nvar comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n \"default\": defaultComparer,\n shallow: shallowComparer\n};\nfunction deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) return v;\n // something that can be converted and mutated?\n if (Array.isArray(v)) return observable.array(v, {\n name: name\n });\n if (isPlainObject(v)) return observable.object(v, undefined, {\n name: name\n });\n if (isES6Map(v)) return observable.map(v, {\n name: name\n });\n if (isES6Set(v)) return observable.set(v, {\n name: name\n });\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) return flow(v);\n else return autoAction(name, v);\n }\n return v;\n}\nfunction shallowEnhancer(v, _, name) {\n if (v === undefined || v === null) return v;\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) return v;\n if (Array.isArray(v)) return observable.array(v, {\n name: name,\n deep: false\n });\n if (isPlainObject(v)) return observable.object(v, undefined, {\n name: name,\n deep: false\n });\n if (isES6Map(v)) return observable.map(v, {\n name: name,\n deep: false\n });\n if (isES6Set(v)) return observable.set(v, {\n name: name,\n deep: false\n });\n}\nfunction referenceEnhancer(newValue) {\n // never turn into an observable\n return newValue;\n}\nfunction refStructEnhancer(v, oldValue) {\n if (deepEqual(v, oldValue)) return oldValue;\n return v;\n}\nvar OVERRIDE = \"override\";\nvar override = /*#__PURE__*/ createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_: make_,\n extend_: extend_,\n decorate_20223_: decorate_20223_\n});\nfunction isOverride(annotation) {\n return annotation.annotationType_ === OVERRIDE;\n}\nfunction make_(adm, key) {\n return 0 /* MakeResult.Cancel */ ;\n}\nfunction extend_(adm, key, descriptor, proxyTrap) {\n die(\"'\" + this.annotationType_ + \"' can only be used with 'makeObservable'\");\n}\nfunction decorate_20223_(desc, context) {\n console.warn(\"'\" + this.annotationType_ + \"' cannot be used with decorators - this is a no-op\");\n}\nfunction createActionAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$1,\n extend_: extend_$1,\n decorate_20223_: decorate_20223_$1\n };\n}\nfunction make_$1(adm, key, descriptor, source) {\n var _this$options_;\n // bound\n if ((_this$options_ = this.options_) != null && _this$options_.bound) return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */ ;\n // own\n if (source === adm.target_) return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */ ;\n // prototype\n if (isAction(descriptor.value)) // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */ ;\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false);\n defineProperty(source, key, actionDescriptor);\n return 2 /* MakeResult.Continue */ ;\n}\nfunction extend_$1(adm, key, descriptor, proxyTrap) {\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor);\n return adm.defineProperty_(key, actionDescriptor, proxyTrap);\n}\nfunction decorate_20223_$1(mthd, context) {\n var kind = context.kind, name = context.name, addInitializer = context.addInitializer;\n var ann = this;\n var _createAction = function _createAction(m) {\n var _ann$options_$name, _ann$options_, _ann$options_$autoAct, _ann$options_2;\n return createAction((_ann$options_$name = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.name) != null ? _ann$options_$name : name.toString(), m, (_ann$options_$autoAct = (_ann$options_2 = ann.options_) == null ? void 0 : _ann$options_2.autoAction) != null ? _ann$options_$autoAct : false);\n };\n // Backwards/Legacy behavior, expects makeObservable(this)\n if (kind == \"field\") {\n addInitializer(function() {\n storeAnnotation(this, name, ann);\n });\n return;\n }\n if (kind == \"method\") {\n var _this$options_2;\n if (!isAction(mthd)) mthd = _createAction(mthd);\n if ((_this$options_2 = this.options_) != null && _this$options_2.bound) addInitializer(function() {\n var self1 = this;\n var bound = self1[name].bind(self1);\n bound.isMobxAction = true;\n self1[name] = bound;\n });\n return mthd;\n }\n die(\"Cannot apply '\" + ann.annotationType_ + \"' to '\" + String(name) + \"' (kind: \" + kind + \"):\" + (\"\\n'\" + ann.annotationType_ + \"' can only be used on properties with a function value.\"));\n}\nfunction assertActionDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n}\nfunction createActionDescriptor(adm, annotation, key, descriptor, // provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n var _annotation$options_, _annotation$options_$, _annotation$options_2, _annotation$options_$2, _annotation$options_3, _annotation$options_4, _adm$proxy_2;\n if (safeDescriptors === void 0) safeDescriptors = globalState.safeDescriptors;\n assertActionDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n if ((_annotation$options_ = annotation.options_) != null && _annotation$options_.bound) {\n var _adm$proxy_;\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return {\n value: createAction((_annotation$options_$ = (_annotation$options_2 = annotation.options_) == null ? void 0 : _annotation$options_2.name) != null ? _annotation$options_$ : key.toString(), value, (_annotation$options_$2 = (_annotation$options_3 = annotation.options_) == null ? void 0 : _annotation$options_3.autoAction) != null ? _annotation$options_$2 : false, // https://github.com/mobxjs/mobx/discussions/3140\n (_annotation$options_4 = annotation.options_) != null && _annotation$options_4.bound ? (_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_ : undefined),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\nfunction createFlowAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$2,\n extend_: extend_$2,\n decorate_20223_: decorate_20223_$2\n };\n}\nfunction make_$2(adm, key, descriptor, source) {\n var _this$options_;\n // own\n if (source === adm.target_) return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */ ;\n // prototype\n // bound - must annotate protos to support super.flow()\n if ((_this$options_ = this.options_) != null && _this$options_.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) return 0 /* MakeResult.Cancel */ ;\n }\n if (isFlow(descriptor.value)) // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */ ;\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false);\n defineProperty(source, key, flowDescriptor);\n return 2 /* MakeResult.Continue */ ;\n}\nfunction extend_$2(adm, key, descriptor, proxyTrap) {\n var _this$options_2;\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, (_this$options_2 = this.options_) == null ? void 0 : _this$options_2.bound);\n return adm.defineProperty_(key, flowDescriptor, proxyTrap);\n}\nfunction decorate_20223_$2(mthd, context) {\n var _this$options_3;\n var name = context.name, addInitializer = context.addInitializer;\n if (!isFlow(mthd)) mthd = flow(mthd);\n if ((_this$options_3 = this.options_) != null && _this$options_3.bound) addInitializer(function() {\n var self1 = this;\n var bound = self1[name].bind(self1);\n bound.isMobXFlow = true;\n self1[name] = bound;\n });\n return mthd;\n}\nfunction assertFlowDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n}\nfunction createFlowDescriptor(adm, annotation, key, descriptor, bound, // provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n if (safeDescriptors === void 0) safeDescriptors = globalState.safeDescriptors;\n assertFlowDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) value = flow(value);\n if (bound) {\n var _adm$proxy_;\n // We do not keep original function around, so we bind the existing flow\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true;\n }\n return {\n value: value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\nfunction createComputedAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$3,\n extend_: extend_$3,\n decorate_20223_: decorate_20223_$3\n };\n}\nfunction make_$3(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */ ;\n}\nfunction extend_$3(adm, key, descriptor, proxyTrap) {\n assertComputedDescriptor(adm, this, key, descriptor);\n return adm.defineComputedProperty_(key, _extends({}, this.options_, {\n get: descriptor.get,\n set: descriptor.set\n }), proxyTrap);\n}\nfunction decorate_20223_$3(get, context) {\n var ann = this;\n var key = context.name, addInitializer = context.addInitializer;\n addInitializer(function() {\n var adm = asObservableObject(this)[$mobx];\n var options = _extends({}, ann.options_, {\n get: get,\n context: this\n });\n options.name || (options.name = \"ObservableObject.\" + key.toString());\n adm.values_.set(key, new ComputedValue(options));\n });\n return function() {\n return this[$mobx].getObservablePropValue_(key);\n };\n}\nfunction assertComputedDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var get = _ref2.get;\n}\nfunction createObservableAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$4,\n extend_: extend_$4,\n decorate_20223_: decorate_20223_$4\n };\n}\nfunction make_$4(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */ ;\n}\nfunction extend_$4(adm, key, descriptor, proxyTrap) {\n var _this$options_$enhanc, _this$options_;\n assertObservableDescriptor(adm, this, key, descriptor);\n return adm.defineObservableProperty_(key, descriptor.value, (_this$options_$enhanc = (_this$options_ = this.options_) == null ? void 0 : _this$options_.enhancer) != null ? _this$options_$enhanc : deepEnhancer, proxyTrap);\n}\nfunction decorate_20223_$4(desc, context) {\n var ann = this;\n var kind = context.kind, name = context.name;\n // The laziness here is not ideal... It's a workaround to how 2022.3 Decorators are implemented:\n // `addInitializer` callbacks are executed _before_ any accessors are defined (instead of the ideal-for-us right after each).\n // This means that, if we were to do our stuff in an `addInitializer`, we'd attempt to read a private slot\n // before it has been initialized. The runtime doesn't like that and throws a `Cannot read private member\n // from an object whose class did not declare it` error.\n // TODO: it seems that this will not be required anymore in the final version of the spec\n // See TODO: link\n var initializedObjects = new WeakSet();\n function initializeObservable(target, value) {\n var _ann$options_$enhance, _ann$options_;\n var adm = asObservableObject(target)[$mobx];\n var observable = new ObservableValue(value, (_ann$options_$enhance = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.enhancer) != null ? _ann$options_$enhance : deepEnhancer, \"ObservableObject.\" + name.toString(), false);\n adm.values_.set(name, observable);\n initializedObjects.add(target);\n }\n if (kind == \"accessor\") return {\n get: function get() {\n if (!initializedObjects.has(this)) initializeObservable(this, desc.get.call(this));\n return this[$mobx].getObservablePropValue_(name);\n },\n set: function set(value) {\n if (!initializedObjects.has(this)) initializeObservable(this, value);\n return this[$mobx].setObservablePropValue_(name, value);\n },\n init: function init(value) {\n if (!initializedObjects.has(this)) initializeObservable(this, value);\n return value;\n }\n };\n return;\n}\nfunction assertObservableDescriptor(adm, _ref, key, descriptor) {\n var annotationType_ = _ref.annotationType_;\n}\nvar AUTO = \"true\";\nvar autoAnnotation = /*#__PURE__*/ createAutoAnnotation();\nfunction createAutoAnnotation(options) {\n return {\n annotationType_: AUTO,\n options_: options,\n make_: make_$5,\n extend_: extend_$5,\n decorate_20223_: decorate_20223_$5\n };\n}\nfunction make_$5(adm, key, descriptor, source) {\n var _this$options_3, _this$options_4;\n // getter -> computed\n if (descriptor.get) return computed.make_(adm, key, descriptor, source);\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n var set = createAction(key.toString(), descriptor.set);\n // own\n if (source === adm.target_) return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: set\n }) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */ ;\n // proto\n defineProperty(source, key, {\n configurable: true,\n set: set\n });\n return 2 /* MakeResult.Continue */ ;\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n var _this$options_2;\n if (isGenerator(descriptor.value)) {\n var _this$options_;\n var flowAnnotation = (_this$options_ = this.options_) != null && _this$options_.autoBind ? flow.bound : flow;\n return flowAnnotation.make_(adm, key, descriptor, source);\n }\n var actionAnnotation = (_this$options_2 = this.options_) != null && _this$options_2.autoBind ? autoAction.bound : autoAction;\n return actionAnnotation.make_(adm, key, descriptor, source);\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n var observableAnnotation = ((_this$options_3 = this.options_) == null ? void 0 : _this$options_3.deep) === false ? observable.ref : observable;\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_4 = this.options_) != null && _this$options_4.autoBind) {\n var _adm$proxy_;\n descriptor.value = descriptor.value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return observableAnnotation.make_(adm, key, descriptor, source);\n}\nfunction extend_$5(adm, key, descriptor, proxyTrap) {\n var _this$options_5, _this$options_6;\n // getter -> computed\n if (descriptor.get) return computed.extend_(adm, key, descriptor, proxyTrap);\n // lone setter -> action setter\n if (descriptor.set) // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set)\n }, proxyTrap);\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_5 = this.options_) != null && _this$options_5.autoBind) {\n var _adm$proxy_2;\n descriptor.value = descriptor.value.bind((_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_);\n }\n var observableAnnotation = ((_this$options_6 = this.options_) == null ? void 0 : _this$options_6.deep) === false ? observable.ref : observable;\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap);\n}\nfunction decorate_20223_$5(desc, context) {\n die(\"'\" + this.annotationType_ + \"' cannot be used as a decorator\");\n}\nvar OBSERVABLE = \"observable\";\nvar OBSERVABLE_REF = \"observable.ref\";\nvar OBSERVABLE_SHALLOW = \"observable.shallow\";\nvar OBSERVABLE_STRUCT = \"observable.struct\";\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nvar defaultCreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n};\nObject.freeze(defaultCreateObservableOptions);\nfunction asCreateObservableOptions(thing) {\n return thing || defaultCreateObservableOptions;\n}\nvar observableAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE);\nvar observableRefAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n});\nvar observableShallowAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n});\nvar observableStructAnnotation = /*#__PURE__*/ createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n});\nvar observableDecoratorAnnotation = /*#__PURE__*/ createDecoratorAnnotation(observableAnnotation);\nfunction getEnhancerFromOptions(options) {\n return options.deep === true ? deepEnhancer : options.deep === false ? referenceEnhancer : getEnhancerFromAnnotation(options.defaultDecorator);\n}\nfunction getAnnotationFromOptions(options) {\n var _options$defaultDecor;\n return options ? (_options$defaultDecor = options.defaultDecorator) != null ? _options$defaultDecor : createAutoAnnotation(options) : undefined;\n}\nfunction getEnhancerFromAnnotation(annotation) {\n var _annotation$options_$, _annotation$options_;\n return !annotation ? deepEnhancer : (_annotation$options_$ = (_annotation$options_ = annotation.options_) == null ? void 0 : _annotation$options_.enhancer) != null ? _annotation$options_$ : deepEnhancer;\n}\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */ function createObservable(v, arg2, arg3) {\n // @observable someProp; (2022.3 Decorators)\n if (is20223Decorator(arg2)) return observableAnnotation.decorate_20223_(v, arg2);\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation);\n return;\n }\n // already observable - ignore\n if (isObservable(v)) return v;\n // plain object\n if (isPlainObject(v)) return observable.object(v, arg2, arg3);\n // Array\n if (Array.isArray(v)) return observable.array(v, arg2);\n // Map\n if (isES6Map(v)) return observable.map(v, arg2);\n // Set\n if (isES6Set(v)) return observable.set(v, arg2);\n // other object - ignore\n if (typeof v === \"object\" && v !== null) return v;\n // anything else\n return observable.box(v, arg2);\n}\nassign(createObservable, observableDecoratorAnnotation);\nvar observableFactories = {\n box: function box(value, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals);\n },\n array: function array(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return (globalState.useProxies === false || o.proxy === false ? createLegacyArray : createObservableArray)(initialValues, getEnhancerFromOptions(o), o.name);\n },\n map: function map(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name);\n },\n set: function set(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name);\n },\n object: function object(props, decorators, options) {\n return initObservable(function() {\n return extendObservable(globalState.useProxies === false || (options == null ? void 0 : options.proxy) === false ? asObservableObject({}, options) : asDynamicObservableObject({}, options), props, decorators);\n });\n },\n ref: /*#__PURE__*/ createDecoratorAnnotation(observableRefAnnotation),\n shallow: /*#__PURE__*/ createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: /*#__PURE__*/ createDecoratorAnnotation(observableStructAnnotation)\n};\n// eslint-disable-next-line\nvar observable = /*#__PURE__*/ assign(createObservable, observableFactories);\nvar COMPUTED = \"computed\";\nvar COMPUTED_STRUCT = \"computed.struct\";\nvar computedAnnotation = /*#__PURE__*/ createComputedAnnotation(COMPUTED);\nvar computedStructAnnotation = /*#__PURE__*/ createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n});\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */ var computed = function computed(arg1, arg2) {\n if (is20223Decorator(arg2)) // @computed (2022.3 Decorators)\n return computedAnnotation.decorate_20223_(arg1, arg2);\n if (isStringish(arg2)) // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation);\n if (isPlainObject(arg1)) // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1));\n var opts = isPlainObject(arg2) ? arg2 : {};\n opts.get = arg1;\n opts.name || (opts.name = arg1.name || \"\"); /* for generated name */ \n return new ComputedValue(opts);\n};\nObject.assign(computed, computedAnnotation);\ncomputed.struct = /*#__PURE__*/ createDecoratorAnnotation(computedStructAnnotation);\nvar _getDescriptor$config, _getDescriptor;\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nvar currentActionId = 0;\nvar nextActionId = 1;\nvar isFunctionNameConfigurable = (_getDescriptor$config = (_getDescriptor = /*#__PURE__*/ getDescriptor(function() {}, \"name\")) == null ? void 0 : _getDescriptor.configurable) != null ? _getDescriptor$config : false;\n// we can safely recycle this object\nvar tmpNameDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n};\nfunction createAction(actionName, fn, autoAction, ref) {\n if (autoAction === void 0) autoAction = false;\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments);\n }\n res.isMobxAction = true;\n res.toString = function() {\n return fn.toString();\n };\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName;\n defineProperty(res, \"name\", tmpNameDescriptor);\n }\n return res;\n}\nfunction executeAction(actionName, canRunAsDerivation, fn, scope, args) {\n var runInfo = _startAction(actionName, canRunAsDerivation, scope, args);\n try {\n return fn.apply(scope, args);\n } catch (err) {\n runInfo.error_ = err;\n throw err;\n } finally{\n _endAction(runInfo);\n }\n}\nfunction _startAction(actionName, canRunAsDerivation, // true for autoAction\nscope, args) {\n var notifySpy_ = false;\n var startTime_ = 0;\n var flattenedArgs;\n var prevDerivation_ = globalState.trackingDerivation;\n var runAsAction = !canRunAsDerivation || !prevDerivation_;\n startBatch();\n var prevAllowStateChanges_ = globalState.allowStateChanges; // by default preserve previous allow\n if (runAsAction) {\n untrackedStart();\n prevAllowStateChanges_ = allowStateChangesStart(true);\n }\n var prevAllowStateReads_ = allowStateReadsStart(true);\n var runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_: prevDerivation_,\n prevAllowStateChanges_: prevAllowStateChanges_,\n prevAllowStateReads_: prevAllowStateReads_,\n notifySpy_: notifySpy_,\n startTime_: startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n };\n currentActionId = runInfo.actionId_;\n return runInfo;\n}\nfunction _endAction(runInfo) {\n if (currentActionId !== runInfo.actionId_) die(30);\n currentActionId = runInfo.parentActionId_;\n if (runInfo.error_ !== undefined) globalState.suppressReactionErrors = true;\n allowStateChangesEnd(runInfo.prevAllowStateChanges_);\n allowStateReadsEnd(runInfo.prevAllowStateReads_);\n endBatch();\n if (runInfo.runAsAction_) untrackedEnd(runInfo.prevDerivation_);\n globalState.suppressReactionErrors = false;\n}\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n try {\n return func();\n } finally{\n allowStateChangesEnd(prev);\n }\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\nvar _Symbol$toPrimitive;\nvar CREATE = \"create\";\n_Symbol$toPrimitive = Symbol.toPrimitive;\nvar ObservableValue = /*#__PURE__*/ function(_Atom) {\n _inheritsLoose(ObservableValue, _Atom);\n function ObservableValue(value, enhancer, name_, notifySpy, equals) {\n var _this;\n if (name_ === void 0) name_ = \"ObservableValue\";\n if (notifySpy === void 0) notifySpy = true;\n if (equals === void 0) equals = comparer[\"default\"];\n _this = _Atom.call(this, name_) || this;\n _this.enhancer = void 0;\n _this.name_ = void 0;\n _this.equals = void 0;\n _this.hasUnreportedChange_ = false;\n _this.interceptors_ = void 0;\n _this.changeListeners_ = void 0;\n _this.value_ = void 0;\n _this.dehancer = void 0;\n _this.enhancer = enhancer;\n _this.name_ = name_;\n _this.equals = equals;\n _this.value_ = enhancer(value, undefined, name_);\n return _this;\n }\n var _proto = ObservableValue.prototype;\n _proto.dehanceValue = function dehanceValue(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.set = function set(newValue) {\n var oldValue = this.value_;\n newValue = this.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n this.setNewValue_(newValue);\n }\n };\n _proto.prepareNewValue_ = function prepareNewValue_(newValue) {\n checkIfStateModificationsAreAllowed(this);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this,\n type: UPDATE,\n newValue: newValue\n });\n if (!change) return globalState.UNCHANGED;\n newValue = change.newValue;\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_);\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue;\n };\n _proto.setNewValue_ = function setNewValue_(newValue) {\n var oldValue = this.value_;\n this.value_ = newValue;\n this.reportChanged();\n if (hasListeners(this)) notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue: newValue,\n oldValue: oldValue\n });\n };\n _proto.get = function get() {\n this.reportObserved();\n return this.dehanceValue(this.value_);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately) listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n });\n return registerListener(this, listener);\n };\n _proto.raw = function raw() {\n // used by MST ot get undehanced value\n return this.value_;\n };\n _proto.toJSON = function toJSON() {\n return this.get();\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.value_ + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[_Symbol$toPrimitive] = function() {\n return this.valueOf();\n };\n return ObservableValue;\n}(Atom);\nvar isObservableValue = /*#__PURE__*/ createInstanceofPredicate(\"ObservableValue\", ObservableValue);\nvar _Symbol$toPrimitive$1;\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */ _Symbol$toPrimitive$1 = Symbol.toPrimitive;\nvar ComputedValue = /*#__PURE__*/ function() {\n // nodes we are looking at. Our value depends on these nodes\n // during tracking it's an array with new observed observers\n // to check for cycles\n // N.B: unminified as it is used by MST\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */ function ComputedValue(options) {\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.observing_ = [];\n this.newObserving_ = null;\n this.isBeingObserved_ = false;\n this.isPendingUnobservation_ = false;\n this.observers_ = new Set();\n this.diffValue_ = 0;\n this.runId_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n this.unboundDepsCount_ = 0;\n this.value_ = new CaughtException(null);\n this.name_ = void 0;\n this.triggeredBy_ = void 0;\n this.isComputing_ = false;\n this.isRunningSetter_ = false;\n this.derivation = void 0;\n this.setter_ = void 0;\n this.isTracing_ = TraceMode.NONE;\n this.scope_ = void 0;\n this.equals_ = void 0;\n this.requiresReaction_ = void 0;\n this.keepAlive_ = void 0;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n if (!options.get) die(31);\n this.derivation = options.get;\n this.name_ = options.name || \"ComputedValue\";\n if (options.set) this.setter_ = createAction(\"ComputedValue-setter\", options.set);\n this.equals_ = options.equals || (options.compareStructural || options.struct ? comparer.structural : comparer[\"default\"]);\n this.scope_ = options.context;\n this.requiresReaction_ = options.requiresReaction;\n this.keepAlive_ = !!options.keepAlive;\n }\n var _proto = ComputedValue.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n propagateMaybeChanged(this);\n };\n _proto.onBO = function onBO() {\n if (this.onBOL) this.onBOL.forEach(function(listener) {\n return listener();\n });\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) this.onBUOL.forEach(function(listener) {\n return listener();\n });\n } /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */ ;\n _proto.get = function get() {\n if (this.isComputing_) die(32, this.name_, this.derivation);\n if (globalState.inBatch === 0 && // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 && !this.keepAlive_) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_();\n startBatch(); // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false);\n endBatch();\n }\n } else {\n reportObserved(this);\n if (shouldCompute(this)) {\n var prevTrackingContext = globalState.trackingContext;\n if (this.keepAlive_ && !prevTrackingContext) globalState.trackingContext = this;\n if (this.trackAndCompute()) propagateChangeConfirmed(this);\n globalState.trackingContext = prevTrackingContext;\n }\n }\n var result = this.value_;\n if (isCaughtException(result)) throw result.cause;\n return result;\n };\n _proto.set = function set(value) {\n if (this.setter_) {\n if (this.isRunningSetter_) die(33, this.name_);\n this.isRunningSetter_ = true;\n try {\n this.setter_.call(this.scope_, value);\n } finally{\n this.isRunningSetter_ = false;\n }\n } else die(34, this.name_);\n };\n _proto.trackAndCompute = function trackAndCompute() {\n // N.B: unminified as it is used by MST\n var oldValue = this.value_;\n var wasSuspended = /* see #1208 */ this.dependenciesState_ === IDerivationState_.NOT_TRACKING_;\n var newValue = this.computeValue_(true);\n var changed = wasSuspended || isCaughtException(oldValue) || isCaughtException(newValue) || !this.equals_(oldValue, newValue);\n if (changed) this.value_ = newValue;\n return changed;\n };\n _proto.computeValue_ = function computeValue_(track) {\n this.isComputing_ = true;\n // don't allow state changes during computation\n var prev = allowStateChangesStart(false);\n var res;\n if (track) res = trackDerivedFunction(this, this.derivation, this.scope_);\n else {\n if (globalState.disableErrorBoundaries === true) res = this.derivation.call(this.scope_);\n else try {\n res = this.derivation.call(this.scope_);\n } catch (e) {\n res = new CaughtException(e);\n }\n }\n allowStateChangesEnd(prev);\n this.isComputing_ = false;\n return res;\n };\n _proto.suspend_ = function suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this);\n this.value_ = undefined; // don't hold on to computed value!\n }\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function() {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener({\n observableKind: \"computed\",\n debugObjectName: _this.name_,\n type: UPDATE,\n object: _this,\n newValue: newValue,\n oldValue: prevValue\n });\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n _proto.warnAboutUntrackedRead_ = function warnAboutUntrackedRead_() {\n return;\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.derivation.toString() + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[_Symbol$toPrimitive$1] = function() {\n return this.valueOf();\n };\n return ComputedValue;\n}();\nvar isComputedValue = /*#__PURE__*/ createInstanceofPredicate(\"ComputedValue\", ComputedValue);\nvar IDerivationState_;\n(function(IDerivationState_) {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n IDerivationState_[IDerivationState_[\"NOT_TRACKING_\"] = -1] = \"NOT_TRACKING_\";\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n IDerivationState_[IDerivationState_[\"UP_TO_DATE_\"] = 0] = \"UP_TO_DATE_\";\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n IDerivationState_[IDerivationState_[\"POSSIBLY_STALE_\"] = 1] = \"POSSIBLY_STALE_\";\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n IDerivationState_[IDerivationState_[\"STALE_\"] = 2] = \"STALE_\";\n})(IDerivationState_ || (IDerivationState_ = {}));\nvar TraceMode;\n(function(TraceMode) {\n TraceMode[TraceMode[\"NONE\"] = 0] = \"NONE\";\n TraceMode[TraceMode[\"LOG\"] = 1] = \"LOG\";\n TraceMode[TraceMode[\"BREAK\"] = 2] = \"BREAK\";\n})(TraceMode || (TraceMode = {}));\nvar CaughtException = function CaughtException(cause) {\n this.cause = void 0;\n this.cause = cause;\n// Empty\n};\nfunction isCaughtException(e) {\n return e instanceof CaughtException;\n}\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */ function shouldCompute(derivation) {\n switch(derivation.dependenciesState_){\n case IDerivationState_.UP_TO_DATE_:\n return false;\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true;\n case IDerivationState_.POSSIBLY_STALE_:\n // state propagation can occur outside of action/reactive context #2195\n var prevAllowStateReads = allowStateReadsStart(true);\n var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n var obs = derivation.observing_, l = obs.length;\n for(var i = 0; i < l; i++){\n var obj = obs[i];\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) obj.get();\n else try {\n obj.get();\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if (derivation.dependenciesState_ === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n }\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return false;\n }\n}\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null; // filter out actions inside computations\n}\nfunction checkIfStateModificationsAreAllowed(atom) {\n var hasObservers;\n return;\n}\nfunction checkIfStateReadsAreAllowed(observable) {}\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */ function trackDerivedFunction(derivation, f, context) {\n var prevAllowStateReads = allowStateReadsStart(true);\n // pre allocate array allocation + room for variation in deps\n // array will be trimmed by bindDependencies\n changeDependenciesStateTo0(derivation);\n derivation.newObserving_ = new Array(derivation.observing_.length + 100);\n derivation.unboundDepsCount_ = 0;\n derivation.runId_ = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n globalState.inBatch++;\n var result;\n if (globalState.disableErrorBoundaries === true) result = f.call(context);\n else try {\n result = f.call(context);\n } catch (e) {\n result = new CaughtException(e);\n }\n globalState.inBatch--;\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n warnAboutDerivationWithoutDependencies(derivation);\n allowStateReadsEnd(prevAllowStateReads);\n return result;\n}\nfunction warnAboutDerivationWithoutDependencies(derivation) {\n return;\n}\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */ function bindDependencies(derivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n var prevObserving = derivation.observing_;\n var observing = derivation.observing_ = derivation.newObserving_;\n var lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_;\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n var i0 = 0, l = derivation.unboundDepsCount_;\n for(var i = 0; i < l; i++){\n var dep = observing[i];\n if (dep.diffValue_ === 0) {\n dep.diffValue_ = 1;\n if (i0 !== i) observing[i0] = dep;\n i0++;\n }\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (dep.dependenciesState_ > lowestNewObservingDerivationState) lowestNewObservingDerivationState = dep.dependenciesState_;\n }\n observing.length = i0;\n derivation.newObserving_ = null; // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length;\n while(l--){\n var _dep = prevObserving[l];\n if (_dep.diffValue_ === 0) removeObserver(_dep, derivation);\n _dep.diffValue_ = 0;\n }\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while(i0--){\n var _dep2 = observing[i0];\n if (_dep2.diffValue_ === 1) {\n _dep2.diffValue_ = 0;\n addObserver(_dep2, derivation);\n }\n }\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState;\n derivation.onBecomeStale_();\n }\n}\nfunction clearObserving(derivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n var obs = derivation.observing_;\n derivation.observing_ = [];\n var i = obs.length;\n while(i--)removeObserver(obs[i], derivation);\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n try {\n return action();\n } finally{\n untrackedEnd(prev);\n }\n}\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction allowStateReadsStart(allowStateReads) {\n var prev = globalState.allowStateReads;\n globalState.allowStateReads = allowStateReads;\n return prev;\n}\nfunction allowStateReadsEnd(prev) {\n globalState.allowStateReads = prev;\n}\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */ function changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) return;\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_;\n var obs = derivation.observing_;\n var i = obs.length;\n while(i--)obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n}\n/**\n * These values will persist if global state is reset\n */ var persistentKeys = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\",\n \"useProxies\"\n];\nvar MobXGlobals = function MobXGlobals() {\n this.version = 6;\n this.UNCHANGED = {};\n this.trackingDerivation = null;\n this.trackingContext = null;\n this.runId = 0;\n this.mobxGuid = 0;\n this.inBatch = 0;\n this.pendingUnobservations = [];\n this.pendingReactions = [];\n this.isRunningReactions = false;\n this.allowStateChanges = false;\n this.allowStateReads = true;\n this.enforceActions = true;\n this.spyListeners = [];\n this.globalReactionErrorHandlers = [];\n this.computedRequiresReaction = false;\n this.reactionRequiresObservable = false;\n this.observableRequiresReaction = false;\n this.disableErrorBoundaries = false;\n this.suppressReactionErrors = false;\n this.useProxies = true;\n this.verifyProxies = false;\n this.safeDescriptors = true;\n};\nvar canMergeGlobalState = true;\nvar isolateCalled = false;\nvar globalState = /*#__PURE__*/ function() {\n var global1 = /*#__PURE__*/ getGlobal();\n if (global1.__mobxInstanceCount > 0 && !global1.__mobxGlobals) canMergeGlobalState = false;\n if (global1.__mobxGlobals && global1.__mobxGlobals.version !== new MobXGlobals().version) canMergeGlobalState = false;\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(function() {\n if (!isolateCalled) die(35);\n }, 1);\n return new MobXGlobals();\n } else if (global1.__mobxGlobals) {\n global1.__mobxInstanceCount += 1;\n if (!global1.__mobxGlobals.UNCHANGED) global1.__mobxGlobals.UNCHANGED = {};\n // make merge backward compatible\n return global1.__mobxGlobals;\n } else {\n global1.__mobxInstanceCount = 1;\n return global1.__mobxGlobals = /*#__PURE__*/ new MobXGlobals();\n }\n}();\nfunction isolateGlobalState() {\n if (globalState.pendingReactions.length || globalState.inBatch || globalState.isRunningReactions) die(36);\n isolateCalled = true;\n if (canMergeGlobalState) {\n var global1 = getGlobal();\n if (--global1.__mobxInstanceCount === 0) global1.__mobxGlobals = undefined;\n globalState = new MobXGlobals();\n }\n}\nfunction getGlobalState() {\n return globalState;\n}\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */ function resetGlobalState() {\n var defaultGlobals = new MobXGlobals();\n for(var key in defaultGlobals)if (persistentKeys.indexOf(key) === -1) globalState[key] = defaultGlobals[key];\n globalState.allowStateChanges = !globalState.enforceActions;\n}\nfunction hasObservers(observable) {\n return observable.observers_ && observable.observers_.size > 0;\n}\nfunction getObservers(observable) {\n return observable.observers_;\n}\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nfunction addObserver(observable, node) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n observable.observers_.add(node);\n if (observable.lowestObserverState_ > node.dependenciesState_) observable.lowestObserverState_ = node.dependenciesState_;\n// invariantObservers(observable);\n// invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\nfunction removeObserver(observable, node) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_[\"delete\"](node);\n if (observable.observers_.size === 0) // deleting last observer\n queueForUnobservation(observable);\n// invariantObservers(observable);\n// invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\nfunction queueForUnobservation(observable) {\n if (observable.isPendingUnobservation_ === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation_ = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */ function startBatch() {\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions();\n // the batch is actually about to finish, all unobserving should happen here.\n var list = globalState.pendingUnobservations;\n for(var i = 0; i < list.length; i++){\n var observable = list[i];\n observable.isPendingUnobservation_ = false;\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved_) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved_ = false;\n observable.onBUO();\n }\n if (observable instanceof ComputedValue) // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_();\n }\n }\n globalState.pendingUnobservations = [];\n }\n}\nfunction reportObserved(observable) {\n checkIfStateReadsAreAllowed(observable);\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */ if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_;\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_[derivation.unboundDepsCount_++] = observable;\n if (!observable.isBeingObserved_ && globalState.trackingContext) {\n observable.isBeingObserved_ = true;\n observable.onBO();\n }\n }\n return observable.isBeingObserved_;\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) queueForUnobservation(observable);\n return false;\n}\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */ // Called by Atom when its value changes\nfunction propagateChanged(observable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) return;\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(function(d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) d.onBecomeStale_();\n d.dependenciesState_ = IDerivationState_.STALE_;\n });\n// invariantLOS(observable, \"changed end\");\n}\n// Called by ComputedValue when it recalculate and its value changed\nfunction propagateChangeConfirmed(observable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) return;\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n observable.observers_.forEach(function(d) {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) d.dependenciesState_ = IDerivationState_.STALE_;\n else if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n ) observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n });\n// invariantLOS(observable, \"confirmed end\");\n}\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nfunction propagateMaybeChanged(observable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) return;\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_;\n observable.observers_.forEach(function(d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_;\n d.onBecomeStale_();\n }\n });\n// invariantLOS(observable, \"maybe end\");\n}\nfunction logTraceInfo(derivation, observable) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' is invalidated due to a change in: '\" + observable.name_ + \"'\");\n if (derivation.isTracing_ === TraceMode.BREAK) {\n var lines = [];\n printDepTree(getDependencyTree(derivation), lines, 1);\n // prettier-ignore\n new Function(\"debugger;\\n/*\\nTracing '\" + derivation.name_ + \"'\\n\\nYou are entering this break point because derivation '\" + derivation.name_ + \"' is being traced and '\" + observable.name_ + \"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\" + (derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\") + \"\\n\\nThe dependencies for this derivation are:\\n\\n\" + lines.join(\"\\n\") + \"\\n*/\\n \")();\n }\n}\nfunction printDepTree(tree, lines, depth) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\");\n return;\n }\n lines.push(\"\" + \"\t\".repeat(depth - 1) + tree.name);\n if (tree.dependencies) tree.dependencies.forEach(function(child) {\n return printDepTree(child, lines, depth + 1);\n });\n}\nvar Reaction = /*#__PURE__*/ function() {\n // nodes we are looking at. Our value depends on these nodes\n function Reaction(name_, onInvalidate_, errorHandler_, requiresObservable_) {\n if (name_ === void 0) name_ = \"Reaction\";\n this.name_ = void 0;\n this.onInvalidate_ = void 0;\n this.errorHandler_ = void 0;\n this.requiresObservable_ = void 0;\n this.observing_ = [];\n this.newObserving_ = [];\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.diffValue_ = 0;\n this.runId_ = 0;\n this.unboundDepsCount_ = 0;\n this.isDisposed_ = false;\n this.isScheduled_ = false;\n this.isTrackPending_ = false;\n this.isRunning_ = false;\n this.isTracing_ = TraceMode.NONE;\n this.name_ = name_;\n this.onInvalidate_ = onInvalidate_;\n this.errorHandler_ = errorHandler_;\n this.requiresObservable_ = requiresObservable_;\n }\n var _proto = Reaction.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n this.schedule_();\n };\n _proto.schedule_ = function schedule_() {\n if (!this.isScheduled_) {\n this.isScheduled_ = true;\n globalState.pendingReactions.push(this);\n runReactions();\n }\n };\n _proto.isScheduled = function isScheduled() {\n return this.isScheduled_;\n } /**\n * internal, use schedule() if you intend to kick off a reaction\n */ ;\n _proto.runReaction_ = function runReaction_() {\n if (!this.isDisposed_) {\n startBatch();\n this.isScheduled_ = false;\n var prev = globalState.trackingContext;\n globalState.trackingContext = this;\n if (shouldCompute(this)) {\n this.isTrackPending_ = true;\n try {\n this.onInvalidate_();\n } catch (e) {\n this.reportExceptionInDerivation_(e);\n }\n }\n globalState.trackingContext = prev;\n endBatch();\n }\n };\n _proto.track = function track(fn) {\n if (this.isDisposed_) return;\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n this.isRunning_ = true;\n var prevReaction = globalState.trackingContext; // reactions could create reactions...\n globalState.trackingContext = this;\n var result = trackDerivedFunction(this, fn, undefined);\n globalState.trackingContext = prevReaction;\n this.isRunning_ = false;\n this.isTrackPending_ = false;\n if (this.isDisposed_) // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this);\n if (isCaughtException(result)) this.reportExceptionInDerivation_(result.cause);\n endBatch();\n };\n _proto.reportExceptionInDerivation_ = function reportExceptionInDerivation_(error) {\n var _this = this;\n if (this.errorHandler_) {\n this.errorHandler_(error, this);\n return;\n }\n if (globalState.disableErrorBoundaries) throw error;\n var message = \"[mobx] uncaught error in '\" + this + \"'\";\n if (!globalState.suppressReactionErrors) console.error(message, error);\n // prettier-ignore\n globalState.globalReactionErrorHandlers.forEach(function(f) {\n return f(error, _this);\n });\n };\n _proto.dispose = function dispose() {\n if (!this.isDisposed_) {\n this.isDisposed_ = true;\n if (!this.isRunning_) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n _proto.getDisposer_ = function getDisposer_(abortSignal) {\n var _this2 = this;\n var dispose = function dispose() {\n _this2.dispose();\n abortSignal == null || abortSignal.removeEventListener == null || abortSignal.removeEventListener(\"abort\", dispose);\n };\n abortSignal == null || abortSignal.addEventListener == null || abortSignal.addEventListener(\"abort\", dispose);\n dispose[$mobx] = this;\n return dispose;\n };\n _proto.toString = function toString() {\n return \"Reaction[\" + this.name_ + \"]\";\n };\n _proto.trace = function trace$1(enterBreakPoint) {\n if (enterBreakPoint === void 0) enterBreakPoint = false;\n trace(this, enterBreakPoint);\n };\n return Reaction;\n}();\nfunction onReactionError(handler) {\n globalState.globalReactionErrorHandlers.push(handler);\n return function() {\n var idx = globalState.globalReactionErrorHandlers.indexOf(handler);\n if (idx >= 0) globalState.globalReactionErrorHandlers.splice(idx, 1);\n };\n}\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */ var MAX_REACTION_ITERATIONS = 100;\nvar reactionScheduler = function reactionScheduler(f) {\n return f();\n};\nfunction runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) return;\n reactionScheduler(runReactionsHelper);\n}\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while(allReactions.length > 0){\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(\"[mobx] cycle in reaction: \" + allReactions[0]);\n allReactions.splice(0); // clear reactions\n }\n var remainingReactions = allReactions.splice(0);\n for(var i = 0, l = remainingReactions.length; i < l; i++)remainingReactions[i].runReaction_();\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = /*#__PURE__*/ createInstanceofPredicate(\"Reaction\", Reaction);\nfunction setReactionScheduler(fn) {\n var baseScheduler = reactionScheduler;\n reactionScheduler = function reactionScheduler(f) {\n return fn(function() {\n return baseScheduler(f);\n });\n };\n}\nfunction isSpyEnabled() {\n return false;\n}\nfunction spyReport(event) {\n var listeners, i, l;\n return;\n}\nfunction spyReportStart(event) {\n var change;\n return;\n}\nvar END_EVENT = {\n type: \"report-end\",\n spyReportEnd: true\n};\nfunction spyReportEnd(change) {\n return;\n}\nfunction spy(listener) {\n console.warn(\"[mobx.spy] Is a no-op in production builds\");\n return function() {};\n}\nvar ACTION = \"action\";\nvar ACTION_BOUND = \"action.bound\";\nvar AUTOACTION = \"autoAction\";\nvar AUTOACTION_BOUND = \"autoAction.bound\";\nvar DEFAULT_ACTION_NAME = \"\";\nvar actionAnnotation = /*#__PURE__*/ createActionAnnotation(ACTION);\nvar actionBoundAnnotation = /*#__PURE__*/ createActionAnnotation(ACTION_BOUND, {\n bound: true\n});\nvar autoActionAnnotation = /*#__PURE__*/ createActionAnnotation(AUTOACTION, {\n autoAction: true\n});\nvar autoActionBoundAnnotation = /*#__PURE__*/ createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n});\nfunction createActionFactory(autoAction) {\n var res = function action(arg1, arg2) {\n // action(fn() {})\n if (isFunction(arg1)) return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction);\n // action(\"name\", fn() {})\n if (isFunction(arg2)) return createAction(arg1, arg2, autoAction);\n // @action (2022.3 Decorators)\n if (is20223Decorator(arg2)) return (autoAction ? autoActionAnnotation : actionAnnotation).decorate_20223_(arg1, arg2);\n // @action\n if (isStringish(arg2)) return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation);\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) return createDecoratorAnnotation(createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction: autoAction\n }));\n };\n return res;\n}\nvar action = /*#__PURE__*/ createActionFactory(false);\nObject.assign(action, actionAnnotation);\nvar autoAction = /*#__PURE__*/ createActionFactory(true);\nObject.assign(autoAction, autoActionAnnotation);\naction.bound = /*#__PURE__*/ createDecoratorAnnotation(actionBoundAnnotation);\nautoAction.bound = /*#__PURE__*/ createDecoratorAnnotation(autoActionBoundAnnotation);\nfunction runInAction(fn) {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined);\n}\nfunction isAction(thing) {\n return isFunction(thing) && thing.isMobxAction === true;\n}\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */ function autorun(view, opts) {\n var _opts$name, _opts, _opts2, _opts2$signal, _opts3;\n if (opts === void 0) opts = EMPTY_OBJECT;\n var name = (_opts$name = (_opts = opts) == null ? void 0 : _opts.name) != null ? _opts$name : \"Autorun\";\n var runSync = !opts.scheduler && !opts.delay;\n var reaction;\n if (runSync) // normal autorun\n reaction = new Reaction(name, function() {\n this.track(reactionRunner);\n }, opts.onError, opts.requiresObservable);\n else {\n var scheduler = createSchedulerFromOptions(opts);\n // debounced autorun\n var isScheduled = false;\n reaction = new Reaction(name, function() {\n if (!isScheduled) {\n isScheduled = true;\n scheduler(function() {\n isScheduled = false;\n if (!reaction.isDisposed_) reaction.track(reactionRunner);\n });\n }\n }, opts.onError, opts.requiresObservable);\n }\n function reactionRunner() {\n view(reaction);\n }\n if (!((_opts2 = opts) != null && (_opts2$signal = _opts2.signal) != null && _opts2$signal.aborted)) reaction.schedule_();\n return reaction.getDisposer_((_opts3 = opts) == null ? void 0 : _opts3.signal);\n}\nvar run = function run(f) {\n return f();\n};\nfunction createSchedulerFromOptions(opts) {\n return opts.scheduler ? opts.scheduler : opts.delay ? function(f) {\n return setTimeout(f, opts.delay);\n } : run;\n}\nfunction reaction(expression, effect, opts) {\n var _opts$name2, _opts4, _opts4$signal, _opts5;\n if (opts === void 0) opts = EMPTY_OBJECT;\n var name = (_opts$name2 = opts.name) != null ? _opts$name2 : \"Reaction\";\n var effectAction = action(name, opts.onError ? wrapErrorHandler(opts.onError, effect) : effect);\n var runSync = !opts.scheduler && !opts.delay;\n var scheduler = createSchedulerFromOptions(opts);\n var firstTime = true;\n var isScheduled = false;\n var value;\n var oldValue;\n var equals = opts.compareStructural ? comparer.structural : opts.equals || comparer[\"default\"];\n var r = new Reaction(name, function() {\n if (firstTime || runSync) reactionRunner();\n else if (!isScheduled) {\n isScheduled = true;\n scheduler(reactionRunner);\n }\n }, opts.onError, opts.requiresObservable);\n function reactionRunner() {\n isScheduled = false;\n if (r.isDisposed_) return;\n var changed = false;\n r.track(function() {\n var nextValue = allowStateChanges(false, function() {\n return expression(r);\n });\n changed = firstTime || !equals(value, nextValue);\n oldValue = value;\n value = nextValue;\n });\n if (firstTime && opts.fireImmediately) effectAction(value, oldValue, r);\n else if (!firstTime && changed) effectAction(value, oldValue, r);\n firstTime = false;\n }\n if (!((_opts4 = opts) != null && (_opts4$signal = _opts4.signal) != null && _opts4$signal.aborted)) r.schedule_();\n return r.getDisposer_((_opts5 = opts) == null ? void 0 : _opts5.signal);\n}\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function() {\n try {\n return baseFn.apply(this, arguments);\n } catch (e) {\n errorHandler.call(this, e);\n }\n };\n}\nvar ON_BECOME_OBSERVED = \"onBO\";\nvar ON_BECOME_UNOBSERVED = \"onBUO\";\nfunction onBecomeObserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3);\n}\nfunction onBecomeUnobserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3);\n}\nfunction interceptHook(hook, thing, arg2, arg3) {\n var atom = typeof arg3 === \"function\" ? getAtom(thing, arg2) : getAtom(thing);\n var cb = isFunction(arg3) ? arg3 : arg2;\n var listenersKey = hook + \"L\";\n if (atom[listenersKey]) atom[listenersKey].add(cb);\n else atom[listenersKey] = new Set([\n cb\n ]);\n return function() {\n var hookListeners = atom[listenersKey];\n if (hookListeners) {\n hookListeners[\"delete\"](cb);\n if (hookListeners.size === 0) delete atom[listenersKey];\n }\n };\n}\nvar NEVER = \"never\";\nvar ALWAYS = \"always\";\nvar OBSERVED = \"observed\";\n// const IF_AVAILABLE = \"ifavailable\"\nfunction configure(options) {\n if (options.isolateGlobalState === true) isolateGlobalState();\n var useProxies = options.useProxies, enforceActions = options.enforceActions;\n if (useProxies !== undefined) globalState.useProxies = useProxies === ALWAYS ? true : useProxies === NEVER ? false : typeof Proxy !== \"undefined\";\n if (useProxies === \"ifavailable\") globalState.verifyProxies = true;\n if (enforceActions !== undefined) {\n var ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED;\n globalState.enforceActions = ea;\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true;\n }\n [\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"disableErrorBoundaries\",\n \"safeDescriptors\"\n ].forEach(function(key) {\n if (key in options) globalState[key] = !!options[key];\n });\n globalState.allowStateReads = !globalState.observableRequiresReaction;\n if (options.reactionScheduler) setReactionScheduler(options.reactionScheduler);\n}\nfunction extendObservable(target, properties, annotations, options) {\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n var descriptors = getOwnPropertyDescriptors(properties);\n initObservable(function() {\n var adm = asObservableObject(target, options)[$mobx];\n ownKeys(descriptors).forEach(function(key) {\n adm.extend_(key, descriptors[key], // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true);\n });\n });\n return target;\n}\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name_\n };\n if (node.observing_ && node.observing_.length > 0) result.dependencies = unique(node.observing_).map(nodeToDependencyTree);\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name_\n };\n if (hasObservers(node)) result.observers = Array.from(getObservers(node)).map(nodeToObserverTree);\n return result;\n}\nfunction unique(list) {\n return Array.from(new Set(list));\n}\nvar generatorId = 0;\nfunction FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\";\n}\nFlowCancellationError.prototype = /*#__PURE__*/ Object.create(Error.prototype);\nfunction isFlowCancellationError(error) {\n return error instanceof FlowCancellationError;\n}\nvar flowAnnotation = /*#__PURE__*/ createFlowAnnotation(\"flow\");\nvar flowBoundAnnotation = /*#__PURE__*/ createFlowAnnotation(\"flow.bound\", {\n bound: true\n});\nvar flow = /*#__PURE__*/ Object.assign(function flow(arg1, arg2) {\n // @flow (2022.3 Decorators)\n if (is20223Decorator(arg2)) return flowAnnotation.decorate_20223_(arg1, arg2);\n // @flow\n if (isStringish(arg2)) return storeAnnotation(arg1, arg2, flowAnnotation);\n var generator = arg1;\n var name = generator.name || \"\";\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n var res = function res() {\n var ctx = this;\n var args = arguments;\n var runId = ++generatorId;\n var gen = action(name + \" - runid: \" + runId + \" - init\", generator).apply(ctx, args);\n var rejector;\n var pendingPromise = undefined;\n var promise = new Promise(function(resolve, reject) {\n var stepId = 0;\n rejector = reject;\n function onFulfilled(res) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.next).call(gen, res);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function onRejected(err) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen[\"throw\"]).call(gen, err);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function next(ret) {\n if (isFunction(ret == null ? void 0 : ret.then)) {\n // an async iterator\n ret.then(next, reject);\n return;\n }\n if (ret.done) return resolve(ret.value);\n pendingPromise = Promise.resolve(ret.value);\n return pendingPromise.then(onFulfilled, onRejected);\n }\n onFulfilled(undefined); // kick off the process\n });\n promise.cancel = action(name + \" - runid: \" + runId + \" - cancel\", function() {\n try {\n if (pendingPromise) cancelPromise(pendingPromise);\n // Finally block can return (or yield) stuff..\n var _res = gen[\"return\"](undefined);\n // eat anything that promise would do, it's cancelled!\n var yieldedPromise = Promise.resolve(_res.value);\n yieldedPromise.then(noop, noop);\n cancelPromise(yieldedPromise); // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError());\n } catch (e) {\n rejector(e); // there could be a throwing finally block\n }\n });\n return promise;\n };\n res.isMobXFlow = true;\n return res;\n}, flowAnnotation);\nflow.bound = /*#__PURE__*/ createDecoratorAnnotation(flowBoundAnnotation);\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) promise.cancel();\n}\nfunction flowResult(result) {\n return result; // just tricking TypeScript :)\n}\nfunction isFlow(fn) {\n return (fn == null ? void 0 : fn.isMobXFlow) === true;\n}\nfunction interceptReads(thing, propOrHandler, handler) {\n var target;\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) target = getAdministration(thing);\n else if (isObservableObject(thing)) target = getAdministration(thing, propOrHandler);\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler;\n return function() {\n target.dehancer = undefined;\n };\n}\nfunction intercept(thing, propOrHandler, handler) {\n if (isFunction(handler)) return interceptProperty(thing, propOrHandler, handler);\n else return interceptInterceptable(thing, propOrHandler);\n}\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler);\n}\nfunction _isComputed(value, property) {\n if (property === undefined) return isComputedValue(value);\n if (isObservableObject(value) === false) return false;\n if (!value[$mobx].values_.has(property)) return false;\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n}\nfunction isComputed(value) {\n return _isComputed(value);\n}\nfunction isComputedProp(value, propName) {\n return _isComputed(value, propName);\n}\nfunction _isObservable(value, property) {\n if (!value) return false;\n if (property !== undefined) {\n if (isObservableObject(value)) return value[$mobx].values_.has(property);\n return false;\n }\n // For first check, see #701\n return isObservableObject(value) || !!value[$mobx] || isAtom(value) || isReaction(value) || isComputedValue(value);\n}\nfunction isObservable(value) {\n return _isObservable(value);\n}\nfunction isObservableProp(value, propName) {\n return _isObservable(value, propName);\n}\nfunction keys(obj) {\n if (isObservableObject(obj)) return obj[$mobx].keys_();\n if (isObservableMap(obj) || isObservableSet(obj)) return Array.from(obj.keys());\n if (isObservableArray(obj)) return obj.map(function(_, index) {\n return index;\n });\n die(5);\n}\nfunction values(obj) {\n if (isObservableObject(obj)) return keys(obj).map(function(key) {\n return obj[key];\n });\n if (isObservableMap(obj)) return keys(obj).map(function(key) {\n return obj.get(key);\n });\n if (isObservableSet(obj)) return Array.from(obj.values());\n if (isObservableArray(obj)) return obj.slice();\n die(6);\n}\nfunction entries(obj) {\n if (isObservableObject(obj)) return keys(obj).map(function(key) {\n return [\n key,\n obj[key]\n ];\n });\n if (isObservableMap(obj)) return keys(obj).map(function(key) {\n return [\n key,\n obj.get(key)\n ];\n });\n if (isObservableSet(obj)) return Array.from(obj.entries());\n if (isObservableArray(obj)) return obj.map(function(key, index) {\n return [\n index,\n key\n ];\n });\n die(7);\n}\nfunction set(obj, key, value) {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch();\n var _values = key;\n try {\n for(var _key in _values)set(obj, _key, _values[_key]);\n } finally{\n endBatch();\n }\n return;\n }\n if (isObservableObject(obj)) obj[$mobx].set_(key, value);\n else if (isObservableMap(obj)) obj.set(key, value);\n else if (isObservableSet(obj)) obj.add(key);\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") key = parseInt(key, 10);\n if (key < 0) die(\"Invalid index: '\" + key + \"'\");\n startBatch();\n if (key >= obj.length) obj.length = key + 1;\n obj[key] = value;\n endBatch();\n } else die(8);\n}\nfunction remove(obj, key) {\n if (isObservableObject(obj)) obj[$mobx].delete_(key);\n else if (isObservableMap(obj)) obj[\"delete\"](key);\n else if (isObservableSet(obj)) obj[\"delete\"](key);\n else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") key = parseInt(key, 10);\n obj.splice(key, 1);\n } else die(9);\n}\nfunction has(obj, key) {\n if (isObservableObject(obj)) return obj[$mobx].has_(key);\n else if (isObservableMap(obj)) return obj.has(key);\n else if (isObservableSet(obj)) return obj.has(key);\n else if (isObservableArray(obj)) return key >= 0 && key < obj.length;\n die(10);\n}\nfunction get(obj, key) {\n if (!has(obj, key)) return undefined;\n if (isObservableObject(obj)) return obj[$mobx].get_(key);\n else if (isObservableMap(obj)) return obj.get(key);\n else if (isObservableArray(obj)) return obj[key];\n die(11);\n}\nfunction apiDefineProperty(obj, key, descriptor) {\n if (isObservableObject(obj)) return obj[$mobx].defineProperty_(key, descriptor);\n die(39);\n}\nfunction apiOwnKeys(obj) {\n if (isObservableObject(obj)) return obj[$mobx].ownKeys_();\n die(38);\n}\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (isFunction(cbOrFire)) return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n else return observeObservable(thing, propOrCb, cbOrFire);\n}\nfunction observeObservable(thing, listener, fireImmediately) {\n return getAdministration(thing).observe_(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n return getAdministration(thing, property).observe_(listener, fireImmediately);\n}\nfunction cache(map, key, value) {\n map.set(key, value);\n return value;\n}\nfunction toJSHelper(source, __alreadySeen) {\n if (source == null || typeof source !== \"object\" || source instanceof Date || !isObservable(source)) return source;\n if (isObservableValue(source) || isComputedValue(source)) return toJSHelper(source.get(), __alreadySeen);\n if (__alreadySeen.has(source)) return __alreadySeen.get(source);\n if (isObservableArray(source)) {\n var res = cache(__alreadySeen, source, new Array(source.length));\n source.forEach(function(value, idx) {\n res[idx] = toJSHelper(value, __alreadySeen);\n });\n return res;\n }\n if (isObservableSet(source)) {\n var _res = cache(__alreadySeen, source, new Set());\n source.forEach(function(value) {\n _res.add(toJSHelper(value, __alreadySeen));\n });\n return _res;\n }\n if (isObservableMap(source)) {\n var _res2 = cache(__alreadySeen, source, new Map());\n source.forEach(function(value, key) {\n _res2.set(key, toJSHelper(value, __alreadySeen));\n });\n return _res2;\n } else {\n // must be observable object\n var _res3 = cache(__alreadySeen, source, {});\n apiOwnKeys(source).forEach(function(key) {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) _res3[key] = toJSHelper(source[key], __alreadySeen);\n });\n return _res3;\n }\n}\n/**\n * Recursively converts an observable to it's non-observable native counterpart.\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\n * Computed and other non-enumerable properties are completely ignored.\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\n */ function toJS(source, options) {\n return toJSHelper(source, new Map());\n}\nfunction trace() {\n var enterBreakPoint, _len, args, _key, derivation;\n return;\n}\nfunction getAtomFromArgs(args) {\n switch(args.length){\n case 0:\n return globalState.trackingDerivation;\n case 1:\n return getAtom(args[0]);\n case 2:\n return getAtom(args[0], args[1]);\n }\n}\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */ function transaction(action, thisArg) {\n if (thisArg === void 0) thisArg = undefined;\n startBatch();\n try {\n return action.apply(thisArg);\n } finally{\n endBatch();\n }\n}\nfunction when(predicate, arg1, arg2) {\n if (arguments.length === 1 || arg1 && typeof arg1 === \"object\") return whenPromise(predicate, arg1);\n return _when(predicate, arg1, arg2 || {});\n}\nfunction _when(predicate, effect, opts) {\n var timeoutHandle;\n if (typeof opts.timeout === \"number\") {\n var error = new Error(\"WHEN_TIMEOUT\");\n timeoutHandle = setTimeout(function() {\n if (!disposer[$mobx].isDisposed_) {\n disposer();\n if (opts.onError) opts.onError(error);\n else throw error;\n }\n }, opts.timeout);\n }\n opts.name = \"When\";\n var effectAction = createAction(\"When-effect\", effect);\n // eslint-disable-next-line\n var disposer = autorun(function(r) {\n // predicate should not change state\n var cond = allowStateChanges(false, predicate);\n if (cond) {\n r.dispose();\n if (timeoutHandle) clearTimeout(timeoutHandle);\n effectAction();\n }\n }, opts);\n return disposer;\n}\nfunction whenPromise(predicate, opts) {\n var _opts$signal;\n if (opts != null && (_opts$signal = opts.signal) != null && _opts$signal.aborted) return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), {\n cancel: function cancel() {\n return null;\n }\n });\n var cancel;\n var abort;\n var res = new Promise(function(resolve, reject) {\n var _opts$signal2;\n var disposer = _when(predicate, resolve, _extends({}, opts, {\n onError: reject\n }));\n cancel = function cancel() {\n disposer();\n reject(new Error(\"WHEN_CANCELLED\"));\n };\n abort = function abort() {\n disposer();\n reject(new Error(\"WHEN_ABORTED\"));\n };\n opts == null || (_opts$signal2 = opts.signal) == null || _opts$signal2.addEventListener == null || _opts$signal2.addEventListener(\"abort\", abort);\n })[\"finally\"](function() {\n var _opts$signal3;\n return opts == null ? void 0 : (_opts$signal3 = opts.signal) == null ? void 0 : _opts$signal3.removeEventListener == null ? void 0 : _opts$signal3.removeEventListener(\"abort\", abort);\n });\n res.cancel = cancel;\n return res;\n}\nfunction getAdm(target) {\n return target[$mobx];\n}\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nvar objectProxyTraps = {\n has: function has(target, name) {\n return getAdm(target).has_(name);\n },\n get: function get(target, name) {\n return getAdm(target).get_(name);\n },\n set: function set(target, name, value) {\n var _getAdm$set_;\n if (!isStringish(name)) return false;\n // null (intercepted) -> true (success)\n return (_getAdm$set_ = getAdm(target).set_(name, value, true)) != null ? _getAdm$set_ : true;\n },\n deleteProperty: function deleteProperty(target, name) {\n var _getAdm$delete_;\n if (!isStringish(name)) return false;\n // null (intercepted) -> true (success)\n return (_getAdm$delete_ = getAdm(target).delete_(name, true)) != null ? _getAdm$delete_ : true;\n },\n defineProperty: function defineProperty(target, name, descriptor) {\n var _getAdm$definePropert;\n // null (intercepted) -> true (success)\n return (_getAdm$definePropert = getAdm(target).defineProperty_(name, descriptor)) != null ? _getAdm$definePropert : true;\n },\n ownKeys: function ownKeys(target) {\n return getAdm(target).ownKeys_();\n },\n preventExtensions: function preventExtensions(target) {\n die(13);\n }\n};\nfunction asDynamicObservableObject(target, options) {\n var _target$$mobx, _target$$mobx$proxy_;\n assertProxies();\n target = asObservableObject(target, options);\n return (_target$$mobx$proxy_ = (_target$$mobx = target[$mobx]).proxy_) != null ? _target$$mobx$proxy_ : _target$$mobx.proxy_ = new Proxy(target, objectProxyTraps);\n}\nfunction hasInterceptors(interceptable) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0;\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = []);\n interceptors.push(handler);\n return once(function() {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1) interceptors.splice(idx, 1);\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n var interceptors = [].concat(interceptable.interceptors_ || []);\n for(var i = 0, l = interceptors.length; i < l; i++){\n change = interceptors[i](change);\n if (change && !change.type) die(14);\n if (!change) break;\n }\n return change;\n } finally{\n untrackedEnd(prevU);\n }\n}\nfunction hasListeners(listenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners_ || (listenable.changeListeners_ = []);\n listeners.push(handler);\n return once(function() {\n var idx = listeners.indexOf(handler);\n if (idx !== -1) listeners.splice(idx, 1);\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners_;\n if (!listeners) return;\n listeners = listeners.slice();\n for(var i = 0, l = listeners.length; i < l; i++)listeners[i](change);\n untrackedEnd(prevU);\n}\nfunction makeObservable(target, annotations, options) {\n initObservable(function() {\n var _annotations;\n var adm = asObservableObject(target, options)[$mobx];\n // Default to decorators\n (_annotations = annotations) != null ? _annotations : annotations = collectStoredAnnotations(target);\n // Annotate\n ownKeys(annotations).forEach(function(key) {\n return adm.make_(key, annotations[key]);\n });\n });\n return target;\n}\n// proto[keysSymbol] = new Set()\nvar keysSymbol = /*#__PURE__*/ Symbol(\"mobx-keys\");\nfunction makeAutoObservable(target, overrides, options) {\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) return extendObservable(target, target, overrides, options);\n initObservable(function() {\n var adm = asObservableObject(target, options)[$mobx];\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n var proto = Object.getPrototypeOf(target);\n var keys = new Set([].concat(ownKeys(target), ownKeys(proto)));\n keys[\"delete\"](\"constructor\");\n keys[\"delete\"]($mobx);\n addHiddenProp(proto, keysSymbol, keys);\n }\n target[keysSymbol].forEach(function(key) {\n return adm.make_(key, // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true);\n });\n });\n return target;\n}\nvar SPLICE = \"splice\";\nvar UPDATE = \"update\";\nvar MAX_SPLICE_SIZE = 10000; // See e.g. https://github.com/mobxjs/mobx/issues/859\nvar arrayTraps = {\n get: function get(target, name) {\n var adm = target[$mobx];\n if (name === $mobx) return adm;\n if (name === \"length\") return adm.getArrayLength_();\n if (typeof name === \"string\" && !isNaN(name)) return adm.get_(parseInt(name));\n if (hasProp(arrayExtensions, name)) return arrayExtensions[name];\n return target[name];\n },\n set: function set(target, name, value) {\n var adm = target[$mobx];\n if (name === \"length\") adm.setArrayLength_(value);\n if (typeof name === \"symbol\" || isNaN(name)) target[name] = value;\n else // numeric string\n adm.set_(parseInt(name), value);\n return true;\n },\n preventExtensions: function preventExtensions() {\n die(15);\n }\n};\nvar ObservableArrayAdministration = /*#__PURE__*/ function() {\n // this is the prop that gets proxied, so can't replace it!\n function ObservableArrayAdministration(name, enhancer, owned_, legacyMode_) {\n if (name === void 0) name = \"ObservableArray\";\n this.owned_ = void 0;\n this.legacyMode_ = void 0;\n this.atom_ = void 0;\n this.values_ = [];\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.enhancer_ = void 0;\n this.dehancer = void 0;\n this.proxy_ = void 0;\n this.lastKnownLength_ = 0;\n this.owned_ = owned_;\n this.legacyMode_ = legacyMode_;\n this.atom_ = new Atom(name);\n this.enhancer_ = function(newV, oldV) {\n return enhancer(newV, oldV, \"ObservableArray[..]\");\n };\n }\n var _proto = ObservableArrayAdministration.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.dehanceValues_ = function dehanceValues_(values) {\n if (this.dehancer !== undefined && values.length > 0) return values.map(this.dehancer);\n return values;\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately === void 0) fireImmediately = false;\n if (fireImmediately) listener({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n });\n return registerListener(this, listener);\n };\n _proto.getArrayLength_ = function getArrayLength_() {\n this.atom_.reportObserved();\n return this.values_.length;\n };\n _proto.setArrayLength_ = function setArrayLength_(newLength) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) die(\"Out of range: \" + newLength);\n var currentLength = this.values_.length;\n if (newLength === currentLength) return;\n else if (newLength > currentLength) {\n var newItems = new Array(newLength - currentLength);\n for(var i = 0; i < newLength - currentLength; i++)newItems[i] = undefined;\n // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems);\n } else this.spliceWithArray_(newLength, currentLength - newLength);\n };\n _proto.updateArrayLength_ = function updateArrayLength_(oldLength, delta) {\n if (oldLength !== this.lastKnownLength_) die(16);\n this.lastKnownLength_ += delta;\n if (this.legacyMode_ && delta > 0) reserveArrayBuffer(oldLength + delta + 1);\n };\n _proto.spliceWithArray_ = function spliceWithArray_(index, deleteCount, newItems) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n var length = this.values_.length;\n if (index === undefined) index = 0;\n else if (index > length) index = length;\n else if (index < 0) index = Math.max(0, length + index);\n if (arguments.length === 1) deleteCount = length - index;\n else if (deleteCount === undefined || deleteCount === null) deleteCount = 0;\n else deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n if (newItems === undefined) newItems = EMPTY_ARRAY;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_,\n type: SPLICE,\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change) return EMPTY_ARRAY;\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.length === 0 ? newItems : newItems.map(function(v) {\n return _this.enhancer_(v, undefined);\n });\n if (this.legacyMode_ || false) {\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength_(length, lengthDelta); // checks if internal array wasn't modified\n }\n var res = this.spliceItemsIntoValues_(index, deleteCount, newItems);\n if (deleteCount !== 0 || newItems.length !== 0) this.notifyArraySplice_(index, newItems, res);\n return this.dehanceValues_(res);\n };\n _proto.spliceItemsIntoValues_ = function spliceItemsIntoValues_(index, deleteCount, newItems) {\n if (newItems.length < MAX_SPLICE_SIZE) {\n var _this$values_;\n return (_this$values_ = this.values_).splice.apply(_this$values_, [\n index,\n deleteCount\n ].concat(newItems));\n } else {\n // The items removed by the splice\n var res = this.values_.slice(index, index + deleteCount);\n // The items that that should remain at the end of the array\n var oldItems = this.values_.slice(index + deleteCount);\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount;\n for(var i = 0; i < newItems.length; i++)this.values_[index + i] = newItems[i];\n for(var _i = 0; _i < oldItems.length; _i++)this.values_[index + newItems.length + _i] = oldItems[_i];\n return res;\n }\n };\n _proto.notifyArrayChildUpdate_ = function notifyArrayChildUpdate_(index, newValue, oldValue) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index: index,\n newValue: newValue,\n oldValue: oldValue\n } : null;\n this.atom_.reportChanged();\n if (notify) notifyListeners(this, change);\n };\n _proto.notifyArraySplice_ = function notifyArraySplice_(index, added, removed) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index: index,\n removed: removed,\n added: added,\n removedCount: removed.length,\n addedCount: added.length\n } : null;\n this.atom_.reportChanged();\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) notifyListeners(this, change);\n };\n _proto.get_ = function get_(index) {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(\"[mobx] Out of bounds read: \" + index);\n return undefined;\n }\n this.atom_.reportObserved();\n return this.dehanceValue_(this.values_[index]);\n };\n _proto.set_ = function set_(index, newValue) {\n var values = this.values_;\n if (this.legacyMode_ && index > values.length) // out of bounds\n die(17, index, values.length);\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_);\n var oldValue = values[index];\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_,\n index: index,\n newValue: newValue\n });\n if (!change) return;\n newValue = change.newValue;\n }\n newValue = this.enhancer_(newValue, oldValue);\n var changed = newValue !== oldValue;\n if (changed) {\n values[index] = newValue;\n this.notifyArrayChildUpdate_(index, newValue, oldValue);\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n var newItems = new Array(index + 1 - values.length);\n for(var i = 0; i < newItems.length - 1; i++)newItems[i] = undefined;\n // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue;\n this.spliceWithArray_(values.length, 0, newItems);\n }\n };\n return ObservableArrayAdministration;\n}();\nfunction createObservableArray(initialValues, enhancer, name, owned) {\n if (name === void 0) name = \"ObservableArray\";\n if (owned === void 0) owned = false;\n assertProxies();\n return initObservable(function() {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, false);\n addHiddenFinalProp(adm.values_, $mobx, adm);\n var proxy = new Proxy(adm.values_, arrayTraps);\n adm.proxy_ = proxy;\n if (initialValues && initialValues.length) adm.spliceWithArray_(0, 0, initialValues);\n return proxy;\n });\n}\n// eslint-disable-next-line\nvar arrayExtensions = {\n clear: function clear() {\n return this.splice(0);\n },\n replace: function replace(newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray_(0, adm.values_.length, newItems);\n },\n // Used by JSON.stringify\n toJSON: function toJSON() {\n return this.slice();\n },\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */ splice: function splice(index, deleteCount) {\n for(var _len = arguments.length, newItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++)newItems[_key - 2] = arguments[_key];\n var adm = this[$mobx];\n switch(arguments.length){\n case 0:\n return [];\n case 1:\n return adm.spliceWithArray_(index);\n case 2:\n return adm.spliceWithArray_(index, deleteCount);\n }\n return adm.spliceWithArray_(index, deleteCount, newItems);\n },\n spliceWithArray: function spliceWithArray(index, deleteCount, newItems) {\n return this[$mobx].spliceWithArray_(index, deleteCount, newItems);\n },\n push: function push() {\n var adm = this[$mobx];\n for(var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++)items[_key2] = arguments[_key2];\n adm.spliceWithArray_(adm.values_.length, 0, items);\n return adm.values_.length;\n },\n pop: function pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0];\n },\n shift: function shift() {\n return this.splice(0, 1)[0];\n },\n unshift: function unshift() {\n var adm = this[$mobx];\n for(var _len3 = arguments.length, items = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++)items[_key3] = arguments[_key3];\n adm.spliceWithArray_(0, 0, items);\n return adm.values_.length;\n },\n reverse: function reverse() {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) die(37, \"reverse\");\n this.replace(this.slice().reverse());\n return this;\n },\n sort: function sort() {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) die(37, \"sort\");\n var copy = this.slice();\n copy.sort.apply(copy, arguments);\n this.replace(copy);\n return this;\n },\n remove: function remove(value) {\n var adm = this[$mobx];\n var idx = adm.dehanceValues_(adm.values_).indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n }\n};\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */ addArrayExtension(\"at\", simpleFunc);\naddArrayExtension(\"concat\", simpleFunc);\naddArrayExtension(\"flat\", simpleFunc);\naddArrayExtension(\"includes\", simpleFunc);\naddArrayExtension(\"indexOf\", simpleFunc);\naddArrayExtension(\"join\", simpleFunc);\naddArrayExtension(\"lastIndexOf\", simpleFunc);\naddArrayExtension(\"slice\", simpleFunc);\naddArrayExtension(\"toString\", simpleFunc);\naddArrayExtension(\"toLocaleString\", simpleFunc);\naddArrayExtension(\"toSorted\", simpleFunc);\naddArrayExtension(\"toSpliced\", simpleFunc);\naddArrayExtension(\"with\", simpleFunc);\n// map\naddArrayExtension(\"every\", mapLikeFunc);\naddArrayExtension(\"filter\", mapLikeFunc);\naddArrayExtension(\"find\", mapLikeFunc);\naddArrayExtension(\"findIndex\", mapLikeFunc);\naddArrayExtension(\"findLast\", mapLikeFunc);\naddArrayExtension(\"findLastIndex\", mapLikeFunc);\naddArrayExtension(\"flatMap\", mapLikeFunc);\naddArrayExtension(\"forEach\", mapLikeFunc);\naddArrayExtension(\"map\", mapLikeFunc);\naddArrayExtension(\"some\", mapLikeFunc);\naddArrayExtension(\"toReversed\", mapLikeFunc);\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc);\naddArrayExtension(\"reduceRight\", reduceLikeFunc);\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") arrayExtensions[funcName] = funcFactory(funcName);\n}\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function() {\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\n// Make sure callbacks recieve correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function(callback, thisArg) {\n var _this2 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName](function(element, index) {\n return callback.call(thisArg, element, index, _this2);\n });\n };\n}\n// Make sure callbacks recieve correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function() {\n var _this3 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n // #2432 - reduce behavior depends on arguments.length\n var callback = arguments[0];\n arguments[0] = function(accumulator, currentValue, index) {\n return callback(accumulator, currentValue, index, _this3);\n };\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\nvar isObservableArrayAdministration = /*#__PURE__*/ createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx]);\n}\nvar _Symbol$iterator, _Symbol$toStringTag;\nvar ObservableMapMarker = {};\nvar ADD = \"add\";\nvar DELETE = \"delete\";\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\n_Symbol$iterator = Symbol.iterator;\n_Symbol$toStringTag = Symbol.toStringTag;\nvar ObservableMap = /*#__PURE__*/ function() {\n // hasMap, not hashMap >-).\n function ObservableMap(initialData, enhancer_, name_) {\n var _this = this;\n if (enhancer_ === void 0) enhancer_ = deepEnhancer;\n if (name_ === void 0) name_ = \"ObservableMap\";\n this.enhancer_ = void 0;\n this.name_ = void 0;\n this[$mobx] = ObservableMapMarker;\n this.data_ = void 0;\n this.hasMap_ = void 0;\n this.keysAtom_ = void 0;\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = enhancer_;\n this.name_ = name_;\n if (!isFunction(Map)) die(18);\n initObservable(function() {\n _this.keysAtom_ = createAtom(\"ObservableMap.keys()\");\n _this.data_ = new Map();\n _this.hasMap_ = new Map();\n if (initialData) _this.merge(initialData);\n });\n }\n var _proto = ObservableMap.prototype;\n _proto.has_ = function has_(key) {\n return this.data_.has(key);\n };\n _proto.has = function has(key) {\n var _this2 = this;\n if (!globalState.trackingDerivation) return this.has_(key);\n var entry = this.hasMap_.get(key);\n if (!entry) {\n var newEntry = entry = new ObservableValue(this.has_(key), referenceEnhancer, \"ObservableMap.key?\", false);\n this.hasMap_.set(key, newEntry);\n onBecomeUnobserved(newEntry, function() {\n return _this2.hasMap_[\"delete\"](key);\n });\n }\n return entry.get();\n };\n _proto.set = function set(key, value) {\n var hasKey = this.has_(key);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n });\n if (!change) return this;\n value = change.newValue;\n }\n if (hasKey) this.updateValue_(key, value);\n else this.addValue_(key, value);\n return this;\n };\n _proto[\"delete\"] = function _delete(key) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n name: key\n });\n if (!change) return false;\n }\n if (this.has_(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: this.data_.get(key).value_,\n name: key\n } : null;\n transaction(function() {\n var _this3$hasMap_$get;\n _this3.keysAtom_.reportChanged();\n (_this3$hasMap_$get = _this3.hasMap_.get(key)) == null || _this3$hasMap_$get.setNewValue_(false);\n var observable = _this3.data_.get(key);\n observable.setNewValue_(undefined);\n _this3.data_[\"delete\"](key);\n });\n if (notify) notifyListeners(this, _change);\n return true;\n }\n return false;\n };\n _proto.updateValue_ = function updateValue_(key, newValue) {\n var observable = this.data_.get(key);\n newValue = observable.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n observable.setNewValue_(newValue);\n if (notify) notifyListeners(this, change);\n }\n };\n _proto.addValue_ = function addValue_(key, newValue) {\n var _this4 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n transaction(function() {\n var _this4$hasMap_$get;\n var observable = new ObservableValue(newValue, _this4.enhancer_, \"ObservableMap.key\", false);\n _this4.data_.set(key, observable);\n newValue = observable.value_; // value might have been changed\n (_this4$hasMap_$get = _this4.hasMap_.get(key)) == null || _this4$hasMap_$get.setNewValue_(true);\n _this4.keysAtom_.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue: newValue\n } : null;\n if (notify) notifyListeners(this, change);\n };\n _proto.get = function get(key) {\n if (this.has(key)) return this.dehanceValue_(this.data_.get(key).get());\n return this.dehanceValue_(undefined);\n };\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.keys = function keys() {\n this.keysAtom_.reportObserved();\n return this.data_.keys();\n };\n _proto.values = function values() {\n var self1 = this;\n var keys = this.keys();\n return makeIterable({\n next: function next() {\n var _keys$next = keys.next(), done = _keys$next.done, value = _keys$next.value;\n return {\n done: done,\n value: done ? undefined : self1.get(value)\n };\n }\n });\n };\n _proto.entries = function entries() {\n var self1 = this;\n var keys = this.keys();\n return makeIterable({\n next: function next() {\n var _keys$next2 = keys.next(), done = _keys$next2.done, value = _keys$next2.value;\n return {\n done: done,\n value: done ? undefined : [\n value,\n self1.get(value)\n ]\n };\n }\n });\n };\n _proto[_Symbol$iterator] = function() {\n return this.entries();\n };\n _proto.forEach = function forEach(callback, thisArg) {\n for(var _iterator = _createForOfIteratorHelperLoose(this), _step; !(_step = _iterator()).done;){\n var _step$value = _step.value, key = _step$value[0], value = _step$value[1];\n callback.call(thisArg, value, key, this);\n }\n } /** Merge another object into this object, returns this. */ ;\n _proto.merge = function merge(other) {\n var _this5 = this;\n if (isObservableMap(other)) other = new Map(other);\n transaction(function() {\n if (isPlainObject(other)) getPlainObjectKeys(other).forEach(function(key) {\n return _this5.set(key, other[key]);\n });\n else if (Array.isArray(other)) other.forEach(function(_ref) {\n var key = _ref[0], value = _ref[1];\n return _this5.set(key, value);\n });\n else if (isES6Map(other)) {\n if (other.constructor !== Map) die(19, other);\n other.forEach(function(value, key) {\n return _this5.set(key, value);\n });\n } else if (other !== null && other !== undefined) die(20, other);\n });\n return this;\n };\n _proto.clear = function clear() {\n var _this6 = this;\n transaction(function() {\n untracked(function() {\n for(var _iterator2 = _createForOfIteratorHelperLoose(_this6.keys()), _step2; !(_step2 = _iterator2()).done;){\n var key = _step2.value;\n _this6[\"delete\"](key);\n }\n });\n });\n };\n _proto.replace = function replace(values) {\n var _this7 = this;\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(function() {\n // Convert to map so we can do quick key lookups\n var replacementMap = convertToMap(values);\n var orderedData = new Map();\n // Used for optimization\n var keysReportChangedCalled = false;\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for(var _iterator3 = _createForOfIteratorHelperLoose(_this7.data_.keys()), _step3; !(_step3 = _iterator3()).done;){\n var key = _step3.value;\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n var deleted = _this7[\"delete\"](key);\n // Was the key removed?\n if (deleted) // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n else {\n // Delete prevented by interceptor\n var value = _this7.data_.get(key);\n orderedData.set(key, value);\n }\n }\n }\n // Merge entries\n for(var _iterator4 = _createForOfIteratorHelperLoose(replacementMap.entries()), _step4; !(_step4 = _iterator4()).done;){\n var _step4$value = _step4.value, _key = _step4$value[0], _value = _step4$value[1];\n // We will want to know whether a new key is added\n var keyExisted = _this7.data_.has(_key);\n // Add or update value\n _this7.set(_key, _value);\n // The addition could have been prevent by interceptor\n if (_this7.data_.has(_key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n var _value2 = _this7.data_.get(_key);\n orderedData.set(_key, _value2);\n // Was a new key added?\n if (!keyExisted) // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (_this7.data_.size !== orderedData.size) // If size differs, keys are definitely modified\n _this7.keysAtom_.reportChanged();\n else {\n var iter1 = _this7.data_.keys();\n var iter2 = orderedData.keys();\n var next1 = iter1.next();\n var next2 = iter2.next();\n while(!next1.done){\n if (next1.value !== next2.value) {\n _this7.keysAtom_.reportChanged();\n break;\n }\n next1 = iter1.next();\n next2 = iter2.next();\n }\n }\n }\n // Use correctly ordered map\n _this7.data_ = orderedData;\n });\n return this;\n };\n _proto.toString = function toString() {\n return \"[object ObservableMap]\";\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */ _proto.observe_ = function observe_(listener, fireImmediately) {\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _createClass(ObservableMap, [\n {\n key: \"size\",\n get: function get() {\n this.keysAtom_.reportObserved();\n return this.data_.size;\n }\n },\n {\n key: _Symbol$toStringTag,\n get: function get() {\n return \"Map\";\n }\n }\n ]);\n return ObservableMap;\n}();\n// eslint-disable-next-line\nvar isObservableMap = /*#__PURE__*/ createInstanceofPredicate(\"ObservableMap\", ObservableMap);\nfunction convertToMap(dataStructure) {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) return dataStructure;\n else if (Array.isArray(dataStructure)) return new Map(dataStructure);\n else if (isPlainObject(dataStructure)) {\n var map = new Map();\n for(var key in dataStructure)map.set(key, dataStructure[key]);\n return map;\n } else return die(21, dataStructure);\n}\nvar _Symbol$iterator$1, _Symbol$toStringTag$1;\nvar ObservableSetMarker = {};\n_Symbol$iterator$1 = Symbol.iterator;\n_Symbol$toStringTag$1 = Symbol.toStringTag;\nvar ObservableSet = /*#__PURE__*/ function() {\n function ObservableSet(initialData, enhancer, name_) {\n var _this = this;\n if (enhancer === void 0) enhancer = deepEnhancer;\n if (name_ === void 0) name_ = \"ObservableSet\";\n this.name_ = void 0;\n this[$mobx] = ObservableSetMarker;\n this.data_ = new Set();\n this.atom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = void 0;\n this.name_ = name_;\n if (!isFunction(Set)) die(22);\n this.enhancer_ = function(newV, oldV) {\n return enhancer(newV, oldV, name_);\n };\n initObservable(function() {\n _this.atom_ = createAtom(_this.name_);\n if (initialData) _this.replace(initialData);\n });\n }\n var _proto = ObservableSet.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) return this.dehancer(value);\n return value;\n };\n _proto.clear = function clear() {\n var _this2 = this;\n transaction(function() {\n untracked(function() {\n for(var _iterator = _createForOfIteratorHelperLoose(_this2.data_.values()), _step; !(_step = _iterator()).done;){\n var value = _step.value;\n _this2[\"delete\"](value);\n }\n });\n });\n };\n _proto.forEach = function forEach(callbackFn, thisArg) {\n for(var _iterator2 = _createForOfIteratorHelperLoose(this), _step2; !(_step2 = _iterator2()).done;){\n var value = _step2.value;\n callbackFn.call(thisArg, value, value, this);\n }\n };\n _proto.add = function add(value) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: ADD,\n object: this,\n newValue: value\n });\n if (!change) return this;\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(function() {\n _this3.data_.add(_this3.enhancer_(value, undefined));\n _this3.atom_.reportChanged();\n });\n var notifySpy = false;\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n } : null;\n if (notify) notifyListeners(this, _change);\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(value) {\n var _this4 = this;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n oldValue: value\n });\n if (!change) return false;\n }\n if (this.has(value)) {\n var notifySpy = false;\n var notify = hasListeners(this);\n var _change2 = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n } : null;\n transaction(function() {\n _this4.atom_.reportChanged();\n _this4.data_[\"delete\"](value);\n });\n if (notify) notifyListeners(this, _change2);\n return true;\n }\n return false;\n };\n _proto.has = function has(value) {\n this.atom_.reportObserved();\n return this.data_.has(this.dehanceValue_(value));\n };\n _proto.entries = function entries() {\n var nextIndex = 0;\n var keys = Array.from(this.keys());\n var values = Array.from(this.values());\n return makeIterable({\n next: function next() {\n var index = nextIndex;\n nextIndex += 1;\n return index < values.length ? {\n value: [\n keys[index],\n values[index]\n ],\n done: false\n } : {\n done: true\n };\n }\n });\n };\n _proto.keys = function keys() {\n return this.values();\n };\n _proto.values = function values() {\n this.atom_.reportObserved();\n var self1 = this;\n var nextIndex = 0;\n var observableValues = Array.from(this.data_.values());\n return makeIterable({\n next: function next() {\n return nextIndex < observableValues.length ? {\n value: self1.dehanceValue_(observableValues[nextIndex++]),\n done: false\n } : {\n done: true\n };\n }\n });\n };\n _proto.replace = function replace(other) {\n var _this5 = this;\n if (isObservableSet(other)) other = new Set(other);\n transaction(function() {\n if (Array.isArray(other)) {\n _this5.clear();\n other.forEach(function(value) {\n return _this5.add(value);\n });\n } else if (isES6Set(other)) {\n _this5.clear();\n other.forEach(function(value) {\n return _this5.add(value);\n });\n } else if (other !== null && other !== undefined) die(\"Cannot initialize set from \" + other);\n });\n return this;\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n _proto.toString = function toString() {\n return \"[object ObservableSet]\";\n };\n _proto[_Symbol$iterator$1] = function() {\n return this.values();\n };\n _createClass(ObservableSet, [\n {\n key: \"size\",\n get: function get() {\n this.atom_.reportObserved();\n return this.data_.size;\n }\n },\n {\n key: _Symbol$toStringTag$1,\n get: function get() {\n return \"Set\";\n }\n }\n ]);\n return ObservableSet;\n}();\n// eslint-disable-next-line\nvar isObservableSet = /*#__PURE__*/ createInstanceofPredicate(\"ObservableSet\", ObservableSet);\nvar descriptorCache = /*#__PURE__*/ Object.create(null);\nvar REMOVE = \"remove\";\nvar ObservableObjectAdministration = /*#__PURE__*/ function() {\n function ObservableObjectAdministration(target_, values_, name_, // Used anytime annotation is not explicitely provided\n defaultAnnotation_) {\n if (values_ === void 0) values_ = new Map();\n if (defaultAnnotation_ === void 0) defaultAnnotation_ = autoAnnotation;\n this.target_ = void 0;\n this.values_ = void 0;\n this.name_ = void 0;\n this.defaultAnnotation_ = void 0;\n this.keysAtom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.proxy_ = void 0;\n this.isPlainObject_ = void 0;\n this.appliedAnnotations_ = void 0;\n this.pendingKeys_ = void 0;\n this.target_ = target_;\n this.values_ = values_;\n this.name_ = name_;\n this.defaultAnnotation_ = defaultAnnotation_;\n this.keysAtom_ = new Atom(\"ObservableObject.keys\");\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_);\n }\n var _proto = ObservableObjectAdministration.prototype;\n _proto.getObservablePropValue_ = function getObservablePropValue_(key) {\n return this.values_.get(key).get();\n };\n _proto.setObservablePropValue_ = function setObservablePropValue_(key, newValue) {\n var observable = this.values_.get(key);\n if (observable instanceof ComputedValue) {\n observable.set(newValue);\n return true;\n }\n // intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: newValue\n });\n if (!change) return null;\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue_(newValue);\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n var notify = hasListeners(this);\n var notifySpy = false;\n var _change = notify || notifySpy ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n observable.setNewValue_(newValue);\n if (notify) notifyListeners(this, _change);\n }\n return true;\n };\n _proto.get_ = function get_(key) {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key);\n return this.target_[key];\n } /**\n * @param {PropertyKey} key\n * @param {any} value\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.set_ = function set_(key, value, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value);\n else if (proxyTrap) // Non-observable - proxy\n return Reflect.set(this.target_, key, value);\n else {\n // Non-observable\n this.target_[key] = value;\n return true;\n }\n } else // New prop\n return this.extend_(key, {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n }, this.defaultAnnotation_, proxyTrap);\n };\n _proto.has_ = function has_(key) {\n if (!globalState.trackingDerivation) // Skip key subscription outside derivation\n return key in this.target_;\n this.pendingKeys_ || (this.pendingKeys_ = new Map());\n var entry = this.pendingKeys_.get(key);\n if (!entry) {\n entry = new ObservableValue(key in this.target_, referenceEnhancer, \"ObservableObject.key?\", false);\n this.pendingKeys_.set(key, entry);\n }\n return entry.get();\n } /**\n * @param {PropertyKey} key\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\n */ ;\n _proto.make_ = function make_(key, annotation) {\n if (annotation === true) annotation = this.defaultAnnotation_;\n if (annotation === false) return;\n assertAnnotable(this, annotation, key);\n if (!(key in this.target_)) {\n var _this$target_$storedA;\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if ((_this$target_$storedA = this.target_[storedAnnotationsSymbol]) != null && _this$target_$storedA[key]) return; // will be annotated by subclass constructor\n else die(1, annotation.annotationType_, this.name_ + \".\" + key.toString());\n }\n var source = this.target_;\n while(source && source !== objectPrototype){\n var descriptor = getDescriptor(source, key);\n if (descriptor) {\n var outcome = annotation.make_(this, key, descriptor, source);\n if (outcome === 0 /* MakeResult.Cancel */ ) return;\n if (outcome === 1 /* MakeResult.Break */ ) break;\n }\n source = Object.getPrototypeOf(source);\n }\n recordAnnotationApplied(this, annotation, key);\n } /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.extend_ = function extend_(key, descriptor, annotation, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n if (annotation === true) annotation = this.defaultAnnotation_;\n if (annotation === false) return this.defineProperty_(key, descriptor, proxyTrap);\n assertAnnotable(this, annotation, key);\n var outcome = annotation.extend_(this, key, descriptor, proxyTrap);\n if (outcome) recordAnnotationApplied(this, annotation, key);\n return outcome;\n } /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.defineProperty_ = function defineProperty_(key, descriptor, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) // Failure or intercepted\n return deleteOutcome;\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n });\n if (!change) return null;\n var newValue = change.newValue;\n if (descriptor.value !== newValue) descriptor = _extends({}, descriptor, {\n value: newValue\n });\n }\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) return false;\n } else defineProperty(this.target_, key, descriptor);\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value);\n } finally{\n endBatch();\n }\n return true;\n };\n _proto.defineObservableProperty_ = function defineObservableProperty_(key, value, enhancer, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) // Failure or intercepted\n return deleteOutcome;\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n });\n if (!change) return null;\n value = change.newValue;\n }\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) return false;\n } else defineProperty(this.target_, key, descriptor);\n var observable = new ObservableValue(value, enhancer, \"ObservableObject.key\", false);\n this.values_.set(key, observable);\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_);\n } finally{\n endBatch();\n }\n return true;\n };\n _proto.defineComputedProperty_ = function defineComputedProperty_(key, options, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) // Failure or intercepted\n return deleteOutcome;\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n });\n if (!change) return null;\n }\n options.name || (options.name = \"ObservableObject.key\");\n options.context = this.proxy_ || this.target_;\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) return false;\n } else defineProperty(this.target_, key, descriptor);\n this.values_.set(key, new ComputedValue(options));\n // Notify\n this.notifyPropertyAddition_(key, undefined);\n } finally{\n endBatch();\n }\n return true;\n } /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */ ;\n _proto.delete_ = function delete_(key, proxyTrap) {\n if (proxyTrap === void 0) proxyTrap = false;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n // No such prop\n if (!hasProp(this.target_, key)) return true;\n // Intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n });\n // Cancelled\n if (!change) return null;\n }\n // Delete\n try {\n var _this$pendingKeys_, _this$pendingKeys_$ge;\n startBatch();\n var notify = hasListeners(this);\n var notifySpy = false;\n var observable = this.values_.get(key);\n // Value needed for spies/listeners\n var value = undefined;\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n var _getDescriptor;\n value = (_getDescriptor = getDescriptor(this.target_, key)) == null ? void 0 : _getDescriptor.value;\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) return false;\n } else delete this.target_[key];\n // Clear observable\n if (observable) {\n this.values_[\"delete\"](key);\n // for computed, value is undefined\n if (observable instanceof ObservableValue) value = observable.value_;\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable);\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n (_this$pendingKeys_ = this.pendingKeys_) == null || (_this$pendingKeys_$ge = _this$pendingKeys_.get(key)) == null || _this$pendingKeys_$ge.set(key in this.target_);\n // Notify spies/listeners\n if (notify || notifySpy) {\n var _change2 = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n };\n if (notify) notifyListeners(this, _change2);\n }\n } finally{\n endBatch();\n }\n return true;\n } /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */ ;\n _proto.observe_ = function observe_(callback, fireImmediately) {\n return registerListener(this, callback);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.notifyPropertyAddition_ = function notifyPropertyAddition_(key, value) {\n var _this$pendingKeys_2, _this$pendingKeys_2$g;\n var notify = hasListeners(this);\n var notifySpy = false;\n if (notify || notifySpy) {\n var change = notify || notifySpy ? {\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } : null;\n if (notify) notifyListeners(this, change);\n }\n (_this$pendingKeys_2 = this.pendingKeys_) == null || (_this$pendingKeys_2$g = _this$pendingKeys_2.get(key)) == null || _this$pendingKeys_2$g.set(true);\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n };\n _proto.ownKeys_ = function ownKeys_() {\n this.keysAtom_.reportObserved();\n return ownKeys(this.target_);\n };\n _proto.keys_ = function keys_() {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved();\n return Object.keys(this.target_);\n };\n return ObservableObjectAdministration;\n}();\nfunction asObservableObject(target, options) {\n var _options$name;\n if (hasProp(target, $mobx)) return target;\n var name = (_options$name = options == null ? void 0 : options.name) != null ? _options$name : \"ObservableObject\";\n var adm = new ObservableObjectAdministration(target, new Map(), String(name), getAnnotationFromOptions(options));\n addHiddenProp(target, $mobx, adm);\n return target;\n}\nvar isObservableObjectAdministration = /*#__PURE__*/ createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction getCachedObservablePropDescriptor(key) {\n return descriptorCache[key] || (descriptorCache[key] = {\n get: function get() {\n return this[$mobx].getObservablePropValue_(key);\n },\n set: function set(value) {\n return this[$mobx].setObservablePropValue_(key, value);\n }\n });\n}\nfunction isObservableObject(thing) {\n if (isObject(thing)) return isObservableObjectAdministration(thing[$mobx]);\n return false;\n}\nfunction recordAnnotationApplied(adm, annotation, key) {\n var _adm$target_$storedAn;\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n (_adm$target_$storedAn = adm.target_[storedAnnotationsSymbol]) == null || delete _adm$target_$storedAn[key];\n}\nfunction assertAnnotable(adm, annotation, key) {\n var fieldName, currentAnnotationType, requestedAnnotationType;\n}\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nvar ENTRY_0 = /*#__PURE__*/ createArrayEntryDescriptor(0);\nvar safariPrototypeSetterInheritanceBug = /*#__PURE__*/ function() {\n var v = false;\n var p = {};\n Object.defineProperty(p, \"0\", {\n set: function set() {\n v = true;\n }\n });\n /*#__PURE__*/ Object.create(p)[\"0\"] = 1;\n return v === false;\n}();\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */ var OBSERVABLE_ARRAY_BUFFER_SIZE = 0;\n// Typescript workaround to make sure ObservableArray extends Array\nvar StubArray = function StubArray() {};\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) Object.setPrototypeOf(ctor.prototype, proto);\n else if (ctor.prototype.__proto__ !== undefined) ctor.prototype.__proto__ = proto;\n else ctor.prototype = proto;\n}\ninherit(StubArray, Array.prototype);\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\nvar LegacyObservableArray = /*#__PURE__*/ function(_StubArray, _Symbol$toStringTag, _Symbol$iterator) {\n _inheritsLoose(LegacyObservableArray, _StubArray);\n function LegacyObservableArray(initialValues, enhancer, name, owned) {\n var _this;\n if (name === void 0) name = \"ObservableArray\";\n if (owned === void 0) owned = false;\n _this = _StubArray.call(this) || this;\n initObservable(function() {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, true);\n adm.proxy_ = _assertThisInitialized(_this);\n addHiddenFinalProp(_assertThisInitialized(_this), $mobx, adm);\n if (initialValues && initialValues.length) // @ts-ignore\n _this.spliceWithArray(0, 0, initialValues);\n if (safariPrototypeSetterInheritanceBug) // Seems that Safari won't use numeric prototype setter untill any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(_assertThisInitialized(_this), \"0\", ENTRY_0);\n });\n return _this;\n }\n var _proto = LegacyObservableArray.prototype;\n _proto.concat = function concat() {\n this[$mobx].atom_.reportObserved();\n for(var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++)arrays[_key] = arguments[_key];\n return Array.prototype.concat.apply(this.slice(), //@ts-ignore\n arrays.map(function(a) {\n return isObservableArray(a) ? a.slice() : a;\n }));\n };\n _proto[_Symbol$iterator] = function() {\n var self1 = this;\n var nextIndex = 0;\n return makeIterable({\n next: function next() {\n return nextIndex < self1.length ? {\n value: self1[nextIndex++],\n done: false\n } : {\n done: true,\n value: undefined\n };\n }\n });\n };\n _createClass(LegacyObservableArray, [\n {\n key: \"length\",\n get: function get() {\n return this[$mobx].getArrayLength_();\n },\n set: function set(newLength) {\n this[$mobx].setArrayLength_(newLength);\n }\n },\n {\n key: _Symbol$toStringTag,\n get: function get() {\n return \"Array\";\n }\n }\n ]);\n return LegacyObservableArray;\n}(StubArray, Symbol.toStringTag, Symbol.iterator);\nObject.entries(arrayExtensions).forEach(function(_ref) {\n var prop = _ref[0], fn = _ref[1];\n if (prop !== \"concat\") addHiddenProp(LegacyObservableArray.prototype, prop, fn);\n});\nfunction createArrayEntryDescriptor(index) {\n return {\n enumerable: false,\n configurable: true,\n get: function get() {\n return this[$mobx].get_(index);\n },\n set: function set(value) {\n this[$mobx].set_(index, value);\n }\n };\n}\nfunction createArrayBufferItem(index) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index));\n}\nfunction reserveArrayBuffer(max) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for(var index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++)createArrayBufferItem(index);\n OBSERVABLE_ARRAY_BUFFER_SIZE = max;\n }\n}\nreserveArrayBuffer(1000);\nfunction createLegacyArray(initialValues, enhancer, name) {\n return new LegacyObservableArray(initialValues, enhancer, name);\n}\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) die(23);\n return thing[$mobx].atom_;\n }\n if (isObservableSet(thing)) return thing.atom_;\n if (isObservableMap(thing)) {\n if (property === undefined) return thing.keysAtom_;\n var observable = thing.data_.get(property) || thing.hasMap_.get(property);\n if (!observable) die(25, property, getDebugName(thing));\n return observable;\n }\n if (isObservableObject(thing)) {\n if (!property) return die(26);\n var _observable = thing[$mobx].values_.get(property);\n if (!_observable) die(27, property, getDebugName(thing));\n return _observable;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) return thing;\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) // disposer function\n return thing[$mobx];\n }\n die(28);\n}\nfunction getAdministration(thing, property) {\n if (!thing) die(29);\n if (property !== undefined) return getAdministration(getAtom(thing, property));\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) return thing;\n if (isObservableMap(thing) || isObservableSet(thing)) return thing;\n if (thing[$mobx]) return thing[$mobx];\n die(24, thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined) named = getAtom(thing, property);\n else if (isAction(thing)) return thing.name;\n else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) named = getAdministration(thing);\n else // valid for arrays as well\n named = getAtom(thing);\n return named.name_;\n}\n/**\n * Helper function for initializing observable structures, it applies:\n * 1. allowStateChanges so we don't violate enforceActions.\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\n * 3. batch to avoid state version updates\n */ function initObservable(cb) {\n var derivation = untrackedStart();\n var allowStateChanges = allowStateChangesStart(true);\n startBatch();\n try {\n return cb();\n } finally{\n endBatch();\n allowStateChangesEnd(allowStateChanges);\n untrackedEnd(derivation);\n }\n}\nvar toString = objectPrototype.toString;\nfunction deepEqual(a, b, depth) {\n if (depth === void 0) depth = -1;\n return eq(a, b, depth);\n}\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, depth, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") return false;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch(className){\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b;\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case \"[object Symbol]\":\n return typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b);\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) depth++;\n break;\n }\n // Unwrap any wrapped objects.\n a = unwrap(a);\n b = unwrap(b);\n var areArrays = className === \"[object Array]\";\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") return false;\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && isFunction(bCtor) && bCtor instanceof bCtor) && \"constructor\" in a && \"constructor\" in b) return false;\n }\n if (depth === 0) return false;\n else if (depth < 0) depth = -1;\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while(length--){\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while(length--){\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) return false;\n while(length--){\n // Deep compare each member\n key = keys[length];\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\nfunction unwrap(a) {\n if (isObservableArray(a)) return a.slice();\n if (isES6Map(a) || isObservableMap(a)) return Array.from(a.entries());\n if (isES6Set(a) || isObservableSet(a)) return Array.from(a.entries());\n return a;\n}\nfunction makeIterable(iterator) {\n iterator[Symbol.iterator] = getSelf;\n return iterator;\n}\nfunction getSelf() {\n return this;\n}\nfunction isAnnotation(thing) {\n return(// Can be function\n thing instanceof Object && typeof thing.annotationType_ === \"string\" && isFunction(thing.make_) && isFunction(thing.extend_));\n}\n/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get a global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */ [\n \"Symbol\",\n \"Map\",\n \"Set\"\n].forEach(function(m) {\n var g = getGlobal();\n if (typeof g[m] === \"undefined\") die(\"MobX requires global '\" + m + \"' to be available or polyfilled\");\n});\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") // See: https://github.com/andykog/mobx-devtools/\n__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy: spy,\n extras: {\n getDebugName: getDebugName\n },\n $mobx: $mobx\n});\n\n});\n\nparcelRegister(\"coZzl\", function(module, exports) {\n\nvar $y4uGz = parcelRequire(\"y4uGz\");\nmodule.exports = $y4uGz(\"6wRuB\").then(()=>parcelRequire(\"6cv5F\"));\n\n});\nparcelRegister(\"y4uGz\", function(module, exports) {\n\"use strict\";\n\nfunction $0666a97ddd483991$var$load(id) {\n // eslint-disable-next-line no-undef\n return import((parcelRequire(\"5IkBo\")).resolve(id));\n}\nmodule.exports = $0666a97ddd483991$var$load;\n\n});\nparcelRegister(\"5IkBo\", function(module, exports) {\n\n$parcel$export(module.exports, \"register\", () => $42910af84dd64d95$export$6503ec6e8aabbaf, (v) => $42910af84dd64d95$export$6503ec6e8aabbaf = v);\n$parcel$export(module.exports, \"resolve\", () => $42910af84dd64d95$export$f7ad0328861e2f03, (v) => $42910af84dd64d95$export$f7ad0328861e2f03 = v);\nvar $42910af84dd64d95$export$6503ec6e8aabbaf;\nvar $42910af84dd64d95$export$f7ad0328861e2f03;\n\"use strict\";\nvar $42910af84dd64d95$var$mapping = new Map();\nfunction $42910af84dd64d95$var$register(baseUrl, manifest) {\n for(var i = 0; i < manifest.length - 1; i += 2)$42910af84dd64d95$var$mapping.set(manifest[i], {\n baseUrl: baseUrl,\n path: manifest[i + 1]\n });\n}\nfunction $42910af84dd64d95$var$resolve(id) {\n var resolved = $42910af84dd64d95$var$mapping.get(id);\n if (resolved == null) throw new Error(\"Could not resolve bundle with id \" + id);\n return new URL(resolved.path, resolved.baseUrl).toString();\n}\n$42910af84dd64d95$export$6503ec6e8aabbaf = $42910af84dd64d95$var$register;\n$42910af84dd64d95$export$f7ad0328861e2f03 = $42910af84dd64d95$var$resolve;\n\n});\n\n\n\nparcelRegister(\"eV21f\", function(module, exports) {\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */ /** Used as the size to enable large array optimizations. */ var LARGE_ARRAY_SIZE = 200;\n/** Used as the `TypeError` message for \"Functions\" methods. */ var FUNC_ERROR_TEXT = \"Expected a function\";\n/** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = \"__lodash_hash_undefined__\";\n/** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, PARTIAL_COMPARE_FLAG = 2;\n/** Used as references for various `Number` constants. */ var INFINITY = 1 / 0, MAX_SAFE_INTEGER = 9007199254740991;\n/** `Object#toString` result references. */ var argsTag = \"[object Arguments]\", arrayTag = \"[object Array]\", boolTag = \"[object Boolean]\", dateTag = \"[object Date]\", errorTag = \"[object Error]\", funcTag = \"[object Function]\", genTag = \"[object GeneratorFunction]\", mapTag = \"[object Map]\", numberTag = \"[object Number]\", objectTag = \"[object Object]\", promiseTag = \"[object Promise]\", regexpTag = \"[object RegExp]\", setTag = \"[object Set]\", stringTag = \"[object String]\", symbolTag = \"[object Symbol]\", weakMapTag = \"[object WeakMap]\";\nvar arrayBufferTag = \"[object ArrayBuffer]\", dataViewTag = \"[object DataView]\", float32Tag = \"[object Float32Array]\", float64Tag = \"[object Float64Array]\", int8Tag = \"[object Int8Array]\", int16Tag = \"[object Int16Array]\", int32Tag = \"[object Int32Array]\", uint8Tag = \"[object Uint8Array]\", uint8ClampedTag = \"[object Uint8ClampedArray]\", uint16Tag = \"[object Uint16Array]\", uint32Tag = \"[object Uint32Array]\";\n/** Used to match property names within property paths. */ var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, reIsPlainProp = /^\\w*$/, reLeadingDot = /^\\./, rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */ var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n/** Used to match backslashes in property paths. */ var reEscapeChar = /\\\\(\\\\)?/g;\n/** Used to detect host constructors (Safari). */ var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n/** Used to detect unsigned integer values. */ var reIsUint = /^(?:0|[1-9]\\d*)$/;\n/** Used to identify `toStringTag` values of typed arrays. */ var typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n/** Detect free variable `global` from Node.js. */ var freeGlobal = typeof $parcel$global == \"object\" && $parcel$global && $parcel$global.Object === Object && $parcel$global;\n/** Detect free variable `self`. */ var freeSelf = typeof self == \"object\" && self && self.Object === Object && self;\n/** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function(\"return this\")();\n/** Detect free variable `exports`. */ var freeExports = exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */ var freeModule = freeExports && true && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports;\n/** Detect free variable `process` from Node.js. */ var freeProcess = moduleExports && freeGlobal.process;\n/** Used to access faster Node.js helpers. */ var nodeUtil = function() {\n try {\n return freeProcess && freeProcess.binding(\"util\");\n } catch (e) {}\n}();\n/* Node.js helper references. */ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */ function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1, length = array ? array.length : 0;\n while(++index < length){\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */ function arraySome(array, predicate) {\n var index = -1, length = array ? array.length : 0;\n while(++index < length){\n if (predicate(array[index], index, array)) return true;\n }\n return false;\n}\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */ function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */ function baseTimes(n, iteratee) {\n var index = -1, result = Array(n);\n while(++index < n)result[index] = iteratee(index);\n return result;\n}\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */ function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */ function getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */ function isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != \"function\") try {\n result = !!(value + \"\");\n } catch (e) {}\n return result;\n}\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */ function mapToArray(map) {\n var index = -1, result = Array(map.size);\n map.forEach(function(value, key) {\n result[++index] = [\n key,\n value\n ];\n });\n return result;\n}\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */ function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */ function setToArray(set) {\n var index = -1, result = Array(set.size);\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n/** Used for built-in method references. */ var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto = Object.prototype;\n/** Used to detect overreaching core-js shims. */ var coreJsData = root[\"__core-js_shared__\"];\n/** Used to detect methods masquerading as native. */ var maskSrcKey = function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || \"\");\n return uid ? \"Symbol(src)_1.\" + uid : \"\";\n}();\n/** Used to resolve the decompiled source of functions. */ var funcToString = funcProto.toString;\n/** Used to check objects for own properties. */ var hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */ var objectToString = objectProto.toString;\n/** Used to detect if a method is native. */ var reIsNative = RegExp(\"^\" + funcToString.call(hasOwnProperty).replace(reRegExpChar, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\");\n/** Built-in value references. */ var Symbol = root.Symbol, Uint8Array = root.Uint8Array, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice;\n/* Built-in method references for those with the same name as other `lodash` methods. */ var nativeKeys = overArg(Object.keys, Object);\n/* Built-in method references that are verified to be native. */ var DataView = getNative(root, \"DataView\"), Map = getNative(root, \"Map\"), Promise = getNative(root, \"Promise\"), Set = getNative(root, \"Set\"), WeakMap = getNative(root, \"WeakMap\"), nativeCreate = getNative(Object, \"create\");\n/** Used to detect maps, sets, and weakmaps. */ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap);\n/** Used to convert symbols to primitives and strings. */ var symbolProto = Symbol ? Symbol.prototype : undefined, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, symbolToString = symbolProto ? symbolProto.toString : undefined;\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */ function Hash(entries) {\n var index = -1, length = entries ? entries.length : 0;\n this.clear();\n while(++index < length){\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */ function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */ function hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */ function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */ function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */ function hashSet(key, value) {\n var data = this.__data__;\n data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;\n return this;\n}\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype[\"delete\"] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */ function ListCache(entries) {\n var index = -1, length = entries ? entries.length : 0;\n this.clear();\n while(++index < length){\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */ function listCacheClear() {\n this.__data__ = [];\n}\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */ function listCacheDelete(key) {\n var data = this.__data__, index = assocIndexOf(data, key);\n if (index < 0) return false;\n var lastIndex = data.length - 1;\n if (index == lastIndex) data.pop();\n else splice.call(data, index, 1);\n return true;\n}\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */ function listCacheGet(key) {\n var data = this.__data__, index = assocIndexOf(data, key);\n return index < 0 ? undefined : data[index][1];\n}\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */ function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */ function listCacheSet(key, value) {\n var data = this.__data__, index = assocIndexOf(data, key);\n if (index < 0) data.push([\n key,\n value\n ]);\n else data[index][1] = value;\n return this;\n}\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype[\"delete\"] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */ function MapCache(entries) {\n var index = -1, length = entries ? entries.length : 0;\n this.clear();\n while(++index < length){\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */ function mapCacheClear() {\n this.__data__ = {\n \"hash\": new Hash,\n \"map\": new (Map || ListCache),\n \"string\": new Hash\n };\n}\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */ function mapCacheDelete(key) {\n return getMapData(this, key)[\"delete\"](key);\n}\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */ function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */ function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */ function mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype[\"delete\"] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */ function SetCache(values) {\n var index = -1, length = values ? values.length : 0;\n this.__data__ = new MapCache;\n while(++index < length)this.add(values[index]);\n}\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */ function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */ function setCacheHas(value) {\n return this.__data__.has(value);\n}\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */ function Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */ function stackClear() {\n this.__data__ = new ListCache;\n}\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */ function stackDelete(key) {\n return this.__data__[\"delete\"](key);\n}\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */ function stackGet(key) {\n return this.__data__.get(key);\n}\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */ function stackHas(key) {\n return this.__data__.has(key);\n}\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */ function stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {\n pairs.push([\n key,\n value\n ]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype[\"delete\"] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */ function arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = isArray(value) || isArguments(value) ? baseTimes(value.length, String) : [];\n var length = result.length, skipIndexes = !!length;\n for(var key in value)if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == \"length\" || isIndex(key, length)))) result.push(key);\n return result;\n}\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */ function assocIndexOf(array, key) {\n var length = array.length;\n while(length--){\n if (eq(array[length][0], key)) return length;\n }\n return -1;\n}\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */ function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */ var baseEach = createBaseEach(baseForOwn);\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */ var baseFor = createBaseFor();\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */ function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */ function baseGet(object, path) {\n path = isKey(path, object) ? [\n path\n ] : castPath(path);\n var index = 0, length = path.length;\n while(object != null && index < length)object = object[toKey(path[index++])];\n return index && index == length ? object : undefined;\n}\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */ function baseGetTag(value) {\n return objectToString.call(value);\n}\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */ function baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */ function baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) return true;\n if (value == null || other == null || !isObject(value) && !isObjectLike(other)) return value !== value && other !== other;\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */ function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object), othIsArr = isArray(other), objTag = arrayTag, othTag = arrayTag;\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object), othIsObj = othTag == objectTag && !isHostObject(other), isSameTag = objTag == othTag;\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return objIsArr || isTypedArray(object) ? equalArrays(object, other, equalFunc, customizer, bitmask, stack) : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, \"__wrapped__\"), othIsWrapped = othIsObj && hasOwnProperty.call(other, \"__wrapped__\");\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) return false;\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */ function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length, length = index, noCustomizer = !customizer;\n if (object == null) return !length;\n object = Object(object);\n while(index--){\n var data = matchData[index];\n if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) return false;\n }\n while(++index < length){\n data = matchData[index];\n var key = data[0], objValue = object[key], srcValue = data[1];\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) return false;\n } else {\n var stack = new Stack;\n if (customizer) var result = customizer(objValue, srcValue, key, object, source, stack);\n if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack) : result)) return false;\n }\n }\n return true;\n}\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */ function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) return false;\n var pattern = isFunction(value) || isHostObject(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */ function baseIsTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */ function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == \"function\") return value;\n if (value == null) return identity;\n if (typeof value == \"object\") return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);\n return property(value);\n}\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */ function baseKeys(object) {\n if (!isPrototype(object)) return nativeKeys(object);\n var result = [];\n for(var key in Object(object))if (hasOwnProperty.call(object, key) && key != \"constructor\") result.push(key);\n return result;\n}\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */ function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */ function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) return matchesStrictComparable(toKey(path), srcValue);\n return function(object) {\n var objValue = get(object, path);\n return objValue === undefined && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */ function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */ function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == \"string\") return value;\n if (isSymbol(value)) return symbolToString ? symbolToString.call(value) : \"\";\n var result = value + \"\";\n return result == \"0\" && 1 / value == -INFINITY ? \"-0\" : result;\n}\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */ function castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */ function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {};\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */ function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) return collection;\n if (!isArrayLike(collection)) return eachFunc(collection, iteratee);\n var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);\n while(fromRight ? index-- : ++index < length){\n if (iteratee(iterable[index], index, iterable) === false) break;\n }\n return collection;\n };\n}\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */ function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;\n while(length--){\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) break;\n }\n return object;\n };\n}\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */ function equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG, arrLength = array.length, othLength = other.length;\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) return false;\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) return stacked == other;\n var index = -1, result = true, seen = bitmask & UNORDERED_COMPARE_FLAG ? new SetCache : undefined;\n stack.set(array, other);\n stack.set(other, array);\n // Ignore non-index properties.\n while(++index < arrLength){\n var arrValue = array[index], othValue = other[index];\n if (customizer) var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);\n if (compared !== undefined) {\n if (compared) continue;\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) return seen.add(othIndex);\n })) {\n result = false;\n break;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n result = false;\n break;\n }\n }\n stack[\"delete\"](array);\n stack[\"delete\"](other);\n return result;\n}\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */ function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch(tag){\n case dataViewTag:\n if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) return false;\n object = object.buffer;\n other = other.buffer;\n case arrayBufferTag:\n if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) return false;\n return true;\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n case errorTag:\n return object.name == other.name && object.message == other.message;\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == other + \"\";\n case mapTag:\n var convert = mapToArray;\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n if (object.size != other.size && !isPartial) return false;\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) return stacked == other;\n bitmask |= UNORDERED_COMPARE_FLAG;\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack[\"delete\"](object);\n return result;\n case symbolTag:\n if (symbolValueOf) return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n return false;\n}\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */ function equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG, objProps = keys(object), objLength = objProps.length, othProps = keys(other), othLength = othProps.length;\n if (objLength != othLength && !isPartial) return false;\n var index = objLength;\n while(index--){\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) return stacked == other;\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n var skipCtor = isPartial;\n while(++index < objLength){\n key = objProps[index];\n var objValue = object[key], othValue = other[key];\n if (customizer) var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack) : compared)) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == \"constructor\");\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor, othCtor = other.constructor;\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor && \"constructor\" in object && \"constructor\" in other && !(typeof objCtor == \"function\" && objCtor instanceof objCtor && typeof othCtor == \"function\" && othCtor instanceof othCtor)) result = false;\n }\n stack[\"delete\"](object);\n stack[\"delete\"](other);\n return result;\n}\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */ function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == \"string\" ? \"string\" : \"hash\"] : data.map;\n}\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */ function getMatchData(object) {\n var result = keys(object), length = result.length;\n while(length--){\n var key = result[length], value = object[key];\n result[length] = [\n key,\n value,\n isStrictComparable(value)\n ];\n }\n return result;\n}\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */ function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */ var getTag = baseGetTag;\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set) != setTag || WeakMap && getTag(new WeakMap) != weakMapTag) getTag = function(value) {\n var result = objectToString.call(value), Ctor = result == objectTag ? value.constructor : undefined, ctorString = Ctor ? toSource(Ctor) : undefined;\n if (ctorString) switch(ctorString){\n case dataViewCtorString:\n return dataViewTag;\n case mapCtorString:\n return mapTag;\n case promiseCtorString:\n return promiseTag;\n case setCtorString:\n return setTag;\n case weakMapCtorString:\n return weakMapTag;\n }\n return result;\n};\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */ function hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [\n path\n ] : castPath(path);\n var result, index = -1, length = path.length;\n while(++index < length){\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) break;\n object = object[key];\n }\n if (result) return result;\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));\n}\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */ function isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (typeof value == \"number\" || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */ function isKey(value, object) {\n if (isArray(value)) return false;\n var type = typeof value;\n if (type == \"number\" || type == \"symbol\" || type == \"boolean\" || value == null || isSymbol(value)) return true;\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n}\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */ function isKeyable(value) {\n var type = typeof value;\n return type == \"string\" || type == \"number\" || type == \"symbol\" || type == \"boolean\" ? value !== \"__proto__\" : value === null;\n}\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */ function isMasked(func) {\n return !!maskSrcKey && maskSrcKey in func;\n}\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */ function isPrototype(value) {\n var Ctor = value && value.constructor, proto = typeof Ctor == \"function\" && Ctor.prototype || objectProto;\n return value === proto;\n}\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */ function isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */ function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) return false;\n return object[key] === srcValue && (srcValue !== undefined || key in Object(object));\n };\n}\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */ var stringToPath = memoize(function(string) {\n string = toString(string);\n var result = [];\n if (reLeadingDot.test(string)) result.push(\"\");\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, \"$1\") : number || match);\n });\n return result;\n});\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */ function toKey(value) {\n if (typeof value == \"string\" || isSymbol(value)) return value;\n var result = value + \"\";\n return result == \"0\" && 1 / value == -INFINITY ? \"-0\" : result;\n}\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */ function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return func + \"\";\n } catch (e) {}\n }\n return \"\";\n}\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity]\n * The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */ var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) result[key].push(value);\n else result[key] = [\n value\n ];\n});\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */ function memoize(func, resolver) {\n if (typeof func != \"function\" || resolver && typeof resolver != \"function\") throw new TypeError(FUNC_ERROR_TEXT);\n var memoized = function() {\n var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;\n if (cache.has(key)) return cache.get(key);\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */ function eq(value, other) {\n return value === other || value !== value && other !== other;\n}\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */ function isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, \"callee\") && (!propertyIsEnumerable.call(value, \"callee\") || objectToString.call(value) == argsTag);\n}\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */ var isArray = Array.isArray;\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */ function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */ function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */ function isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : \"\";\n return tag == funcTag || tag == genTag;\n}\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */ function isLength(value) {\n return typeof value == \"number\" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */ function isObject(value) {\n var type = typeof value;\n return !!value && (type == \"object\" || type == \"function\");\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */ function isObjectLike(value) {\n return !!value && typeof value == \"object\";\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */ function isSymbol(value) {\n return typeof value == \"symbol\" || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */ function toString(value) {\n return value == null ? \"\" : baseToString(value);\n}\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */ function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */ function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */ function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */ function identity(value) {\n return value;\n}\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */ function property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\nmodule.exports = groupBy;\n\n});\n\nvar $6aabcc7ac344e71d$exports = {};\n\"use strict\";\nObject.defineProperty($6aabcc7ac344e71d$exports, \"__esModule\", {\n value: true\n});\n$6aabcc7ac344e71d$exports.Fragment = $6aabcc7ac344e71d$exports.jsxs = $6aabcc7ac344e71d$exports.jsx = void 0;\n\nvar $g8iUW = parcelRequire(\"g8iUW\");\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\nvar $9GY6Y = parcelRequire(\"9GY6Y\");\n/**\n * @see {@link https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md}\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx}\n */ function $6aabcc7ac344e71d$var$jsx(type, _a, key) {\n var _b;\n var ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = $g8iUW.__rest(_a, [\n \"ref\",\n \"is\",\n \"style\",\n \"children\"\n ]);\n if (typeof type === \"function\" && (0, $1MFjU.isHTMLElementClass)(type)) type = (0, $1MFjU.tagNameOf)(type);\n children = (_b = children instanceof Array ? children.flat(Infinity) : [\n children\n ]) === null || _b === void 0 ? void 0 : _b.map(function(node) {\n return node instanceof Object ? new $9GY6Y.VNode(node) : node === 0 || node ? new $9GY6Y.VNode({\n text: node.toString()\n }) : new $9GY6Y.VNode({\n text: \"\"\n });\n });\n var commonProps = {\n key: key,\n ref: ref,\n is: is,\n style: style,\n children: children\n };\n return typeof type === \"string\" ? new $9GY6Y.VNode($g8iUW.__assign($g8iUW.__assign({}, commonProps), {\n tagName: type,\n props: props\n })) : type($g8iUW.__assign($g8iUW.__assign({}, commonProps), props));\n}\n$6aabcc7ac344e71d$exports.jsx = $6aabcc7ac344e71d$var$jsx;\n$6aabcc7ac344e71d$exports.jsxs = $6aabcc7ac344e71d$var$jsx;\n/**\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx#react-automatic-runtime-1}\n */ var $6aabcc7ac344e71d$var$Fragment = function(_a) {\n var key = _a.key, ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = $g8iUW.__rest(_a, [\n \"key\",\n \"ref\",\n \"is\",\n \"style\",\n \"children\"\n ]);\n return new $9GY6Y.VNode({\n key: key,\n ref: ref,\n is: is,\n props: props,\n style: style,\n children: children\n });\n};\n$6aabcc7ac344e71d$exports.Fragment = $6aabcc7ac344e71d$var$Fragment;\n\n\nvar $5ec47347fc6130b4$var$OriginalPromise = Promise;\n/**\n * ES5 subclassing is used per:\n * https://github.com/rtsao/browser-unhandled-rejection/issues/1\n * https://kangax.github.io/compat-table/es6/#test-Promise_is_subclassable\n *\n * Adapted from: https://gist.github.com/domenic/8ed6048b187ee8f2ec75\n */ var $5ec47347fc6130b4$var$InstrumentedPromise$1 = function Promise1(resolver) {\n if (!(this instanceof $5ec47347fc6130b4$var$InstrumentedPromise$1)) throw new TypeError(\"Cannot call a class as a function\");\n var promise = new $5ec47347fc6130b4$var$OriginalPromise(function(resolve, reject) {\n return resolver(resolve, function(arg) {\n $5ec47347fc6130b4$var$OriginalPromise.resolve().then(function() {\n if (promise._hasDownstreams === undefined) $5ec47347fc6130b4$var$dispatchUnhandledRejectionEvent(promise, arg);\n });\n return reject(arg);\n });\n });\n promise.__proto__ = $5ec47347fc6130b4$var$InstrumentedPromise$1.prototype;\n return promise;\n};\n$5ec47347fc6130b4$var$InstrumentedPromise$1.__proto__ = $5ec47347fc6130b4$var$OriginalPromise;\n$5ec47347fc6130b4$var$InstrumentedPromise$1.prototype.__proto__ = $5ec47347fc6130b4$var$OriginalPromise.prototype;\n$5ec47347fc6130b4$var$InstrumentedPromise$1.prototype.then = function then(onFulfilled, onRejected) {\n var next = $5ec47347fc6130b4$var$OriginalPromise.prototype.then.call(this, onFulfilled, onRejected);\n this._hasDownstreams = true;\n return next;\n};\nfunction $5ec47347fc6130b4$var$dispatchUnhandledRejectionEvent(promise, reason) {\n var event = document.createEvent(\"Event\");\n /**\n * Note: these properties should not be enumerable, which is the default setting\n */ Object.defineProperties(event, {\n promise: {\n value: promise,\n writable: false\n },\n reason: {\n value: reason,\n writable: false\n }\n });\n event.initEvent(\"unhandledrejection\", false, true // PromiseRejectionEvent is cancelable\n );\n window.dispatchEvent(event);\n}\nfunction $5ec47347fc6130b4$export$baf72085f5fb4df() {\n return typeof PromiseRejectionEvent === \"undefined\";\n}\nfunction $5ec47347fc6130b4$export$cea1c58a6db52bca() {\n Promise = $5ec47347fc6130b4$var$InstrumentedPromise$1;\n}\nfunction $5ec47347fc6130b4$export$dfb5619354ba860() {\n if ($5ec47347fc6130b4$export$baf72085f5fb4df()) $5ec47347fc6130b4$export$cea1c58a6db52bca();\n}\nvar $5ec47347fc6130b4$export$2e2bcd8739ae039 = $5ec47347fc6130b4$var$InstrumentedPromise$1;\n\n\nvar $4a2929bb027ef98e$exports = {};\n\"use strict\";\nObject.defineProperty($4a2929bb027ef98e$exports, \"__esModule\", {\n value: true\n});\n\nvar $g8iUW = parcelRequire(\"g8iUW\");\n\n$g8iUW.__exportStar((parcelRequire(\"9GY6Y\")), $4a2929bb027ef98e$exports);\n\n$g8iUW.__exportStar((parcelRequire(\"iu10s\")), $4a2929bb027ef98e$exports);\n\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\nvar $b55fce2c156a7377$var$k = class {\n type = 3;\n name = \"\";\n prefix = \"\";\n value = \"\";\n suffix = \"\";\n modifier = 3;\n constructor(t, r, n, o, c, l){\n this.type = t, this.name = r, this.prefix = n, this.value = o, this.suffix = c, this.modifier = l;\n }\n hasCustomName() {\n return this.name !== \"\" && typeof this.name != \"number\";\n }\n}, $b55fce2c156a7377$var$Pe = /[$_\\p{ID_Start}]/u, $b55fce2c156a7377$var$Se = /[$_\\u200C\\u200D\\p{ID_Continue}]/u, $b55fce2c156a7377$var$M = \".*\";\nfunction $b55fce2c156a7377$var$ke(e, t) {\n return (t ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(e);\n}\nfunction $b55fce2c156a7377$var$v(e, t = !1) {\n let r = [], n = 0;\n for(; n < e.length;){\n let o = e[n], c = function(l) {\n if (!t) throw new TypeError(l);\n r.push({\n type: \"INVALID_CHAR\",\n index: n,\n value: e[n++]\n });\n };\n if (o === \"*\") {\n r.push({\n type: \"ASTERISK\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \"+\" || o === \"?\") {\n r.push({\n type: \"OTHER_MODIFIER\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \"\\\\\") {\n r.push({\n type: \"ESCAPED_CHAR\",\n index: n++,\n value: e[n++]\n });\n continue;\n }\n if (o === \"{\") {\n r.push({\n type: \"OPEN\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \"}\") {\n r.push({\n type: \"CLOSE\",\n index: n,\n value: e[n++]\n });\n continue;\n }\n if (o === \":\") {\n let l = \"\", s = n + 1;\n for(; s < e.length;){\n let i = e.substr(s, 1);\n if (s === n + 1 && $b55fce2c156a7377$var$Pe.test(i) || s !== n + 1 && $b55fce2c156a7377$var$Se.test(i)) {\n l += e[s++];\n continue;\n }\n break;\n }\n if (!l) {\n c(`Missing parameter name at ${n}`);\n continue;\n }\n r.push({\n type: \"NAME\",\n index: n,\n value: l\n }), n = s;\n continue;\n }\n if (o === \"(\") {\n let l = 1, s = \"\", i = n + 1, a = !1;\n if (e[i] === \"?\") {\n c(`Pattern cannot start with \"?\" at ${i}`);\n continue;\n }\n for(; i < e.length;){\n if (!$b55fce2c156a7377$var$ke(e[i], !1)) {\n c(`Invalid character '${e[i]}' at ${i}.`), a = !0;\n break;\n }\n if (e[i] === \"\\\\\") {\n s += e[i++] + e[i++];\n continue;\n }\n if (e[i] === \")\") {\n if (l--, l === 0) {\n i++;\n break;\n }\n } else if (e[i] === \"(\" && (l++, e[i + 1] !== \"?\")) {\n c(`Capturing groups are not allowed at ${i}`), a = !0;\n break;\n }\n s += e[i++];\n }\n if (a) continue;\n if (l) {\n c(`Unbalanced pattern at ${n}`);\n continue;\n }\n if (!s) {\n c(`Missing pattern at ${n}`);\n continue;\n }\n r.push({\n type: \"REGEX\",\n index: n,\n value: s\n }), n = i;\n continue;\n }\n r.push({\n type: \"CHAR\",\n index: n,\n value: e[n++]\n });\n }\n return r.push({\n type: \"END\",\n index: n,\n value: \"\"\n }), r;\n}\nfunction $b55fce2c156a7377$var$D(e, t = {}) {\n let r = $b55fce2c156a7377$var$v(e);\n t.delimiter ??= \"/#?\", t.prefixes ??= \"./\";\n let n = `[^${$b55fce2c156a7377$var$x(t.delimiter)}]+?`, o = [], c = 0, l = 0, s = \"\", i = new Set, a = (f)=>{\n if (l < r.length && r[l].type === f) return r[l++].value;\n }, h = ()=>a(\"OTHER_MODIFIER\") ?? a(\"ASTERISK\"), p = (f)=>{\n let u = a(f);\n if (u !== void 0) return u;\n let { type: d, index: T } = r[l];\n throw new TypeError(`Unexpected ${d} at ${T}, expected ${f}`);\n }, O = ()=>{\n let f = \"\", u;\n for(; u = a(\"CHAR\") ?? a(\"ESCAPED_CHAR\");)f += u;\n return f;\n }, xe = (f)=>f, L = t.encodePart || xe, I = \"\", H = (f)=>{\n I += f;\n }, $ = ()=>{\n I.length && (o.push(new $b55fce2c156a7377$var$k(3, \"\", \"\", L(I), \"\", 3)), I = \"\");\n }, G = (f, u, d, T, Y)=>{\n let g = 3;\n switch(Y){\n case \"?\":\n g = 1;\n break;\n case \"*\":\n g = 0;\n break;\n case \"+\":\n g = 2;\n break;\n }\n if (!u && !d && g === 3) {\n H(f);\n return;\n }\n if ($(), !u && !d) {\n if (!f) return;\n o.push(new $b55fce2c156a7377$var$k(3, \"\", \"\", L(f), \"\", g));\n return;\n }\n let m;\n d ? d === \"*\" ? m = $b55fce2c156a7377$var$M : m = d : m = n;\n let R = 2;\n m === n ? (R = 1, m = \"\") : m === $b55fce2c156a7377$var$M && (R = 0, m = \"\");\n let S;\n if (u ? S = u : d && (S = c++), i.has(S)) throw new TypeError(`Duplicate name '${S}'.`);\n i.add(S), o.push(new $b55fce2c156a7377$var$k(R, S, L(f), m, L(T), g));\n };\n for(; l < r.length;){\n let f = a(\"CHAR\"), u = a(\"NAME\"), d = a(\"REGEX\");\n if (!u && !d && (d = a(\"ASTERISK\")), u || d) {\n let g = f ?? \"\";\n t.prefixes.indexOf(g) === -1 && (H(g), g = \"\"), $();\n let m = h();\n G(g, u, d, \"\", m);\n continue;\n }\n let T = f ?? a(\"ESCAPED_CHAR\");\n if (T) {\n H(T);\n continue;\n }\n if (a(\"OPEN\")) {\n let g = O(), m = a(\"NAME\"), R = a(\"REGEX\");\n !m && !R && (R = a(\"ASTERISK\"));\n let S = O();\n p(\"CLOSE\");\n let be = h();\n G(g, m, R, S, be);\n continue;\n }\n $(), p(\"END\");\n }\n return o;\n}\nfunction $b55fce2c156a7377$var$x(e) {\n return e.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction $b55fce2c156a7377$var$X(e) {\n return e && e.ignoreCase ? \"ui\" : \"u\";\n}\nfunction $b55fce2c156a7377$var$Z(e, t, r) {\n return $b55fce2c156a7377$var$F($b55fce2c156a7377$var$D(e, r), t, r);\n}\nfunction $b55fce2c156a7377$var$y(e) {\n switch(e){\n case 0:\n return \"*\";\n case 1:\n return \"?\";\n case 2:\n return \"+\";\n case 3:\n return \"\";\n }\n}\nfunction $b55fce2c156a7377$var$F(e, t, r = {}) {\n r.delimiter ??= \"/#?\", r.prefixes ??= \"./\", r.sensitive ??= !1, r.strict ??= !1, r.end ??= !0, r.start ??= !0, r.endsWith = \"\";\n let n = r.start ? \"^\" : \"\";\n for (let s of e){\n if (s.type === 3) {\n s.modifier === 3 ? n += $b55fce2c156a7377$var$x(s.value) : n += `(?:${$b55fce2c156a7377$var$x(s.value)})${$b55fce2c156a7377$var$y(s.modifier)}`;\n continue;\n }\n t && t.push(s.name);\n let i = `[^${$b55fce2c156a7377$var$x(r.delimiter)}]+?`, a = s.value;\n if (s.type === 1 ? a = i : s.type === 0 && (a = $b55fce2c156a7377$var$M), !s.prefix.length && !s.suffix.length) {\n s.modifier === 3 || s.modifier === 1 ? n += `(${a})${$b55fce2c156a7377$var$y(s.modifier)}` : n += `((?:${a})${$b55fce2c156a7377$var$y(s.modifier)})`;\n continue;\n }\n if (s.modifier === 3 || s.modifier === 1) {\n n += `(?:${$b55fce2c156a7377$var$x(s.prefix)}(${a})${$b55fce2c156a7377$var$x(s.suffix)})`, n += $b55fce2c156a7377$var$y(s.modifier);\n continue;\n }\n n += `(?:${$b55fce2c156a7377$var$x(s.prefix)}`, n += `((?:${a})(?:`, n += $b55fce2c156a7377$var$x(s.suffix), n += $b55fce2c156a7377$var$x(s.prefix), n += `(?:${a}))*)${$b55fce2c156a7377$var$x(s.suffix)})`, s.modifier === 0 && (n += \"?\");\n }\n let o = `[${$b55fce2c156a7377$var$x(r.endsWith)}]|$`, c = `[${$b55fce2c156a7377$var$x(r.delimiter)}]`;\n if (r.end) return r.strict || (n += `${c}?`), r.endsWith.length ? n += `(?=${o})` : n += \"$\", new RegExp(n, $b55fce2c156a7377$var$X(r));\n r.strict || (n += `(?:${c}(?=${o}))?`);\n let l = !1;\n if (e.length) {\n let s = e[e.length - 1];\n s.type === 3 && s.modifier === 3 && (l = r.delimiter.indexOf(s) > -1);\n }\n return l || (n += `(?=${c}|${o})`), new RegExp(n, $b55fce2c156a7377$var$X(r));\n}\nvar $b55fce2c156a7377$var$b = {\n delimiter: \"\",\n prefixes: \"\",\n sensitive: !0,\n strict: !0\n}, $b55fce2c156a7377$var$B = {\n delimiter: \".\",\n prefixes: \"\",\n sensitive: !0,\n strict: !0\n}, $b55fce2c156a7377$var$q = {\n delimiter: \"/\",\n prefixes: \"/\",\n sensitive: !0,\n strict: !0\n};\nfunction $b55fce2c156a7377$var$J(e, t) {\n return e.length ? e[0] === \"/\" ? !0 : !t || e.length < 2 ? !1 : (e[0] == \"\\\\\" || e[0] == \"{\") && e[1] == \"/\" : !1;\n}\nfunction $b55fce2c156a7377$var$Q(e, t) {\n return e.startsWith(t) ? e.substring(t.length, e.length) : e;\n}\nfunction $b55fce2c156a7377$var$Ee(e, t) {\n return e.endsWith(t) ? e.substr(0, e.length - t.length) : e;\n}\nfunction $b55fce2c156a7377$var$W(e) {\n return !e || e.length < 2 ? !1 : e[0] === \"[\" || (e[0] === \"\\\\\" || e[0] === \"{\") && e[1] === \"[\";\n}\nvar $b55fce2c156a7377$var$ee = [\n \"ftp\",\n \"file\",\n \"http\",\n \"https\",\n \"ws\",\n \"wss\"\n];\nfunction $b55fce2c156a7377$var$N(e) {\n if (!e) return !0;\n for (let t of $b55fce2c156a7377$var$ee)if (e.test(t)) return !0;\n return !1;\n}\nfunction $b55fce2c156a7377$var$te(e, t) {\n if (e = $b55fce2c156a7377$var$Q(e, \"#\"), t || e === \"\") return e;\n let r = new URL(\"https://example.com\");\n return r.hash = e, r.hash ? r.hash.substring(1, r.hash.length) : \"\";\n}\nfunction $b55fce2c156a7377$var$re(e, t) {\n if (e = $b55fce2c156a7377$var$Q(e, \"?\"), t || e === \"\") return e;\n let r = new URL(\"https://example.com\");\n return r.search = e, r.search ? r.search.substring(1, r.search.length) : \"\";\n}\nfunction $b55fce2c156a7377$var$ne(e, t) {\n return t || e === \"\" ? e : $b55fce2c156a7377$var$W(e) ? $b55fce2c156a7377$var$j(e) : $b55fce2c156a7377$var$z(e);\n}\nfunction $b55fce2c156a7377$var$se(e, t) {\n if (t || e === \"\") return e;\n let r = new URL(\"https://example.com\");\n return r.password = e, r.password;\n}\nfunction $b55fce2c156a7377$var$ie(e, t) {\n if (t || e === \"\") return e;\n let r = new URL(\"https://example.com\");\n return r.username = e, r.username;\n}\nfunction $b55fce2c156a7377$var$ae(e, t, r) {\n if (r || e === \"\") return e;\n if (t && !$b55fce2c156a7377$var$ee.includes(t)) return new URL(`${t}:${e}`).pathname;\n let n = e[0] == \"/\";\n return e = new URL(n ? e : \"/-\" + e, \"https://example.com\").pathname, n || (e = e.substring(2, e.length)), e;\n}\nfunction $b55fce2c156a7377$var$oe(e, t, r) {\n return $b55fce2c156a7377$var$_(t) === e && (e = \"\"), r || e === \"\" ? e : $b55fce2c156a7377$var$K(e);\n}\nfunction $b55fce2c156a7377$var$ce(e, t) {\n return e = $b55fce2c156a7377$var$Ee(e, \":\"), t || e === \"\" ? e : $b55fce2c156a7377$var$A(e);\n}\nfunction $b55fce2c156a7377$var$_(e) {\n switch(e){\n case \"ws\":\n case \"http\":\n return \"80\";\n case \"wws\":\n case \"https\":\n return \"443\";\n case \"ftp\":\n return \"21\";\n default:\n return \"\";\n }\n}\nfunction $b55fce2c156a7377$var$A(e) {\n if (e === \"\") return e;\n if (/^[-+.A-Za-z0-9]*$/.test(e)) return e.toLowerCase();\n throw new TypeError(`Invalid protocol '${e}'.`);\n}\nfunction $b55fce2c156a7377$var$le(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com\");\n return t.username = e, t.username;\n}\nfunction $b55fce2c156a7377$var$he(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com\");\n return t.password = e, t.password;\n}\nfunction $b55fce2c156a7377$var$z(e) {\n if (e === \"\") return e;\n if (/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(e)) throw new TypeError(`Invalid hostname '${e}'`);\n let t = new URL(\"https://example.com\");\n return t.hostname = e, t.hostname;\n}\nfunction $b55fce2c156a7377$var$j(e) {\n if (e === \"\") return e;\n if (/[^0-9a-fA-F[\\]:]/g.test(e)) throw new TypeError(`Invalid IPv6 hostname '${e}'`);\n return e.toLowerCase();\n}\nfunction $b55fce2c156a7377$var$K(e) {\n if (e === \"\" || /^[0-9]*$/.test(e) && parseInt(e) <= 65535) return e;\n throw new TypeError(`Invalid port '${e}'.`);\n}\nfunction $b55fce2c156a7377$var$fe(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com\");\n return t.pathname = e[0] !== \"/\" ? \"/-\" + e : e, e[0] !== \"/\" ? t.pathname.substring(2, t.pathname.length) : t.pathname;\n}\nfunction $b55fce2c156a7377$var$ue(e) {\n return e === \"\" ? e : new URL(`data:${e}`).pathname;\n}\nfunction $b55fce2c156a7377$var$pe(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com\");\n return t.search = e, t.search.substring(1, t.search.length);\n}\nfunction $b55fce2c156a7377$var$de(e) {\n if (e === \"\") return e;\n let t = new URL(\"https://example.com\");\n return t.hash = e, t.hash.substring(1, t.hash.length);\n}\nvar $b55fce2c156a7377$var$U = class {\n #i;\n #n = [];\n #t = {};\n #e = 0;\n #s = 1;\n #u = 0;\n #c = 0;\n #p = 0;\n #d = 0;\n #g = !1;\n constructor(t){\n this.#i = t;\n }\n get result() {\n return this.#t;\n }\n parse() {\n for(this.#n = $b55fce2c156a7377$var$v(this.#i, !0); this.#e < this.#n.length; this.#e += this.#s){\n if (this.#s = 1, this.#n[this.#e].type === \"END\") {\n if (this.#c === 0) {\n this.#P(), this.#l() ? this.#r(9, 1) : this.#h() ? (this.#r(8, 1), this.#t.hash = \"\") : (this.#r(7, 0), this.#t.search = \"\", this.#t.hash = \"\");\n continue;\n } else if (this.#c === 2) {\n this.#f(5);\n continue;\n }\n this.#r(10, 0);\n break;\n }\n if (this.#p > 0) {\n if (this.#T()) this.#p -= 1;\n else continue;\n }\n if (this.#O()) {\n this.#p += 1;\n continue;\n }\n switch(this.#c){\n case 0:\n this.#S() && (this.#t.username = \"\", this.#t.password = \"\", this.#t.hostname = \"\", this.#t.port = \"\", this.#t.pathname = \"\", this.#t.search = \"\", this.#t.hash = \"\", this.#f(1));\n break;\n case 1:\n if (this.#S()) {\n this.#C();\n let t = 7, r = 1;\n this.#g && (this.#t.pathname = \"/\"), this.#E() ? (t = 2, r = 3) : this.#g && (t = 2), this.#r(t, r);\n }\n break;\n case 2:\n this.#x() ? this.#f(3) : (this.#b() || this.#h() || this.#l()) && this.#f(5);\n break;\n case 3:\n this.#R() ? this.#r(4, 1) : this.#x() && this.#r(5, 1);\n break;\n case 4:\n this.#x() && this.#r(5, 1);\n break;\n case 5:\n this.#A() ? this.#d += 1 : this.#w() && (this.#d -= 1), this.#y() && !this.#d ? this.#r(6, 1) : this.#b() ? this.#r(7, 0) : this.#h() ? this.#r(8, 1) : this.#l() && this.#r(9, 1);\n break;\n case 6:\n this.#b() ? this.#r(7, 0) : this.#h() ? this.#r(8, 1) : this.#l() && this.#r(9, 1);\n break;\n case 7:\n this.#h() ? this.#r(8, 1) : this.#l() && this.#r(9, 1);\n break;\n case 8:\n this.#l() && this.#r(9, 1);\n break;\n case 9:\n break;\n case 10:\n break;\n }\n }\n }\n #r(t, r) {\n switch(this.#c){\n case 0:\n break;\n case 1:\n this.#t.protocol = this.#o();\n break;\n case 2:\n break;\n case 3:\n this.#t.username = this.#o();\n break;\n case 4:\n this.#t.password = this.#o();\n break;\n case 5:\n this.#t.hostname = this.#o();\n break;\n case 6:\n this.#t.port = this.#o();\n break;\n case 7:\n this.#t.pathname = this.#o();\n break;\n case 8:\n this.#t.search = this.#o();\n break;\n case 9:\n this.#t.hash = this.#o();\n break;\n case 10:\n break;\n }\n this.#k(t, r);\n }\n #k(t, r) {\n this.#c = t, this.#u = this.#e + r, this.#e += r, this.#s = 0;\n }\n #P() {\n this.#e = this.#u, this.#s = 0;\n }\n #f(t) {\n this.#P(), this.#c = t;\n }\n #m(t) {\n return t < 0 && (t = this.#n.length - t), t < this.#n.length ? this.#n[t] : this.#n[this.#n.length - 1];\n }\n #a(t, r) {\n let n = this.#m(t);\n return n.value === r && (n.type === \"CHAR\" || n.type === \"ESCAPED_CHAR\" || n.type === \"INVALID_CHAR\");\n }\n #S() {\n return this.#a(this.#e, \":\");\n }\n #E() {\n return this.#a(this.#e + 1, \"/\") && this.#a(this.#e + 2, \"/\");\n }\n #x() {\n return this.#a(this.#e, \"@\");\n }\n #R() {\n return this.#a(this.#e, \":\");\n }\n #y() {\n return this.#a(this.#e, \":\");\n }\n #b() {\n return this.#a(this.#e, \"/\");\n }\n #h() {\n if (this.#a(this.#e, \"?\")) return !0;\n if (this.#n[this.#e].value !== \"?\") return !1;\n let t = this.#m(this.#e - 1);\n return t.type !== \"NAME\" && t.type !== \"REGEX\" && t.type !== \"CLOSE\" && t.type !== \"ASTERISK\";\n }\n #l() {\n return this.#a(this.#e, \"#\");\n }\n #O() {\n return this.#n[this.#e].type == \"OPEN\";\n }\n #T() {\n return this.#n[this.#e].type == \"CLOSE\";\n }\n #A() {\n return this.#a(this.#e, \"[\");\n }\n #w() {\n return this.#a(this.#e, \"]\");\n }\n #o() {\n let t = this.#n[this.#e], r = this.#m(this.#u).index;\n return this.#i.substring(r, t.index);\n }\n #C() {\n let t = {};\n Object.assign(t, $b55fce2c156a7377$var$b), t.encodePart = $b55fce2c156a7377$var$A;\n let r = $b55fce2c156a7377$var$Z(this.#o(), void 0, t);\n this.#g = $b55fce2c156a7377$var$N(r);\n }\n};\nvar $b55fce2c156a7377$var$V = [\n \"protocol\",\n \"username\",\n \"password\",\n \"hostname\",\n \"port\",\n \"pathname\",\n \"search\",\n \"hash\"\n], $b55fce2c156a7377$var$E = \"*\";\nfunction $b55fce2c156a7377$var$ge(e, t) {\n if (typeof e != \"string\") throw new TypeError(\"parameter 1 is not of type 'string'.\");\n let r = new URL(e, t);\n return {\n protocol: r.protocol.substring(0, r.protocol.length - 1),\n username: r.username,\n password: r.password,\n hostname: r.hostname,\n port: r.port,\n pathname: r.pathname,\n search: r.search !== \"\" ? r.search.substring(1, r.search.length) : void 0,\n hash: r.hash !== \"\" ? r.hash.substring(1, r.hash.length) : void 0\n };\n}\nfunction $b55fce2c156a7377$var$P(e, t) {\n return t ? $b55fce2c156a7377$var$C(e) : e;\n}\nfunction $b55fce2c156a7377$var$w(e, t, r) {\n let n;\n if (typeof t.baseURL == \"string\") try {\n n = new URL(t.baseURL), e.protocol = $b55fce2c156a7377$var$P(n.protocol.substring(0, n.protocol.length - 1), r), e.username = $b55fce2c156a7377$var$P(n.username, r), e.password = $b55fce2c156a7377$var$P(n.password, r), e.hostname = $b55fce2c156a7377$var$P(n.hostname, r), e.port = $b55fce2c156a7377$var$P(n.port, r), e.pathname = $b55fce2c156a7377$var$P(n.pathname, r), e.search = $b55fce2c156a7377$var$P(n.search.substring(1, n.search.length), r), e.hash = $b55fce2c156a7377$var$P(n.hash.substring(1, n.hash.length), r);\n } catch {\n throw new TypeError(`invalid baseURL '${t.baseURL}'.`);\n }\n if (typeof t.protocol == \"string\" && (e.protocol = $b55fce2c156a7377$var$ce(t.protocol, r)), typeof t.username == \"string\" && (e.username = $b55fce2c156a7377$var$ie(t.username, r)), typeof t.password == \"string\" && (e.password = $b55fce2c156a7377$var$se(t.password, r)), typeof t.hostname == \"string\" && (e.hostname = $b55fce2c156a7377$var$ne(t.hostname, r)), typeof t.port == \"string\" && (e.port = $b55fce2c156a7377$var$oe(t.port, e.protocol, r)), typeof t.pathname == \"string\") {\n if (e.pathname = t.pathname, n && !$b55fce2c156a7377$var$J(e.pathname, r)) {\n let o = n.pathname.lastIndexOf(\"/\");\n o >= 0 && (e.pathname = $b55fce2c156a7377$var$P(n.pathname.substring(0, o + 1), r) + e.pathname);\n }\n e.pathname = $b55fce2c156a7377$var$ae(e.pathname, e.protocol, r);\n }\n return typeof t.search == \"string\" && (e.search = $b55fce2c156a7377$var$re(t.search, r)), typeof t.hash == \"string\" && (e.hash = $b55fce2c156a7377$var$te(t.hash, r)), e;\n}\nfunction $b55fce2c156a7377$var$C(e) {\n return e.replace(/([+*?:{}()\\\\])/g, \"\\\\$1\");\n}\nfunction $b55fce2c156a7377$var$Re(e) {\n return e.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction $b55fce2c156a7377$var$ye(e, t) {\n t.delimiter ??= \"/#?\", t.prefixes ??= \"./\", t.sensitive ??= !1, t.strict ??= !1, t.end ??= !0, t.start ??= !0, t.endsWith = \"\";\n let r = \".*\", n = `[^${$b55fce2c156a7377$var$Re(t.delimiter)}]+?`, o = /[$_\\u200C\\u200D\\p{ID_Continue}]/u, c = \"\";\n for(let l = 0; l < e.length; ++l){\n let s = e[l];\n if (s.type === 3) {\n if (s.modifier === 3) {\n c += $b55fce2c156a7377$var$C(s.value);\n continue;\n }\n c += `{${$b55fce2c156a7377$var$C(s.value)}}${$b55fce2c156a7377$var$y(s.modifier)}`;\n continue;\n }\n let i = s.hasCustomName(), a = !!s.suffix.length || !!s.prefix.length && (s.prefix.length !== 1 || !t.prefixes.includes(s.prefix)), h = l > 0 ? e[l - 1] : null, p = l < e.length - 1 ? e[l + 1] : null;\n if (!a && i && s.type === 1 && s.modifier === 3 && p && !p.prefix.length && !p.suffix.length) {\n if (p.type === 3) {\n let O = p.value.length > 0 ? p.value[0] : \"\";\n a = o.test(O);\n } else a = !p.hasCustomName();\n }\n if (!a && !s.prefix.length && h && h.type === 3) {\n let O = h.value[h.value.length - 1];\n a = t.prefixes.includes(O);\n }\n a && (c += \"{\"), c += $b55fce2c156a7377$var$C(s.prefix), i && (c += `:${s.name}`), s.type === 2 ? c += `(${s.value})` : s.type === 1 ? i || (c += `(${n})`) : s.type === 0 && (!i && (!h || h.type === 3 || h.modifier !== 3 || a || s.prefix !== \"\") ? c += \"*\" : c += `(${r})`), s.type === 1 && i && s.suffix.length && o.test(s.suffix[0]) && (c += \"\\\\\"), c += $b55fce2c156a7377$var$C(s.suffix), a && (c += \"}\"), s.modifier !== 3 && (c += $b55fce2c156a7377$var$y(s.modifier));\n }\n return c;\n}\nvar $b55fce2c156a7377$export$a348b14d2b61192c = class {\n #i;\n #n = {};\n #t = {};\n #e = {};\n #s = {};\n constructor(t = {}, r, n){\n try {\n let o;\n if (typeof r == \"string\" ? o = r : n = r, typeof t == \"string\") {\n let i = new $b55fce2c156a7377$var$U(t);\n if (i.parse(), t = i.result, o === void 0 && typeof t.protocol != \"string\") throw new TypeError(\"A base URL must be provided for a relative constructor string.\");\n t.baseURL = o;\n } else {\n if (!t || typeof t != \"object\") throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");\n if (o) throw new TypeError(\"parameter 1 is not of type 'string'.\");\n }\n typeof n > \"u\" && (n = {\n ignoreCase: !1\n });\n let c = {\n ignoreCase: n.ignoreCase === !0\n }, l = {\n pathname: $b55fce2c156a7377$var$E,\n protocol: $b55fce2c156a7377$var$E,\n username: $b55fce2c156a7377$var$E,\n password: $b55fce2c156a7377$var$E,\n hostname: $b55fce2c156a7377$var$E,\n port: $b55fce2c156a7377$var$E,\n search: $b55fce2c156a7377$var$E,\n hash: $b55fce2c156a7377$var$E\n };\n this.#i = $b55fce2c156a7377$var$w(l, t, !0), $b55fce2c156a7377$var$_(this.#i.protocol) === this.#i.port && (this.#i.port = \"\");\n let s;\n for (s of $b55fce2c156a7377$var$V){\n if (!(s in this.#i)) continue;\n let i = {}, a = this.#i[s];\n switch(this.#t[s] = [], s){\n case \"protocol\":\n Object.assign(i, $b55fce2c156a7377$var$b), i.encodePart = $b55fce2c156a7377$var$A;\n break;\n case \"username\":\n Object.assign(i, $b55fce2c156a7377$var$b), i.encodePart = $b55fce2c156a7377$var$le;\n break;\n case \"password\":\n Object.assign(i, $b55fce2c156a7377$var$b), i.encodePart = $b55fce2c156a7377$var$he;\n break;\n case \"hostname\":\n Object.assign(i, $b55fce2c156a7377$var$B), $b55fce2c156a7377$var$W(a) ? i.encodePart = $b55fce2c156a7377$var$j : i.encodePart = $b55fce2c156a7377$var$z;\n break;\n case \"port\":\n Object.assign(i, $b55fce2c156a7377$var$b), i.encodePart = $b55fce2c156a7377$var$K;\n break;\n case \"pathname\":\n $b55fce2c156a7377$var$N(this.#n.protocol) ? (Object.assign(i, $b55fce2c156a7377$var$q, c), i.encodePart = $b55fce2c156a7377$var$fe) : (Object.assign(i, $b55fce2c156a7377$var$b, c), i.encodePart = $b55fce2c156a7377$var$ue);\n break;\n case \"search\":\n Object.assign(i, $b55fce2c156a7377$var$b, c), i.encodePart = $b55fce2c156a7377$var$pe;\n break;\n case \"hash\":\n Object.assign(i, $b55fce2c156a7377$var$b, c), i.encodePart = $b55fce2c156a7377$var$de;\n break;\n }\n try {\n this.#s[s] = $b55fce2c156a7377$var$D(a, i), this.#n[s] = $b55fce2c156a7377$var$F(this.#s[s], this.#t[s], i), this.#e[s] = $b55fce2c156a7377$var$ye(this.#s[s], i);\n } catch {\n throw new TypeError(`invalid ${s} pattern '${this.#i[s]}'.`);\n }\n }\n } catch (o) {\n throw new TypeError(`Failed to construct 'URLPattern': ${o.message}`);\n }\n }\n test(t = {}, r) {\n let n = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof t != \"string\" && r) throw new TypeError(\"parameter 1 is not of type 'string'.\");\n if (typeof t > \"u\") return !1;\n try {\n typeof t == \"object\" ? n = $b55fce2c156a7377$var$w(n, t, !1) : n = $b55fce2c156a7377$var$w(n, $b55fce2c156a7377$var$ge(t, r), !1);\n } catch {\n return !1;\n }\n let o;\n for (o of $b55fce2c156a7377$var$V)if (!this.#n[o].exec(n[o])) return !1;\n return !0;\n }\n exec(t = {}, r) {\n let n = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof t != \"string\" && r) throw new TypeError(\"parameter 1 is not of type 'string'.\");\n if (typeof t > \"u\") return;\n try {\n typeof t == \"object\" ? n = $b55fce2c156a7377$var$w(n, t, !1) : n = $b55fce2c156a7377$var$w(n, $b55fce2c156a7377$var$ge(t, r), !1);\n } catch {\n return null;\n }\n let o = {};\n r ? o.inputs = [\n t,\n r\n ] : o.inputs = [\n t\n ];\n let c;\n for (c of $b55fce2c156a7377$var$V){\n let l = this.#n[c].exec(n[c]);\n if (!l) return null;\n let s = {};\n for (let [i, a] of this.#t[c].entries())if (typeof a == \"string\" || typeof a == \"number\") {\n let h = l[i + 1];\n s[a] = h;\n }\n o[c] = {\n input: n[c] ?? \"\",\n groups: s\n };\n }\n return o;\n }\n static compareComponent(t, r, n) {\n let o = (i, a)=>{\n for (let h of [\n \"type\",\n \"modifier\",\n \"prefix\",\n \"value\",\n \"suffix\"\n ]){\n if (i[h] < a[h]) return -1;\n if (i[h] === a[h]) continue;\n return 1;\n }\n return 0;\n }, c = new $b55fce2c156a7377$var$k(3, \"\", \"\", \"\", \"\", 3), l = new $b55fce2c156a7377$var$k(0, \"\", \"\", \"\", \"\", 3), s = (i, a)=>{\n let h = 0;\n for(; h < Math.min(i.length, a.length); ++h){\n let p = o(i[h], a[h]);\n if (p) return p;\n }\n return i.length === a.length ? 0 : o(i[h] ?? c, a[h] ?? c);\n };\n return !r.#e[t] && !n.#e[t] ? 0 : r.#e[t] && !n.#e[t] ? s(r.#s[t], [\n l\n ]) : !r.#e[t] && n.#e[t] ? s([\n l\n ], n.#s[t]) : s(r.#s[t], n.#s[t]);\n }\n get protocol() {\n return this.#e.protocol;\n }\n get username() {\n return this.#e.username;\n }\n get password() {\n return this.#e.password;\n }\n get hostname() {\n return this.#e.hostname;\n }\n get port() {\n return this.#e.port;\n }\n get pathname() {\n return this.#e.pathname;\n }\n get search() {\n return this.#e.search;\n }\n get hash() {\n return this.#e.hash;\n }\n};\n\n\nif (!globalThis.URLPattern) globalThis.URLPattern = (0, $b55fce2c156a7377$export$a348b14d2b61192c);\n\n\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\nfunction $3268d95a94a11a3f$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nfunction $3268d95a94a11a3f$var$$parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\" || Object.prototype.hasOwnProperty.call(dest, key)) return;\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n return dest;\n}\nvar $3268d95a94a11a3f$var$$0c03e47eb1097734$exports = {};\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$0c03e47eb1097734$exports, \"observer\", function() {\n return $3268d95a94a11a3f$export$b6ae1bc530f4c149;\n});\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$0c03e47eb1097734$exports, \"attribute\", function() {\n return $3268d95a94a11a3f$export$af4b9a83f4b00434;\n});\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$0c03e47eb1097734$exports, \"reaction\", function() {\n return $3268d95a94a11a3f$export$7203b476385689ae;\n});\nvar $3268d95a94a11a3f$var$$552a56cc5ff3f479$exports = {};\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$552a56cc5ff3f479$exports, \"Defer\", function() {\n return $3268d95a94a11a3f$export$c7e91f8aec23ae14;\n});\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$552a56cc5ff3f479$exports, \"getMobxData\", function() {\n return $3268d95a94a11a3f$export$b06b4c21253e26e2;\n});\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$552a56cc5ff3f479$exports, \"animated\", function() {\n return $3268d95a94a11a3f$export$4077c0dfbe9c3861;\n});\nclass $3268d95a94a11a3f$export$c7e91f8aec23ae14 {\n constructor(){\n Object.defineProperty(this, \"resolve\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reject\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"promise\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new Promise((resolve, reject)=>{\n this.resolve = resolve;\n this.reject = reject;\n })\n });\n }\n}\nfunction $3268d95a94a11a3f$export$b06b4c21253e26e2(observable) {\n var _a;\n for (const key of Object.getOwnPropertySymbols(observable)){\n const store = (_a = observable[key]) === null || _a === void 0 ? void 0 : _a.values_;\n if (store instanceof Map) return Object.fromEntries(Array.from(store, ([key, { value_: value_ }])=>[\n key,\n value_\n ]));\n }\n}\nconst $3268d95a94a11a3f$export$4077c0dfbe9c3861 = (root, targetSelector)=>new Promise((resolve)=>{\n const ended = (0, $1MFjU.delegate)(targetSelector, (event)=>{\n root.removeEventListener(\"animationend\", ended);\n root.removeEventListener(\"animationcancel\", ended);\n resolve(event);\n });\n root.addEventListener(\"animationend\", ended);\n root.addEventListener(\"animationcancel\", ended);\n });\nfunction $3268d95a94a11a3f$var$$0c03e47eb1097734$var$wrapFunction(func) {\n return (props)=>{\n const tree = func(props), renderer = new (0, $4a2929bb027ef98e$exports.DOMRenderer)();\n const disposer = (0, $dDNcL.autorun)(()=>{\n const newTree = func(props);\n if (tree.node) Object.assign(tree, renderer.patch(tree, newTree));\n });\n const { ref: ref } = tree;\n tree.ref = (node)=>{\n if (node) tree.node = node;\n else disposer();\n ref === null || ref === void 0 || ref(node);\n };\n return tree;\n };\n}\nconst $3268d95a94a11a3f$var$$0c03e47eb1097734$var$reactionMap = new WeakMap();\nfunction $3268d95a94a11a3f$var$$0c03e47eb1097734$var$wrapClass(Component) {\n class ObserverComponent extends Component {\n get props() {\n return $3268d95a94a11a3f$export$b06b4c21253e26e2(this);\n }\n constructor(){\n super();\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"boot\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const names = this.constructor[\"observedAttributes\"] || [], reactions = $3268d95a94a11a3f$var$$0c03e47eb1097734$var$reactionMap.get(this) || [];\n this.disposers.push(...names.map((name)=>(0, $dDNcL.autorun)(()=>this.syncPropAttr(name))), ...reactions.map(({ expression: expression, effect: effect })=>(0, $dDNcL.reaction)((reaction)=>expression(this, reaction), effect.bind(this))));\n }\n });\n const { update: update } = Object.getPrototypeOf(this);\n this[\"update\"] = ()=>this.disposers.push((0, $dDNcL.autorun)(()=>update.call(this)));\n Promise.resolve().then(this.boot);\n }\n disconnectedCallback() {\n var _a;\n for (const disposer of this.disposers)disposer();\n this.disposers.length = 0;\n (_a = super[\"disconnectedCallback\"]) === null || _a === void 0 || _a.call(this);\n }\n setAttribute(name, value) {\n const old = super.getAttribute(name), names = this.constructor[\"observedAttributes\"];\n super.setAttribute(name, value);\n if (names.includes(name)) this.attributeChangedCallback(name, old, value);\n }\n attributeChangedCallback(name, old, value) {\n var _a;\n this[(0, $1MFjU.toCamelCase)(name)] = (0, $1MFjU.parseJSON)(value);\n (_a = super[\"attributeChangedCallback\"]) === null || _a === void 0 || _a.call(this, name, old, value);\n }\n syncPropAttr(name) {\n var _a;\n var value = this[(0, $1MFjU.toCamelCase)(name)];\n if (!(value != null) || value === false) return this.removeAttribute(name);\n value = value === true ? name : value;\n if (typeof value === \"object\") {\n value = (_a = value.toJSON) === null || _a === void 0 ? void 0 : _a.call(value);\n value = typeof value === \"object\" ? JSON.stringify(value) : value;\n }\n super.setAttribute(name, value);\n }\n }\n Object.defineProperty(ObserverComponent, \"observedAttributes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n return ObserverComponent;\n}\nfunction $3268d95a94a11a3f$export$b6ae1bc530f4c149(func, _) {\n return (0, $1MFjU.isHTMLElementClass)(func) ? $3268d95a94a11a3f$var$$0c03e47eb1097734$var$wrapClass(func) : $3268d95a94a11a3f$var$$0c03e47eb1097734$var$wrapFunction(func);\n}\nfunction $3268d95a94a11a3f$export$af4b9a83f4b00434(_, { name: name, addInitializer: addInitializer }) {\n addInitializer(function() {\n const names = this.constructor[\"observedAttributes\"], attribute = (0, $1MFjU.toHyphenCase)(name.toString());\n if (!names.includes(attribute)) names.push(attribute);\n });\n}\nfunction $3268d95a94a11a3f$export$7203b476385689ae(expression) {\n return (effect, { addInitializer: addInitializer })=>addInitializer(function() {\n const reactions = $3268d95a94a11a3f$var$$0c03e47eb1097734$var$reactionMap.get(this) || [];\n reactions.push({\n expression: expression,\n effect: effect\n });\n $3268d95a94a11a3f$var$$0c03e47eb1097734$var$reactionMap.set(this, reactions);\n });\n}\nvar $3268d95a94a11a3f$var$$317b1f21909c74b8$exports = {};\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$317b1f21909c74b8$exports, \"component\", function() {\n return $3268d95a94a11a3f$export$d8556a2a8f973135;\n});\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$317b1f21909c74b8$exports, \"on\", function() {\n return $3268d95a94a11a3f$export$af631764ddc44097;\n});\nconst $3268d95a94a11a3f$var$$317b1f21909c74b8$var$eventMap = new WeakMap();\nfunction $3268d95a94a11a3f$export$d8556a2a8f973135(meta) {\n return (Class, { addInitializer: addInitializer })=>{\n class RendererComponent extends Class {\n get root() {\n return this.internals.shadowRoot || this;\n }\n constructor(){\n super();\n Object.defineProperty(this, \"internals\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.attachInternals()\n });\n Object.defineProperty(this, \"renderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new (0, $4a2929bb027ef98e$exports.DOMRenderer)()\n });\n Object.defineProperty(this, \"mounted\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n if (meta.mode && !this.internals.shadowRoot) this.attachShadow(meta);\n }\n connectedCallback() {\n var _a, _b;\n const { mode: mode } = meta;\n const renderChildren = !(mode != null);\n const { root: root } = this, events = $3268d95a94a11a3f$var$$317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, selector: selector, handler: handler } of events){\n if (renderChildren && /^:host/.test(selector)) console.warn(`[WebCell] DOM Event delegation of \"${selector}\" won't work if you don't invoke \"this.attachShadow()\" manually.`);\n root.addEventListener(type, handler);\n }\n (_a = super[\"connectedCallback\"]) === null || _a === void 0 || _a.call(this);\n if (this.mounted) return;\n this.update();\n this.mounted = true;\n (_b = this.mountedCallback) === null || _b === void 0 || _b.call(this);\n }\n update() {\n var _a, _b;\n const vNode = (_a = this.render) === null || _a === void 0 ? void 0 : _a.call(this);\n const content = (0, $1MFjU.isEmpty)(vNode) ? meta.mode ? (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {}) : null : vNode;\n if (content != null) {\n this.renderer.render(content, this.root);\n (_b = this.updatedCallback) === null || _b === void 0 || _b.call(this);\n }\n }\n disconnectedCallback() {\n var _a;\n const { root: root } = this, events = $3268d95a94a11a3f$var$$317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, handler: handler } of events)root.removeEventListener(type, handler);\n (_a = super[\"disconnectedCallback\"]) === null || _a === void 0 || _a.call(this);\n }\n emit(event, detail, { cancelable: cancelable, bubbles: bubbles, composed: composed } = {}) {\n return this.dispatchEvent(new CustomEvent(event, {\n detail: detail,\n cancelable: cancelable,\n bubbles: bubbles,\n composed: composed\n }));\n }\n toString() {\n return (0, $1MFjU.stringifyDOM)(this.root);\n }\n }\n addInitializer(function() {\n var _a;\n (_a = globalThis.customElements) === null || _a === void 0 || _a.define(meta.tagName, this, meta);\n });\n return RendererComponent;\n };\n}\nfunction $3268d95a94a11a3f$export$af631764ddc44097(type, selector) {\n return (method, { addInitializer: addInitializer })=>addInitializer(function() {\n const events = $3268d95a94a11a3f$var$$317b1f21909c74b8$var$eventMap.get(this) || [], handler = (0, $1MFjU.delegate)(selector, method.bind(this));\n events.push({\n type: type,\n selector: selector,\n handler: handler\n });\n $3268d95a94a11a3f$var$$317b1f21909c74b8$var$eventMap.set(this, events);\n });\n}\nvar $3268d95a94a11a3f$var$$29675797ddd6c4f7$exports = {};\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$29675797ddd6c4f7$exports, \"formField\", function() {\n return $3268d95a94a11a3f$export$2a668e8d088a0667;\n});\nvar $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nfunction $3268d95a94a11a3f$export$2a668e8d088a0667(Class, _) {\n let FormFieldComponent = (()=>{\n var _a, _FormFieldComponent_name_accessor_storage, _FormFieldComponent_value_accessor_storage, _FormFieldComponent_required_accessor_storage, _FormFieldComponent_disabled_accessor_storage, _FormFieldComponent_autofocus_accessor_storage;\n let _classSuper = Class;\n let _instanceExtraInitializers = [];\n let _setValue_decorators;\n let _name_decorators;\n let _name_initializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _autofocus_decorators;\n let _autofocus_initializers = [];\n return _a = class FormFieldComponent extends _classSuper {\n constructor(){\n super(...arguments);\n _FormFieldComponent_name_accessor_storage.set(this, ($3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers(this, _instanceExtraInitializers), $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers(this, _name_initializers, void 0)));\n _FormFieldComponent_value_accessor_storage.set(this, $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers(this, _value_initializers, void 0));\n _FormFieldComponent_required_accessor_storage.set(this, $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers(this, _required_initializers, void 0));\n _FormFieldComponent_disabled_accessor_storage.set(this, $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers(this, _disabled_initializers, void 0));\n _FormFieldComponent_autofocus_accessor_storage.set(this, $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers(this, _autofocus_initializers, void 0));\n }\n setValue(value) {\n this.internals.setFormValue(value);\n }\n formDisabledCallback(disabled) {\n this.disabled = disabled;\n }\n get name() {\n return $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_name_accessor_storage, \"f\");\n }\n set name(value) {\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_name_accessor_storage, value, \"f\");\n }\n get value() {\n return $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_value_accessor_storage, \"f\");\n }\n set value(value) {\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_value_accessor_storage, value, \"f\");\n }\n get required() {\n return $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_required_accessor_storage, \"f\");\n }\n set required(value) {\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_required_accessor_storage, value, \"f\");\n }\n get disabled() {\n return $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_disabled_accessor_storage, \"f\");\n }\n set disabled(value) {\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_disabled_accessor_storage, value, \"f\");\n }\n get autofocus() {\n return $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_autofocus_accessor_storage, \"f\");\n }\n set autofocus(value) {\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_autofocus_accessor_storage, value, \"f\");\n }\n set defaultValue(raw) {\n var _b;\n this.setAttribute(\"value\", raw);\n (_b = this.value) !== null && _b !== void 0 ? _b : this.value = raw;\n }\n get defaultValue() {\n return this.getAttribute(\"value\");\n }\n get form() {\n return this.internals.form;\n }\n get validity() {\n return this.internals.validity;\n }\n get validationMessage() {\n return this.internals.validationMessage;\n }\n get willValidate() {\n return this.internals.willValidate;\n }\n checkValidity() {\n return this.internals.checkValidity();\n }\n reportValidity() {\n return this.internals.reportValidity();\n }\n }, _FormFieldComponent_name_accessor_storage = new WeakMap(), _FormFieldComponent_value_accessor_storage = new WeakMap(), _FormFieldComponent_required_accessor_storage = new WeakMap(), _FormFieldComponent_disabled_accessor_storage = new WeakMap(), _FormFieldComponent_autofocus_accessor_storage = new WeakMap(), (()=>{\n var _b;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;\n _setValue_decorators = [\n $3268d95a94a11a3f$export$7203b476385689ae(({ value: value })=>value)\n ];\n _name_decorators = [\n $3268d95a94a11a3f$export$af4b9a83f4b00434,\n (0, $dDNcL.observable)\n ];\n _value_decorators = [\n (0, $dDNcL.observable)\n ];\n _required_decorators = [\n $3268d95a94a11a3f$export$af4b9a83f4b00434,\n (0, $dDNcL.observable)\n ];\n _disabled_decorators = [\n $3268d95a94a11a3f$export$af4b9a83f4b00434,\n (0, $dDNcL.observable)\n ];\n _autofocus_decorators = [\n $3268d95a94a11a3f$export$af4b9a83f4b00434,\n (0, $dDNcL.observable)\n ];\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _setValue_decorators, {\n kind: \"method\",\n name: \"setValue\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"setValue\" in obj,\n get: (obj)=>obj.setValue\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _name_decorators, {\n kind: \"accessor\",\n name: \"name\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"name\" in obj,\n get: (obj)=>obj.name,\n set: (obj, value)=>{\n obj.name = value;\n }\n },\n metadata: _metadata\n }, _name_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _value_decorators, {\n kind: \"accessor\",\n name: \"value\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"value\" in obj,\n get: (obj)=>obj.value,\n set: (obj, value)=>{\n obj.value = value;\n }\n },\n metadata: _metadata\n }, _value_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _required_decorators, {\n kind: \"accessor\",\n name: \"required\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"required\" in obj,\n get: (obj)=>obj.required,\n set: (obj, value)=>{\n obj.required = value;\n }\n },\n metadata: _metadata\n }, _required_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _disabled_decorators, {\n kind: \"accessor\",\n name: \"disabled\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"disabled\" in obj,\n get: (obj)=>obj.disabled,\n set: (obj, value)=>{\n obj.disabled = value;\n }\n },\n metadata: _metadata\n }, _disabled_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate(_a, null, _autofocus_decorators, {\n kind: \"accessor\",\n name: \"autofocus\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"autofocus\" in obj,\n get: (obj)=>obj.autofocus,\n set: (obj, value)=>{\n obj.autofocus = value;\n }\n },\n metadata: _metadata\n }, _autofocus_initializers, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), Object.defineProperty(_a, \"formAssociated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n }), _a;\n })();\n return FormFieldComponent;\n}\nvar $3268d95a94a11a3f$var$$8acf79bd061a8fc3$exports = {};\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$8acf79bd061a8fc3$exports, \"AsyncCell\", function() {\n return $3268d95a94a11a3f$export$854a54a999c89982;\n});\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$8acf79bd061a8fc3$exports, \"lazy\", function() {\n return $3268d95a94a11a3f$export$488013bae63b21da;\n});\nvar $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nlet $3268d95a94a11a3f$export$854a54a999c89982 = (()=>{\n var _AsyncCell_component_accessor_storage, _AsyncCell_delegatedProps_accessor_storage;\n let _classDecorators = [\n $3268d95a94a11a3f$export$d8556a2a8f973135({\n tagName: \"async-cell\"\n }),\n $3268d95a94a11a3f$export$b6ae1bc530f4c149\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _component_decorators;\n let _component_initializers = [];\n let _delegatedProps_decorators;\n let _delegatedProps_initializers = [];\n var AsyncCell = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"loader\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__runInitializers(this, _instanceExtraInitializers), void 0)\n });\n _AsyncCell_component_accessor_storage.set(this, $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__runInitializers(this, _component_initializers, void 0));\n _AsyncCell_delegatedProps_accessor_storage.set(this, $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__runInitializers(this, _delegatedProps_initializers, void 0));\n }\n get component() {\n return $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_component_accessor_storage, \"f\");\n }\n set component(value) {\n $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_component_accessor_storage, value, \"f\");\n }\n get delegatedProps() {\n return $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_delegatedProps_accessor_storage, \"f\");\n }\n set delegatedProps(value) {\n $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_delegatedProps_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.load();\n }\n async load() {\n this.component = undefined;\n const Tag = await this.loader();\n this.component = (_a)=>{\n var { children: children } = _a, props = $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(Tag, Object.assign({}, props, {\n children: children\n }));\n };\n this.emit(\"load\", this.component);\n }\n render() {\n const { component: Tag, props: props, delegatedProps: delegatedProps } = this;\n const _a = Object.assign(Object.assign({}, props), delegatedProps), { children: children } = _a, data = $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return Tag && (0, $6aabcc7ac344e71d$exports.jsx)(Tag, Object.assign({}, data, {\n children: children\n }));\n }\n };\n _AsyncCell_component_accessor_storage = new WeakMap();\n _AsyncCell_delegatedProps_accessor_storage = new WeakMap();\n $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__setFunctionName(_classThis, \"AsyncCell\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _component_decorators = [\n (0, $dDNcL.observable)\n ];\n _delegatedProps_decorators = [\n (0, $dDNcL.observable)\n ];\n $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _component_decorators, {\n kind: \"accessor\",\n name: \"component\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"component\" in obj,\n get: (obj)=>obj.component,\n set: (obj, value)=>{\n obj.component = value;\n }\n },\n metadata: _metadata\n }, _component_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _delegatedProps_decorators, {\n kind: \"accessor\",\n name: \"delegatedProps\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"delegatedProps\" in obj,\n get: (obj)=>obj.delegatedProps,\n set: (obj, value)=>{\n obj.delegatedProps = value;\n }\n },\n metadata: _metadata\n }, _delegatedProps_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AsyncCell = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AsyncCell = _classThis;\n})();\nfunction $3268d95a94a11a3f$export$488013bae63b21da(loader) {\n return (props)=>(0, $6aabcc7ac344e71d$exports.jsx)($3268d95a94a11a3f$export$854a54a999c89982, {\n delegatedProps: props,\n loader: async ()=>(await loader()).default\n });\n}\nvar $3268d95a94a11a3f$var$$d4436c849e74ae70$exports = {};\n$3268d95a94a11a3f$var$$parcel$export($3268d95a94a11a3f$var$$d4436c849e74ae70$exports, \"AnimateCSS\", function() {\n return $3268d95a94a11a3f$export$2e9a7bb10257a509;\n});\nvar $3268d95a94a11a3f$var$$819b340f625a29f4$exports = {};\nvar $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $3268d95a94a11a3f$export$2e9a7bb10257a509 = (()=>{\n var _AnimateCSS_type_accessor_storage, _AnimateCSS_playing_accessor_storage;\n let _classDecorators = [\n $3268d95a94a11a3f$export$d8556a2a8f973135({\n tagName: \"animation-css\"\n }),\n $3268d95a94a11a3f$export$b6ae1bc530f4c149\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _playing_decorators;\n let _playing_initializers = [];\n let _typeChanged_decorators;\n var AnimateCSS = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _AnimateCSS_type_accessor_storage.set(this, ($3268d95a94a11a3f$var$$d4436c849e74ae70$var$__runInitializers(this, _instanceExtraInitializers), $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__runInitializers(this, _type_initializers, void 0)));\n _AnimateCSS_playing_accessor_storage.set(this, $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__runInitializers(this, _playing_initializers, false));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n get type() {\n return $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_type_accessor_storage, \"f\");\n }\n set type(value) {\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_type_accessor_storage, value, \"f\");\n }\n get playing() {\n return $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_playing_accessor_storage, \"f\");\n }\n set playing(value) {\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_playing_accessor_storage, value, \"f\");\n }\n async connectedCallback() {\n await (0, $1MFjU.importCSS)(\"https://unpkg.com/animate.css@4/animate.min.css\");\n this.typeChanged();\n }\n async typeChanged() {\n this.playing = true;\n await $3268d95a94a11a3f$export$4077c0dfbe9c3861(this, \".animate__animated\");\n this.playing = false;\n }\n render() {\n const { type: type, playing: playing, component: Tag } = this;\n return playing ? (0, $6aabcc7ac344e71d$exports.jsx)(Tag, {\n className: `animate__animated animate__${type}`\n }) : type.includes(\"Out\") ? (0, $6aabcc7ac344e71d$exports.jsx)((0, $6aabcc7ac344e71d$exports.Fragment), {}) : (0, $6aabcc7ac344e71d$exports.jsx)(Tag, {});\n }\n };\n _AnimateCSS_type_accessor_storage = new WeakMap();\n _AnimateCSS_playing_accessor_storage = new WeakMap();\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__setFunctionName(_classThis, \"AnimateCSS\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _type_decorators = [\n $3268d95a94a11a3f$export$af4b9a83f4b00434,\n (0, $dDNcL.observable)\n ];\n _playing_decorators = [\n $3268d95a94a11a3f$export$af4b9a83f4b00434,\n (0, $dDNcL.observable)\n ];\n _typeChanged_decorators = [\n $3268d95a94a11a3f$export$7203b476385689ae(({ type: type })=>type)\n ];\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__esDecorate(_classThis, null, _type_decorators, {\n kind: \"accessor\",\n name: \"type\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"type\" in obj,\n get: (obj)=>obj.type,\n set: (obj, value)=>{\n obj.type = value;\n }\n },\n metadata: _metadata\n }, _type_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__esDecorate(_classThis, null, _playing_decorators, {\n kind: \"accessor\",\n name: \"playing\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"playing\" in obj,\n get: (obj)=>obj.playing,\n set: (obj, value)=>{\n obj.playing = value;\n }\n },\n metadata: _metadata\n }, _playing_initializers, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__esDecorate(_classThis, null, _typeChanged_decorators, {\n kind: \"method\",\n name: \"typeChanged\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"typeChanged\" in obj,\n get: (obj)=>obj.typeChanged\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AnimateCSS = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $3268d95a94a11a3f$var$$d4436c849e74ae70$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AnimateCSS = _classThis;\n})();\n$3268d95a94a11a3f$var$$parcel$exportWildcard($3268d95a94a11a3f$var$$d4436c849e74ae70$exports, $3268d95a94a11a3f$var$$819b340f625a29f4$exports);\n\n\nfunction $cdfcfd2658d0d762$var$$parcel$defineInteropFlag(a) {\n Object.defineProperty(a, \"__esModule\", {\n value: true,\n configurable: true\n });\n}\nfunction $cdfcfd2658d0d762$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$exports = {};\n$cdfcfd2658d0d762$var$$parcel$defineInteropFlag($cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$exports);\n$cdfcfd2658d0d762$var$$parcel$export($cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$exports, \"History\", ()=>$cdfcfd2658d0d762$export$84202caead5689ba);\n$cdfcfd2658d0d762$var$$parcel$export($cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$exports, \"default\", ()=>$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039);\nvar $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_a, $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_b;\nconst { location: $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$location, history: $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$history } = window;\nconst $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$baseURL = (($cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_a = document.querySelector(\"base\")) === null || $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_a === void 0 ? void 0 : $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_a.href) || $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$location.origin, $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$originalTitle = ($cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_b = document.querySelector(\"title\")) === null || $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_b === void 0 ? void 0 : $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_b.textContent.trim();\nlet $cdfcfd2658d0d762$export$84202caead5689ba = (()=>{\n var _a, _History_path_accessor_storage, _History_oldPath_accessor_storage;\n let _instanceExtraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _oldPath_decorators;\n let _oldPath_initializers = [];\n let _push_decorators;\n return _a = class History {\n get path() {\n return $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_path_accessor_storage, \"f\");\n }\n set path(value) {\n $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_path_accessor_storage, value, \"f\");\n }\n get oldPath() {\n return $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_oldPath_accessor_storage, \"f\");\n }\n set oldPath(value) {\n $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_oldPath_accessor_storage, value, \"f\");\n }\n constructor(){\n _History_path_accessor_storage.set(this, ($cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _instanceExtraInitializers), $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _path_initializers, void 0)));\n _History_oldPath_accessor_storage.set(this, $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__runInitializers(this, _oldPath_initializers, void 0));\n Object.defineProperty(this, \"restore\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const { state: state } = $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$history;\n this.push();\n document.title = (state === null || state === void 0 ? void 0 : state.title) || this.titleOf() || $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$originalTitle || $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$location.href;\n }\n });\n Object.defineProperty(this, \"handleForm\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (event, form)=>{\n const { method: method, target: target } = form;\n if (method !== \"get\" || (target || \"_self\") !== \"_self\") return;\n event.preventDefault();\n const path = form.getAttribute(\"action\"), data = (0, $1MFjU.buildURLData)((0, $1MFjU.formToJSON)(form));\n this.push(`${path}?${data}`);\n }\n });\n this.restore();\n window.addEventListener(\"hashchange\", this.restore);\n window.addEventListener(\"popstate\", this.restore);\n document.addEventListener(\"click\", (0, $1MFjU.delegate)(\"a[href], area[href]\", this.handleLink.bind(this)));\n document.addEventListener(\"submit\", (0, $1MFjU.delegate)(\"form[action]\", this.handleForm));\n }\n push(path = $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$location.href) {\n path = path.replace($cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$baseURL, \"\");\n if (path === this.path) return path;\n this.oldPath = this.path;\n return this.path = path;\n }\n static dataOf(path) {\n const [before, after] = path.split(\"#\");\n return (0, $1MFjU.parseURLData)(after || before);\n }\n static match(pattern, path) {\n var _b;\n if (!path) return;\n const { pathname: pathname, hash: hash } = new URLPattern(pattern, $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$baseURL).exec(new URL(path.split(\"?\")[0], $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$baseURL)) || {};\n return (_b = hash || pathname) === null || _b === void 0 ? void 0 : _b.groups;\n }\n static getTitle(root) {\n return root.title || (0, $1MFjU.getVisibleText)(root);\n }\n titleOf(path = this.path) {\n path = path.replace(/^\\//, \"\");\n if (path) for (const node of document.querySelectorAll(`a[href=\"${path}\"], area[href=\"${path}\"]`)){\n const title = _a.getTitle(node);\n if (title) return title;\n }\n }\n handleLink(event, link) {\n const path = link.getAttribute(\"href\");\n if ((link.target || \"_self\") !== \"_self\" || (0, $1MFjU.isXDomain)(path)) return;\n event.preventDefault();\n if (path.startsWith(\"#\")) try {\n if (document.querySelector(path)) return (0, $1MFjU.scrollTo)(path, event.currentTarget);\n } catch (_b) {}\n const title = _a.getTitle(link);\n $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$history.pushState({\n title: title\n }, document.title = title, path);\n this.push(path);\n }\n }, _History_path_accessor_storage = new WeakMap(), _History_oldPath_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _path_decorators = [\n (0, $dDNcL.observable)\n ];\n _oldPath_decorators = [\n (0, $dDNcL.observable)\n ];\n _push_decorators = [\n (0, $dDNcL.action)\n ];\n $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__esDecorate(_a, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _instanceExtraInitializers);\n $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__esDecorate(_a, null, _oldPath_decorators, {\n kind: \"accessor\",\n name: \"oldPath\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"oldPath\" in obj,\n get: (obj)=>obj.oldPath,\n set: (obj, value)=>{\n obj.oldPath = value;\n }\n },\n metadata: _metadata\n }, _oldPath_initializers, _instanceExtraInitializers);\n $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__esDecorate(_a, null, _push_decorators, {\n kind: \"method\",\n name: \"push\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"push\" in obj,\n get: (obj)=>obj.push\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\nvar $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039 = new $cdfcfd2658d0d762$export$84202caead5689ba();\nvar $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$exports = {};\n$cdfcfd2658d0d762$var$$parcel$export($cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$exports, \"CellRoute\", ()=>$cdfcfd2658d0d762$export$d6c529ca17cdd16f);\nvar $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $cdfcfd2658d0d762$export$d6c529ca17cdd16f = (()=>{\n var _CellRoute_path_accessor_storage, _CellRoute_inAnimation_accessor_storage, _CellRoute_outAnimation_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"cell-route\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _inAnimation_decorators;\n let _inAnimation_initializers = [];\n let _outAnimation_decorators;\n let _outAnimation_initializers = [];\n let _get_matched_decorators;\n let _get_oldMatched_decorators;\n var CellRoute = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _CellRoute_path_accessor_storage.set(this, ($cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _instanceExtraInitializers), $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _path_initializers, void 0)));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n _CellRoute_inAnimation_accessor_storage.set(this, $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _inAnimation_initializers, \"fadeIn\"));\n _CellRoute_outAnimation_accessor_storage.set(this, $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__runInitializers(this, _outAnimation_initializers, \"fadeOut\"));\n Object.defineProperty(this, \"pageStyle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n width: \"100%\"\n }\n });\n }\n get path() {\n return $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_path_accessor_storage, \"f\");\n }\n set path(value) {\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_path_accessor_storage, value, \"f\");\n }\n get inAnimation() {\n return $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_inAnimation_accessor_storage, \"f\");\n }\n set inAnimation(value) {\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_inAnimation_accessor_storage, value, \"f\");\n }\n get outAnimation() {\n return $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_outAnimation_accessor_storage, \"f\");\n }\n set outAnimation(value) {\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_outAnimation_accessor_storage, value, \"f\");\n }\n get matched() {\n return $cdfcfd2658d0d762$export$84202caead5689ba.match(this.path, $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039.path);\n }\n get oldMatched() {\n return $cdfcfd2658d0d762$export$84202caead5689ba.match(this.path, $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039.oldPath);\n }\n connectedCallback() {\n if (getComputedStyle(this.parentElement).position === \"static\") this.parentElement.style.position = \"relative\";\n }\n render() {\n const { pageStyle: pageStyle, inAnimation: inAnimation, outAnimation: outAnimation, matched: matched, oldMatched: oldMatched } = this, Tag = this.component, { path: path, oldPath: oldPath } = $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039;\n return matched ? (0, $6aabcc7ac344e71d$exports.jsx)((0, $3268d95a94a11a3f$export$2e9a7bb10257a509), {\n type: inAnimation,\n component: (props)=>(0, $6aabcc7ac344e71d$exports.jsx)(Tag, Object.assign({}, props, {\n style: pageStyle\n }, matched, $cdfcfd2658d0d762$export$84202caead5689ba.dataOf(path), {\n path: path,\n history: $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039\n }))\n }) : oldMatched ? (0, $6aabcc7ac344e71d$exports.jsx)((0, $3268d95a94a11a3f$export$2e9a7bb10257a509), {\n type: outAnimation,\n component: (props)=>(0, $6aabcc7ac344e71d$exports.jsx)(Tag, Object.assign({}, props, {\n style: pageStyle\n }, oldMatched, $cdfcfd2658d0d762$export$84202caead5689ba.dataOf(oldPath), {\n path: oldPath,\n history: $cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039\n }))\n }) : (0, $6aabcc7ac344e71d$exports.jsx)((0, $6aabcc7ac344e71d$exports.Fragment), {});\n }\n };\n _CellRoute_path_accessor_storage = new WeakMap();\n _CellRoute_inAnimation_accessor_storage = new WeakMap();\n _CellRoute_outAnimation_accessor_storage = new WeakMap();\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__setFunctionName(_classThis, \"CellRoute\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _path_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _inAnimation_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _outAnimation_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _get_matched_decorators = [\n (0, $dDNcL.computed)\n ];\n _get_oldMatched_decorators = [\n (0, $dDNcL.computed)\n ];\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _instanceExtraInitializers);\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _inAnimation_decorators, {\n kind: \"accessor\",\n name: \"inAnimation\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"inAnimation\" in obj,\n get: (obj)=>obj.inAnimation,\n set: (obj, value)=>{\n obj.inAnimation = value;\n }\n },\n metadata: _metadata\n }, _inAnimation_initializers, _instanceExtraInitializers);\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _outAnimation_decorators, {\n kind: \"accessor\",\n name: \"outAnimation\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"outAnimation\" in obj,\n get: (obj)=>obj.outAnimation,\n set: (obj, value)=>{\n obj.outAnimation = value;\n }\n },\n metadata: _metadata\n }, _outAnimation_initializers, _instanceExtraInitializers);\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _get_matched_decorators, {\n kind: \"getter\",\n name: \"matched\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"matched\" in obj,\n get: (obj)=>obj.matched\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _get_oldMatched_decorators, {\n kind: \"getter\",\n name: \"oldMatched\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"oldMatched\" in obj,\n get: (obj)=>obj.oldMatched\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n CellRoute = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return CellRoute = _classThis;\n})();\nvar $cdfcfd2658d0d762$var$$3d03e8579c0b9ff1$exports = {};\nvar $cdfcfd2658d0d762$var$$7b488c9460f448a0$exports = {};\n$cdfcfd2658d0d762$var$$parcel$export($cdfcfd2658d0d762$var$$7b488c9460f448a0$exports, \"createRouter\", ()=>$cdfcfd2658d0d762$export$baddd0131ee8c05b);\nvar $cdfcfd2658d0d762$var$$7b488c9460f448a0$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nfunction $cdfcfd2658d0d762$export$baddd0131ee8c05b(_a = {}) {\n var { mode: mode = \"hash\" } = _a, scopeProps = $cdfcfd2658d0d762$var$$7b488c9460f448a0$var$__rest(_a, [\n \"mode\"\n ]);\n const prefix = mode === \"hash\" ? \"#\" : \"\";\n return {\n Route: (_a)=>{\n var { path: path } = _a, props = $cdfcfd2658d0d762$var$$7b488c9460f448a0$var$__rest(_a, [\n \"path\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)($cdfcfd2658d0d762$export$d6c529ca17cdd16f, Object.assign({}, props, scopeProps, {\n path: prefix + path\n }));\n },\n Link: (_a)=>{\n var { to: to, children: children } = _a, props = $cdfcfd2658d0d762$var$$7b488c9460f448a0$var$__rest(_a, [\n \"to\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", Object.assign({}, props, {\n href: prefix + to,\n children: children\n }));\n },\n // @ts-ignore\n Form: (_a)=>{\n var { action: action, children: children } = _a, props = $cdfcfd2658d0d762$var$$7b488c9460f448a0$var$__rest(_a, [\n \"action\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"form\", Object.assign({}, props, {\n action: prefix + action,\n children: children\n }));\n }\n };\n}\n\n\nvar $9cac426e37fc7596$exports = {};\n$9cac426e37fc7596$exports = new URL(\"FCC-CDG-WeChat.70395ae7.png\", import.meta.url).toString();\n\n\n\n\nvar $852a55cf17d8b19d$exports = {};\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/ /* global define */ (function() {\n \"use strict\";\n var hasOwn = {}.hasOwnProperty;\n function classNames() {\n var classes = \"\";\n for(var i = 0; i < arguments.length; i++){\n var arg = arguments[i];\n if (arg) classes = appendClass(classes, parseValue(arg));\n }\n return classes;\n }\n function parseValue(arg) {\n if (typeof arg === \"string\" || typeof arg === \"number\") return arg;\n if (typeof arg !== \"object\") return \"\";\n if (Array.isArray(arg)) return classNames.apply(null, arg);\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes(\"[native code]\")) return arg.toString();\n var classes = \"\";\n for(var key in arg)if (hasOwn.call(arg, key) && arg[key]) classes = appendClass(classes, key);\n return classes;\n }\n function appendClass(value, newClass) {\n if (!newClass) return value;\n if (value) return value + \" \" + newClass;\n return value + newClass;\n }\n if (0, $852a55cf17d8b19d$exports) {\n classNames.default = classNames;\n $852a55cf17d8b19d$exports = classNames;\n } else if (typeof define === \"function\" && typeof define.amd === \"object\" && define.amd) // register as 'classnames', consistent with npm package name\n define(\"classnames\", [], function() {\n return classNames;\n });\n else window.classNames = classNames;\n})();\n\n\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\nfunction $d6da3710e38faa1c$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $d6da3710e38faa1c$var$$63d86f11b44ac799$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$63d86f11b44ac799$exports, \"Status\", function() {\n return $d6da3710e38faa1c$export$96e9906d6d93a972;\n});\nvar $d6da3710e38faa1c$export$96e9906d6d93a972;\n(function(Status) {\n Status[\"primary\"] = \"primary\";\n Status[\"secondary\"] = \"secondary\";\n Status[\"tertiary\"] = \"tertiary\";\n Status[\"success\"] = \"success\";\n Status[\"info\"] = \"info\";\n Status[\"warning\"] = \"warning\";\n Status[\"danger\"] = \"danger\";\n})($d6da3710e38faa1c$export$96e9906d6d93a972 || ($d6da3710e38faa1c$export$96e9906d6d93a972 = {}));\nvar $d6da3710e38faa1c$var$$82c1668cb3555a4c$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$82c1668cb3555a4c$exports, \"Ratio\", function() {\n return $d6da3710e38faa1c$export$438ad6fc467f929b;\n});\nconst $d6da3710e38faa1c$export$438ad6fc467f929b = ({ aspectRatio: aspectRatio = \"1x1\", children: children })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"ratio\", typeof aspectRatio === \"string\" && `ratio-${aspectRatio}`),\n style: typeof aspectRatio === \"number\" ? {\n \"--bs-aspect-ratio\": `${aspectRatio * 100}%`\n } : undefined,\n children: children\n });\nvar $d6da3710e38faa1c$var$$ec748a1bf5317e2c$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$ec748a1bf5317e2c$exports, \"Container\", function() {\n return $d6da3710e38faa1c$export$42a852a2b6b56249;\n});\nvar $d6da3710e38faa1c$var$$ec748a1bf5317e2c$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$42a852a2b6b56249 = (_a)=>{\n var { className: className = \"\", fluid: fluid, children: children } = _a, props = $d6da3710e38faa1c$var$$ec748a1bf5317e2c$var$__rest(_a, [\n \"className\",\n \"fluid\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `container${fluid === true ? \"-fluid\" : fluid ? `-${fluid}` : \"\"} ${className}`\n }, props, {\n children: children\n }));\n};\nvar $d6da3710e38faa1c$var$$12e8838177819a56$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$12e8838177819a56$exports, \"Table\", function() {\n return $d6da3710e38faa1c$export$54ec01a60f47d33d;\n});\nvar $d6da3710e38faa1c$var$$12e8838177819a56$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$54ec01a60f47d33d = (_a)=>{\n var { className: className, variant: variant, size: size, responsive: responsive, striped: striped, hover: hover, bordered: bordered, borderless: borderless, caption: caption, children: children } = _a, props = $d6da3710e38faa1c$var$$12e8838177819a56$var$__rest(_a, [\n \"className\",\n \"variant\",\n \"size\",\n \"responsive\",\n \"striped\",\n \"hover\",\n \"bordered\",\n \"borderless\",\n \"caption\",\n \"children\"\n ]);\n const table = (0, $6aabcc7ac344e71d$exports.jsx)(\"table\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"table\", variant && `table-${variant}`, size && `table-${size}`, striped && `table-striped${striped === \"columns\" ? \"-columns\" : \"\"}`, hover && \"table-hover\", bordered && \"table-bordered\", borderless && \"table-borderless\", caption && `caption-${caption}`)\n }, props, {\n children: children\n }));\n return responsive ? (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: `table-responsive${responsive === true ? \"\" : `-${responsive}`}`,\n children: table\n }) : table;\n};\nvar $d6da3710e38faa1c$var$$e00f372973ff441d$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$e00f372973ff441d$exports, \"ScrollBoundary\", function() {\n return $d6da3710e38faa1c$export$d086fcc3bc3f366f;\n});\nfunction $d6da3710e38faa1c$var$$e00f372973ff441d$var$touch(edge, onTouch) {\n return (node)=>node && new IntersectionObserver(([{ isIntersecting: isIntersecting }])=>isIntersecting && onTouch(edge)).observe(node);\n}\nconst $d6da3710e38faa1c$export$d086fcc3bc3f366f = ({ className: className, onTouch: onTouch, top: top, left: left, right: right, bottom: bottom, children: children })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"position-relative\", className),\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"position-absolute top-0 left-0 w-100\",\n ref: $d6da3710e38faa1c$var$$e00f372973ff441d$var$touch(\"top\", onTouch),\n children: top\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"position-absolute top-0 left-0 h-100\",\n ref: $d6da3710e38faa1c$var$$e00f372973ff441d$var$touch(\"left\", onTouch),\n children: left\n }),\n children,\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"position-absolute top-0 right-0 h-100\",\n ref: $d6da3710e38faa1c$var$$e00f372973ff441d$var$touch(\"right\", onTouch),\n children: right\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"position-absolute top-100 left-0 w-100\",\n ref: $d6da3710e38faa1c$var$$e00f372973ff441d$var$touch(\"bottom\", onTouch),\n children: bottom\n })\n ]\n });\nvar $d6da3710e38faa1c$var$$6ced475b51e72106$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$6ced475b51e72106$exports, \"Jumbotron\", function() {\n return $d6da3710e38faa1c$export$97aba50a380f875b;\n});\nvar $d6da3710e38faa1c$var$$6ced475b51e72106$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$97aba50a380f875b = (_a)=>{\n var { className: className, fluid: fluid, bg: bg = \"body-tertiary\", rounded: rounded = fluid ? 0 : 3, title: title, description: description, children: children } = _a, props = $d6da3710e38faa1c$var$$6ced475b51e72106$var$__rest(_a, [\n \"className\",\n \"fluid\",\n \"bg\",\n \"rounded\",\n \"title\",\n \"description\",\n \"children\"\n ]);\n const content = (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h1\", {\n className: \"display-4\",\n children: title\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"lead\",\n children: description\n }),\n children && (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"hr\", {\n className: \"my-4\"\n }),\n children\n ]\n })\n ]\n });\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"header\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"py-5\", !fluid && \"px-5\", bg && `bg-${bg}`, rounded && `rounded-${rounded}`, className)\n }, props, {\n children: fluid ? (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$42a852a2b6b56249, {\n fluid: fluid,\n children: content\n }) : content\n }));\n};\nvar $d6da3710e38faa1c$var$$639bcad300938914$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$639bcad300938914$exports, \"Card\", function() {\n return $d6da3710e38faa1c$export$60332b2344f7fe41;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$639bcad300938914$exports, \"CardBody\", function() {\n return $d6da3710e38faa1c$export$851de33184ecdac4;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$639bcad300938914$exports, \"CardHeader\", function() {\n return $d6da3710e38faa1c$export$5665775b26e26c5d;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$639bcad300938914$exports, \"CardFooter\", function() {\n return $d6da3710e38faa1c$export$e9897d434e0741ee;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$639bcad300938914$exports, \"CardTitle\", function() {\n return $d6da3710e38faa1c$export$474db65c3c394e1c;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$639bcad300938914$exports, \"CardImg\", function() {\n return $d6da3710e38faa1c$export$96c5f37208f78bd7;\n});\nvar $d6da3710e38faa1c$var$$7c8ac8c53d1d99e6$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$7c8ac8c53d1d99e6$exports, \"Image\", function() {\n return $d6da3710e38faa1c$export$3e431a229df88919;\n});\nvar $d6da3710e38faa1c$var$$7c8ac8c53d1d99e6$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$3e431a229df88919 = (_a)=>{\n var { className: className, fluid: fluid, rounded: rounded, roundedCircle: roundedCircle, thumbnail: thumbnail } = _a, props = $d6da3710e38faa1c$var$$7c8ac8c53d1d99e6$var$__rest(_a, [\n \"className\",\n \"fluid\",\n \"rounded\",\n \"roundedCircle\",\n \"thumbnail\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(fluid && \"img-fluid\", thumbnail && `img-thumbnail`, {\n rounded: rounded\n }, roundedCircle && \"rounded-circle\", className)\n }, props));\n};\nvar $d6da3710e38faa1c$var$$639bcad300938914$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$60332b2344f7fe41 = (_a)=>{\n var { className: className, bg: bg, text: text, border: border, body: body, children: children } = _a, props = $d6da3710e38faa1c$var$$639bcad300938914$var$__rest(_a, [\n \"className\",\n \"bg\",\n \"text\",\n \"border\",\n \"body\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"card\", bg && `text-bg-${bg}`, text && `text-${text}`, border && `border-${border}`, className)\n }, props, {\n children: body ? (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$851de33184ecdac4, {\n children: children\n }) : children\n }));\n};\nconst $d6da3710e38faa1c$export$5665775b26e26c5d = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `card-header ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$851de33184ecdac4 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `card-body ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$e9897d434e0741ee = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `card-footer ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$474db65c3c394e1c = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"h5\", Object.assign({\n className: `card-title ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$96c5f37208f78bd7 = (_a)=>{\n var { className: className = \"\", variant: variant } = _a, props = $d6da3710e38faa1c$var$$639bcad300938914$var$__rest(_a, [\n \"className\",\n \"variant\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$3e431a229df88919, Object.assign({\n className: `card-img${variant ? `-${variant}` : \"\"} ${className}`\n }, props));\n};\nvar $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"FormGroup\", function() {\n return $d6da3710e38faa1c$export$2d00230e1e6f7fbc;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"FormLabel\", function() {\n return $d6da3710e38faa1c$export$842aba50ed0ce9d7;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"FloatingLabel\", function() {\n return $d6da3710e38faa1c$export$8522a2827ec13639;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"InputGroup\", function() {\n return $d6da3710e38faa1c$export$6e5a9cd40e0c9b97;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"InputGroupText\", function() {\n return $d6da3710e38faa1c$export$219ad5c362b47f2f;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"FormControl\", function() {\n return $d6da3710e38faa1c$export$fe5d99d8691b3f62;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"FormCheck\", function() {\n return $d6da3710e38faa1c$export$5cd9378d879de45f;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports, \"FormField\", function() {\n return $d6da3710e38faa1c$export$56e87bf42978147a;\n});\nvar $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$2d00230e1e6f7fbc = (_a)=>{\n var { children: children } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({}, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$842aba50ed0ce9d7 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"label\", Object.assign({\n className: `form-label ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$8522a2827ec13639 = (_a)=>{\n var { className: className = \"\", style: style, label: label, children: children } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"style\",\n \"label\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: `form-floating ${className}`,\n style: style,\n children: [\n children,\n (0, $6aabcc7ac344e71d$exports.jsx)(\"label\", Object.assign({}, props, {\n children: label\n }))\n ]\n });\n};\nconst $d6da3710e38faa1c$export$6e5a9cd40e0c9b97 = (_a)=>{\n var { className: className = \"\", size: size, children: children } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"size\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"input-group\", size && `input-group-${size}`, className)\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$219ad5c362b47f2f = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", Object.assign({\n className: `input-group-text ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$fe5d99d8691b3f62 = (_a)=>{\n var { as: Tag = \"input\", className: className = \"\", htmlSize: htmlSize, size: size, plaintext: plaintext } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"as\",\n \"className\",\n \"htmlSize\",\n \"size\",\n \"plaintext\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(Tag, Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"form-control\", size && `form-control-${size}`, props.readOnly && plaintext && `form-control-plaintext`, props.type === \"color\" && `form-control-color`, className)\n }, props, {\n size: htmlSize\n }));\n};\nconst $d6da3710e38faa1c$export$5cd9378d879de45f = (_a)=>{\n var { id: id = (0, $1MFjU.uniqueID)(), className: className = \"\", style: style, title: title, type: type, inline: inline, reverse: reverse, label: label } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"id\",\n \"className\",\n \"style\",\n \"title\",\n \"type\",\n \"inline\",\n \"reverse\",\n \"label\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(label && \"form-check\", inline && \"form-check-inline\", reverse && \"form-check-reverse\", type === \"switch\" && \"form-switch\", className),\n style: style,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"input\", Object.assign({\n className: \"form-check-input\",\n type: type === \"switch\" ? \"checkbox\" : type,\n role: type === \"switch\" ? \"switch\" : undefined,\n id: id\n }, props)),\n label && (0, $6aabcc7ac344e71d$exports.jsx)(\"label\", {\n className: \"form-check-label\",\n htmlFor: id,\n title: title,\n children: label\n })\n ]\n });\n};\nconst $d6da3710e38faa1c$export$56e87bf42978147a = (_a)=>{\n var { className: className, label: label, labelFloat: labelFloat } = _a, props = $d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"label\",\n \"labelFloat\"\n ]);\n label || (label = props.title || props.placeholder);\n const field = (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$fe5d99d8691b3f62, Object.assign({}, props));\n return labelFloat ? (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$8522a2827ec13639, {\n className: className,\n label: label,\n children: field\n }) : (0, $6aabcc7ac344e71d$exports.jsxs)($d6da3710e38faa1c$export$2d00230e1e6f7fbc, {\n className: className,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$842aba50ed0ce9d7, {\n children: label\n }),\n field\n ]\n });\n};\nvar $d6da3710e38faa1c$var$$7d7a0c28b15334fb$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$7d7a0c28b15334fb$exports, \"Button\", function() {\n return $d6da3710e38faa1c$export$353f5b6fc5456de1;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$7d7a0c28b15334fb$exports, \"isButton\", function() {\n return $d6da3710e38faa1c$export$35a0171ee384c875;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$7d7a0c28b15334fb$exports, \"IconButton\", function() {\n return $d6da3710e38faa1c$export$c25acd513dcc8062;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$7d7a0c28b15334fb$exports, \"CloseButton\", function() {\n return $d6da3710e38faa1c$export$de65de8213222d10;\n});\nvar $d6da3710e38faa1c$var$$110adda30e872ed3$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$110adda30e872ed3$exports, \"Icon\", function() {\n return $d6da3710e38faa1c$export$f04a61298a47a40f;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$110adda30e872ed3$exports, \"BGIcon\", function() {\n return $d6da3710e38faa1c$export$af1945c3768d186c;\n});\nvar $d6da3710e38faa1c$var$$110adda30e872ed3$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$f04a61298a47a40f = (_a)=>{\n var { className: className, style: style, color: color, name: name, size: size, children: children } = _a, rest = $d6da3710e38faa1c$var$$110adda30e872ed3$var$__rest(_a, [\n \"className\",\n \"style\",\n \"color\",\n \"name\",\n \"size\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"i\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(`bi-${name}`, color && `text-${color}`, className),\n style: Object.assign(Object.assign({}, style), {\n fontSize: size ? `${size}rem` : undefined\n })\n }, rest));\n};\nconst $d6da3710e38faa1c$export$af1945c3768d186c = (_a)=>{\n var { className: className = \"\", type: type = \"square\", color: color = \"primary\", children: children } = _a, props = $d6da3710e38faa1c$var$$110adda30e872ed3$var$__rest(_a, [\n \"className\",\n \"type\",\n \"color\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"d-inline-block\", \"p-3\", `bg-${color}`, `rounded${type === \"square\" ? \"\" : \"-circle\"}`, className)\n }, props, {\n children: (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$f04a61298a47a40f, Object.assign({\n color: color === \"light\" ? \"dark\" : \"light\"\n }, props))\n }));\n};\nvar $d6da3710e38faa1c$var$$7d7a0c28b15334fb$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$353f5b6fc5456de1 = (_a)=>{\n var { className: className, href: href, variant: variant, size: size, active: active, children: children } = _a, props = $d6da3710e38faa1c$var$$7d7a0c28b15334fb$var$__rest(_a, [\n \"className\",\n \"href\",\n \"variant\",\n \"size\",\n \"active\",\n \"children\"\n ]);\n const { disabled: disabled, tabIndex: tabIndex } = props, Class = (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"btn\", variant && `btn-${variant}`, size && `btn-${size}`, className);\n return href ? (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", Object.assign({\n role: \"button\",\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(Class, {\n disabled: disabled,\n active: active\n }),\n tabIndex: disabled ? -1 : tabIndex,\n ariaDisabled: disabled === null || disabled === void 0 ? void 0 : disabled.toString(),\n ariaPressed: active === null || active === void 0 ? void 0 : active.toString(),\n href: href\n }, props, {\n children: children\n })) : (0, $6aabcc7ac344e71d$exports.jsx)(\"button\", Object.assign({\n className: Class\n }, props, {\n ariaPressed: active === null || active === void 0 ? void 0 : active.toString(),\n children: children\n }));\n};\nfunction $d6da3710e38faa1c$export$35a0171ee384c875(node) {\n var _a;\n const { selector: selector, props: props } = node;\n return /^(a|input|button)/.test(selector) && ((_a = props === null || props === void 0 ? void 0 : props.className) === null || _a === void 0 ? void 0 : _a.btn);\n}\nconst $d6da3710e38faa1c$export$c25acd513dcc8062 = (_a)=>{\n var { className: className, name: name } = _a, button = $d6da3710e38faa1c$var$$7d7a0c28b15334fb$var$__rest(_a, [\n \"className\",\n \"name\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$353f5b6fc5456de1, Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"p-1\", className),\n style: {\n lineHeight: \"0.8\"\n }\n }, button, {\n children: (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$f04a61298a47a40f, {\n name: name\n })\n }));\n};\nconst $d6da3710e38faa1c$export$de65de8213222d10 = (_a)=>{\n var { className: className = \"\" } = _a, props = $d6da3710e38faa1c$var$$7d7a0c28b15334fb$var$__rest(_a, [\n \"className\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"button\", Object.assign({\n className: `btn-close ${className}`,\n type: \"button\",\n ariaLabel: \"Close\"\n }, props));\n};\nvar $d6da3710e38faa1c$var$$c07b2ffa4e50bb77$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$c07b2ffa4e50bb77$exports, \"Badge\", function() {\n return $d6da3710e38faa1c$export$37acb3580601e69a;\n});\nvar $d6da3710e38faa1c$var$$c07b2ffa4e50bb77$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$37acb3580601e69a = (_a)=>{\n var { className: className, bg: bg, text: text, pill: pill, href: href, children: children } = _a, rest = $d6da3710e38faa1c$var$$c07b2ffa4e50bb77$var$__rest(_a, [\n \"className\",\n \"bg\",\n \"text\",\n \"pill\",\n \"href\",\n \"children\"\n ]);\n const Class = (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"badge\", bg && `text-bg-${bg}`, text && `text-${text}`, pill && `rounded-pill`, href && \"text-decoration-none\", className);\n return href ? (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", Object.assign({}, rest, {\n className: Class,\n href: href,\n children: children\n })) : (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", Object.assign({}, rest, {\n className: Class,\n children: children\n }));\n};\nvar $d6da3710e38faa1c$var$$3e256c6cbec492c2$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$3e256c6cbec492c2$exports, \"Spinner\", function() {\n return $d6da3710e38faa1c$export$7f7cbe89f1eacd2;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$3e256c6cbec492c2$exports, \"SpinnerBox\", function() {\n return $d6da3710e38faa1c$export$d4c790f923031725;\n});\nvar $d6da3710e38faa1c$var$$3e256c6cbec492c2$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$7f7cbe89f1eacd2 = (_a)=>{\n var { className: className, variant: variant, size: size, animation: animation = \"border\", children: children = \"Loading...\" } = _a, props = $d6da3710e38faa1c$var$$3e256c6cbec492c2$var$__rest(_a, [\n \"className\",\n \"variant\",\n \"size\",\n \"animation\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(`spinner-${animation}`, size && `spinner-${animation}-${size}`, variant && `text-${variant}`, className),\n role: \"status\"\n }, props, {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: \"visually-hidden\",\n children: children\n })\n }));\n};\nconst $d6da3710e38faa1c$export$d4c790f923031725 = (_a)=>{\n var { className: className = \"\", cover: cover, variant: variant, size: size, animation: animation, role: role, children: children } = _a, props = $d6da3710e38faa1c$var$$3e256c6cbec492c2$var$__rest(_a, [\n \"className\",\n \"cover\",\n \"variant\",\n \"size\",\n \"animation\",\n \"role\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", Object.assign({\n className: `position-relative ${className}`\n }, props, {\n children: [\n children,\n cover && (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"modal-backdrop show d-flex justify-content-center align-items-center\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$7f7cbe89f1eacd2, {\n variant: variant,\n size: size,\n animation: animation,\n role: role,\n ariaHidden: \"true\"\n })\n })\n ]\n }));\n};\nvar $d6da3710e38faa1c$var$$082bbd4855375d2b$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$082bbd4855375d2b$exports, \"Tooltip\", function() {\n return $d6da3710e38faa1c$export$28c660c63b792dea;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$082bbd4855375d2b$exports, \"TooltipBox\", function() {\n return $d6da3710e38faa1c$export$e4d8dc88bb9cc931;\n});\nvar $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$28c660c63b792dea = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", Object.assign({\n className: `tooltip bs-tooltip show position-absolute ${className}`,\n role: \"tooltip\"\n }, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"tooltip-arrow\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"tooltip-inner\",\n children: children\n })\n ]\n }));\n};\nlet $d6da3710e38faa1c$export$e4d8dc88bb9cc931 = (()=>{\n var _TooltipBox_show_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"tooltip-box\",\n mode: \"open\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _show_decorators;\n let _show_initializers = [];\n var TooltipBox = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"content\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($d6da3710e38faa1c$var$$082bbd4855375d2b$var$__runInitializers(this, _instanceExtraInitializers), void 0)\n });\n _TooltipBox_show_accessor_storage.set(this, $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__runInitializers(this, _show_initializers, false));\n Object.defineProperty(this, \"handleToggle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>this.show = !this.show\n });\n }\n get show() {\n return $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__classPrivateFieldGet(this, _TooltipBox_show_accessor_storage, \"f\");\n }\n set show(value) {\n $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__classPrivateFieldSet(this, _TooltipBox_show_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.style.display = \"inline-block\";\n this.addEventListener(\"mouseenter\", this.handleToggle);\n this.addEventListener(\"mouseleave\", this.handleToggle);\n }\n disconnectedCallback() {\n this.removeEventListener(\"mouseenter\", this.handleToggle);\n this.removeEventListener(\"mouseleave\", this.handleToggle);\n }\n render() {\n const { content: content, show: show } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {}),\n show && (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$28c660c63b792dea, {\n children: content\n })\n ]\n });\n }\n };\n _TooltipBox_show_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__setFunctionName(_classThis, \"TooltipBox\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _show_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__esDecorate(_classThis, null, _show_decorators, {\n kind: \"accessor\",\n name: \"show\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"show\" in obj,\n get: (obj)=>obj.show,\n set: (obj, value)=>{\n obj.show = value;\n }\n },\n metadata: _metadata\n }, _show_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n TooltipBox = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$082bbd4855375d2b$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return TooltipBox = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$440350f38fb5346b$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$440350f38fb5346b$exports, \"Dropdown\", function() {\n return $d6da3710e38faa1c$export$931cbfb6bfb85fc;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$440350f38fb5346b$exports, \"DropdownToggle\", function() {\n return $d6da3710e38faa1c$export$8d5b7ffbb681f107;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$440350f38fb5346b$exports, \"DropdownMenu\", function() {\n return $d6da3710e38faa1c$export$e44a253a59704894;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$440350f38fb5346b$exports, \"DropdownItem\", function() {\n return $d6da3710e38faa1c$export$6648d5fa18559e7f;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$440350f38fb5346b$exports, \"DropdownButton\", function() {\n return $d6da3710e38faa1c$export$181f40ec41159e56;\n});\nvar $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$440350f38fb5346b$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $d6da3710e38faa1c$var$$440350f38fb5346b$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$931cbfb6bfb85fc = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `dropdown ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$8d5b7ffbb681f107 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$353f5b6fc5456de1, Object.assign({}, props, {\n className: `dropdown-toggle ${className}`,\n type: \"button\",\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$e44a253a59704894 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"nav\", Object.assign({\n className: `dropdown-menu ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$6648d5fa18559e7f = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", Object.assign({\n className: `dropdown-item ${className}`\n }, props, {\n children: children\n }));\n};\nlet $d6da3710e38faa1c$export$181f40ec41159e56 = (()=>{\n var _DropdownButton_boxClass_accessor_storage, _DropdownButton_buttonClass_accessor_storage, _DropdownButton_variant_accessor_storage, _DropdownButton_size_accessor_storage, _DropdownButton_caption_accessor_storage, _DropdownButton_disabled_accessor_storage, _DropdownButton_show_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"dropdown-button\",\n mode: \"open\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _boxClass_decorators;\n let _boxClass_initializers = [];\n let _buttonClass_decorators;\n let _buttonClass_initializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _caption_decorators;\n let _caption_initializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _show_decorators;\n let _show_initializers = [];\n var DropdownButton = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _DropdownButton_boxClass_accessor_storage.set(this, ($d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _instanceExtraInitializers), $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _boxClass_initializers, void 0)));\n _DropdownButton_buttonClass_accessor_storage.set(this, $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _buttonClass_initializers, void 0));\n _DropdownButton_variant_accessor_storage.set(this, $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _variant_initializers, void 0));\n _DropdownButton_size_accessor_storage.set(this, $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _size_initializers, void 0));\n _DropdownButton_caption_accessor_storage.set(this, $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _caption_initializers, void 0));\n _DropdownButton_disabled_accessor_storage.set(this, $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _disabled_initializers, false));\n _DropdownButton_show_accessor_storage.set(this, $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(this, _show_initializers, false));\n }\n get boxClass() {\n return $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_boxClass_accessor_storage, \"f\");\n }\n set boxClass(value) {\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_boxClass_accessor_storage, value, \"f\");\n }\n get buttonClass() {\n return $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_buttonClass_accessor_storage, \"f\");\n }\n set buttonClass(value) {\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_buttonClass_accessor_storage, value, \"f\");\n }\n get variant() {\n return $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_variant_accessor_storage, \"f\");\n }\n set variant(value) {\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_variant_accessor_storage, value, \"f\");\n }\n get size() {\n return $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_size_accessor_storage, \"f\");\n }\n set size(value) {\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_size_accessor_storage, value, \"f\");\n }\n get caption() {\n return $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_caption_accessor_storage, \"f\");\n }\n set caption(value) {\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_caption_accessor_storage, value, \"f\");\n }\n get disabled() {\n return $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_disabled_accessor_storage, \"f\");\n }\n set disabled(value) {\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_disabled_accessor_storage, value, \"f\");\n }\n get show() {\n return $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_show_accessor_storage, \"f\");\n }\n set show(value) {\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_show_accessor_storage, value, \"f\");\n }\n renderContent() {\n const { boxClass: boxClass, buttonClass: buttonClass, variant: variant, size: size, caption: caption } = this, { disabled: disabled, show: show } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)($d6da3710e38faa1c$export$931cbfb6bfb85fc, {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(boxClass, {\n show: show\n }),\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$8d5b7ffbb681f107, {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(buttonClass, {\n show: show\n }),\n variant: variant,\n size: size,\n disabled: disabled,\n onClick: ()=>this.show = !show,\n children: caption\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$e44a253a59704894, {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))({\n show: show\n }),\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {})\n })\n ]\n });\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"style\", {\n children: `:host {\n display: inline-block;\n }`\n }),\n this.renderContent()\n ]\n });\n }\n };\n _DropdownButton_boxClass_accessor_storage = new WeakMap();\n _DropdownButton_buttonClass_accessor_storage = new WeakMap();\n _DropdownButton_variant_accessor_storage = new WeakMap();\n _DropdownButton_size_accessor_storage = new WeakMap();\n _DropdownButton_caption_accessor_storage = new WeakMap();\n _DropdownButton_disabled_accessor_storage = new WeakMap();\n _DropdownButton_show_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__setFunctionName(_classThis, \"DropdownButton\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _boxClass_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _buttonClass_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _variant_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _size_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _caption_decorators = [\n (0, $dDNcL.observable)\n ];\n _disabled_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _show_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(_classThis, null, _boxClass_decorators, {\n kind: \"accessor\",\n name: \"boxClass\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"boxClass\" in obj,\n get: (obj)=>obj.boxClass,\n set: (obj, value)=>{\n obj.boxClass = value;\n }\n },\n metadata: _metadata\n }, _boxClass_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(_classThis, null, _buttonClass_decorators, {\n kind: \"accessor\",\n name: \"buttonClass\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"buttonClass\" in obj,\n get: (obj)=>obj.buttonClass,\n set: (obj, value)=>{\n obj.buttonClass = value;\n }\n },\n metadata: _metadata\n }, _buttonClass_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(_classThis, null, _variant_decorators, {\n kind: \"accessor\",\n name: \"variant\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"variant\" in obj,\n get: (obj)=>obj.variant,\n set: (obj, value)=>{\n obj.variant = value;\n }\n },\n metadata: _metadata\n }, _variant_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(_classThis, null, _size_decorators, {\n kind: \"accessor\",\n name: \"size\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"size\" in obj,\n get: (obj)=>obj.size,\n set: (obj, value)=>{\n obj.size = value;\n }\n },\n metadata: _metadata\n }, _size_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(_classThis, null, _caption_decorators, {\n kind: \"accessor\",\n name: \"caption\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"caption\" in obj,\n get: (obj)=>obj.caption,\n set: (obj, value)=>{\n obj.caption = value;\n }\n },\n metadata: _metadata\n }, _caption_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(_classThis, null, _disabled_decorators, {\n kind: \"accessor\",\n name: \"disabled\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"disabled\" in obj,\n get: (obj)=>obj.disabled,\n set: (obj, value)=>{\n obj.disabled = value;\n }\n },\n metadata: _metadata\n }, _disabled_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(_classThis, null, _show_decorators, {\n kind: \"accessor\",\n name: \"show\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"show\" in obj,\n get: (obj)=>obj.show,\n set: (obj, value)=>{\n obj.show = value;\n }\n },\n metadata: _metadata\n }, _show_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n DropdownButton = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return DropdownButton = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$cc1642db99a4f83c$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$cc1642db99a4f83c$exports, \"Collapse\", function() {\n return $d6da3710e38faa1c$export$78768a9af065a7b;\n});\nvar $d6da3710e38faa1c$var$$cc1642db99a4f83c$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$78768a9af065a7b = (_a)=>{\n var { className: className, dimension: dimension = \"width\", in: show, children: children } = _a, props = $d6da3710e38faa1c$var$$cc1642db99a4f83c$var$__rest(_a, [\n \"className\",\n \"dimension\",\n \"in\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"collapse\", {\n \"collapse-horizontal\": dimension === \"height\",\n show: show\n }, className)\n }, props, {\n children: children\n }));\n};\nvar $d6da3710e38faa1c$var$$e565f84a9fc01dba$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$e565f84a9fc01dba$exports, \"AccordionItem\", function() {\n return $d6da3710e38faa1c$export$d99097c13d4dac9f;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$e565f84a9fc01dba$exports, \"AccordionHeader\", function() {\n return $d6da3710e38faa1c$export$5e3e5deaaf81ee41;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$e565f84a9fc01dba$exports, \"AccordionBody\", function() {\n return $d6da3710e38faa1c$export$4f68206c92b94e7b;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$e565f84a9fc01dba$exports, \"Accordion\", function() {\n return $d6da3710e38faa1c$export$a766cd26d0d69044;\n});\nvar $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$d99097c13d4dac9f = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `accordion-item ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$5e3e5deaaf81ee41 = (_a)=>{\n var { className: className = \"\", children: children, onClick: onClick } = _a, props = $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__rest(_a, [\n \"className\",\n \"children\",\n \"onClick\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", Object.assign({\n className: `accordion-header ${className}`\n }, props, {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"button\", {\n className: \"accordion-button\",\n type: \"button\",\n onClick: onClick,\n children: children\n })\n }));\n};\nconst $d6da3710e38faa1c$export$4f68206c92b94e7b = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$78768a9af065a7b, Object.assign({\n className: `accordion-collapse ${className}`\n }, props, {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"accordion-body\",\n children: children\n })\n }));\n};\nlet $d6da3710e38faa1c$export$a766cd26d0d69044 = (()=>{\n var _Accordion_flush_accessor_storage, _Accordion_alwaysOpen_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"accordion-box\",\n mode: \"open\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _flush_decorators;\n let _flush_initializers = [];\n let _alwaysOpen_decorators;\n let _alwaysOpen_initializers = [];\n let _handleFlush_decorators;\n let _handleClick_decorators;\n var Accordion = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _Accordion_flush_accessor_storage.set(this, ($d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__runInitializers(this, _instanceExtraInitializers), $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__runInitializers(this, _flush_initializers, false)));\n _Accordion_alwaysOpen_accessor_storage.set(this, $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__runInitializers(this, _alwaysOpen_initializers, false));\n }\n get flush() {\n return $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldGet(this, _Accordion_flush_accessor_storage, \"f\");\n }\n set flush(value) {\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldSet(this, _Accordion_flush_accessor_storage, value, \"f\");\n }\n get alwaysOpen() {\n return $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldGet(this, _Accordion_alwaysOpen_accessor_storage, \"f\");\n }\n set alwaysOpen(value) {\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldSet(this, _Accordion_alwaysOpen_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.classList.add(\"accordion\");\n }\n handleFlush(flush) {\n this.classList.toggle(\"accordion-flush\", flush);\n }\n handleClick(_, { nextElementSibling: currentCollapse }) {\n if (!this.alwaysOpen) {\n for (const collapse of this.querySelectorAll(\".accordion-collapse\"))if (collapse !== currentCollapse) {\n collapse.classList.remove(\"show\");\n collapse.previousElementSibling.querySelector(\"button\").ariaExpanded = \"false\";\n }\n }\n currentCollapse.classList.toggle(\"show\");\n currentCollapse.previousElementSibling.querySelector(\"button\").ariaExpanded = \"false\";\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {});\n }\n };\n _Accordion_flush_accessor_storage = new WeakMap();\n _Accordion_alwaysOpen_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__setFunctionName(_classThis, \"Accordion\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _flush_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _alwaysOpen_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _handleFlush_decorators = [\n (0, $3268d95a94a11a3f$export$7203b476385689ae)(({ flush: flush })=>flush)\n ];\n _handleClick_decorators = [\n (0, $3268d95a94a11a3f$export$af631764ddc44097)(\"click\", \".accordion-header\")\n ];\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__esDecorate(_classThis, null, _flush_decorators, {\n kind: \"accessor\",\n name: \"flush\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"flush\" in obj,\n get: (obj)=>obj.flush,\n set: (obj, value)=>{\n obj.flush = value;\n }\n },\n metadata: _metadata\n }, _flush_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__esDecorate(_classThis, null, _alwaysOpen_decorators, {\n kind: \"accessor\",\n name: \"alwaysOpen\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"alwaysOpen\" in obj,\n get: (obj)=>obj.alwaysOpen,\n set: (obj, value)=>{\n obj.alwaysOpen = value;\n }\n },\n metadata: _metadata\n }, _alwaysOpen_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__esDecorate(_classThis, null, _handleFlush_decorators, {\n kind: \"method\",\n name: \"handleFlush\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleFlush\" in obj,\n get: (obj)=>obj.handleFlush\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__esDecorate(_classThis, null, _handleClick_decorators, {\n kind: \"method\",\n name: \"handleClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleClick\" in obj,\n get: (obj)=>obj.handleClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Accordion = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Accordion = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$429aa606bb648ce9$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$429aa606bb648ce9$exports, \"CarouselItem\", function() {\n return $d6da3710e38faa1c$export$42c20acb2971398c;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$429aa606bb648ce9$exports, \"CarouselCaption\", function() {\n return $d6da3710e38faa1c$export$a81c9b47f1cf1e63;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$429aa606bb648ce9$exports, \"Carousel\", function() {\n return $d6da3710e38faa1c$export$144901db2ea8e967;\n});\nvar $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$42c20acb2971398c = (_a)=>{\n var { className: className = \"\", interval: interval, children: children } = _a, props = $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__rest(_a, [\n \"className\",\n \"interval\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `carousel-item ${className}`\n }, props, {\n \"data-bs-interval\": interval,\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$a81c9b47f1cf1e63 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `carousel-caption ${className}`\n }, props, {\n children: children\n }));\n};\nlet $d6da3710e38faa1c$export$144901db2ea8e967 = (()=>{\n var _Carousel_interval_accessor_storage, _Carousel_itemMeta_accessor_storage, _Carousel_currentIndex_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"carousel-box\",\n mode: \"open\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _interval_decorators;\n let _interval_initializers = [];\n let _itemMeta_decorators;\n let _itemMeta_initializers = [];\n let _currentIndex_decorators;\n let _currentIndex_initializers = [];\n let _handleButtonClick_decorators;\n let _handleButtonPress_decorators;\n let _handleIndicatorsButtonClick_decorators;\n let _handleIndicatorsButtonPress_decorators;\n let _handleActiveItem_decorators;\n var Carousel = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _Carousel_interval_accessor_storage.set(this, ($d6da3710e38faa1c$var$$429aa606bb648ce9$var$__runInitializers(this, _instanceExtraInitializers), $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__runInitializers(this, _interval_initializers, void 0)));\n _Carousel_itemMeta_accessor_storage.set(this, $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__runInitializers(this, _itemMeta_initializers, []));\n _Carousel_currentIndex_accessor_storage.set(this, $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__runInitializers(this, _currentIndex_initializers, 0));\n Object.defineProperty(this, \"timer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n get interval() {\n return $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldGet(this, _Carousel_interval_accessor_storage, \"f\");\n }\n set interval(value) {\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldSet(this, _Carousel_interval_accessor_storage, value, \"f\");\n }\n get itemMeta() {\n return $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldGet(this, _Carousel_itemMeta_accessor_storage, \"f\");\n }\n set itemMeta(value) {\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldSet(this, _Carousel_itemMeta_accessor_storage, value, \"f\");\n }\n get currentIndex() {\n return $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldGet(this, _Carousel_currentIndex_accessor_storage, \"f\");\n }\n set currentIndex(value) {\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldSet(this, _Carousel_currentIndex_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n if (this.interval) this.timer || (this.timer = window.setInterval(()=>this.turnByOffset(1), this.interval));\n else this.handleActiveItem(this.currentIndex);\n }\n disconnectedCallback() {\n clearInterval(this.timer);\n }\n mountedCallback() {\n const items = [\n ...this.querySelectorAll(\".carousel-item\")\n ];\n if (this.itemMeta.length !== items.length) this.itemMeta = items.map((item)=>{\n var _a;\n return {\n caption: (((_a = item.querySelector(\".carousel-caption\")) === null || _a === void 0 ? void 0 : _a.textContent) || item.textContent).trim()\n };\n });\n }\n turnByOffset(delta) {\n this.currentIndex = (this.currentIndex + delta) % this.itemMeta.length;\n }\n handleButtonClick(_, { dataset: dataset }) {\n this.turnByOffset(dataset.bsSlide === \"next\" ? 1 : -1);\n }\n handleButtonPress({ key: key }, { dataset: dataset }) {\n if (key === \"Enter\") this.turnByOffset(dataset.bsSlide === \"next\" ? 1 : -1);\n }\n handleIndicatorsButtonClick(_, { dataset: dataset }) {\n this.currentIndex = +dataset.bsSlideTo;\n }\n handleIndicatorsButtonPress({ key: key }, { dataset: dataset }) {\n if (key === \"Enter\") this.currentIndex = +dataset.bsSlideTo;\n }\n handleActiveItem(currentIndex) {\n var _a;\n (_a = this.querySelector(\".carousel-item.active\")) === null || _a === void 0 || _a.classList.remove(\"active\");\n this.children[currentIndex].classList.add(\"active\");\n }\n renderContent() {\n const { itemMeta: itemMeta, currentIndex: currentIndex } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"carousel\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"carousel-indicators\",\n children: itemMeta.map(({ caption: caption }, index)=>(0, $6aabcc7ac344e71d$exports.jsx)(\"button\", {\n type: \"button\",\n ariaLabel: caption,\n \"data-bs-slide-to\": index,\n className: currentIndex === index ? \"active\" : \"\",\n ariaCurrent: currentIndex === index ? \"true\" : \"\"\n }))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"carousel-inner\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {})\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"button\", {\n type: \"button\",\n className: \"carousel-control-prev\",\n \"data-bs-slide\": \"prev\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: \"carousel-control-prev-icon\",\n ariaHidden: \"true\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: \"visually-hidden\",\n children: \"-1\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"button\", {\n type: \"button\",\n className: \"carousel-control-next\",\n \"data-bs-slide\": \"next\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: \"carousel-control-next-icon\",\n ariaHidden: \"true\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: \"visually-hidden\",\n children: \"+1\"\n })\n ]\n })\n ]\n });\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n this.renderContent()\n ]\n });\n }\n };\n _Carousel_interval_accessor_storage = new WeakMap();\n _Carousel_itemMeta_accessor_storage = new WeakMap();\n _Carousel_currentIndex_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__setFunctionName(_classThis, \"Carousel\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _interval_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _itemMeta_decorators = [\n (0, $dDNcL.observable)\n ];\n _currentIndex_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _handleButtonClick_decorators = [\n (0, $3268d95a94a11a3f$export$af631764ddc44097)(\"click\", \".carousel > button\")\n ];\n _handleButtonPress_decorators = [\n (0, $3268d95a94a11a3f$export$af631764ddc44097)(\"keyup\", \".carousel > button\")\n ];\n _handleIndicatorsButtonClick_decorators = [\n (0, $3268d95a94a11a3f$export$af631764ddc44097)(\"click\", \".carousel-indicators button\")\n ];\n _handleIndicatorsButtonPress_decorators = [\n (0, $3268d95a94a11a3f$export$af631764ddc44097)(\"keyup\", \".carousel-indicators button\")\n ];\n _handleActiveItem_decorators = [\n (0, $3268d95a94a11a3f$export$7203b476385689ae)(({ currentIndex: currentIndex })=>currentIndex)\n ];\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _interval_decorators, {\n kind: \"accessor\",\n name: \"interval\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"interval\" in obj,\n get: (obj)=>obj.interval,\n set: (obj, value)=>{\n obj.interval = value;\n }\n },\n metadata: _metadata\n }, _interval_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _itemMeta_decorators, {\n kind: \"accessor\",\n name: \"itemMeta\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"itemMeta\" in obj,\n get: (obj)=>obj.itemMeta,\n set: (obj, value)=>{\n obj.itemMeta = value;\n }\n },\n metadata: _metadata\n }, _itemMeta_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _currentIndex_decorators, {\n kind: \"accessor\",\n name: \"currentIndex\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentIndex\" in obj,\n get: (obj)=>obj.currentIndex,\n set: (obj, value)=>{\n obj.currentIndex = value;\n }\n },\n metadata: _metadata\n }, _currentIndex_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleButtonClick_decorators, {\n kind: \"method\",\n name: \"handleButtonClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleButtonClick\" in obj,\n get: (obj)=>obj.handleButtonClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleButtonPress_decorators, {\n kind: \"method\",\n name: \"handleButtonPress\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleButtonPress\" in obj,\n get: (obj)=>obj.handleButtonPress\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleIndicatorsButtonClick_decorators, {\n kind: \"method\",\n name: \"handleIndicatorsButtonClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleIndicatorsButtonClick\" in obj,\n get: (obj)=>obj.handleIndicatorsButtonClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleIndicatorsButtonPress_decorators, {\n kind: \"method\",\n name: \"handleIndicatorsButtonPress\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleIndicatorsButtonPress\" in obj,\n get: (obj)=>obj.handleIndicatorsButtonPress\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleActiveItem_decorators, {\n kind: \"method\",\n name: \"handleActiveItem\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleActiveItem\" in obj,\n get: (obj)=>obj.handleActiveItem\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Carousel = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$429aa606bb648ce9$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Carousel = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$9d227ef33aa3b137$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9d227ef33aa3b137$exports, \"NavLink\", function() {\n return $d6da3710e38faa1c$export$b0d92dbee9b5b60d;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9d227ef33aa3b137$exports, \"NavDropdown\", function() {\n return $d6da3710e38faa1c$export$461cb598b7fcff7b;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9d227ef33aa3b137$exports, \"Nav\", function() {\n return $d6da3710e38faa1c$export$39140c7d8b0ba7b3;\n});\nvar $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$b0d92dbee9b5b60d = (_a)=>{\n var { className: className = \"\", active: active, children: children } = _a, props = $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__rest(_a, [\n \"className\",\n \"active\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", Object.assign({\n className: `nav-link ${active ? \"active\" : \"\"} ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$461cb598b7fcff7b = (_a)=>{\n var { title: title, children: children } = _a, props = $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__rest(_a, [\n \"title\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$181f40ec41159e56, Object.assign({\n boxClass: \"nav-item\",\n buttonClass: \"nav-link\",\n caption: title\n }, props, {\n children: children\n }));\n};\nlet $d6da3710e38faa1c$export$39140c7d8b0ba7b3 = (()=>{\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"bs-nav\",\n mode: \"open\"\n })\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n var Nav = _classThis = class extends _classSuper {\n connectedCallback() {\n var _a;\n const navBar = this.closest(\"offcanvas-navbar, .navbar\");\n if (!navBar) return this.classList.add(\"nav\");\n const expand = navBar.expand || ((_a = navBar.className.match(/navbar-expand(-(\\S+))?/)) === null || _a === void 0 ? void 0 : _a[2]);\n this.classList.add(\"navbar-nav\", \"align-items-center\", expand && \"flex-column\", expand && `flex-${expand}-row`);\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {});\n }\n };\n $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__setFunctionName(_classThis, \"Nav\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Nav = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Nav = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$210b900be6078c4d$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$210b900be6078c4d$exports, \"NavbarBrand\", function() {\n return $d6da3710e38faa1c$export$2df9f3e5f6d355f6;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$210b900be6078c4d$exports, \"NavbarToggle\", function() {\n return $d6da3710e38faa1c$export$e018030c18c7f90a;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$210b900be6078c4d$exports, \"Navbar\", function() {\n return $d6da3710e38faa1c$export$42cfbb80f7861e77;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$210b900be6078c4d$exports, \"OffcanvasNavbar\", function() {\n return $d6da3710e38faa1c$export$d31319d8cbfdaf50;\n});\nvar $d6da3710e38faa1c$var$$9e952469adea05cf$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9e952469adea05cf$exports, \"OffcanvasTitle\", function() {\n return $d6da3710e38faa1c$export$1b33297d19c3da30;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9e952469adea05cf$exports, \"OffcanvasHeader\", function() {\n return $d6da3710e38faa1c$export$b6c1518fb8dc5e75;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9e952469adea05cf$exports, \"OffcanvasBody\", function() {\n return $d6da3710e38faa1c$export$c324d20ecc5b7dee;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9e952469adea05cf$exports, \"Offcanvas\", function() {\n return $d6da3710e38faa1c$export$591ca0244c9dfcd4;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$9e952469adea05cf$exports, \"OffcanvasBox\", function() {\n return $d6da3710e38faa1c$export$1de07a2f4bdee270;\n});\nvar $d6da3710e38faa1c$var$$9e952469adea05cf$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$1b33297d19c3da30 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"h5\", Object.assign({\n className: `offcanvas-title ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$b6c1518fb8dc5e75 = (_a)=>{\n var { className: className = \"\", closeButton: closeButton, children: children, onHide: onHide } = _a, props = $d6da3710e38faa1c$var$$9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"closeButton\",\n \"children\",\n \"onHide\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", Object.assign({\n className: `offcanvas-header ${className}`\n }, props, {\n children: [\n children,\n closeButton && (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$de65de8213222d10, {\n onClick: onHide\n })\n ]\n }));\n};\nconst $d6da3710e38faa1c$export$c324d20ecc5b7dee = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: `offcanvas-body ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$591ca0244c9dfcd4 = (_a)=>{\n var { className: className = \"\", style: style, backdrop: backdrop = true, show: show, onHide: onHide, children: children } = _a, props = $d6da3710e38faa1c$var$$9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"style\",\n \"backdrop\",\n \"show\",\n \"onHide\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", Object.assign({\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"offcanvas\", show ? \"offcanvas-end show\" : \"offcanvas-start\", className),\n style: Object.assign({\n maxWidth: \"75vw\"\n }, style),\n tabIndex: -1\n }, backdrop === \"static\" ? {\n \"data-bs-backdrop\": \"static\"\n } : {}, props, {\n children: children\n })),\n show && (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"offcanvas-backdrop show\",\n onClick: onHide\n })\n ]\n });\n};\nconst $d6da3710e38faa1c$export$1de07a2f4bdee270 = (_a)=>{\n var { title: title, titleId: titleId = (0, $1MFjU.uniqueID)(), closeButton: closeButton, onHide: onHide, children: children } = _a, props = $d6da3710e38faa1c$var$$9e952469adea05cf$var$__rest(_a, [\n \"title\",\n \"titleId\",\n \"closeButton\",\n \"onHide\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)($d6da3710e38faa1c$export$591ca0244c9dfcd4, Object.assign({}, props, {\n onHide: onHide,\n \"aria-labelledby\": titleId,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$b6c1518fb8dc5e75, {\n closeButton: closeButton,\n onHide: onHide,\n children: (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$1b33297d19c3da30, {\n id: titleId,\n children: title\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$c324d20ecc5b7dee, {\n children: children\n })\n ]\n }));\n};\nvar $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$210b900be6078c4d$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $d6da3710e38faa1c$var$$210b900be6078c4d$var$__rest = function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $d6da3710e38faa1c$export$2df9f3e5f6d355f6 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $d6da3710e38faa1c$var$$210b900be6078c4d$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", Object.assign({\n className: `navbar-brand ${className}`\n }, props, {\n children: children\n }));\n};\nconst $d6da3710e38faa1c$export$e018030c18c7f90a = (_a)=>{\n var { className: className = \"\", type: type, children: children } = _a, props = $d6da3710e38faa1c$var$$210b900be6078c4d$var$__rest(_a, [\n \"className\",\n \"type\",\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"button\", Object.assign({\n className: `navbar-toggler ${className}`,\n type: \"button\"\n }, props, {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: \"navbar-toggler-icon\"\n })\n }));\n};\nconst $d6da3710e38faa1c$export$42cfbb80f7861e77 = ({ variant: variant = \"light\", bg: bg = \"body-tertiary\", fixed: fixed, sticky: sticky, expand: expand, children: children })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"nav\", {\n className: `navbar bg-${bg} ${fixed ? `fixed-${fixed}` : \"\"} ${sticky ? `sticky-${sticky}` : \"\"} ${expand ? `navbar-expand${expand === true ? \"\" : `-${expand}`}` : \"\"}`,\n \"data-bs-theme\": variant,\n children: children\n });\nlet $d6da3710e38faa1c$export$d31319d8cbfdaf50 = (()=>{\n var _OffcanvasNavbar_variant_accessor_storage, _OffcanvasNavbar_bg_accessor_storage, _OffcanvasNavbar_expand_accessor_storage, _OffcanvasNavbar_fixed_accessor_storage, _OffcanvasNavbar_sticky_accessor_storage, _OffcanvasNavbar_fluid_accessor_storage, _OffcanvasNavbar_title_accessor_storage, _OffcanvasNavbar_brand_accessor_storage, _OffcanvasNavbar_open_accessor_storage, _OffcanvasNavbar_closeButton_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"offcanvas-navbar\",\n mode: \"open\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _bg_decorators;\n let _bg_initializers = [];\n let _expand_decorators;\n let _expand_initializers = [];\n let _fixed_decorators;\n let _fixed_initializers = [];\n let _sticky_decorators;\n let _sticky_initializers = [];\n let _fluid_decorators;\n let _fluid_initializers = [];\n let _title_decorators;\n let _title_initializers = [];\n let _brand_decorators;\n let _brand_initializers = [];\n let _open_decorators;\n let _open_initializers = [];\n let _closeButton_decorators;\n let _closeButton_initializers = [];\n var OffcanvasNavbar = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _OffcanvasNavbar_variant_accessor_storage.set(this, ($d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _instanceExtraInitializers), $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _variant_initializers, void 0)));\n _OffcanvasNavbar_bg_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _bg_initializers, void 0));\n _OffcanvasNavbar_expand_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _expand_initializers, void 0));\n _OffcanvasNavbar_fixed_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _fixed_initializers, void 0));\n _OffcanvasNavbar_sticky_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _sticky_initializers, void 0));\n _OffcanvasNavbar_fluid_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _fluid_initializers, void 0));\n _OffcanvasNavbar_title_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _title_initializers, void 0));\n Object.defineProperty(this, \"titleId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0, $1MFjU.uniqueID)()\n });\n _OffcanvasNavbar_brand_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _brand_initializers, void 0));\n Object.defineProperty(this, \"offcanvasId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0, $1MFjU.uniqueID)()\n });\n _OffcanvasNavbar_open_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _open_initializers, false));\n _OffcanvasNavbar_closeButton_accessor_storage.set(this, $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(this, _closeButton_initializers, true));\n Object.defineProperty(this, \"close\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (event)=>{\n if (event instanceof KeyboardEvent && ![\n \"Escape\",\n \"Enter\"\n ].includes(event.key)) return;\n this.open = false;\n }\n });\n Object.defineProperty(this, \"handleLink\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0, $1MFjU.delegate)(\"a[href].nav-link\", this.close)\n });\n }\n get variant() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_variant_accessor_storage, \"f\");\n }\n set variant(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_variant_accessor_storage, value, \"f\");\n }\n get bg() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_bg_accessor_storage, \"f\");\n }\n set bg(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_bg_accessor_storage, value, \"f\");\n }\n get expand() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_expand_accessor_storage, \"f\");\n }\n set expand(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_expand_accessor_storage, value, \"f\");\n }\n get fixed() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_fixed_accessor_storage, \"f\");\n }\n set fixed(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_fixed_accessor_storage, value, \"f\");\n }\n get sticky() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_sticky_accessor_storage, \"f\");\n }\n set sticky(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_sticky_accessor_storage, value, \"f\");\n }\n get fluid() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_fluid_accessor_storage, \"f\");\n }\n set fluid(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_fluid_accessor_storage, value, \"f\");\n }\n get title() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_title_accessor_storage, \"f\");\n }\n set title(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_title_accessor_storage, value, \"f\");\n }\n get brand() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_brand_accessor_storage, \"f\");\n }\n set brand(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_brand_accessor_storage, value, \"f\");\n }\n get open() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_open_accessor_storage, \"f\");\n }\n set open(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_open_accessor_storage, value, \"f\");\n }\n get closeButton() {\n return $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_closeButton_accessor_storage, \"f\");\n }\n set closeButton(value) {\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_closeButton_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n var _a;\n (_a = globalThis.addEventListener) === null || _a === void 0 || _a.call(globalThis, \"keyup\", this.close, true);\n this.addEventListener(\"click\", this.handleLink);\n }\n disconnectedCallback() {\n var _a;\n (_a = globalThis.removeEventListener) === null || _a === void 0 || _a.call(globalThis, \"keyup\", this.close, true);\n this.addEventListener(\"click\", this.handleLink);\n }\n renderContent() {\n const { variant: variant, bg: bg, expand: expand, fixed: fixed, sticky: sticky, fluid: fluid, brand: brand } = this, { title: title, titleId: titleId, offcanvasId: offcanvasId, open: open, closeButton: closeButton } = this;\n return (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$42cfbb80f7861e77, {\n variant: variant,\n bg: bg,\n expand: expand,\n fixed: fixed,\n sticky: sticky,\n children: (0, $6aabcc7ac344e71d$exports.jsxs)($d6da3710e38faa1c$export$42a852a2b6b56249, {\n fluid: fluid,\n children: [\n brand || title,\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$e018030c18c7f90a, {\n \"aria-controls\": offcanvasId,\n ariaLabel: \"Toggle navigation\",\n onClick: ()=>this.open = true\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)($d6da3710e38faa1c$export$591ca0244c9dfcd4, {\n id: offcanvasId,\n \"aria-labelledby\": titleId,\n show: open,\n onHide: this.close,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$b6c1518fb8dc5e75, {\n closeButton: closeButton,\n onHide: ()=>this.open = false,\n children: (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$1b33297d19c3da30, {\n id: titleId,\n children: brand || title\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$c324d20ecc5b7dee, {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {})\n })\n ]\n })\n ]\n })\n });\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n this.renderContent()\n ]\n });\n }\n };\n _OffcanvasNavbar_variant_accessor_storage = new WeakMap();\n _OffcanvasNavbar_bg_accessor_storage = new WeakMap();\n _OffcanvasNavbar_expand_accessor_storage = new WeakMap();\n _OffcanvasNavbar_fixed_accessor_storage = new WeakMap();\n _OffcanvasNavbar_sticky_accessor_storage = new WeakMap();\n _OffcanvasNavbar_fluid_accessor_storage = new WeakMap();\n _OffcanvasNavbar_title_accessor_storage = new WeakMap();\n _OffcanvasNavbar_brand_accessor_storage = new WeakMap();\n _OffcanvasNavbar_open_accessor_storage = new WeakMap();\n _OffcanvasNavbar_closeButton_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__setFunctionName(_classThis, \"OffcanvasNavbar\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _variant_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _bg_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _expand_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _fixed_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _sticky_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _fluid_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _title_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _brand_decorators = [\n (0, $dDNcL.observable)\n ];\n _open_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _closeButton_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _variant_decorators, {\n kind: \"accessor\",\n name: \"variant\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"variant\" in obj,\n get: (obj)=>obj.variant,\n set: (obj, value)=>{\n obj.variant = value;\n }\n },\n metadata: _metadata\n }, _variant_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _bg_decorators, {\n kind: \"accessor\",\n name: \"bg\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"bg\" in obj,\n get: (obj)=>obj.bg,\n set: (obj, value)=>{\n obj.bg = value;\n }\n },\n metadata: _metadata\n }, _bg_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _expand_decorators, {\n kind: \"accessor\",\n name: \"expand\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"expand\" in obj,\n get: (obj)=>obj.expand,\n set: (obj, value)=>{\n obj.expand = value;\n }\n },\n metadata: _metadata\n }, _expand_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _fixed_decorators, {\n kind: \"accessor\",\n name: \"fixed\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"fixed\" in obj,\n get: (obj)=>obj.fixed,\n set: (obj, value)=>{\n obj.fixed = value;\n }\n },\n metadata: _metadata\n }, _fixed_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _sticky_decorators, {\n kind: \"accessor\",\n name: \"sticky\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"sticky\" in obj,\n get: (obj)=>obj.sticky,\n set: (obj, value)=>{\n obj.sticky = value;\n }\n },\n metadata: _metadata\n }, _sticky_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _fluid_decorators, {\n kind: \"accessor\",\n name: \"fluid\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"fluid\" in obj,\n get: (obj)=>obj.fluid,\n set: (obj, value)=>{\n obj.fluid = value;\n }\n },\n metadata: _metadata\n }, _fluid_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _title_decorators, {\n kind: \"accessor\",\n name: \"title\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"title\" in obj,\n get: (obj)=>obj.title,\n set: (obj, value)=>{\n obj.title = value;\n }\n },\n metadata: _metadata\n }, _title_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _brand_decorators, {\n kind: \"accessor\",\n name: \"brand\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"brand\" in obj,\n get: (obj)=>obj.brand,\n set: (obj, value)=>{\n obj.brand = value;\n }\n },\n metadata: _metadata\n }, _brand_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _open_decorators, {\n kind: \"accessor\",\n name: \"open\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"open\" in obj,\n get: (obj)=>obj.open,\n set: (obj, value)=>{\n obj.open = value;\n }\n },\n metadata: _metadata\n }, _open_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(_classThis, null, _closeButton_decorators, {\n kind: \"accessor\",\n name: \"closeButton\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"closeButton\" in obj,\n get: (obj)=>obj.closeButton,\n set: (obj, value)=>{\n obj.closeButton = value;\n }\n },\n metadata: _metadata\n }, _closeButton_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n OffcanvasNavbar = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return OffcanvasNavbar = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$91ec7fc997378afa$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$91ec7fc997378afa$exports, \"Tab\", function() {\n return $d6da3710e38faa1c$export$3e41faf802a29e71;\n});\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$91ec7fc997378afa$exports, \"Tabs\", function() {\n return $d6da3710e38faa1c$export$b2539bed5023c21c;\n});\nvar $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $d6da3710e38faa1c$export$3e41faf802a29e71 = (()=>{\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"tab-pane\"\n })\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n var Tab = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n connectedCallback() {\n this.classList.add(\"tab-pane\");\n this.role = \"tabpanel\";\n }\n };\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__setFunctionName(_classThis, \"Tab\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Tab = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Tab = _classThis;\n})();\nlet $d6da3710e38faa1c$export$b2539bed5023c21c = (()=>{\n var _Tabs_tabMeta_accessor_storage, _Tabs_currentIndex_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"tabs-box\",\n mode: \"open\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _tabMeta_decorators;\n let _tabMeta_initializers = [];\n let _currentIndex_decorators;\n let _currentIndex_initializers = [];\n let _handleTabClick_decorators;\n let _turnPaneTo_decorators;\n var Tabs = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _Tabs_tabMeta_accessor_storage.set(this, ($d6da3710e38faa1c$var$$91ec7fc997378afa$var$__runInitializers(this, _instanceExtraInitializers), $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__runInitializers(this, _tabMeta_initializers, [])));\n _Tabs_currentIndex_accessor_storage.set(this, $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__runInitializers(this, _currentIndex_initializers, 0));\n }\n get tabMeta() {\n return $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldGet(this, _Tabs_tabMeta_accessor_storage, \"f\");\n }\n set tabMeta(value) {\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldSet(this, _Tabs_tabMeta_accessor_storage, value, \"f\");\n }\n get currentIndex() {\n return $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldGet(this, _Tabs_currentIndex_accessor_storage, \"f\");\n }\n set currentIndex(value) {\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldSet(this, _Tabs_currentIndex_accessor_storage, value, \"f\");\n }\n mountedCallback() {\n const tabs = [\n ...this.querySelectorAll(\"tab-pane\")\n ];\n this.tabMeta = tabs.map((tab)=>{\n tab.hidden = true;\n return {\n caption: tab.caption\n };\n });\n this.turnPaneTo(this.currentIndex);\n }\n handleTabClick(event, { dataset: { index: index } }) {\n event.preventDefault();\n event.stopPropagation();\n this.currentIndex = +index;\n }\n turnPaneTo(index) {\n const previous = this.querySelector(\"tab-pane.active\");\n if (previous) {\n previous.hidden = true;\n previous.classList.remove(\"active\", \"show\");\n }\n const next = this.children[index];\n next.hidden = false;\n next.classList.add(\"active\", \"show\");\n }\n renderContent() {\n const { tabMeta: tabMeta, currentIndex: currentIndex } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$39140c7d8b0ba7b3, {\n className: \"nav-tabs\",\n role: \"tablist\",\n children: tabMeta.map(({ caption: caption }, index)=>(0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$b0d92dbee9b5b60d, {\n role: \"tab\",\n \"data-index\": index,\n className: currentIndex === index ? \"active\" : \"\",\n ariaSelected: `${currentIndex === index}`,\n children: caption\n }))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"tab-content\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {})\n })\n ]\n });\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n this.renderContent()\n ]\n });\n }\n };\n _Tabs_tabMeta_accessor_storage = new WeakMap();\n _Tabs_currentIndex_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__setFunctionName(_classThis, \"Tabs\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _tabMeta_decorators = [\n (0, $dDNcL.observable)\n ];\n _currentIndex_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _handleTabClick_decorators = [\n (0, $3268d95a94a11a3f$export$af631764ddc44097)(\"click\", \".nav-tabs > .nav-link\")\n ];\n _turnPaneTo_decorators = [\n (0, $3268d95a94a11a3f$export$7203b476385689ae)(({ currentIndex: currentIndex })=>currentIndex)\n ];\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate(_classThis, null, _tabMeta_decorators, {\n kind: \"accessor\",\n name: \"tabMeta\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"tabMeta\" in obj,\n get: (obj)=>obj.tabMeta,\n set: (obj, value)=>{\n obj.tabMeta = value;\n }\n },\n metadata: _metadata\n }, _tabMeta_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate(_classThis, null, _currentIndex_decorators, {\n kind: \"accessor\",\n name: \"currentIndex\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentIndex\" in obj,\n get: (obj)=>obj.currentIndex,\n set: (obj, value)=>{\n obj.currentIndex = value;\n }\n },\n metadata: _metadata\n }, _currentIndex_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate(_classThis, null, _handleTabClick_decorators, {\n kind: \"method\",\n name: \"handleTabClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleTabClick\" in obj,\n get: (obj)=>obj.handleTabClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate(_classThis, null, _turnPaneTo_decorators, {\n kind: \"method\",\n name: \"turnPaneTo\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"turnPaneTo\" in obj,\n get: (obj)=>obj.turnPaneTo\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Tabs = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$91ec7fc997378afa$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Tabs = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$1bbec1dcb4a4586e$exports, \"CountDown\", function() {\n return $d6da3710e38faa1c$export$ddd3857461e99bb8;\n});\nvar $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nconst $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$colors = Object.keys($d6da3710e38faa1c$export$96e9906d6d93a972).filter((color)=>color !== \"tertiary\").slice(0, 4);\nlet $d6da3710e38faa1c$export$ddd3857461e99bb8 = (()=>{\n var _CountDown_endTime_accessor_storage, _CountDown_rest_accessor_storage, _CountDown_units_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"count-down\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _endTime_decorators;\n let _endTime_initializers = [];\n let _rest_decorators;\n let _rest_initializers = [];\n let _units_decorators;\n let _units_initializers = [];\n let _get_timeSections_decorators;\n var CountDown = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _CountDown_endTime_accessor_storage.set(this, ($d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__runInitializers(this, _instanceExtraInitializers), $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__runInitializers(this, _endTime_initializers, Date.now())));\n _CountDown_rest_accessor_storage.set(this, $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__runInitializers(this, _rest_initializers, 0));\n _CountDown_units_accessor_storage.set(this, $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__runInitializers(this, _units_initializers, [\n {\n scale: 24,\n label: \"D\"\n },\n {\n scale: 60,\n label: \"h\"\n },\n {\n scale: 60,\n label: \"m\"\n },\n {\n scale: 1000,\n label: \"s\"\n }\n ]));\n Object.defineProperty(this, \"timer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tick\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const rest = this.endTime - Date.now();\n if (rest > 0) {\n this.rest = rest;\n if (!this.timer) this.timer = self.setInterval(this.tick, 1000);\n } else if (this.timer) clearInterval(this.timer);\n }\n });\n }\n get endTime() {\n return $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldGet(this, _CountDown_endTime_accessor_storage, \"f\");\n }\n set endTime(value) {\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldSet(this, _CountDown_endTime_accessor_storage, value, \"f\");\n }\n get rest() {\n return $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldGet(this, _CountDown_rest_accessor_storage, \"f\");\n }\n set rest(value) {\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldSet(this, _CountDown_rest_accessor_storage, value, \"f\");\n }\n get units() {\n return $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldGet(this, _CountDown_units_accessor_storage, \"f\");\n }\n set units(value) {\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldSet(this, _CountDown_units_accessor_storage, value, \"f\");\n }\n get timeSections() {\n var { rest: rest } = this;\n return this.units.reduce((list, { label: label }, index, units)=>{\n const scale = units.slice(index).map(({ scale: scale })=>scale).reduce((sum, scale)=>sum * scale, 1);\n const value = ~~(rest / scale);\n rest -= value * scale;\n list.push({\n value: value,\n label: label\n });\n return list;\n }, []);\n }\n mountedCallback() {\n if (typeof this.endTime !== \"number\") this.endTime = new Date(this.endTime).valueOf();\n this.tick();\n }\n disconnectedCallback() {\n clearInterval(this.timer);\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsx)(\"ol\", {\n className: \"list-inline text-white\",\n children: this.timeSections.map(({ value: value, label: label }, index)=>(0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n className: `list-inline-item fs-1 bg-${$d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$colors[index]} d-inline-flex align-items-center justify-content-center rounded-4`,\n style: {\n width: \"5.5rem\",\n height: \"5.5rem\"\n },\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"small\", {\n children: [\n (value + \"\").padStart(2, \"0\"),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"sub\", {\n children: label\n })\n ]\n })\n }, value))\n });\n }\n };\n _CountDown_endTime_accessor_storage = new WeakMap();\n _CountDown_rest_accessor_storage = new WeakMap();\n _CountDown_units_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__setFunctionName(_classThis, \"CountDown\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _endTime_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _rest_decorators = [\n (0, $dDNcL.observable)\n ];\n _units_decorators = [\n (0, $dDNcL.observable)\n ];\n _get_timeSections_decorators = [\n (0, $dDNcL.computed)\n ];\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _endTime_decorators, {\n kind: \"accessor\",\n name: \"endTime\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"endTime\" in obj,\n get: (obj)=>obj.endTime,\n set: (obj, value)=>{\n obj.endTime = value;\n }\n },\n metadata: _metadata\n }, _endTime_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _rest_decorators, {\n kind: \"accessor\",\n name: \"rest\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"rest\" in obj,\n get: (obj)=>obj.rest,\n set: (obj, value)=>{\n obj.rest = value;\n }\n },\n metadata: _metadata\n }, _rest_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _units_decorators, {\n kind: \"accessor\",\n name: \"units\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"units\" in obj,\n get: (obj)=>obj.units,\n set: (obj, value)=>{\n obj.units = value;\n }\n },\n metadata: _metadata\n }, _units_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _get_timeSections_decorators, {\n kind: \"getter\",\n name: \"timeSections\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"timeSections\" in obj,\n get: (obj)=>obj.timeSections\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n CountDown = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return CountDown = _classThis;\n})();\nvar $d6da3710e38faa1c$var$$75a9c5b54bb907f9$exports = {};\n$d6da3710e38faa1c$var$$parcel$export($d6da3710e38faa1c$var$$75a9c5b54bb907f9$exports, \"MonthCalendar\", function() {\n return $d6da3710e38faa1c$export$d7a7c85c0f5afc4a;\n});\nvar $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__setFunctionName = function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $d6da3710e38faa1c$export$d7a7c85c0f5afc4a = (()=>{\n var _MonthCalendar_variant_accessor_storage, _MonthCalendar_locale_accessor_storage, _MonthCalendar_value_accessor_storage, _MonthCalendar_currentDate_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"month-calendar\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _get_weekFormatter_decorators;\n let _currentDate_decorators;\n let _currentDate_initializers = [];\n let _get_dateGrid_decorators;\n var MonthCalendar = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _MonthCalendar_variant_accessor_storage.set(this, ($d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers(this, _instanceExtraInitializers), $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers(this, _variant_initializers, \"primary\")));\n _MonthCalendar_locale_accessor_storage.set(this, $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers(this, _locale_initializers, void 0));\n _MonthCalendar_value_accessor_storage.set(this, $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers(this, _value_initializers, []));\n _MonthCalendar_currentDate_accessor_storage.set(this, $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers(this, _currentDate_initializers, new Date()));\n Object.defineProperty(this, \"renderDate\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (date)=>{\n const { value: value } = this, dateText = (0, $1MFjU.formatDate)(date, \"YYYY-MM-DD\");\n const list = value === null || value === void 0 ? void 0 : value.filter(({ date: date })=>(0, $1MFjU.formatDate)(date, \"YYYY-MM-DD\") === dateText);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"td\", {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))({\n \"opacity-50\": date.getMonth() !== this.currentDate.getMonth(),\n \"fw-bold\": dateText === (0, $1MFjU.formatDate)(new Date(), \"YYYY-MM-DD\")\n }),\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"time\", {\n className: \"d-block\",\n dateTime: date.toJSON(),\n children: date.getDate()\n }),\n list === null || list === void 0 ? void 0 : list.map((item)=>typeof item.content === \"object\" ? item.content : (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$37acb3580601e69a, {\n className: \"d-inline-block text-decoration-none w-100 text-truncate\",\n href: item.link,\n onClick: ()=>this.emit(\"select\", item),\n children: item.content\n }))\n ]\n }, date + \"\");\n }\n });\n }\n get variant() {\n return $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_variant_accessor_storage, \"f\");\n }\n set variant(value) {\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_variant_accessor_storage, value, \"f\");\n }\n get locale() {\n return $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_locale_accessor_storage, \"f\");\n }\n set locale(value) {\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_locale_accessor_storage, value, \"f\");\n }\n get value() {\n return $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_value_accessor_storage, \"f\");\n }\n set value(value) {\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_value_accessor_storage, value, \"f\");\n }\n get weekFormatter() {\n var _a;\n const { locale: locale = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.language } = this;\n return new Intl.DateTimeFormat(locale, {\n weekday: \"long\"\n });\n }\n get currentDate() {\n return $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_currentDate_accessor_storage, \"f\");\n }\n set currentDate(value) {\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_currentDate_accessor_storage, value, \"f\");\n }\n get dateGrid() {\n let startDate = new Date(this.currentDate);\n startDate.setDate(1);\n startDate = new Date(+startDate - startDate.getDay() * (0, $1MFjU.Day));\n const dateList = Array.from(new Array(42), (_, index)=>new Date(+startDate + index * (0, $1MFjU.Day)));\n return (0, $1MFjU.splitArray)(dateList, 7);\n }\n changeMonth(delta) {\n this.currentDate = (0, $1MFjU.changeMonth)(this.currentDate, delta);\n this.emit(\"change\", this.currentDate);\n }\n render() {\n const { style: style, variant: variant, weekFormatter: weekFormatter, currentDate: currentDate, dateGrid: dateGrid } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)($d6da3710e38faa1c$export$54ec01a60f47d33d, {\n style: Object.assign({\n tableLayout: \"fixed\"\n }, style),\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"caption\", {\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"d-flex justify-content-between align-items-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$353f5b6fc5456de1, {\n variant: variant,\n onClick: ()=>this.changeMonth(-1),\n children: \"<\"\n }),\n (0, $1MFjU.formatDate)(currentDate, \"YYYY-MM\"),\n (0, $6aabcc7ac344e71d$exports.jsx)($d6da3710e38faa1c$export$353f5b6fc5456de1, {\n variant: variant,\n onClick: ()=>this.changeMonth(1),\n children: \">\"\n })\n ]\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"thead\", {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"tr\", {\n children: dateGrid[0].map((date, index, { length: length })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n className: `bg-${variant} text-white`,\n style: {\n width: `calc(100% / ${length})`\n },\n children: weekFormatter.format(date)\n }, index))\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"tbody\", {\n children: dateGrid.map((days)=>(0, $6aabcc7ac344e71d$exports.jsx)(\"tr\", {\n children: days.map(this.renderDate)\n }, days[0] + \"\"))\n })\n ]\n });\n }\n };\n _MonthCalendar_variant_accessor_storage = new WeakMap();\n _MonthCalendar_locale_accessor_storage = new WeakMap();\n _MonthCalendar_value_accessor_storage = new WeakMap();\n _MonthCalendar_currentDate_accessor_storage = new WeakMap();\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__setFunctionName(_classThis, \"MonthCalendar\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _variant_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _locale_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _value_decorators = [\n (0, $dDNcL.observable)\n ];\n _get_weekFormatter_decorators = [\n (0, $dDNcL.computed)\n ];\n _currentDate_decorators = [\n (0, $dDNcL.observable)\n ];\n _get_dateGrid_decorators = [\n (0, $dDNcL.computed)\n ];\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _variant_decorators, {\n kind: \"accessor\",\n name: \"variant\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"variant\" in obj,\n get: (obj)=>obj.variant,\n set: (obj, value)=>{\n obj.variant = value;\n }\n },\n metadata: _metadata\n }, _variant_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _locale_decorators, {\n kind: \"accessor\",\n name: \"locale\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"locale\" in obj,\n get: (obj)=>obj.locale,\n set: (obj, value)=>{\n obj.locale = value;\n }\n },\n metadata: _metadata\n }, _locale_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _value_decorators, {\n kind: \"accessor\",\n name: \"value\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"value\" in obj,\n get: (obj)=>obj.value,\n set: (obj, value)=>{\n obj.value = value;\n }\n },\n metadata: _metadata\n }, _value_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _get_weekFormatter_decorators, {\n kind: \"getter\",\n name: \"weekFormatter\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"weekFormatter\" in obj,\n get: (obj)=>obj.weekFormatter\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _currentDate_decorators, {\n kind: \"accessor\",\n name: \"currentDate\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentDate\" in obj,\n get: (obj)=>obj.currentDate,\n set: (obj, value)=>{\n obj.currentDate = value;\n }\n },\n metadata: _metadata\n }, _currentDate_initializers, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _get_dateGrid_decorators, {\n kind: \"getter\",\n name: \"dateGrid\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"dateGrid\" in obj,\n get: (obj)=>obj.dateGrid\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n MonthCalendar = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return MonthCalendar = _classThis;\n})();\n\n\n\n\n\nvar $4b24793a4b0f2663$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $4b24793a4b0f2663$var$OriginalURLPattern = /^(https?|#)/;\nconst $4b24793a4b0f2663$export$febf71ca481883cc = (_a)=>{\n var { menu: menu } = _a, rest = $4b24793a4b0f2663$var$__rest(_a, [\n \"menu\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$d31319d8cbfdaf50), Object.assign({\n variant: \"dark\",\n expand: \"md\",\n sticky: \"top\",\n brand: (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n className: \"text-light text-decoration-none\",\n href: \"#\",\n children: \"\\u6210\\u90FD Web \\u5F00\\u53D1\\u8005\\u5927\\u4F1A\"\n })\n }, rest, {\n children: menu === null || menu === void 0 ? void 0 : menu.map((_a)=>{\n var _b;\n var { title: title, href: href } = _a, rest = $4b24793a4b0f2663$var$__rest(_a, [\n \"title\",\n \"href\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$b0d92dbee9b5b60d), Object.assign({\n className: \"m-3 my-md-0 mx-md-3\"\n }, rest, {\n href: $4b24793a4b0f2663$var$OriginalURLPattern.test(href) ? href : `#${href}`,\n active: (_b = globalThis.location) === null || _b === void 0 ? void 0 : _b.hash.slice(1).startsWith(href + \"\"),\n children: title\n }));\n })\n }));\n};\n\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\nfunction $5e22cd4b061714ab$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $5e22cd4b061714ab$var$$552a56cc5ff3f479$exports = {};\n$5e22cd4b061714ab$var$$parcel$export($5e22cd4b061714ab$var$$552a56cc5ff3f479$exports, \"isNumberLetter\", function() {\n return $5e22cd4b061714ab$export$df0b442c7f8df5c1;\n});\n$5e22cd4b061714ab$var$$parcel$export($5e22cd4b061714ab$var$$552a56cc5ff3f479$exports, \"textJoin\", function() {\n return $5e22cd4b061714ab$export$d977f7cd0cb45fe1;\n});\n$5e22cd4b061714ab$var$$parcel$export($5e22cd4b061714ab$var$$552a56cc5ff3f479$exports, \"parseCookie\", function() {\n return $5e22cd4b061714ab$export$d0eaf3e94be578f6;\n});\n$5e22cd4b061714ab$var$$parcel$export($5e22cd4b061714ab$var$$552a56cc5ff3f479$exports, \"setCookie\", function() {\n return $5e22cd4b061714ab$export$110700823644f4a6;\n});\n$5e22cd4b061714ab$var$$parcel$export($5e22cd4b061714ab$var$$552a56cc5ff3f479$exports, \"parseLanguageHeader\", function() {\n return $5e22cd4b061714ab$export$2557e81a557a81ea;\n});\nconst $5e22cd4b061714ab$export$df0b442c7f8df5c1 = (raw = \"\")=>new RegExp(\"\\\\p{N}\", \"u\").test(raw) || new RegExp(\"\\\\p{Ll}\", \"u\").test(raw.toLowerCase());\nconst $5e22cd4b061714ab$export$d977f7cd0cb45fe1 = (...parts)=>parts.map((raw, index)=>{\n var _a;\n const isNL = $5e22cd4b061714ab$export$df0b442c7f8df5c1(raw.slice(-1));\n if (index + 1 === parts.length) return raw;\n const diff = isNL !== $5e22cd4b061714ab$export$df0b442c7f8df5c1((_a = parts[index + 1]) === null || _a === void 0 ? void 0 : _a.trim()[0]);\n return raw + (diff || isNL ? \" \" : \"\");\n }).join(\"\");\nconst $5e22cd4b061714ab$export$d0eaf3e94be578f6 = (value = globalThis.document.cookie)=>value ? Object.fromEntries(value.split(/;\\s*/).map((item)=>item.split(\"=\"))) : {};\nfunction $5e22cd4b061714ab$export$110700823644f4a6(key, value, attributes = {}) {\n const data = `${key}=${value}`, option = Object.entries(attributes).map(([key, value])=>typeof value === \"boolean\" ? value ? key : \"\" : `${key}=${value}`).filter(Boolean).join(\"; \");\n document.cookie = `${data}; expires=${new Date(0)}`;\n return document.cookie = `${data}; ${option}`;\n}\nconst $5e22cd4b061714ab$export$2557e81a557a81ea = (value)=>value.split(\",\").map((language)=>{\n const [name, quantity = \"\"] = language.split(\";\");\n const [_, value = \"1\"] = quantity.split(\"=\");\n return [\n name.trim(),\n +value\n ];\n }).sort(([_, a], [__, b])=>b - a).map(([name])=>name);\nvar $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__runInitializers = function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__awaiter = function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldGet = function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldSet = function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $5e22cd4b061714ab$export$d91823dfc159395b = (()=>{\n var _a, _TranslationModel_loading_accessor_storage, _TranslationModel_currentLanguage_accessor_storage, _TranslationModel_currentMap_accessor_storage;\n let _instanceExtraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _currentLanguage_decorators;\n let _currentLanguage_initializers = [];\n let _currentMap_decorators;\n let _currentMap_initializers = [];\n let _get_defaultMap_decorators;\n let _changeLanguage_decorators;\n return _a = class TranslationModel {\n get loading() {\n return $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldGet(this, _TranslationModel_loading_accessor_storage, \"f\");\n }\n set loading(value) {\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldSet(this, _TranslationModel_loading_accessor_storage, value, \"f\");\n }\n get currentLanguage() {\n return $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldGet(this, _TranslationModel_currentLanguage_accessor_storage, \"f\");\n }\n set currentLanguage(value) {\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldSet(this, _TranslationModel_currentLanguage_accessor_storage, value, \"f\");\n }\n get currentMap() {\n return $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldGet(this, _TranslationModel_currentMap_accessor_storage, \"f\");\n }\n set currentMap(value) {\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldSet(this, _TranslationModel_currentMap_accessor_storage, value, \"f\");\n }\n get defaultMap() {\n return this.configuration[this.defaultLanguage];\n }\n constructor(configuration){\n Object.defineProperty(this, \"configuration\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($5e22cd4b061714ab$var$$53eb72fe5615c114$var$__runInitializers(this, _instanceExtraInitializers), configuration)\n });\n _TranslationModel_loading_accessor_storage.set(this, $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__runInitializers(this, _loading_initializers, false));\n Object.defineProperty(this, \"defaultLanguage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n _TranslationModel_currentLanguage_accessor_storage.set(this, $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__runInitializers(this, _currentLanguage_initializers, \"\"));\n _TranslationModel_currentMap_accessor_storage.set(this, $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__runInitializers(this, _currentMap_initializers, {}));\n Object.defineProperty(this, \"t\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.textOf.bind(this)\n });\n for(const name in configuration)if (typeof configuration[name] !== \"function\") this.defaultLanguage = name;\n if (!this.defaultLanguage) throw ReferenceError(\"One static language map is required\");\n if (!globalThis.window) return;\n const languages = [\n $5e22cd4b061714ab$export$d0eaf3e94be578f6().language,\n ...navigator.languages || [\n this.defaultLanguage\n ]\n ].filter(Boolean);\n this.loadLanguages(languages);\n window.addEventListener(\"languagechange\", ()=>this.changeLanguage(navigator.language));\n }\n onLanguageChange(handler) {\n (0, $dDNcL.reaction)(()=>this.currentLanguage, (currentLanguage, lastLanguage)=>{\n if (lastLanguage) handler.call(this, currentLanguage);\n });\n }\n setLanguage(name) {\n var _b;\n this.currentLanguage = name;\n if ((_b = globalThis.document) === null || _b === void 0 ? void 0 : _b.documentElement) $5e22cd4b061714ab$export$110700823644f4a6(\"language\", document.documentElement.lang = name, {\n path: \"/\"\n });\n }\n changeLanguage(name) {\n return $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__awaiter(this, void 0, void 0, function*() {\n const language = this.configuration[name];\n if (typeof language !== \"function\") {\n this.setLanguage(name);\n return this.currentMap = language;\n }\n this.loading = true;\n const { default: map } = yield language();\n this.loading = false;\n this.setLanguage(name);\n return this.currentMap = this.configuration[name] = map;\n });\n }\n loadLanguages(names) {\n return $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__awaiter(this, void 0, void 0, function*() {\n const languages = Object.keys(this.configuration).sort(({ length: a }, { length: b })=>b - a);\n for (const name of names){\n const language = languages.includes(name) ? name : languages.find((language)=>name.startsWith(language) || language.startsWith(name));\n if (language) try {\n return yield this.changeLanguage(language);\n } catch (_b) {}\n }\n return this.changeLanguage(this.defaultLanguage);\n });\n }\n textOf(key, data) {\n const value = this.currentMap[key] || this.defaultMap[key];\n if (typeof value !== \"function\") return value;\n if (!data) throw ReferenceError(\"Input data is required for Translation Resolver\");\n return value(data);\n }\n }, _TranslationModel_loading_accessor_storage = new WeakMap(), _TranslationModel_currentLanguage_accessor_storage = new WeakMap(), _TranslationModel_currentMap_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _loading_decorators = [\n (0, $dDNcL.observable)\n ];\n _currentLanguage_decorators = [\n (0, $dDNcL.observable)\n ];\n _currentMap_decorators = [\n (0, $dDNcL.observable)\n ];\n _get_defaultMap_decorators = [\n (0, $dDNcL.computed)\n ];\n _changeLanguage_decorators = [\n (0, $dDNcL.action)\n ];\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__esDecorate(_a, null, _loading_decorators, {\n kind: \"accessor\",\n name: \"loading\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"loading\" in obj,\n get: (obj)=>obj.loading,\n set: (obj, value)=>{\n obj.loading = value;\n }\n },\n metadata: _metadata\n }, _loading_initializers, _instanceExtraInitializers);\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__esDecorate(_a, null, _currentLanguage_decorators, {\n kind: \"accessor\",\n name: \"currentLanguage\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentLanguage\" in obj,\n get: (obj)=>obj.currentLanguage,\n set: (obj, value)=>{\n obj.currentLanguage = value;\n }\n },\n metadata: _metadata\n }, _currentLanguage_initializers, _instanceExtraInitializers);\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__esDecorate(_a, null, _currentMap_decorators, {\n kind: \"accessor\",\n name: \"currentMap\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentMap\" in obj,\n get: (obj)=>obj.currentMap,\n set: (obj, value)=>{\n obj.currentMap = value;\n }\n },\n metadata: _metadata\n }, _currentMap_initializers, _instanceExtraInitializers);\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__esDecorate(_a, null, _get_defaultMap_decorators, {\n kind: \"getter\",\n name: \"defaultMap\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"defaultMap\" in obj,\n get: (obj)=>obj.defaultMap\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $5e22cd4b061714ab$var$$53eb72fe5615c114$var$__esDecorate(_a, null, _changeLanguage_decorators, {\n kind: \"method\",\n name: \"changeLanguage\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"changeLanguage\" in obj,\n get: (obj)=>obj.changeLanguage\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\n\n\nvar $93e8cd5168d34c35$export$2e2bcd8739ae039 = {\n review: \"\\u56DE\\u987E\",\n register: \"\\u6CE8\\u518C\"\n};\n\n\n\nconst $503c9e76e0702d1d$export$a7357cdd1f0b0168 = new (0, $5e22cd4b061714ab$export$d91823dfc159395b)({\n \"zh-CN\": (0, $93e8cd5168d34c35$export$2e2bcd8739ae039),\n \"en-US\": ()=>(parcelRequire(\"coZzl\"))\n});\nconst $503c9e76e0702d1d$export$4b3850bcaaad82f1 = {\n \"zh-CN\": \"\\u7B80\\u4F53\\u4E2D\\u6587\",\n \"en-US\": \"English\"\n};\n\n\nvar $59d62fc290a5d66b$export$aa3e815946b80764;\n$59d62fc290a5d66b$export$aa3e815946b80764 = `_9r4TSW_card`;\n\n\n\nvar $774500e002bf4523$exports = {};\n$774500e002bf4523$exports = new URL(\"address.2d45661a.jpeg\", import.meta.url).toString();\n\n\nvar $4c003ca00f8ec967$exports = {};\n$4c003ca00f8ec967$exports = new URL(\"banner.d2590421.jpeg\", import.meta.url).toString();\n\n\nvar $6ebaf395efbe2f08$exports = {};\n$6ebaf395efbe2f08$exports = new URL(\"groupManager.fe1f2f18.jpeg\", import.meta.url).toString();\n\n\nvar $81436cf79a04cbb6$exports = {};\n$81436cf79a04cbb6$exports = new URL(\"qrcode.000ea267.jpeg\", import.meta.url).toString();\n\n\nvar $8e9a2e588bbabe3f$exports = {};\n$8e9a2e588bbabe3f$exports = new URL(\"wechatLogo.0a5f129f.jpeg\", import.meta.url).toString();\n\n\nvar $63cd6614ff440ef4$exports = {};\n$63cd6614ff440ef4$exports = new URL(\"guest0.4d4bc1b3.jpeg\", import.meta.url).toString();\n\n\nvar $ba6536c2bbe2241e$exports = {};\n$ba6536c2bbe2241e$exports = new URL(\"guest1.2a8b98da.jpeg\", import.meta.url).toString();\n\n\nvar $ef62463b99e0e924$exports = {};\n$ef62463b99e0e924$exports = new URL(\"guest2.00af3133.jpeg\", import.meta.url).toString();\n\n\nvar $1594e4456c6abd30$exports = {};\n$1594e4456c6abd30$exports = new URL(\"guest3.5816bb0c.jpeg\", import.meta.url).toString();\n\n\nvar $63be28c946895911$exports = {};\n$63be28c946895911$exports = new URL(\"guest4.34a81f15.jpeg\", import.meta.url).toString();\n\n\nvar $16d9d8e87c52debe$exports = {};\n$16d9d8e87c52debe$exports = new URL(\"guest5.b6b6c69f.jpeg\", import.meta.url).toString();\n\n\nvar $e3eb87652d3da6cb$exports = {};\n$e3eb87652d3da6cb$exports = new URL(\"guest6.1ee21076.jpeg\", import.meta.url).toString();\n\n\nvar $08051b5a715591ac$exports = {};\n$08051b5a715591ac$exports = new URL(\"guest7.ea35a4b4.jpeg\", import.meta.url).toString();\n\n\nvar $c10c52d356388587$export$2e2bcd8739ae039 = [\n (0, (/*@__PURE__*/$parcel$interopDefault($63cd6614ff440ef4$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($ba6536c2bbe2241e$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($ef62463b99e0e924$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($1594e4456c6abd30$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($63be28c946895911$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($16d9d8e87c52debe$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($e3eb87652d3da6cb$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($08051b5a715591ac$exports)))\n];\n\n\n\n\nvar $7d44bcf5a140a7c0$exports = {};\n$7d44bcf5a140a7c0$exports = new URL(\"0.54f08dac.png\", import.meta.url).toString();\n\n\nvar $1f46f57a3d3fc481$exports = {};\n$1f46f57a3d3fc481$exports = new URL(\"1.8361e329.jpg\", import.meta.url).toString();\n\n\nvar $fbf2ea9e2ff7db15$exports = {};\n$fbf2ea9e2ff7db15$exports = new URL(\"2.79b033bd.jpg\", import.meta.url).toString();\n\n\nvar $aa198d89ed27c62c$exports = {};\n$aa198d89ed27c62c$exports = new URL(\"3.334bb513.jpg\", import.meta.url).toString();\n\n\nvar $5543e9130cf6cb21$exports = {};\n$5543e9130cf6cb21$exports = new URL(\"4.ae5bc98e.jpg\", import.meta.url).toString();\n\n\nvar $5a5a4d40f0bc19d6$exports = {};\n$5a5a4d40f0bc19d6$exports = new URL(\"5.b660aa49.jpg\", import.meta.url).toString();\n\n\nvar $21451a7060ed0dbe$exports = {};\n$21451a7060ed0dbe$exports = new URL(\"6.60aeccfe.jpg\", import.meta.url).toString();\n\n\nvar $26f1c9f4e920685c$exports = {};\n$26f1c9f4e920685c$exports = new URL(\"7.6b53a2b5.jpg\", import.meta.url).toString();\n\n\nvar $edb04c5a5f81baaf$export$2e2bcd8739ae039 = [\n (0, (/*@__PURE__*/$parcel$interopDefault($7d44bcf5a140a7c0$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($1f46f57a3d3fc481$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($fbf2ea9e2ff7db15$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($aa198d89ed27c62c$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($5543e9130cf6cb21$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($5a5a4d40f0bc19d6$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($21451a7060ed0dbe$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($26f1c9f4e920685c$exports)))\n];\n\n\nvar $3376f124ed632412$exports = {};\n$3376f124ed632412$exports = new URL(\"React-ChengDu.10342ab9.jpg\", import.meta.url).toString();\n\n\nvar $cd7f3979e6b34c6c$exports = {};\n$cd7f3979e6b34c6c$exports = new URL(\"poster.367bcd76.png\", import.meta.url).toString();\n\n\nvar $cd4016b0816d4e56$exports = {};\n$cd4016b0816d4e56$exports = new URL(\"undraw_01.18599e8b.png\", import.meta.url).toString();\n\n\nvar $fb2809281e6190c8$exports = {};\n$fb2809281e6190c8$exports = new URL(\"undraw_04.d9b38312.png\", import.meta.url).toString();\n\n\nconst $affdfcc70845640a$export$e5c5c7a5558278fe = \"https://fcc-cd.dev/images/FCC-CDC-v1-0.png\";\n\n\nvar $f4ef06ddf03adecc$exports = {};\n$f4ef06ddf03adecc$exports = new URL(\"banner.c8e98b18.jpg\", import.meta.url).toString();\n\n\nconst $c93b901e7adf7ade$export$ff0e4e8ad1be5d30 = [\n {\n title: \"\\u4E3B\\u529E\\u65B9\\u7B80\\u4ECB\",\n href: \"community\"\n },\n {\n title: \"\\u5168\\u56FD IT \\u6D3B\\u52A8\",\n href: \"activity\"\n }\n];\nconst $c93b901e7adf7ade$export$269ff336f3ec3e85 = [\n {\n title: \"COSCon\\u201920\\uFF08\\u4E2D\\u56FD\\u5F00\\u6E90\\u5E74\\u4F1A\\uFF09\\u6210\\u90FD\\u5206\\u4F1A\\u573A\",\n date: \"2020-10-24\",\n URL: \"https://fcc-cd.dev/activity/conference/coscon-2020-chengdu/\",\n banner: \"https://ows.blob.core.chinacloudapi.cn/files/assets/COS_Con_20_abaa9e2a66.png\"\n },\n {\n title: \"2019 \\u6210\\u90FD Web \\u5168\\u6808\\u5927\\u4F1A\",\n date: \"2019-11-16\",\n URL: \"2019/\",\n banner: (0, (/*@__PURE__*/$parcel$interopDefault($f4ef06ddf03adecc$exports)))\n },\n {\n title: \"2018 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\",\n date: \"2018-11-10\",\n URL: \"2018/\",\n banner: (0, (/*@__PURE__*/$parcel$interopDefault($cd7f3979e6b34c6c$exports)))\n },\n {\n title: \"2018 \\u91CD\\u5E86 Web \\u524D\\u7AEF\\u5927\\u4F1A\",\n date: \"2018-08-18\",\n URL: \"https://fcc-cd.dev/activity/conference/web-fe-conf-chongqing-2018/\",\n banner: \"http://wimg.huodongxing.com/logo/201807/9450206156400/123133704540930_v2.jpg@!wmlogo\"\n },\n {\n title: \"2018 \\u6210\\u90FD React \\u6280\\u672F\\u5927\\u4F1A\",\n date: \"2018-03-31\",\n URL: \"https://ppt.baomitu.com/conference/60\",\n banner: (0, (/*@__PURE__*/$parcel$interopDefault($3376f124ed632412$exports)))\n },\n {\n title: \"\\u65B0\\u8000\\u676F Code for City \\u9ED1\\u5BA2\\u9A6C\\u62C9\\u677E\",\n date: \"2018-01-20\",\n URL: \"2018/Code4City/\",\n banner: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[0]\n },\n {\n title: \"2017 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\",\n date: \"2017-11-19\",\n URL: \"2017/\",\n banner: (0, (/*@__PURE__*/$parcel$interopDefault($8e9a2e588bbabe3f$exports)))\n }\n].sort(({ date: A }, { date: B })=>+new Date(B) - +new Date(A));\nconst { date: $c93b901e7adf7ade$var$first } = $c93b901e7adf7ade$export$269ff336f3ec3e85.slice(-1)[0], { date: $c93b901e7adf7ade$var$last } = $c93b901e7adf7ade$export$269ff336f3ec3e85[0];\nconst $c93b901e7adf7ade$var$years = Math.ceil(+$c93b901e7adf7ade$var$last.slice(0, 4) - +$c93b901e7adf7ade$var$first.slice(0, 4)) + 1;\nconst $c93b901e7adf7ade$export$606190e461fe9031 = [\n {\n title: \"\\u79C9\\u6301 freeCodeCamp \\u56FD\\u9645\\u793E\\u533A\\u7CBE\\u795E\",\n summary: \"freeCodeCamp.org \\u5168\\u7403\\u6700\\u5927\\u7684\\u5F00\\u6E90\\u7F16\\u7A0B\\u5B66\\u4E60\\u5E73\\u53F0\\uFF08GitHub \\u661F\\u6807\\u524D\\u5341\\uFF09\\uFF0C\\u65E8\\u5728\\u6210\\u4E3A\\u8BA1\\u7B97\\u673A\\u6559\\u80B2\\u754C\\u7684\\u7EF4\\u57FA\\u767E\\u79D1\",\n logo: \"https://github.com/freeCodeCamp.png\"\n },\n {\n title: \"\\u5F15\\u9886 freeCodeCamp \\u4E2D\\u6587\\u793E\\u533A\\u6F6E\\u6D41\",\n summary: \"\\u7B2C\\u4E00\\u4E2A\\u5236\\u5B9A\\u65E5\\u5E38\\u6D3B\\u52A8\\u65B9\\u9488\\uFF0C\\u7B2C\\u4E00\\u4E2A\\u8BBE\\u8BA1\\u57CE\\u5E02\\u793E\\u533A logo\\u3001\\u5409\\u7965\\u7269\\uFF0C\\u7B2C\\u4E00\\u4E2A\\u4E3E\\u529E\\u9ED1\\u5BA2\\u9A6C\\u62C9\\u677E\\u3001\\u6280\\u672F\\u5927\\u4F1A\\uFF0C\\u7B2C\\u4E00\\u4E2A\\u8BD5\\u9A8C\\u5F00\\u6E90\\u7EBF\\u4E0B\\u8FD0\\u8425\",\n logo: \"https://github.com/freeCodeCamp-China.png\"\n },\n {\n title: \"\\u6210\\u90FD\\u6700\\u6D3B\\u8DC3\\u7684\\u7A0B\\u5E8F\\u5458\\u793E\\u533A\",\n summary: `${$c93b901e7adf7ade$var$years} \\u{5E74}\\u{8FDE}\\u{529E} ${$c93b901e7adf7ade$export$269ff336f3ec3e85.length} \\u{573A}\\u{6280}\\u{672F}\\u{5E72}\\u{8D27}\\u{5927}\\u{4F1A}\\u{FF0C}\\u{5408}\\u{529E}\\u{6D3B}\\u{52A8}\\u{3001}\\u{4E2D}\\u{5C0F}\\u{5206}\\u{4EAB}\\u{4F1A}\\u{3001}\\u{52A8}\\u{624B}\\u{8BAD}\\u{7EC3}\\u{8425}\\u{3001}\\u{7EBF}\\u{4E0A}\\u{76F4}\\u{64AD}\\u{4E0D}\\u{8BA1}\\u{5176}\\u{6570}`,\n logo: (0, $affdfcc70845640a$export$e5c5c7a5558278fe)\n },\n {\n title: \"\\u4E2D\\u6587\\u6280\\u672F\\u793E\\u533A\\u53CB\\u519B\\u4F17\\u591A\",\n summary: \"\\u5F00\\u6E90\\u793E\\u3001\\u5F00\\u6E90\\u5DE5\\u573A\\u3001\\u5FAE\\u8F6F MVP \\u793E\\u533A\\u3001\\u6210\\u90FD Google \\u5F00\\u53D1\\u8005\\u793E\\u533A\\u3001\\u963F\\u91CC\\u4E91 ACE \\u6210\\u90FD\\u540C\\u57CE\\u4F1A\\u3001\\u6210\\u90FD Linux \\u7528\\u6237\\u7EC4\\u3001\\u91CD\\u5E86\\u524D\\u7AEF\\u793E\\u533A\\u2026\\u2026\",\n logo: \"https://i0.wp.com/opensource.org/wp-content/uploads/2009/06/osi_symbol.png?w=628&ssl=1\"\n },\n {\n title: \"\\u66F4\\u591A\\u7CBE\\u5F69\\uFF0C\\u671F\\u5F85\\u4F60\\u7684\\u53C2\\u4E0E\\u2026\\u2026\",\n summary: \"\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($9cac426e37fc7596$exports)))\n }\n];\n\n\nconst { t: $a6c3d139f2721b86$var$t } = (0, $503c9e76e0702d1d$export$a7357cdd1f0b0168);\nconst $a6c3d139f2721b86$export$36d69433c4f81145 = (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)((props)=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", Object.assign({}, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $4b24793a4b0f2663$export$febf71ca481883cc), {\n menu: (0, $c93b901e7adf7ade$export$ff0e4e8ad1be5d30)\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$97aba50a380f875b), {\n fluid: true,\n className: \"text-center\",\n title: \"\\u6210\\u90FD Web \\u5F00\\u53D1\\u8005\\u5927\\u4F1A\",\n description: \"\\u4E2D\\u56FD\\u897F\\u5357\\u5730\\u533A Web\\u3001JavaScript \\u5168\\u6808\\u5F00\\u53D1\\u8005\\u7684\\u5E74\\u5EA6\\u76DB\\u4F1A\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n className: \"m-2\",\n variant: \"primary\",\n href: (0, $c93b901e7adf7ade$export$269ff336f3ec3e85)[0].URL,\n title: (0, $c93b901e7adf7ade$export$269ff336f3ec3e85)[0].title,\n children: \"\\u62A5\\u540D\\u6700\\u65B0\\u5927\\u4F1A\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n className: \"m-2\",\n variant: \"secondary\",\n href: (0, $c93b901e7adf7ade$export$269ff336f3ec3e85)[1].URL,\n title: (0, $c93b901e7adf7ade$export$269ff336f3ec3e85)[1].title,\n children: \"\\u56DE\\u987E\\u4E0A\\u6B21\\u5927\\u4F1A\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"section\", {\n className: \"container py-5\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"d-flex flex-wrap justify-content-center gap-4\",\n children: (0, $c93b901e7adf7ade$export$269ff336f3ec3e85).map(({ title: title, banner: banner, date: date, URL: URL })=>{\n const passed = new Date(date) < new Date();\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$60332b2344f7fe41), {\n className: `${$59d62fc290a5d66b$export$aa3e815946b80764} shadow`,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$96c5f37208f78bd7), {\n src: banner\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$851de33184ecdac4), {\n className: \"d-flex flex-column\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$474db65c3c394e1c), {\n className: \"flex-fill\",\n children: title\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"d-flex justify-content-between align-items-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n variant: passed ? \"secondary\" : \"primary\",\n size: \"sm\",\n className: \"stretched-link\",\n href: `#${URL}`,\n title: title,\n children: $a6c3d139f2721b86$var$t(passed ? \"review\" : \"register\")\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"small\", {\n className: \"text-muted\",\n children: date\n })\n ]\n })\n ]\n })\n ]\n });\n })\n })\n })\n ]\n })));\n\n\n\n\n\n\n\n\nvar $b399482a0a9c42aa$export$46e4a324ac90507f;\n$b399482a0a9c42aa$export$46e4a324ac90507f = `B7epaG_heading`;\n\n\nconst $fcaea377ff8063f9$export$6e91cf7616333d5 = ({ reverse: reverse, title: title, summary: summary, logo: logo })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"row\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"col-md-8\", reverse && \"order-md-2\"),\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: $b399482a0a9c42aa$export$46e4a324ac90507f,\n children: title\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"lead\",\n children: summary\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($852a55cf17d8b19d$exports)))(\"col-md-4\", reverse && \"order-md-1\"),\n children: (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$3e431a229df88919), {\n fluid: true,\n className: \"w-100\",\n src: logo\n })\n })\n ]\n });\n\n\n\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\nfunction $19784e99206753c8$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $19784e99206753c8$var$$22de11b45b0eeb97$exports = {};\n$19784e99206753c8$var$$parcel$export($19784e99206753c8$var$$22de11b45b0eeb97$exports, \"Defer\", function() {\n return $19784e99206753c8$export$c7e91f8aec23ae14;\n});\n$19784e99206753c8$var$$parcel$export($19784e99206753c8$var$$22de11b45b0eeb97$exports, \"makeDefer\", function() {\n return $19784e99206753c8$export$51ca94569b882c51;\n});\nclass $19784e99206753c8$export$c7e91f8aec23ae14 {\n constructor(){\n this.promise = new Promise((resolve, reject)=>{\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nconst $19784e99206753c8$export$51ca94569b882c51 = ()=>new $19784e99206753c8$export$c7e91f8aec23ae14();\nvar $19784e99206753c8$var$$e3640f413e0c36e7$exports = {};\n$19784e99206753c8$var$$parcel$export($19784e99206753c8$var$$e3640f413e0c36e7$exports, \"Observable\", function() {\n return $19784e99206753c8$export$77cea355fa80b5f4;\n});\nif (!Symbol.observable) Reflect.set(Symbol, \"observable\", Symbol(\"observable\"));\nclass $19784e99206753c8$export$77cea355fa80b5f4 {\n constructor(subscriber){\n this.subscriber = subscriber;\n }\n [Symbol.observable]() {\n return this;\n }\n async *[Symbol.asyncIterator]() {\n var queue = [\n new $19784e99206753c8$export$c7e91f8aec23ae14()\n ], canceler, done = false;\n const observer = {\n next (value) {\n if (done) return;\n queue[queue.length - 1].resolve(value);\n queue.push(new $19784e99206753c8$export$c7e91f8aec23ae14());\n },\n error (reason) {\n if (!done) queue[queue.length - 1].reject(reason), done = true;\n if (canceler) canceler();\n },\n complete () {\n if (!done) queue[queue.length - 1].resolve(), done = true;\n if (canceler) canceler();\n }\n };\n canceler = this.subscriber(observer);\n do {\n yield queue[0].promise;\n queue.shift();\n }while (queue[0]);\n }\n static of(...items) {\n return new this(({ next: next, complete: complete })=>{\n for (const item of items)next(item);\n complete();\n });\n }\n async toPromise() {\n const stack = [];\n for await (const item of this){\n stack.push(item);\n if (stack.length > 2) stack.shift();\n }\n return stack[0];\n }\n subscribe(onNext, onError, onComplete) {\n var stop = false;\n (async ()=>{\n try {\n for await (const item of this)if (!stop) onNext(item);\n else break;\n if (onComplete instanceof Function) onComplete();\n } catch (error) {\n if (onError instanceof Function) onError(error);\n }\n })();\n return {\n unsubscribe () {\n stop = true;\n },\n get closed () {\n return stop;\n }\n };\n }\n static from(observable) {\n return new this(({ next: next, error: error, complete: complete })=>observable.subscribe(next, error, complete).unsubscribe);\n }\n static fromEvent(target, name) {\n return new this(({ next: next, error: error })=>{\n if (typeof target.on === \"function\") target.on(name, next).on(\"error\", error);\n else {\n target.addEventListener(name, next);\n target.addEventListener(\"error\", error);\n }\n return ()=>{\n if (typeof target.off === \"function\") target.off(name, next).off(\"error\", error);\n else {\n target.removeEventListener(name, next);\n target.removeEventListener(\"error\", error);\n }\n };\n });\n }\n}\nvar $19784e99206753c8$var$$603f33a01a36ab56$exports = {};\n$19784e99206753c8$var$$parcel$export($19784e99206753c8$var$$603f33a01a36ab56$exports, \"createQueue\", function() {\n return $19784e99206753c8$export$d16acf4b6e75743d;\n});\nfunction $19784e99206753c8$export$d16acf4b6e75743d() {\n var feedNext, stop;\n const observable = new $19784e99206753c8$export$77cea355fa80b5f4(({ next: next, complete: complete })=>{\n feedNext = next, stop = complete;\n });\n return {\n process (data) {\n const defer = new $19784e99206753c8$export$c7e91f8aec23ae14();\n if (!feedNext) throw Error(\"Can't process data before Queue consuming\");\n feedNext({\n defer: defer,\n data: data\n });\n return defer.promise;\n },\n destroy () {\n if (!stop) throw Error(\"Can't stop a Queue before Queue consuming\");\n stop();\n },\n observable: observable\n };\n}\n\n\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\nfunction $850589403705f8ed$var$$parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {\n get: v,\n set: s,\n enumerable: true,\n configurable: true\n });\n}\nvar $850589403705f8ed$var$$eef213ff4197108b$exports = {};\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$eef213ff4197108b$exports, \"Stack\", function() {\n return $850589403705f8ed$export$694e0d28c7ffc90c;\n});\nconst { push: $850589403705f8ed$var$$eef213ff4197108b$var$push } = Array.prototype;\nclass $850589403705f8ed$export$694e0d28c7ffc90c {\n use(...middlewares) {\n $850589403705f8ed$var$$eef213ff4197108b$var$push.apply(this, middlewares);\n return this;\n }\n execute(context, depth = 0) {\n const middleware = this[depth];\n if (middleware instanceof Function) return middleware(context, this.execute.bind(this, context, ++depth));\n }\n mount(condition, stack) {\n return this.use((context, next)=>condition(context) ? stack.execute(context) : next());\n }\n constructor(){\n this.length = 0;\n }\n}\nvar $850589403705f8ed$var$$0fe1f1400993ba8a$exports = {};\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"BodyRequestMethods\", function() {\n return $850589403705f8ed$export$4125cfe7e08e2040;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"HTTPError\", function() {\n return $850589403705f8ed$export$aa9d629c530f62a7;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"headerParser\", function() {\n return $850589403705f8ed$export$b725a69477e4d33f;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"parseHeaders\", function() {\n return $850589403705f8ed$export$eea2c1c5e1a37e50;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"parseBody\", function() {\n return $850589403705f8ed$export$3b629cd0ff482602;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"requestXHR\", function() {\n return $850589403705f8ed$export$4f2a8c8c11a6373a;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"requestFetch\", function() {\n return $850589403705f8ed$export$bda27a3e49197b9;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$0fe1f1400993ba8a$exports, \"request\", function() {\n return $850589403705f8ed$export$b5fe3f66a567bec0;\n});\nvar $850589403705f8ed$var$$22de11b45b0eeb97$exports = {};\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$22de11b45b0eeb97$exports, \"parseDocument\", function() {\n return $850589403705f8ed$export$b6a9369736b19f4d;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$22de11b45b0eeb97$exports, \"makeFormData\", function() {\n return $850589403705f8ed$export$2c28ab2e118e73f1;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$22de11b45b0eeb97$exports, \"serializeNode\", function() {\n return $850589403705f8ed$export$a0beee2e55fb5dd1;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$22de11b45b0eeb97$exports, \"serialize\", function() {\n return $850589403705f8ed$export$dfdc1655ccc5b9cb;\n});\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$22de11b45b0eeb97$exports, \"readAs\", function() {\n return $850589403705f8ed$export$e209cbb66c5b18c;\n});\nasync function $850589403705f8ed$export$b6a9369736b19f4d(text, contentType = \"\") {\n const [type] = contentType?.split(\";\") || [];\n return new DOMParser().parseFromString(text, type || \"text/html\");\n}\nfunction $850589403705f8ed$export$2c28ab2e118e73f1(data) {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)){\n const list = typeof value !== \"string\" && (0, $1MFjU.likeArray)(value) ? value : [\n value\n ];\n for (const item of Array.from(list))if (item != null) {\n if (typeof item === \"object\") formData.append(key, item, item.name);\n else formData.append(key, item);\n }\n }\n return formData;\n}\nfunction $850589403705f8ed$export$a0beee2e55fb5dd1(root) {\n var contentType;\n if (!(root instanceof HTMLFormElement)) return {\n contentType: root instanceof SVGElement ? \"image/svg\" : root instanceof HTMLDocument || root instanceof HTMLElement ? \"text/html\" : \"application/xml\",\n data: (0, $1MFjU.stringifyDOM)(root)\n };\n if (root.querySelector('input[type=\"file\"][name]')) return {\n contentType: \"multipart/form-data\",\n data: new FormData(root)\n };\n const data = (0, $1MFjU.formToJSON)(root);\n switch(contentType = root.enctype){\n case \"text/plain\":\n return {\n contentType: contentType,\n data: Object.entries(data).map(([name, value])=>`${name}=${value}`).join(\"\\n\")\n };\n case \"application/x-www-form-urlencoded\":\n return {\n contentType: contentType,\n data: new URLSearchParams(data) + \"\"\n };\n default:\n return {\n contentType: \"application/json\",\n data: JSON.stringify(data)\n };\n }\n}\nfunction $850589403705f8ed$export$dfdc1655ccc5b9cb(data, contentType) {\n const [type] = contentType?.split(\";\") || [];\n switch(type){\n case \"application/x-www-form-urlencoded\":\n return {\n contentType: contentType,\n data: new URLSearchParams(data)\n };\n case \"multipart/form-data\":\n return {\n data: $850589403705f8ed$export$2c28ab2e118e73f1(data)\n };\n case \"application/json\":\n return {\n contentType: contentType,\n data: JSON.stringify(data)\n };\n case \"text/html\":\n case \"application/xml\":\n case \"image/svg\":\n return {\n contentType: contentType,\n data: (0, $1MFjU.stringifyDOM)(data)\n };\n }\n if (type) return {\n data: data,\n contentType: contentType\n };\n try {\n if (data instanceof URLSearchParams) return {\n contentType: \"application/x-www-form-urlencoded\",\n data: data\n };\n } catch {}\n try {\n if (data instanceof FormData) return {\n data: data\n };\n } catch {}\n try {\n if (data instanceof Node) return $850589403705f8ed$export$a0beee2e55fb5dd1(data);\n } catch {}\n try {\n if ((0, $1MFjU.isTypedArray)(data) || data instanceof ArrayBuffer || data instanceof DataView || data instanceof Blob || data instanceof ReadableStream) return {\n contentType: \"application/octet-stream\",\n data: data\n };\n } catch {}\n try {\n return {\n contentType: \"application/json\",\n data: JSON.stringify(data)\n };\n } catch {}\n throw new Error(\"Unserialized Object needs a specific Content-Type\");\n}\nvar $850589403705f8ed$var$$22de11b45b0eeb97$var$FileMethod;\n(function(FileMethod) {\n FileMethod[\"text\"] = \"readAsText\";\n FileMethod[\"dataURL\"] = \"readAsDataURL\";\n FileMethod[\"binaryString\"] = \"readAsBinaryString\";\n FileMethod[\"arrayBuffer\"] = \"readAsArrayBuffer\";\n})($850589403705f8ed$var$$22de11b45b0eeb97$var$FileMethod || ($850589403705f8ed$var$$22de11b45b0eeb97$var$FileMethod = {}));\nfunction $850589403705f8ed$export$e209cbb66c5b18c(file, method, encoding) {\n const reader = new FileReader();\n return {\n progress: (0, $19784e99206753c8$export$77cea355fa80b5f4).fromEvent(reader, \"progress\"),\n result: new Promise((resolve, reject)=>{\n reader.onerror = reject;\n reader.onload = ()=>resolve(reader.result);\n reader[$850589403705f8ed$var$$22de11b45b0eeb97$var$FileMethod[method]](file, encoding);\n })\n };\n}\nvar $850589403705f8ed$export$4125cfe7e08e2040;\n(function(BodyRequestMethods) {\n BodyRequestMethods[\"POST\"] = \"POST\";\n BodyRequestMethods[\"PUT\"] = \"PUT\";\n BodyRequestMethods[\"PATCH\"] = \"PATCH\";\n BodyRequestMethods[\"DELETE\"] = \"DELETE\";\n})($850589403705f8ed$export$4125cfe7e08e2040 || ($850589403705f8ed$export$4125cfe7e08e2040 = {}));\nclass $850589403705f8ed$export$aa9d629c530f62a7 extends URIError {\n constructor(message, response){\n super(message);\n Object.assign(this, response);\n }\n}\nconst $850589403705f8ed$export$b725a69477e4d33f = {\n Link: (value)=>Object.fromEntries(Array.from(value.matchAll(/<(\\S+?)>; rel=\"(\\w+)\"(?:; title=\"(.*?)\")?/g), ([_, URI, rel, title])=>[\n rel,\n {\n rel: rel,\n URI: URI,\n title: title\n }\n ]))\n};\nconst $850589403705f8ed$export$eea2c1c5e1a37e50 = (raw)=>Object.fromEntries(Array.from(raw.trim().matchAll(/^([\\w-]+):\\s*(.*)/gm), ([_, key, value])=>{\n key = key.replace(/(^[a-z]|-[a-z])/g, (char)=>char.toUpperCase());\n return [\n key,\n $850589403705f8ed$export$b725a69477e4d33f[key]?.(value) ?? value\n ];\n }));\nfunction $850589403705f8ed$export$3b629cd0ff482602(raw, contentType) {\n if (contentType.includes(\"text\")) return raw;\n if (contentType.includes(\"json\")) return (0, $1MFjU.parseJSON)(raw);\n if (contentType.match(/html|xml/)) try {\n return $850589403705f8ed$export$b6a9369736b19f4d(raw, contentType);\n } catch {}\n return new TextEncoder().encode(raw).buffer;\n}\nfunction $850589403705f8ed$export$4f2a8c8c11a6373a({ method: method = \"GET\", path: path, headers: headers = {}, body: body, ...rest }) {\n const request = new XMLHttpRequest(), header_list = headers instanceof Array ? headers : headers?.[Symbol.iterator] instanceof Function ? [\n ...headers\n ] : Object.entries(headers);\n const response = new Promise((resolve, reject)=>{\n request.onload = ()=>resolve({\n status: request.status,\n statusText: request.statusText,\n headers: $850589403705f8ed$export$eea2c1c5e1a37e50(request.getAllResponseHeaders()),\n body: request.response || request.responseText\n });\n request.onerror = request.ontimeout = reject;\n request.open(method, path + \"\");\n for (const [key, value] of header_list)request.setRequestHeader(key, value);\n Object.assign(request, rest);\n request.send(body);\n }).then(({ body: body, ...meta })=>{\n const contentType = request.getResponseHeader(\"Content-Type\") || \"\";\n if (typeof body === \"string\" && !contentType.includes(\"text\")) body = $850589403705f8ed$export$3b629cd0ff482602(body, contentType);\n return {\n ...meta,\n body: body\n };\n });\n return {\n response: response,\n upload: (0, $19784e99206753c8$export$77cea355fa80b5f4).fromEvent(request.upload, \"progress\"),\n download: (0, $19784e99206753c8$export$77cea355fa80b5f4).fromEvent(request, \"progress\")\n };\n}\nasync function $850589403705f8ed$export$bda27a3e49197b9({ path: path, method: method, headers: headers, withCredentials: withCredentials, body: body, timeout: timeout, responseType: responseType }) {\n const controller = timeout ? new AbortController() : undefined;\n const timer = timeout && (0, $1MFjU.sleep)(timeout / 1000).then(()=>{\n controller.abort();\n throw new RangeError(\"Timed out\");\n });\n headers = headers instanceof Headers ? Object.fromEntries(headers.entries()) : headers instanceof Array ? Object.fromEntries(headers) : headers;\n headers = responseType === \"text\" ? {\n ...headers,\n Accept: \"text/plain\"\n } : responseType === \"json\" ? {\n ...headers,\n Accept: \"application/json\"\n } : responseType === \"document\" ? {\n ...headers,\n Accept: \"text/html, application/xhtml+xml, application/xml\"\n } : responseType === \"arraybuffer\" || responseType === \"blob\" ? {\n ...headers,\n Accept: \"application/octet-stream\"\n } : headers;\n const fetchResult = fetch(path + \"\", {\n method: method,\n headers: headers,\n credentials: withCredentials ? \"include\" : \"omit\",\n body: body,\n signal: controller?.signal\n });\n const response = await (timer ? Promise.race([\n timer,\n fetchResult\n ]) : fetchResult);\n const header = $850589403705f8ed$export$eea2c1c5e1a37e50([\n ...response.headers\n ].map(([key, value])=>`${key}: ${value}`).join(\"\\n\"));\n if (response.status !== 204) try {\n var contentType = response.headers.get(\"Content-Type\") || \"\", backup = response.clone();\n var data = await (responseType === \"text\" ? response.text() : responseType === \"document\" ? $850589403705f8ed$export$b6a9369736b19f4d(await response.text(), contentType) : responseType === \"json\" ? response.json() : responseType === \"arraybuffer\" ? response.arrayBuffer() : response.blob());\n } catch {\n const text = await backup.text();\n var data = $850589403705f8ed$export$3b629cd0ff482602(text, contentType);\n }\n return {\n status: response.status,\n statusText: response.statusText,\n headers: header,\n body: data\n };\n}\nfunction $850589403705f8ed$export$b5fe3f66a567bec0(options) {\n return typeof globalThis.XMLHttpRequest === \"function\" ? $850589403705f8ed$export$4f2a8c8c11a6373a(options) : {\n response: $850589403705f8ed$export$bda27a3e49197b9(options)\n };\n}\nvar $850589403705f8ed$var$$cbd22d3323bef9ca$exports = {};\n$850589403705f8ed$var$$parcel$export($850589403705f8ed$var$$cbd22d3323bef9ca$exports, \"HTTPClient\", function() {\n return $850589403705f8ed$export$45cf759b359d3d24;\n});\nconst { splice: $850589403705f8ed$var$$cbd22d3323bef9ca$var$splice } = Array.prototype;\nclass $850589403705f8ed$export$45cf759b359d3d24 extends $850589403705f8ed$export$694e0d28c7ffc90c {\n constructor({ baseURI: baseURI = globalThis.document?.baseURI, ...options } = {}){\n super();\n this.defaultWare = async ({ request: request, response: response }, next)=>{\n const { method: method = \"GET\", headers: headers = {}, body: body } = request;\n if (method in $850589403705f8ed$export$4125cfe7e08e2040 && body && typeof body === \"object\") {\n const { contentType: contentType, data: data } = $850589403705f8ed$export$dfdc1655ccc5b9cb(body, headers[\"Content-Type\"]);\n if (contentType) headers[\"Content-Type\"] = contentType;\n request.body = data;\n }\n await next();\n if (response.status > 299) throw new $850589403705f8ed$export$aa9d629c530f62a7(response.statusText, response);\n };\n this.baseURI = baseURI, this.options = options;\n super.use(this.defaultWare);\n super.use(async ({ request: data, response: response })=>{\n data.path = new URL(data.path + \"\", this.baseURI) + \"\";\n Object.assign(response, await $850589403705f8ed$export$b5fe3f66a567bec0({\n ...options,\n ...data\n }).response);\n });\n }\n use(...middlewares) {\n $850589403705f8ed$var$$cbd22d3323bef9ca$var$splice.call(this, -2, 0, ...middlewares);\n return this;\n }\n async request(data) {\n const context = {\n request: {\n ...data,\n headers: {\n ...data.headers\n }\n },\n response: {}\n };\n await this.execute(context);\n return context.response;\n }\n async head(path, headers) {\n const { headers: data } = await this.request({\n method: \"HEAD\",\n path: path,\n headers: headers\n });\n return data;\n }\n get(path, headers) {\n return this.request({\n method: \"GET\",\n path: path,\n headers: headers\n });\n }\n post(path, body, headers) {\n return this.request({\n method: \"POST\",\n path: path,\n headers: headers,\n body: body\n });\n }\n put(path, body, headers) {\n return this.request({\n method: \"PUT\",\n path: path,\n headers: headers,\n body: body\n });\n }\n patch(path, body, headers) {\n return this.request({\n method: \"PATCH\",\n path: path,\n headers: headers,\n body: body\n });\n }\n delete(path, body, headers) {\n return this.request({\n method: \"DELETE\",\n path: path,\n headers: headers,\n body: body\n });\n }\n}\n\n\nconst $1a63fc32ef3e2cb5$export$388e0302ca0d9a41 = new (0, $850589403705f8ed$export$45cf759b359d3d24)({\n baseURI: window.location.hostname === \"localhost\" ? \"http://localhost:3000\" : \"https://web-conf.leanapp.cn\",\n responseType: \"json\",\n withCredentials: true\n});\n\n\nvar $d343897ab541fa10$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d343897ab541fa10$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d343897ab541fa10$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $d343897ab541fa10$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d343897ab541fa10$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $d343897ab541fa10$export$1fb4852a55678982 = (()=>{\n var _a, _Session_user_accessor_storage;\n let _instanceExtraInitializers = [];\n let _user_decorators;\n let _user_initializers = [];\n return _a = class Session {\n constructor(){\n _Session_user_accessor_storage.set(this, ($d343897ab541fa10$var$__runInitializers(this, _instanceExtraInitializers), $d343897ab541fa10$var$__runInitializers(this, _user_initializers, void 0)));\n }\n get user() {\n return $d343897ab541fa10$var$__classPrivateFieldGet(this, _Session_user_accessor_storage, \"f\");\n }\n set user(value) {\n $d343897ab541fa10$var$__classPrivateFieldSet(this, _Session_user_accessor_storage, value, \"f\");\n }\n getProfile() {\n return $d343897ab541fa10$var$__awaiter(this, void 0, void 0, function*() {\n try {\n const { body: body } = yield (0, $1a63fc32ef3e2cb5$export$388e0302ca0d9a41).get(\"/session/\");\n return this.user = body;\n } catch (error) {\n if (error.status !== 401) throw error;\n }\n });\n }\n sendSMSCode(phone) {\n return (0, $1a63fc32ef3e2cb5$export$388e0302ca0d9a41).post(\"/session/smsCode\", {\n phone: phone\n });\n }\n signIn(phone, code) {\n return $d343897ab541fa10$var$__awaiter(this, void 0, void 0, function*() {\n const { body: body } = yield (0, $1a63fc32ef3e2cb5$export$388e0302ca0d9a41).post(\"/session/\", {\n phone: phone,\n code: code\n });\n return this.user = body;\n });\n }\n }, _Session_user_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _user_decorators = [\n (0, $dDNcL.observable)\n ];\n $d343897ab541fa10$var$__esDecorate(_a, null, _user_decorators, {\n kind: \"accessor\",\n name: \"user\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"user\" in obj,\n get: (obj)=>obj.user,\n set: (obj, value)=>{\n obj.user = value;\n }\n },\n metadata: _metadata\n }, _user_initializers, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\n\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\nvar $5d0dc29d17dc3e9b$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $5d0dc29d17dc3e9b$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $5d0dc29d17dc3e9b$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $5d0dc29d17dc3e9b$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $5d0dc29d17dc3e9b$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $5d0dc29d17dc3e9b$export$b6d0d5b88bcbde99 = (()=>{\n var _a, _ActivityModel_loading_accessor_storage, _ActivityModel_list_accessor_storage;\n let _instanceExtraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _list_decorators;\n let _list_initializers = [];\n return _a = class ActivityModel {\n constructor(){\n _ActivityModel_loading_accessor_storage.set(this, ($5d0dc29d17dc3e9b$var$__runInitializers(this, _instanceExtraInitializers), $5d0dc29d17dc3e9b$var$__runInitializers(this, _loading_initializers, false)));\n _ActivityModel_list_accessor_storage.set(this, $5d0dc29d17dc3e9b$var$__runInitializers(this, _list_initializers, []));\n }\n get loading() {\n return $5d0dc29d17dc3e9b$var$__classPrivateFieldGet(this, _ActivityModel_loading_accessor_storage, \"f\");\n }\n set loading(value) {\n $5d0dc29d17dc3e9b$var$__classPrivateFieldSet(this, _ActivityModel_loading_accessor_storage, value, \"f\");\n }\n get list() {\n return $5d0dc29d17dc3e9b$var$__classPrivateFieldGet(this, _ActivityModel_list_accessor_storage, \"f\");\n }\n set list(value) {\n $5d0dc29d17dc3e9b$var$__classPrivateFieldSet(this, _ActivityModel_list_accessor_storage, value, \"f\");\n }\n getDayList(date) {\n return $5d0dc29d17dc3e9b$var$__awaiter(this, void 0, void 0, function*() {\n this.loading = true;\n const { body: body } = yield (0, $1a63fc32ef3e2cb5$export$388e0302ca0d9a41).get(`activity?${(0, $1MFjU.buildURLData)({\n from: (0, $1MFjU.formatDate)(date, \"YYYY-MM-DD\"),\n to: (0, $1MFjU.formatDate)(new Date(+date + (0, $1MFjU.Day)), \"YYYY-MM-DD\"),\n rows: 1000\n })}`);\n this.loading = false;\n return this.list = body;\n });\n }\n }, _ActivityModel_loading_accessor_storage = new WeakMap(), _ActivityModel_list_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _loading_decorators = [\n (0, $dDNcL.observable)\n ];\n _list_decorators = [\n (0, $dDNcL.observable)\n ];\n $5d0dc29d17dc3e9b$var$__esDecorate(_a, null, _loading_decorators, {\n kind: \"accessor\",\n name: \"loading\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"loading\" in obj,\n get: (obj)=>obj.loading,\n set: (obj, value)=>{\n obj.loading = value;\n }\n },\n metadata: _metadata\n }, _loading_initializers, _instanceExtraInitializers);\n $5d0dc29d17dc3e9b$var$__esDecorate(_a, null, _list_decorators, {\n kind: \"accessor\",\n name: \"list\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"list\" in obj,\n get: (obj)=>obj.list,\n set: (obj, value)=>{\n obj.list = value;\n }\n },\n metadata: _metadata\n }, _list_initializers, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\n\n\nconst $e99f51b37211aa02$export$55427e926be628d4 = new (0, $d343897ab541fa10$export$1fb4852a55678982)();\nconst $e99f51b37211aa02$export$6d4456894f9d6c4 = new (0, $5d0dc29d17dc3e9b$export$b6d0d5b88bcbde99)();\n\n\nvar $d53da11331b77c2b$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d53da11331b77c2b$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d53da11331b77c2b$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d53da11331b77c2b$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d53da11331b77c2b$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $d53da11331b77c2b$export$a476b4f7d4df5522 = (()=>{\n var _SessionBox_countDown_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"session-box\",\n mode: \"open\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _countDown_decorators;\n let _countDown_initializers = [];\n var SessionBox = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _SessionBox_countDown_accessor_storage.set(this, ($d53da11331b77c2b$var$__runInitializers(this, _instanceExtraInitializers), $d53da11331b77c2b$var$__runInitializers(this, _countDown_initializers, 0)));\n Object.defineProperty(this, \"handleSMSCode\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n this.countDown = 60;\n const timer = setInterval(()=>--this.countDown || clearInterval(timer), 1000), { elements: elements } = this.firstElementChild;\n return (0, $e99f51b37211aa02$export$55427e926be628d4).sendSMSCode(elements.namedItem(\"phone\").value);\n }\n });\n Object.defineProperty(this, \"handleSignIn\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (event)=>{\n event.preventDefault();\n const form = new FormData(event.target);\n return (0, $e99f51b37211aa02$export$55427e926be628d4).signIn(form.get(\"phone\"), form.get(\"code\"));\n }\n });\n }\n get countDown() {\n return $d53da11331b77c2b$var$__classPrivateFieldGet(this, _SessionBox_countDown_accessor_storage, \"f\");\n }\n set countDown(value) {\n $d53da11331b77c2b$var$__classPrivateFieldSet(this, _SessionBox_countDown_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n (0, $e99f51b37211aa02$export$55427e926be628d4).getProfile();\n }\n renderForm() {\n const { countDown: countDown } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"form\", {\n // @ts-ignore\n className: \"m-3 p-3 border rounded\",\n onSubmit: this.handleSignIn,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-3\",\n children: \"\\u53C2\\u4F1A\\u8005\\u767B\\u5F55\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$6e5a9cd40e0c9b97), {\n size: \"lg\",\n className: \"mb-3\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$fe5d99d8691b3f62), {\n type: \"tel\",\n name: \"phone\",\n maxLength: 11,\n required: true,\n placeholder: \"\\u624B\\u673A\\u53F7\"\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$6e5a9cd40e0c9b97), {\n size: \"lg\",\n className: \"mb-3\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$fe5d99d8691b3f62), {\n name: \"code\",\n required: true,\n placeholder: \"\\u77ED\\u4FE1\\u9A8C\\u8BC1\\u7801\",\n autocomplete: \"off\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n variant: \"outline-secondary\",\n // @ts-ignore\n onClick: this.handleSMSCode,\n disabled: !!countDown,\n children: countDown ? countDown + \"s\" : \"\\u83B7\\u53D6\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n type: \"submit\",\n variant: \"primary\",\n className: \"d-block w-100\",\n size: \"lg\",\n children: \"\\u767B\\u5F55\"\n })\n ]\n });\n }\n render() {\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n (0, $e99f51b37211aa02$export$55427e926be628d4).user ? (0, $6aabcc7ac344e71d$exports.jsx)(\"slot\", {}) : this.renderForm()\n ]\n });\n }\n };\n _SessionBox_countDown_accessor_storage = new WeakMap();\n $d53da11331b77c2b$var$__setFunctionName(_classThis, \"SessionBox\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _countDown_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n $d53da11331b77c2b$var$__esDecorate(_classThis, null, _countDown_decorators, {\n kind: \"accessor\",\n name: \"countDown\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"countDown\" in obj,\n get: (obj)=>obj.countDown,\n set: (obj, value)=>{\n obj.countDown = value;\n }\n },\n metadata: _metadata\n }, _countDown_initializers, _instanceExtraInitializers);\n $d53da11331b77c2b$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n SessionBox = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d53da11331b77c2b$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return SessionBox = _classThis;\n})();\n\n\n\n\n\n\nconst $e8c9a5fd7d94d11d$export$ee1db8826c4c2102 = (props)=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", Object.assign({}, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $4b24793a4b0f2663$export$febf71ca481883cc), {\n menu: (0, $c93b901e7adf7ade$export$ff0e4e8ad1be5d30)\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"header\", {\n className: \"d-flex flex-column justify-content-center align-items-center\",\n style: {\n height: \"80vh\"\n },\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$3e431a229df88919), {\n fluid: true,\n style: {\n maxWidth: \"20rem\"\n },\n src: (0, $affdfcc70845640a$export$e5c5c7a5558278fe)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h1\", {\n className: \"display-4 mt-3\",\n children: \"\\u6210\\u90FD\\u793E\\u533A\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"main\", {\n className: \"container\",\n children: (0, $c93b901e7adf7ade$export$606190e461fe9031).map((item, index)=>(0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $fcaea377ff8063f9$export$6e91cf7616333d5), Object.assign({\n reverse: !!(index % 2)\n }, item)),\n index + 1 < (0, $c93b901e7adf7ade$export$606190e461fe9031).length && (0, $6aabcc7ac344e71d$exports.jsx)(\"hr\", {\n className: \"my-5\"\n })\n ]\n }))\n })\n ]\n }));\n\n\n\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\n\n\n\n\nvar $d13f2f2623a064f2$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d13f2f2623a064f2$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d13f2f2623a064f2$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d13f2f2623a064f2$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d13f2f2623a064f2$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $d13f2f2623a064f2$export$e89e5028cb715ed2 = (()=>{\n var _ActivityPage_date_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"activity-page\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _date_decorators;\n let _date_initializers = [];\n let _handleDate_decorators;\n var ActivityPage = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _ActivityPage_date_accessor_storage.set(this, ($d13f2f2623a064f2$var$__runInitializers(this, _instanceExtraInitializers), $d13f2f2623a064f2$var$__runInitializers(this, _date_initializers, new Date())));\n }\n get date() {\n return $d13f2f2623a064f2$var$__classPrivateFieldGet(this, _ActivityPage_date_accessor_storage, \"f\");\n }\n set date(value) {\n $d13f2f2623a064f2$var$__classPrivateFieldSet(this, _ActivityPage_date_accessor_storage, value, \"f\");\n }\n handleDate(date) {\n (0, $e99f51b37211aa02$export$6d4456894f9d6c4).getDayList(date);\n }\n renderCards(list) {\n return list.map(({ banner: banner, link: link, title: title, start: start, end: end, address: address })=>(0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$60332b2344f7fe41), {\n className: `${$59d62fc290a5d66b$export$aa3e815946b80764} shadow mb-4`,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$96c5f37208f78bd7), {\n src: banner\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$851de33184ecdac4), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$474db65c3c394e1c), {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n className: \"stretched-link\",\n target: \"_blank\",\n href: link,\n children: title\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"ul\", {\n className: \"list-unstyled\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"li\", {\n children: [\n \"\\u5F00\\u59CB\\uFF1A\",\n (0, $1MFjU.formatDate)(start)\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"li\", {\n children: [\n \"\\u7ED3\\u675F\\uFF1A\",\n (0, $1MFjU.formatDate)(end)\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"li\", {\n children: [\n \"\\u5730\\u70B9\\uFF1A\",\n address\n ]\n })\n ]\n })\n ]\n })\n ]\n }));\n }\n render() {\n const { date: date } = this, { loading: loading, list: list } = (0, $e99f51b37211aa02$export$6d4456894f9d6c4);\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $4b24793a4b0f2663$export$febf71ca481883cc), {\n menu: (0, $c93b901e7adf7ade$export$ff0e4e8ad1be5d30)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h1\", {\n className: \"text-center my-5\",\n children: \"\\u5168\\u56FD IT \\u6D3B\\u52A8\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$d7a7c85c0f5afc4a), {\n className: \"d-block container\",\n // @ts-ignore\n onChange: ({ detail: detail })=>this.date = detail\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$d4c790f923031725), {\n className: \"container d-flex mx-auto flex-wrap justify-content-center\",\n cover: loading,\n children: list[0] ? this.renderCards(list) : `${(0, $1MFjU.formatDate)(date, \"YYYY \\u5E74 M \\u6708 D \\u65E5\")}\\u{6CA1}\\u{6709}\\u{6D3B}\\u{52A8}`\n })\n ]\n });\n }\n };\n _ActivityPage_date_accessor_storage = new WeakMap();\n $d13f2f2623a064f2$var$__setFunctionName(_classThis, \"ActivityPage\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _date_decorators = [\n (0, $3268d95a94a11a3f$export$af4b9a83f4b00434),\n (0, $dDNcL.observable)\n ];\n _handleDate_decorators = [\n (0, $3268d95a94a11a3f$export$7203b476385689ae)(({ date: date })=>date)\n ];\n $d13f2f2623a064f2$var$__esDecorate(_classThis, null, _date_decorators, {\n kind: \"accessor\",\n name: \"date\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"date\" in obj,\n get: (obj)=>obj.date,\n set: (obj, value)=>{\n obj.date = value;\n }\n },\n metadata: _metadata\n }, _date_initializers, _instanceExtraInitializers);\n $d13f2f2623a064f2$var$__esDecorate(_classThis, null, _handleDate_decorators, {\n kind: \"method\",\n name: \"handleDate\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleDate\" in obj,\n get: (obj)=>obj.handleDate\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d13f2f2623a064f2$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n ActivityPage = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d13f2f2623a064f2$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return ActivityPage = _classThis;\n})();\n\n\n\n\n\nconst $0508e1ac2ec922cb$export$d43206f0b9719a5e = ({ title: title, childrens: childrens })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"mt-5 mb-4\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: title\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"ul\", {\n className: \"list-inline\",\n children: childrens.map(({ url: url, img: img })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n className: \"list-inline-item m-2\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n className: \"d-inline-flex justify-content-center align-items-center shadow\",\n href: url,\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"mw-100 mh-100\",\n src: img\n })\n })\n }, img))\n })\n ]\n });\n\n\nvar $1f3386aba18108ab$export$adb608be33961c98;\nvar $1f3386aba18108ab$export$ebbbf54bd737ba84;\nvar $1f3386aba18108ab$export$db3c28d99448dcff;\nvar $1f3386aba18108ab$export$ad200f2ca1a7d990;\nvar $1f3386aba18108ab$export$5f3279733515fed0;\nvar $1f3386aba18108ab$export$2c1ba11b773a18f4;\n$1f3386aba18108ab$export$adb608be33961c98 = `hQtIPa_footer`;\n$1f3386aba18108ab$export$ebbbf54bd737ba84 = `hQtIPa_introduce`;\n$1f3386aba18108ab$export$db3c28d99448dcff = `hQtIPa_logo`;\n$1f3386aba18108ab$export$ad200f2ca1a7d990 = `hQtIPa_logos`;\n$1f3386aba18108ab$export$5f3279733515fed0 = `hQtIPa_qrcode`;\n$1f3386aba18108ab$export$2c1ba11b773a18f4 = `hQtIPa_web-content`;\n\n\n\nvar $f8717a9a2d542da5$exports = {};\n$f8717a9a2d542da5$exports = new URL(\"3W.343e9c06.png\", import.meta.url).toString();\n\n\nvar $863cb8015367ae2a$exports = {};\n$863cb8015367ae2a$exports = new URL(\"BBD.ed89ee43.png\", import.meta.url).toString();\n\n\nvar $65f4d23620a10a11$exports = {};\n$65f4d23620a10a11$exports = new URL(\"BW.0f2c33fb.png\", import.meta.url).toString();\n\n\nvar $7ffbc875f7ac1285$exports = {};\n$7ffbc875f7ac1285$exports = new URL(\"DevEco.5b51c8ac.jpg\", import.meta.url).toString();\n\n\nvar $8f031a4a1b50f8f1$exports = {};\n$8f031a4a1b50f8f1$exports = new URL(\"DKS.1c567b7f.png\", import.meta.url).toString();\n\n\nvar $e7d6b8eb2ce23144$exports = {};\n$e7d6b8eb2ce23144$exports = new URL(\"FCC-CDG.bf36daee.png\", import.meta.url).toString();\n\n\nvar $51a2966f480b352a$exports = {};\n$51a2966f480b352a$exports = new URL(\"GDG.ca994c53.png\", import.meta.url).toString();\n\n\nvar $10a01317cf4fa804$exports = {};\n$10a01317cf4fa804$exports = new URL(\"GT.27a90685.png\", import.meta.url).toString();\n\n\nvar $662e987c20c03472$exports = {};\n$662e987c20c03472$exports = new URL(\"HCXY.6f490d1a.png\", import.meta.url).toString();\n\n\nvar $725c88a6c5a36c83$exports = {};\n$725c88a6c5a36c83$exports = new URL(\"MZ.d0765924.png\", import.meta.url).toString();\n\n\nvar $b16c94038b33fa6b$exports = {};\n$b16c94038b33fa6b$exports = new URL(\"OS.58b63fb9.png\", import.meta.url).toString();\n\n\nvar $5409bf8ade3d0e24$exports = {};\n$5409bf8ade3d0e24$exports = new URL(\"QE.be8c3b0d.png\", import.meta.url).toString();\n\n\nvar $f4f13022ec847d73$exports = {};\n$f4f13022ec847d73$exports = new URL(\"QRGJ.14ffed50.png\", import.meta.url).toString();\n\n\nvar $5871ebc6ae2ade31$exports = {};\n$5871ebc6ae2ade31$exports = new URL(\"SF.c6f8e6e7.png\", import.meta.url).toString();\n\n\nvar $e24a2fee3e566a5a$exports = {};\n$e24a2fee3e566a5a$exports = new URL(\"SYL.da34d90b.png\", import.meta.url).toString();\n\n\nvar $faa12d9fc0be5c52$exports = {};\n$faa12d9fc0be5c52$exports = new URL(\"TH.1178f233.png\", import.meta.url).toString();\n\n\nvar $2754c09000df801e$exports = {};\n$2754c09000df801e$exports = new URL(\"TW.0498d9bc.png\", import.meta.url).toString();\n\n\nvar $2229b8297405c002$exports = {};\n$2229b8297405c002$exports = new URL(\"WORK.90e8ce09.png\", import.meta.url).toString();\n\n\nvar $eab0faf94ef10148$exports = {};\n$eab0faf94ef10148$exports = new URL(\"ZDK.fb7a5ccd.png\", import.meta.url).toString();\n\n\nconst $c27d65df7592ab6e$export$bb383df5b32c05b7 = \"https://b-gold-cdn.xitu.io/v3/static/img/logo.a7995ad.svg\";\nconst $c27d65df7592ab6e$export$7f92890d073cca8c = \"https://static.oschina.net/new-osc/img/logo_osc_new.svg\";\n\n\nconst $69120e65ab6e4019$export$fb184b623420d9be = \"2017 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\";\nconst $69120e65ab6e4019$export$c7c935ac50db7b6f = [\n {\n name: \"\\u53F6\\u5C0F\\u9497\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[0],\n content: \"\\u53F6\\u5C0F\\u9497\\u5609\\u5BBE\\u5F00\\u573A\\u6F14\\u8BB2\",\n description: \"\\u539F\\u533B\\u8054\\u7814\\u53D1\\u526F\\u603B\\u76D1\\uFF0C\\u73B0\\u4E3A\\u4F01\\u9E45\\u533B\\u751F\\u6280\\u672F\\u603B\\u76D1\\uFF0C\\u7814\\u53D1\\u8D1F\\u8D23\\u4EBA\\u3002\\u5148\\u540E\\u4EFB\\u804C\\u4E8E\\u643A\\u7A0B\\u767E\\u5EA6\\u7B49\\u516C\\u53F8\\uFF0C\\u64C5\\u957F\\u524D\\u7AEF\\u5F00\\u53D1\\uFF0C\\u6DF7\\u5408\\u5F00\\u53D1\\uFF0C\\u5BF9\\u5927\\u578B\\u524D\\u7AEF\\u9879\\u76EE\\u5F00\\u53D1\\u6709\\u4E00\\u4E9B\\u8BA4\\u8BC6\\uFF0C\\u5E73\\u65F6\\u559C\\u6B22\\u9739\\u96F3\\u5E03\\u888B\\u620F\\u3002\"\n },\n {\n name: \"\\u9648\\u6D0B\\u5F6C\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[7],\n content: \"\\u4E00\\u4E2A Node \\u6A21\\u5757\\u7684\\u81EA\\u6211\\u4FEE\\u517B\",\n description: \"\\u9EA6\\u9EA6\\u517B\\u8001\\u8F6F\\u4EF6\\u7814\\u53D1\\u8D1F\\u8D23\\u4EBA\\uFF0C\\u6301\\u7EED\\u521B\\u4E1A\\u8005\\u3002\\u5728\\u7814\\u53D1\\u56E2\\u961F\\u642D\\u5EFA\\u3001\\u7BA1\\u7406\\u4E0E\\u6280\\u672F\\u4F53\\u7CFB\\u6E10\\u8FDB\\u589E\\u5F3A\\u65B9\\u9762\\u6709\\u4E00\\u5B9A\\u5FC3\\u5F97\\u3002\\u591A\\u5E74 Web \\u524D\\u7AEF\\u3001\\u670D\\u52A1\\u7AEF\\u7814\\u53D1\\u53CA\\u67B6\\u6784\\u8BBE\\u8BA1\\u7ECF\\u9A8C\\uFF0C\\u5173\\u6CE8\\u6280\\u672F\\u7684\\u539F\\u7406\\u4E0E\\u878D\\u4F1A\\u8D2F\\u901A\\uFF0C\\u4E3B\\u5F20\\u7F16\\u7801\\u4E0E\\u5DE5\\u7A0B\\u7684\\u4E13\\u4E1A\\u3001\\u89C4\\u8303\\u3001\\u6781\\u7B80\\u3002\"\n },\n {\n name: \"\\u6C34\\u6B4C\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[4],\n content: \"\\u8F7B\\u91CF\\u7EA7 Web MVVM \\u5F15\\u64CE\\u7684\\u5B9E\\u73B0\",\n description: \"\\u4E1C\\u65B9\\u5929\\u5448 Web \\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\\uFF0CJavaScript \\u5168\\u6808\\u5F00\\u53D1\\u8005\\u3001\\u5F00\\u6E90\\u8F6F\\u4EF6\\u4F5C\\u8005\\u3001freeCodeCamp \\u4E2D\\u6587\\u793E\\u533A\\u6280\\u672F\\u5E03\\u9053\\u5E08\\u3001\\u56DB\\u5DDD\\u5927\\u5B66\\u98DE\\u626C\\u4FF1\\u4E50\\u90E8\\xb7\\u7814\\u53D1\\u90E8 \\u521B\\u59CB\\u56E2\\u961F\\u6210\\u5458\\u3001jQuery\\u8D21\\u732E\\u8005\\u3002\"\n },\n {\n name: \"\\u5ED6\\u4F1F\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[2],\n content: \"HTML 5 \\u8DE8\\u5E73\\u53F0\\u89E3\\u51B3\\u65B9\\u6848\\u5B9E\\u8DF5\",\n description: \"\\u4E50\\u8F66\\u90A6\\u524D\\u7AEF\\u5F00\\u53D1\\u8D1F\\u8D23\\u4EBA\\u3002\\u66FE\\u5C31\\u804C\\u4E8E\\u643A\\u7A0B\\u79FB\\u52A8\\u7AEF\\u6846\\u67B6\\u6280\\u672F\\u90E8\\uFF0C\\u8D1F\\u8D23\\u6784\\u5EFA\\u4EE3\\u7801\\u7684\\u6253\\u5305\\u5E73\\u53F0\\uFF0C\\u7EF4\\u62A4\\u5171\\u7528\\u7EC4\\u4EF6\\uFF0C\\u76EE\\u524D\\u5728\\u4E50\\u8F66\\u90A6\\u4E3B\\u8981\\u8D1F\\u8D23\\u6574\\u4E2A\\u524D\\u7AEF\\uFF08\\u6D4F\\u89C8\\u5668\\uFF0C\\u5FAE\\u4FE1\\uFF0C\\u5C0F\\u7A0B\\u5E8F\\uFF0Capp\\uFF09\\uFF0C\\u81F4\\u529B\\u4E8E\\u89E3\\u51B3\\u4E00\\u5957\\u4EE3\\u7801\\u591A\\u7AEF\\u8FD0\\u884C\\u7684\\u65B9\\u6848\\uFF0C\\u4E3B\\u8981\\u64C5\\u957F SPA \\u5E94\\u7528\\u7684\\u5F00\\u53D1\\uFF0C\\u5177\\u6709\\u4E30\\u5BCC\\u7684SPA\\u5F00\\u53D1\\u7ECF\\u9A8C\\u3002\"\n },\n {\n name: \"\\u80E1\\u654F\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[5],\n content: \"Vue \\u5F00\\u53D1\\u90A3\\u4E9B\\u4E8B\",\n description: \"\\u65B0\\u86CB\\u9AD8\\u7EA7\\u8F6F\\u4EF6\\u5DE5\\u7A0B\\u5E08\\u3002\\u76EE\\u524D\\u4E3B\\u8981\\u8D1F\\u8D23 Web \\u6A21\\u5757\\u5316\\u5F00\\u53D1\\u5E73\\u53F0\\u5EFA\\u8BBE\\u4E0E\\u5F00\\u53D1\\u5DE5\\u4F5C\\uFF0C\\u64C5\\u957F\\u529F\\u80FD\\u8BBE\\u8BA1\\u4E0E\\u5B9E\\u73B0\\u3002\\u5BF9\\u524D\\u540E\\u7AEF\\u5F00\\u53D1\\u6709\\u8F83\\u591A\\u5B9E\\u8DF5\\u7ECF\\u9A8C\\u3002\"\n },\n {\n name: \"\\u8463\\u6D9B\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[6],\n content: \"\\u5927\\u6570\\u636E\\u53EF\\u89C6\\u5316\\u4E4B\\u7F8E\",\n description: \"5\\u5E74\\u524D\\u7AEF\\u7ECF\\u9A8C\\uFF0C\\u70ED\\u7231\\u94BB\\u7814\\u5404\\u79CD\\u6280\\u672F\\uFF0C\\u559C\\u6B22\\u5199\\u4EE3\\u7801\\uFF0C\\u5DE5\\u4F5C\\u4E4B\\u4F59\\u8457\\u6709 MTUI\\u3001H5DS \\u4E24\\u4E2A\\u5F00\\u6E90\\u9879\\u76EE\\u3002\\u73B0 BBD \\u524D\\u7AEF\\u90E8\\u90E8\\u95E8\\u7ECF\\u7406\\uFF0C\\u5BF9 Web \\u4EA4\\u4E92\\uFF0C\\u4EE5\\u53CA\\u6570\\u636E\\u53EF\\u89C6\\u5316\\u6709\\u4E30\\u5BCC\\u7ECF\\u9A8C\\u3002\"\n },\n {\n name: \"\\u5362\\u6797\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[3],\n content: \"React \\u7EC4\\u4EF6\\u5316\\u901A\\u7528\\u6A21\\u5F0F\",\n description: \"\\u56FD\\u53CC\\u79D1\\u6280\\u9AD8\\u7EA7\\u8F6F\\u4EF6\\u5DE5\\u7A0B\\u5E08\\uFF0C\\u66FE\\u4F9B\\u804C\\u4E8E\\u5947\\u864E 360 \\u5947\\u821E\\u56E2\\u3001\\u9EA6\\u5BA2 CRM\\u3002\\u76EE\\u524D\\u4E13\\u6CE8\\u4E8E\\u7AEF\\u6280\\u672F\\u4F53\\u7CFB\\uFF0C\\u559C\\u6B22\\u601D\\u8003\\u8F6F\\u4EF6\\u5F00\\u53D1\\u7684\\u901A\\u7528\\u6A21\\u5F0F\\u3002\"\n },\n {\n name: \"\\u4F59\\u6CFD\\u6C5F\",\n avatar: (0, $c10c52d356388587$export$2e2bcd8739ae039)[1],\n content: \"Angular\\uFF1A\\u6323\\u8131\\u8212\\u9002\\u533A\\u7684\\u67B7\\u9501\",\n description: \"ThoughtWorks \\u54A8\\u8BE2\\u5E08\\uFF0C\\u6709\\u7740\\u4E30\\u5BCC\\u7684\\u524D\\u540E\\u7AEF\\u9879\\u76EE\\u5F00\\u53D1\\u7ECF\\u9A8C\\uFF0C\\u76EE\\u524D\\u4E13\\u6CE8\\u4E8E\\u524D\\u7AEF\\u9886\\u57DF\\u7684\\u6280\\u672F\\u5B9E\\u8DF5\\u3002Angular \\u9879\\u76EE\\u6D3B\\u8DC3\\u7684 Community Contributor\\uFF0C\\u5E7F\\u6CDB\\u6D89\\u730E\\u4E8E\\u56FD\\u5185\\u7684 Angular \\u6280\\u672F\\u5E03\\u9053\\u5DE5\\u4F5C\\u3002\"\n }\n];\nconst $69120e65ab6e4019$export$ede378ff9e58f952 = [\n {\n time: \"09\\uFF1A00\",\n content: \"\\u7B7E\\u5230,\\u65E9\\u9E1F\\u6709\\u793C\\u54C1\",\n description: \"\\u626B\\u7801\\u7B7E\\u5230\"\n },\n {\n time: \"09\\uFF1A30\",\n content: \"\\u4E3B\\u529E\\u65B9\\u81F4\\u8F9E\\u3001\\u6D3B\\u52A8\\u5F00\\u573A\",\n description: \"\\u4E3A\\u4E86\\u66F4\\u597D\\u7684\\u6D3B\\u52A8\\u53C2\\u4E0E\\u4F53\\u9A8C\\uFF0C\\u5C06\\u624B\\u673A\\u8C03\\u5236\\u9759\\u97F3\\uFF0C\\u65B9\\u4FBF\\u4F60\\u6211\\u4ED6\\u2026\\u2026\"\n },\n {\n time: \"09\\uFF1A50\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[0],\n content: \"\\u53F6\\u5C0F\\u9497\\u5609\\u5BBE\\u5F00\\u573A\\u6F14\\u8BB2\",\n description: \"\\u5185\\u5BB9\\u6682\\u65F6\\u4FDD\\u5BC6~\"\n },\n {\n time: \"10\\uFF1A20\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[1],\n content: \"\\u4E00\\u4E2A Node \\u6A21\\u5757\\u7684\\u81EA\\u6211\\u4FEE\\u517B\",\n description: \"\\u4F5C\\u4E3A\\u4E00\\u4E2A\\u201C\\u5168\\u5E72\\u201D\\u5DE5\\u7A0B\\u5E08\\uFF0C\\u4E0E\\u4F60\\u671D\\u5915\\u76F8\\u5904\\u7684 Node \\u6A21\\u5757\\uFF0C\\u8BF4\\u7B80\\u5355\\u53EF\\u4EE5\\u7B80\\u5355\\u5230\\u4E00\\u4E2A index.js \\u548C\\u4E00\\u4E2A package.json\\uFF0C\\u8BF4\\u590D\\u6742\\u4E5F\\u53EF\\u4EE5\\u590D\\u6742\\u5230\\u5FC5\\u987B\\u5F15\\u5165\\u5DE5\\u7A0B\\u5316\\u7684\\u7406\\u5FF5\\u6765\\u7BA1\\u7406\\u3002\\u672C\\u5206\\u4EAB\\u6765\\u4E00\\u8D77\\u63A2\\u8BA8\\u4E0B\\u4E00\\u4E2A\\u5F00\\u6E90 Node \\u6A21\\u5757\\uFF0C\\u6240\\u5E94\\u8BE5\\u8003\\u8651\\u7684\\u76EE\\u5F55\\u7ED3\\u6784\\u3001\\u4EE3\\u7801\\u68C0\\u67E5\\u3001\\u5355\\u5143\\u6D4B\\u8BD5\\u3001\\u57FA\\u51C6\\u6D4B\\u8BD5\\u3001\\u6301\\u7EED\\u96C6\\u6210\\u3001\\u81EA\\u52A8\\u6784\\u5EFA\\u3001\\u7248\\u672C\\u53D1\\u5E03\\u3001\\u53D8\\u66F4\\u8BB0\\u5F55\\u7B49\\u7B49\\u8FD9\\u4E9B\\u9700\\u6C42\\uFF0C\\u5982\\u4F55\\u9AD8\\u6548\\u3001\\u89C4\\u8303\\u7684\\u53BB\\u5B9E\\u73B0\"\n },\n {\n time: \"11\\uFF1A10\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[2],\n content: \"\\u8F7B\\u91CF\\u7EA7 Web MVVM \\u5F15\\u64CE\\u7684\\u5B9E\\u73B0\",\n description: \"\\u53EA\\u4F9D\\u8D56 HTML 5\\u3001JS (ES 5) \\u7684\\u7EAF\\u5F02\\u6B65\\u52A0\\u8F7D\\u3001\\u58F0\\u660E\\u5F0F\\u7684 MVVM \\u5F15\\u64CE\\uFF0C\\u5B83\\u7684\\u7B80\\u6D01\\u7528\\u6CD5\\u4E0E\\u5185\\u90E8\\u5B9E\\u73B0\"\n },\n {\n time: \"12\\uFF1A00\",\n content: \"\\u5348\\u9910\\u65F6\\u95F4\\uFF08\\u4E0E\\u5609\\u5BBE\\u8FD1\\u8DDD\\u79BB\\u4EA4\\u6D41\\uFF09\",\n description: \"\\u4E3A\\u4E86\\u5927\\u5BB6\\u53EF\\u4EE5\\u81EA\\u884C\\u9009\\u62E9\\u7F8E\\u98DF\\uFF0C\\u6240\\u4EE5\\u5348\\u9910\\u53EF\\u4EE5\\u5230\\u4F1A\\u573A\\u5916\\u7684\\u94F6\\u6CF0\\u57CE\\u89E3\\u51B3\\u54E6~\"\n },\n {\n time: \"13\\uFF1A00\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[3],\n content: \"HTML 5 \\u8DE8\\u5E73\\u53F0\\u89E3\\u51B3\\u65B9\\u6848\\u5B9E\\u8DF5\",\n description: \"\\u4E50\\u8F66\\u90A6\\u521B\\u4E1A\\u9636\\u6BB5\\uFF0C\\u524D\\u7AEF\\u5F00\\u53D1\\u4EBA\\u6570\\u76F8\\u5BF9\\u8F83\\u5C11\\uFF0C\\u4F46\\u662F\\u5E73\\u53F0\\u4F17\\u591A\\uFF0C\\u5E38\\u7528\\u7684\\u5982\\uFF1A\\u6D4F\\u89C8\\u5668\\u3001\\u4E50\\u8F66\\u90A6 App\\u3001\\u5FAE\\u4FE1\\u516C\\u4F17\\u53F7\\u7F51\\u9875\\u7248\\u672C\\u3001\\u5FAE\\u4FE1\\u5C0F\\u7A0B\\u5E8F\\u3002\\u8FD8\\u6709\\u4E0D\\u8BA1\\u5176\\u6570\\u7684\\u5B9A\\u5236\\u5316\\u6D41\\u91CF\\u5E73\\u53F0\\uFF0C\\u5982\\uFF1A\\u624B\\u6DD8\\u3001\\u767E\\u5EA6\\u5730\\u56FE\\u3001\\u6C7D\\u8F66\\u4E4B\\u5BB6\\u3001\\u767E\\u5EA6\\u7CEF\\u7C73\\u300158\\u5230\\u5BB6\\u3001\\u65B0\\u7F8E\\u5927\\u7B49\\u7B49\\uFF0C\\u867D\\u7136\\u6E20\\u9053\\u4F17\\u591A\\uFF0C\\u4F46\\u662F\\u4E1A\\u52A1\\u6D41\\u7A0B\\u76F8\\u5BF9\\u7EDF\\u4E00\\uFF0C\\u5982\\u4F55\\u5229\\u7528\\u4E00\\u5957 HTML 5 \\u4EE3\\u7801\\u89E3\\u51B3\\u591A\\u7EC8\\u7AEF\\u8FD0\\u884C\\u95EE\\u9898\\u6210\\u4E86\\u524D\\u7AEF\\u91CD\\u4E2D\\u4E4B\\u91CD\\u3002\"\n },\n {\n time: \"13\\uFF1A50\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[4],\n content: \"Vue \\u5F00\\u53D1\\u90A3\\u4E9B\\u4E8B\",\n description: \"\\u901A\\u8FC7\\u5BF9 Vue \\u9879\\u76EE\\u5F00\\u53D1\\u4E2D\\u9047\\u5230\\u7684\\u90E8\\u5206\\u901A\\u7528\\u95EE\\u9898\\u8FDB\\u884C\\u5206\\u89E3\\uFF0C\\u63A2\\u7D22\\u7279\\u5B9A\\u95EE\\u9898\\u6216\\u573A\\u666F\\u7684\\u89E3\\u51B3\\u65B9\\u6848\\u3002\\u4ECE\\u76EE\\u5F55\\u7ED3\\u6784\\u5212\\u5206\\u3001\\u4E1A\\u52A1\\u5C01\\u88C5\\u7B49\\u65B9\\u9762\\u6765\\u63D0\\u5347\\u9879\\u76EE\\u7684\\u53EF\\u7EF4\\u62A4\\u6027\\u3002\"\n },\n {\n time: \"14\\uFF1A40\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[5],\n content: \"\\u5927\\u6570\\u636E\\u53EF\\u89C6\\u5316\\u4E4B\\u7F8E\",\n description: \"\\u5982\\u4F55\\u8BA9\\u7E41\\u6742\\u7684\\u6570\\u636E\\u4EE5\\u6700\\u7B80\\u6700\\u76F4\\u89C2\\u7684\\u5F62\\u5F0F\\u5448\\u73B0\\u5728\\u7528\\u6237\\u7684\\u773C\\u524D\\uFF1F\\u6570\\u636E\\u53EF\\u89C6\\u5316\\u771F\\u7684\\u90A3\\u4E48\\u9AD8\\u4E0D\\u53EF\\u6500\\u5417\\uFF1F\\u4ECA\\u5929\\u5C31\\u8BA9\\u6211\\u4EEC\\u6765\\u804A\\u804A\\u5927\\u6570\\u636E\\u53EF\\u89C6\\u5316\\u7684\\u5E38\\u7528\\u6280\\u5DE7\\u548C\\u5E38\\u7528\\u7B97\\u6CD5\\u5427\\uFF01\"\n },\n {\n time: \"15\\uFF1A20\",\n content: \"\\u8336\\u6B47 & \\u5F00\\u653E\\u5F0F\\u4EA4\\u6D41\",\n description: \"BBD \\u4E3A\\u5927\\u5BB6\\u51C6\\u5907\\u4E86\\u7CBE\\u7F8E\\u7684\\u8336\\u6B47~\"\n },\n {\n time: \"15\\uFF1A50\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[6],\n content: \"React \\u7EC4\\u4EF6\\u5316\\u901A\\u7528\\u6A21\\u5F0F\",\n description: \"\\u901A\\u8FC7 React \\u9879\\u76EE\\u7684\\u5F00\\u53D1\\u8FC7\\u7A0B\\u4EE5\\u53CA\\u591A\\u4E2A\\u6846\\u67B6\\u7684\\u4F7F\\u7528\\uFF0C\\u63D0\\u53D6\\u7EC4\\u4EF6\\u5316\\u5F00\\u53D1\\u7684\\u901A\\u7528\\u601D\\u8DEF\\uFF0C\\u5BF9\\u7EC4\\u4EF6\\u5316\\u3001\\u7EC4\\u4EF6\\u5BB9\\u5668\\u5316\\u4EE5\\u53CA\\u5FAE\\u670D\\u52A1\\u524D\\u7AEF\\u5F00\\u53D1\\u65B9\\u5F0F\\u7684\\u4E00\\u70B9\\u601D\\u8003\\u3002\"\n },\n {\n time: \"16\\uFF1A40\",\n guest: $69120e65ab6e4019$export$c7c935ac50db7b6f[7],\n content: \"Angular\\uFF1A\\u6323\\u8131\\u8212\\u9002\\u533A\\u7684\\u67B7\\u9501\",\n description: \"\\u4F5C\\u4E3A\\u4E00\\u4E2A\\u5927\\u800C\\u5168\\u7684\\u5F00\\u53D1\\u5E73\\u53F0\\uFF0CAngular \\u56E2\\u961F\\u63D0\\u4F9B\\u4E86\\u5B8C\\u5584\\u7684\\u5F00\\u53D1\\u73AF\\u5883\\uFF1A\\u5404\\u7C7B\\u529F\\u80FD\\u5E93\\u3001\\u547D\\u4EE4\\u884C\\u5DE5\\u5177\\u3001IDE \\u96C6\\u6210\\u3001\\u79FB\\u52A8\\u7AEF\\u652F\\u6301\\u7B49\\u7B49\\u3002\\u7136\\u800C\\uFF0C\\u539F\\u751F\\u652F\\u6301\\u7684\\u5B8C\\u5907\\u6027\\u4E5F\\u4E3A\\u90E8\\u5206 Angular \\u5F00\\u53D1\\u8005\\u5EFA\\u7ACB\\u8D77\\u4E86\\u72ED\\u9698\\u7684\\u8212\\u9002\\u533A\\uFF0C\\u4F7F\\u5F97\\u4E00\\u4E9B\\u4EBA\\u653E\\u5F03\\u4E86\\u63A2\\u7D22\\uFF0C\\u628A\\u5B98\\u65B9\\u652F\\u6301\\u5F53\\u4F5C\\u4E86 Angular \\u7684\\u4E00\\u5207\\uFF0C\\u81EA\\u8EAB\\u6CA6\\u843D\\u5230\\u65E5\\u590D\\u4E00\\u65E5\\u8C03\\u8BD5 Component \\u548C Service \\u7684\\u642C\\u7816\\u5DE5\\u4F5C\\u4E2D\\u3002\\u5176\\u5B9E\\uFF0C\\u5728 Angular \\u5B98\\u65B9\\u8212\\u9002\\u533A\\u4E4B\\u5916\\u4ECD\\u7136\\u5B58\\u5728\\u5F88\\u5927\\u7684\\u4E16\\u754C\\u3002\\u6BD4\\u5982\\u6211\\u4EEC\\u53EF\\u4EE5\\u4F7F\\u7528 Webpack \\u4E4B\\u5916\\u7684\\u5DE5\\u5177\\u6784\\u5EFA\\u51FA\\u6BD4 jQuery \\u66F4\\u5C0F\\u7684\\u5B8C\\u6574\\u5E94\\u7528\\uFF0C\\u53EF\\u4EE5\\u52A8\\u6001\\u52A0\\u8F7D\\u4EFB\\u610F\\u8FDC\\u7A0B\\u7EC4\\u4EF6\\u800C\\u65E0\\u9700\\u7EDF\\u4E00\\u6253\\u5305\\uFF0C\\u53EF\\u4EE5\\u5728 AOT \\u7F16\\u8BD1\\u4E0B\\u5B9E\\u73B0\\u8FD0\\u884C\\u65F6\\u52A8\\u6001\\u62FC\\u63A5\\u89C6\\u56FE\\u2026\\u2026 \\u672C\\u6B21\\u5206\\u4EAB\\u5C06\\u4F1A\\u5E26\\u6765\\u8212\\u9002\\u533A\\u4E4B\\u5916\\u7684\\u65E0\\u9650\\u53EF\\u80FD\\u3002\"\n },\n {\n time: \"17\\uFF1A30\",\n content: \"\\u6D3B\\u52A8\\u7ED3\\u675F\\u3001\\u7559\\u5F71\",\n description: \"\\u7559\\u4E0B\\u7F8E\\u597D\\u7684\\u77AC\\u95F4~\"\n }\n];\nconst $69120e65ab6e4019$export$ad200f2ca1a7d990 = [\n {\n title: \"\\u4E3B\\u529E\\u5355\\u4F4D\",\n childrens: [\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($f4f13022ec847d73$exports))),\n url: \"http://www.cdht.gov.cn/cycjcyyq/50449.jhtml\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($e7d6b8eb2ce23144$exports))),\n url: \"https://fcc-cd.dev/\"\n }\n ]\n },\n {\n title: \"\\u51A0\\u540D\\u8D5E\\u52A9\",\n childrens: [\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($863cb8015367ae2a$exports))),\n url: \"https://www.bbdservice.com\"\n }\n ]\n },\n {\n title: \"\\u534F\\u529E\\u5355\\u4F4D\",\n childrens: [\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($662e987c20c03472$exports))),\n url: \"hhttp://www.hechuangxinye.com/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($f8717a9a2d542da5$exports))),\n url: \"http://www.3wcoffee.com/\"\n }\n ]\n },\n {\n title: \"\\u8D5E\\u52A9\\u5355\\u4F4D\",\n childrens: [\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($7ffbc875f7ac1285$exports))),\n url: \"http://www.deveco.io/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($65f4d23620a10a11$exports))),\n url: \"http://www.broadview.com.cn/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($10a01317cf4fa804$exports))),\n url: \"http://www.getui.com/cn/index.html\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($e24a2fee3e566a5a$exports))),\n url: \"https://www.shiyanlou.com/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($5409bf8ade3d0e24$exports))),\n url: \"https://www.doctorwork.com/\"\n }\n ]\n },\n {\n title: \"\\u5408\\u4F5C\\u793E\\u533A\",\n childrens: [\n {\n img: (0, $c27d65df7592ab6e$export$bb383df5b32c05b7),\n url: \"https://juejin.im/\"\n },\n {\n img: (0, $c27d65df7592ab6e$export$7f92890d073cca8c),\n url: \"https://www.oschina.net/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($5871ebc6ae2ade31$exports))),\n url: \"https://segmentfault.com/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($eab0faf94ef10148$exports))),\n url: \"http://www.zaoduke.net/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($725c88a6c5a36c83$exports))),\n url: \"http://www.maiziedu.com/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($51a2966f480b352a$exports))),\n url: \"https://developers.google.com/groups\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($2754c09000df801e$exports))),\n url: \"https://www.thoughtworks.com/cn/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($faa12d9fc0be5c52$exports))),\n url: \"http://www.tianhukeji.com/\"\n },\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($2229b8297405c002$exports))),\n url: \"http://workjia.cn/\"\n }\n ]\n },\n {\n title: \"\\u5408\\u4F5C\\u5A92\\u4F53\",\n childrens: [\n {\n img: (0, (/*@__PURE__*/$parcel$interopDefault($8f031a4a1b50f8f1$exports))),\n url: \"http://www.itdks.com/\"\n }\n ]\n }\n];\n\n\n\nconst $84da816ad819b25e$export$6ad6c45b3f827609 = (props)=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"main\", Object.assign({}, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"container\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"header\", {\n id: $1f3386aba18108ab$export$db3c28d99448dcff,\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"w-100\",\n src: (0, (/*@__PURE__*/$parcel$interopDefault($4c003ca00f8ec967$exports)))\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n id: $1f3386aba18108ab$export$ebbbf54bd737ba84,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"h2\", {\n className: \"mt-5 mb-4 text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: \"INTRODUCE\"\n }),\n \" \",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: \"\\u6D3B\\u52A8\\u4ECB\\u7ECD\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n style: {\n textIndent: \"2em\"\n },\n children: \"freeCodeCamp \\u6210\\u90FD\\u793E\\u533A\\u4E00\\u76F4\\u4EE5\\u4E3A\\u6210\\u90FD\\u6280\\u672F\\u7231\\u597D\\u8005\\u4EE5\\u53CA\\u7528\\u6237\\u63D0\\u4F9B\\u4E00\\u4E2A\\u5F00\\u653E\\u7684\\u4EA4\\u6D41\\u73AF\\u5883\\u4E3A\\u76EE\\u7684\\uFF0C\\u5728\\u8FC7\\u53BB\\u7684\\u4E00\\u5E74\\u91CC\\uFF0C\\u6211\\u4EEC\\u6210\\u529F\\u4E3E\\u529E\\u4E8630\\u4F59\\u6B21\\u7684\\u793E\\u533A\\u6D3B\\u52A8\\uFF0C\\u53D7\\u5230\\u5927\\u5BB6\\u7684\\u4E00\\u81F4\\u597D\\u8BC4\\u548C\\u70ED\\u70C8\\u54CD\\u5E94\\u30022017\\u5E74\\u5DF2\\u63A5\\u8FD1\\u5C3E\\u58F0\\uFF0C\\u5728\\u7EC4\\u7EC7\\u90E8\\u4F55\\u9752\\u677E\\u7684\\u5021\\u8BAE\\u4E0B\\uFF0C\\u6211\\u4EEC\\u7279\\u7B79\\u529EfreeCodeCamp\\u30102017\\u6210\\u90FDWEB\\u524D\\u7AEF\\u4EA4\\u6D41\\u5927\\u4F1A\\u3011\\uFF0C\\u4E3A\\u6210\\u90FD\\u524D\\u7AEF\\u5708\\u7684\\u6280\\u672F\\u5DE5\\u7A0B\\u5E08\\u3001\\u7231\\u597D\\u8005\\u63D0\\u4F9B\\u4E00\\u573A\\u524D\\u6240\\u672A\\u6709\\u7684\\u9955\\u992E\\u76DB\\u5BB4\\u3002\\u5728\\u6B64\\uFF0C\\u6211\\u4EEC\\u5411\\u60A8\\u53D1\\u51FA\\u8BDA\\u631A\\u7684\\u9080\\u8BF7\\uFF0C\\u6B64\\u6B21\\u76DB\\u4F1A\\u671F\\u5F85\\u60A8\\u7684\\u53C2\\u4E0E\\uFF01\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: $1f3386aba18108ab$export$2c1ba11b773a18f4,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"h2\", {\n className: \"mt-5 mb-4 text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: \"SPEAKER\"\n }),\n \" \",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: \"\\u5206\\u4EAB\\u5609\\u5BBE\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"row row-cols-1 row-cols-sm-2 row-cols-md-4 g-3\",\n children: (0, $69120e65ab6e4019$export$c7c935ac50db7b6f).map(({ avatar: avatar, name: name, description: description })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$60332b2344f7fe41), {\n id: \"guest_\" + name,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$96c5f37208f78bd7), {\n src: avatar\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$851de33184ecdac4), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$474db65c3c394e1c), {\n children: name\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"text-muted\",\n children: description\n })\n ]\n })\n ]\n })\n }))\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: $1f3386aba18108ab$export$2c1ba11b773a18f4,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"h2\", {\n className: \"mt-5 mb-4 text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: \"SCHEDULE\"\n }),\n \" \",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: \"\\u6D3B\\u52A8\\u6D41\\u7A0B\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$a766cd26d0d69044), {\n alwaysOpen: true,\n children: (0, $69120e65ab6e4019$export$ede378ff9e58f952).map(({ time: time, content: content, guest: guest, description: description })=>(0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$d99097c13d4dac9f), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$5e3e5deaaf81ee41), {\n children: [\n time,\n \"\\u3010\",\n content,\n \"\\u3011\"\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$4f68206c92b94e7b), {\n children: guest ? (0, $6aabcc7ac344e71d$exports.jsxs)(\"ul\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"li\", {\n children: [\n \"\\u8BB2\\u5E08\\uFF1A\",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n href: \"#guest_\" + guest.name,\n children: guest.name\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"li\", {\n children: [\n \"\\u7B80\\u4ECB\\uFF1A\",\n description\n ]\n })\n ]\n }) : description\n })\n ]\n }, time))\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: `${$1f3386aba18108ab$export$2c1ba11b773a18f4} text-center`,\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"mt-5 mb-4\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n children: \"\\u65F6\\u95F4\\u5730\\u5740\"\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n children: \"\\u65F6\\u95F4\\uFF1A2017 \\u5E74 11 \\u6708 19 \\u65E5 09 \\uFF1A00 - 17 \\uFF1A30\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n children: \"\\u5730\\u70B9\\uFF1A\\u6210\\u90FD\\u5E02\\u9AD8\\u65B0\\u533A\\u5929\\u5E9C\\u4E94\\u8857 200 \\u53F7\\u83C1\\u84C9\\u56FD\\u9645\\u5E7F\\u573A 7 \\u680B 1 \\u697C \\u4E3B\\u4F1A\\u573A\"\n })\n ]\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: $1f3386aba18108ab$export$2c1ba11b773a18f4,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: `${$1f3386aba18108ab$export$ad200f2ca1a7d990} text-center`,\n children: (0, $69120e65ab6e4019$export$ad200f2ca1a7d990).map((0, $0508e1ac2ec922cb$export$d43206f0b9719a5e))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n className: \"my-5 d-block\",\n variant: \"primary\",\n size: \"lg\",\n target: \"_blank\",\n href: \"http://cn.mikecrm.com/rdVltvT\",\n children: \"\\u6211 \\u8981 \\u62A5 \\u540D\"\n })\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"footer\", {\n className: $1f3386aba18108ab$export$adb608be33961c98,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: $1f3386aba18108ab$export$5f3279733515fed0,\n src: (0, (/*@__PURE__*/$parcel$interopDefault($81436cf79a04cbb6$exports)))\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"p\", {\n className: \"mt-0\",\n children: [\n \"\\u7279\\u522B\\u9E23\\u8C22\",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n target: \"_blank\",\n href: \"http://918930.lofter.com\",\n children: \"BBD - \\u738B\\u6CE2\"\n }),\n \"\\u63D0\\u4F9B \\u6D77\\u62A5\\u3001Logo \\u8BBE\\u8BA1\"\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$438ad6fc467f929b), {\n aspectRatio: \"21x9\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"iframe\", {\n loading: \"lazy\",\n src: `//uri.amap.com/marker?src=fcc-cdc&callnative=1&position=104.063519,30.539362&name=${(0, $69120e65ab6e4019$export$fb184b623420d9be)}`\n })\n })\n ]\n })\n ]\n }));\n\n\n\n\nvar $517b335d25cc69cc$exports = {};\n/**\n * marked v12.0.0 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */ /**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */ (function(global, factory) {\n factory($517b335d25cc69cc$exports);\n})($517b335d25cc69cc$exports, function(exports1) {\n \"use strict\";\n /**\n * Gets the original marked default options.\n */ function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n }\n exports1.defaults = _getDefaults();\n function changeDefaults(newDefaults) {\n exports1.defaults = newDefaults;\n }\n /**\n * Helpers\n */ const escapeTest = /[&<>\"']/;\n const escapeReplace = new RegExp(escapeTest.source, \"g\");\n const escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\n const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, \"g\");\n const escapeReplacements = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n };\n const getEscapeReplacement = (ch)=>escapeReplacements[ch];\n function escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) return html.replace(escapeReplace, getEscapeReplacement);\n } else {\n if (escapeTestNoEncode.test(html)) return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n return html;\n }\n const unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n)=>{\n n = n.toLowerCase();\n if (n === \"colon\") return \":\";\n if (n.charAt(0) === \"#\") return n.charAt(1) === \"x\" ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n return \"\";\n });\n }\n const caret = /(^|[^\\[])\\^/g;\n function edit(regex, opt) {\n let source = typeof regex === \"string\" ? regex : regex.source;\n opt = opt || \"\";\n const obj = {\n replace: (name, val)=>{\n let valSource = typeof val === \"string\" ? val : val.source;\n valSource = valSource.replace(caret, \"$1\");\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: ()=>{\n return new RegExp(source, opt);\n }\n };\n return obj;\n }\n function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, \"%\");\n } catch (e) {\n return null;\n }\n return href;\n }\n const noopTest = {\n exec: ()=>null\n };\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str)=>{\n let escaped = false;\n let curr = offset;\n while(--curr >= 0 && str[curr] === \"\\\\\")escaped = !escaped;\n if (escaped) // odd number of slashes means | is escaped\n // so we leave it alone\n return \"|\";\n else // add space before unescaped |\n return \" |\";\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) cells.shift();\n if (cells.length > 0 && !cells[cells.length - 1].trim()) cells.pop();\n if (count) {\n if (cells.length > count) cells.splice(count);\n else while(cells.length < count)cells.push(\"\");\n }\n for(; i < cells.length; i++)// leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, \"|\");\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */ function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) return \"\";\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while(suffLen < l){\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) suffLen++;\n else if (currChar !== c && invert) suffLen++;\n else break;\n }\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) return -1;\n let level = 0;\n for(let i = 0; i < str.length; i++){\n if (str[i] === \"\\\\\") i++;\n else if (str[i] === b[0]) level++;\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) return i;\n }\n }\n return -1;\n }\n function outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, \"$1\");\n if (cap[0].charAt(0) !== \"!\") {\n lexer.state.inLink = true;\n const token = {\n type: \"link\",\n raw: raw,\n href: href,\n title: title,\n text: text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: \"image\",\n raw: raw,\n href: href,\n title: title,\n text: escape$1(text)\n };\n }\n function indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) return text;\n const indentToCode = matchIndentToCode[1];\n return text.split(\"\\n\").map((node)=>{\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) return node;\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) return node.slice(indentToCode.length);\n return node;\n }).join(\"\\n\");\n }\n /**\n * Tokenizer\n */ class _Tokenizer {\n options;\n rules;\n lexer;\n constructor(options){\n this.options = options || exports1.defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) return {\n type: \"space\",\n raw: cap[0]\n };\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, \"\");\n return {\n type: \"code\",\n raw: cap[0],\n codeBlockStyle: \"indented\",\n text: !this.options.pedantic ? rtrim(text, \"\\n\") : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || \"\");\n return {\n type: \"code\",\n raw: raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : cap[2],\n text: text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, \"#\");\n if (this.options.pedantic) text = trimmed.trim();\n else if (!trimmed || / $/.test(trimmed)) // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n return {\n type: \"heading\",\n raw: cap[0],\n depth: cap[1].length,\n text: text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) return {\n type: \"hr\",\n raw: cap[0]\n };\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, \"\"), \"\\n\");\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: \"blockquote\",\n raw: cap[0],\n tokens: tokens,\n text: text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: \"list\",\n raw: \"\",\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : \"\",\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) bull = isordered ? bull : \"[*+-]\";\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = \"\";\n let itemContents = \"\";\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while(src){\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) break;\n if (this.rules.block.hr.test(src)) break;\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split(\"\\n\", 1)[0].replace(/^\\t+/, (t)=>\" \".repeat(3 * t.length));\n let nextLine = src.split(\"\\n\", 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) {\n raw += nextLine + \"\\n\";\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while(src){\n const rawLine = src.split(\"\\n\", 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, \" \");\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) break;\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) break;\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) break;\n // Horizontal rule found\n if (hrRegex.test(src)) break;\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) itemContents += \"\\n\" + nextLine.slice(indent);\n else {\n // not enough indentation\n if (blankLine) break;\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) break;\n if (fencesBeginRegex.test(line)) break;\n if (headingBeginRegex.test(line)) break;\n if (hrRegex.test(line)) break;\n itemContents += \"\\n\" + nextLine;\n }\n if (!blankLine && !nextLine.trim()) blankLine = true;\n raw += rawLine + \"\\n\";\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) list.loose = true;\n else if (/\\n *\\n *$/.test(raw)) endsWithBlankLine = true;\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== \"[ ] \";\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, \"\");\n }\n }\n list.items.push({\n type: \"list_item\",\n raw: raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n list.items[list.items.length - 1].text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for(let i = 0; i < list.items.length; i++){\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter((t)=>t.type === \"space\");\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t)=>/\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) for(let i = 0; i < list.items.length; i++)list.items[i].loose = true;\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: \"html\",\n block: true,\n raw: cap[0],\n pre: cap[1] === \"pre\" || cap[1] === \"script\" || cap[1] === \"style\",\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, \" \");\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\";\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : cap[3];\n return {\n type: \"def\",\n tag: tag,\n raw: cap[0],\n href: href,\n title: title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) return;\n if (!/[:|]/.test(cap[2])) // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, \"\").split(\"|\");\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, \"\").split(\"\\n\") : [];\n const item = {\n type: \"table\",\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) // header and align columns must be equal, rows can be different.\n return;\n for (const align of aligns){\n if (/^ *-+: *$/.test(align)) item.align.push(\"right\");\n else if (/^ *:-+: *$/.test(align)) item.align.push(\"center\");\n else if (/^ *:-+ *$/.test(align)) item.align.push(\"left\");\n else item.align.push(null);\n }\n for (const header of headers)item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n for (const row of rows)item.rows.push(splitCells(row, item.header.length).map((cell)=>{\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) return {\n type: \"heading\",\n raw: cap[0],\n depth: cap[2].charAt(0) === \"=\" ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === \"\\n\" ? cap[1].slice(0, -1) : cap[1];\n return {\n type: \"paragraph\",\n raw: cap[0],\n text: text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) return {\n type: \"text\",\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) return {\n type: \"escape\",\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^
    /i.test(cap[0])) this.lexer.state.inLink = false;\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) this.lexer.state.inRawBlock = true;\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) this.lexer.state.inRawBlock = false;\n return {\n type: \"html\",\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) return;\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), \"\\\\\");\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) return;\n } else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], \"()\");\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf(\"!\") === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = \"\";\n }\n }\n let href = cap[2];\n let title = \"\";\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else title = cap[3] ? cap[3].slice(1, -1) : \"\";\n href = href.trim();\n if (/^$/.test(trimmedUrl)) // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n else href = href.slice(1, -1);\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, \"$1\") : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, \"$1\") : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, \" \");\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: \"text\",\n raw: text,\n text: text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = \"\") {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match) return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u)) return;\n const nextChar = match[1] || match[2] || \"\";\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [\n ...match[0]\n ].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while((match = endReg.exec(maskedSrc)) != null){\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // skip single * in __abc*abc__\n rLength = [\n ...rDelim\n ].length;\n if (match[3] || match[4]) {\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [\n ...match[0]\n ][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: \"em\",\n raw: raw,\n text: text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: \"strong\",\n raw: raw,\n text: text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, \" \");\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) text = text.substring(1, text.length - 1);\n text = escape$1(text, true);\n return {\n type: \"codespan\",\n raw: cap[0],\n text: text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) return {\n type: \"br\",\n raw: cap[0]\n };\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) return {\n type: \"del\",\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === \"@\") {\n text = escape$1(cap[1]);\n href = \"mailto:\" + text;\n } else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: \"link\",\n raw: cap[0],\n text: text,\n href: href,\n tokens: [\n {\n type: \"text\",\n raw: text,\n text: text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === \"@\") {\n text = escape$1(cap[0]);\n href = \"mailto:\" + text;\n } else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? \"\";\n }while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === \"www.\") href = \"http://\" + cap[0];\n else href = cap[0];\n }\n return {\n type: \"link\",\n raw: cap[0],\n text: text,\n href: href,\n tokens: [\n {\n type: \"text\",\n raw: text,\n text: text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) text = cap[0];\n else text = escape$1(cap[0]);\n return {\n type: \"text\",\n raw: cap[0],\n text: text\n };\n }\n }\n }\n /**\n * Block-Level Grammar\n */ const newline = /^(?: *(?:\\n|$))+/;\n const blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\n const fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\n const hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\n const heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\n const bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n const lheading = edit(/^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/).replace(/bull/g, bullet) // lists can interrupt\n .getRegex();\n const _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\n const blockText = /^[^\\n]+/;\n const _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n const def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/).replace(\"label\", _blockLabel).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex();\n const list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g, bullet).getRegex();\n const _tag = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\";\n const _comment = /|$))/;\n const html = edit(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|\\\\n*|$)|\\\\n*|$)|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$))\", \"i\").replace(\"comment\", _comment).replace(\"tag\", _tag).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n const paragraph = edit(_paragraph).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\") // setex headings don't interrupt commonmark paragraphs\n .replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \") // only lists starting from 1 can interrupt\n .replace(\"html\", \")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n const blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", paragraph).getRegex();\n /**\n * Normal Block Grammar\n */ const blockNormal = {\n blockquote: blockquote,\n code: blockCode,\n def: def,\n fences: fences,\n heading: heading,\n hr: hr,\n html: html,\n lheading: lheading,\n list: list,\n newline: newline,\n paragraph: paragraph,\n table: noopTest,\n text: blockText\n };\n /**\n * GFM Block Grammar\n */ const gfmTable = edit(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\") // Cells\n .replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \" {4}[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \") // only lists starting from 1 can interrupt\n .replace(\"html\", \")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n const blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\") // setex headings don't interrupt commonmark paragraphs\n .replace(\"table\", gfmTable) // interrupt paragraphs with table\n .replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \") // only lists starting from 1 can interrupt\n .replace(\"html\", \")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n };\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */ const blockPedantic = {\n ...blockNormal,\n html: edit(\"^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))\").replace(\"comment\", _comment).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph).replace(\"hr\", hr).replace(\"heading\", \" *#{1,6} *[^\\n]\").replace(\"lheading\", lheading).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex()\n };\n /**\n * Inline-Level Grammar\n */ const escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\n const inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\n const br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\n const inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\\n const blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\n const emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, \"u\").replace(/punct/g, _punctuation).getRegex();\n const emStrongRDelimAst = edit(\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])\", \"gu\") // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation).getRegex();\n // (6) Not allowed for _\n const emStrongRDelimUnd = edit(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\\\s]|$)|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])|[\\\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])\", \"gu\") // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation).getRegex();\n const anyPunctuation = edit(/\\\\([punct])/, \"gu\").replace(/punct/g, _punctuation).getRegex();\n const autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();\n const _inlineComment = edit(_comment).replace(\"(?:-->|$)\", \"-->\").getRegex();\n const tag = edit(\"^comment|^|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^|^\") // CDATA section\n .replace(\"comment\", _inlineComment).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex();\n const _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n const link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/).replace(\"label\", _inlineLabel).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex();\n const reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", _inlineLabel).replace(\"ref\", _blockLabel).getRegex();\n const nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", _blockLabel).getRegex();\n const reflinkSearch = edit(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", reflink).replace(\"nolink\", nolink).getRegex();\n /**\n * Normal Inline Grammar\n */ const inlineNormal = {\n _backpedal: noopTest,\n anyPunctuation: anyPunctuation,\n autolink: autolink,\n blockSkip: blockSkip,\n br: br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim: emStrongLDelim,\n emStrongRDelimAst: emStrongRDelimAst,\n emStrongRDelimUnd: emStrongRDelimUnd,\n escape: escape,\n link: link,\n nolink: nolink,\n punctuation: punctuation,\n reflink: reflink,\n reflinkSearch: reflinkSearch,\n tag: tag,\n text: inlineText,\n url: noopTest\n };\n /**\n * Pedantic Inline Grammar\n */ const inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", _inlineLabel).getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", _inlineLabel).getRegex()\n };\n /**\n * GFM Inline Grammar\n */ const inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace(\"])\", \"~|])\").getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, \"i\").replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\{\n return leading + \" \".repeat(tabs.length);\n });\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while(src){\n if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some((extTokenizer)=>{\n if (token = extTokenizer.call({\n lexer: this\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) continue;\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += \"\\n\";\n else tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === \"paragraph\" || lastToken.type === \"text\")) {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else tokens.push(token);\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === \"paragraph\" || lastToken.type === \"text\")) {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex)=>{\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n if (typeof tempStart === \"number\" && tempStart >= 0) startIndex = Math.min(startIndex, tempStart);\n });\n if (startIndex < Infinity && startIndex >= 0) cutSrc = src.substring(0, startIndex + 1);\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === \"paragraph\") {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else tokens.push(token);\n lastParagraphClipped = cutSrc.length !== src.length;\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === \"text\") {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else tokens.push(token);\n continue;\n }\n if (src) {\n const errMsg = \"Infinite loop on byte: \" + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else throw new Error(errMsg);\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({\n src: src,\n tokens: tokens\n });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */ inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null)if (links.includes(match[0].slice(match[0].lastIndexOf(\"[\") + 1, -1))) maskedSrc = maskedSrc.slice(0, match.index) + \"[\" + \"a\".repeat(match[0].length - 2) + \"]\" + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n // Mask out other blocks\n while((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null)maskedSrc = maskedSrc.slice(0, match.index) + \"[\" + \"a\".repeat(match[0].length - 2) + \"]\" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n // Mask out escaped characters\n while((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null)maskedSrc = maskedSrc.slice(0, match.index) + \"++\" + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n while(src){\n if (!keepPrevChar) prevChar = \"\";\n keepPrevChar = false;\n // extensions\n if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((extTokenizer)=>{\n if (token = extTokenizer.call({\n lexer: this\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) continue;\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === \"text\" && lastToken.type === \"text\") {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else tokens.push(token);\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === \"text\" && lastToken.type === \"text\") {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else tokens.push(token);\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex)=>{\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n if (typeof tempStart === \"number\" && tempStart >= 0) startIndex = Math.min(startIndex, tempStart);\n });\n if (startIndex < Infinity && startIndex >= 0) cutSrc = src.substring(0, startIndex + 1);\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== \"_\") prevChar = token.raw.slice(-1);\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === \"text\") {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else tokens.push(token);\n continue;\n }\n if (src) {\n const errMsg = \"Infinite loop on byte: \" + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else throw new Error(errMsg);\n }\n }\n return tokens;\n }\n }\n /**\n * Renderer\n */ class _Renderer {\n options;\n constructor(options){\n this.options = options || exports1.defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || \"\").match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, \"\") + \"\\n\";\n if (!lang) return \"
    \" + (escaped ? code : escape$1(code, true)) + \"
    \\n\";\n return '
    ' + (escaped ? code : escape$1(code, true)) + \"
    \\n\";\n }\n blockquote(quote) {\n return `
    \\n${quote}
    \\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `${text}\\n`;\n }\n hr() {\n return \"
    \\n\";\n }\n list(body, ordered, start) {\n const type = ordered ? \"ol\" : \"ul\";\n const startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : \"\";\n return \"<\" + type + startatt + \">\\n\" + body + \"\\n\";\n }\n listitem(text, task, checked) {\n return `
  • ${text}
  • \\n`;\n }\n checkbox(checked) {\n return \"';\n }\n paragraph(text) {\n return `

    ${text}

    \\n`;\n }\n table(header, body) {\n if (body) body = `${body}`;\n return \"\\n\\n\" + header + \"\\n\" + body + \"
    \\n\";\n }\n tablerow(content) {\n return `\\n${content}\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? \"th\" : \"td\";\n const tag = flags.align ? `<${type} align=\"${flags.align}\">` : `<${type}>`;\n return tag + content + `\\n`;\n }\n /**\n * span level renderer\n */ strong(text) {\n return `${text}`;\n }\n em(text) {\n return `${text}`;\n }\n codespan(text) {\n return `${text}`;\n }\n br() {\n return \"
    \";\n }\n del(text) {\n return `${text}`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) return text;\n href = cleanHref;\n let out = '
    \" + text + \"\";\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) return text;\n href = cleanHref;\n let out = `\"${text}\"`;\n\";\n return out;\n }\n text(text) {\n return text;\n }\n }\n /**\n * TextRenderer\n * returns only the textual part of the token\n */ class _TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return \"\" + text;\n }\n image(href, title, text) {\n return \"\" + text;\n }\n br() {\n return \"\";\n }\n }\n /**\n * Parsing & Compiling\n */ class _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options){\n this.options = options || exports1.defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */ static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */ static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */ parse(tokens, top = true) {\n let out = \"\";\n for(let i = 0; i < tokens.length; i++){\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const genericToken = token;\n const ret = this.options.extensions.renderers[genericToken.type].call({\n parser: this\n }, genericToken);\n if (ret !== false || ![\n \"space\",\n \"hr\",\n \"heading\",\n \"code\",\n \"table\",\n \"blockquote\",\n \"list\",\n \"html\",\n \"paragraph\",\n \"text\"\n ].includes(genericToken.type)) {\n out += ret || \"\";\n continue;\n }\n }\n switch(token.type){\n case \"space\":\n continue;\n case \"hr\":\n out += this.renderer.hr();\n continue;\n case \"heading\":\n {\n const headingToken = token;\n out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));\n continue;\n }\n case \"code\":\n {\n const codeToken = token;\n out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);\n continue;\n }\n case \"table\":\n {\n const tableToken = token;\n let header = \"\";\n // header\n let cell = \"\";\n for(let j = 0; j < tableToken.header.length; j++)cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), {\n header: true,\n align: tableToken.align[j]\n });\n header += this.renderer.tablerow(cell);\n let body = \"\";\n for(let j = 0; j < tableToken.rows.length; j++){\n const row = tableToken.rows[j];\n cell = \"\";\n for(let k = 0; k < row.length; k++)cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {\n header: false,\n align: tableToken.align[k]\n });\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case \"blockquote\":\n {\n const blockquoteToken = token;\n const body = this.parse(blockquoteToken.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case \"list\":\n {\n const listToken = token;\n const ordered = listToken.ordered;\n const start = listToken.start;\n const loose = listToken.loose;\n let body = \"\";\n for(let j = 0; j < listToken.items.length; j++){\n const item = listToken.items[j];\n const checked = item.checked;\n const task = item.task;\n let itemBody = \"\";\n if (item.task) {\n const checkbox = this.renderer.checkbox(!!checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === \"paragraph\") {\n item.tokens[0].text = checkbox + \" \" + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === \"text\") item.tokens[0].tokens[0].text = checkbox + \" \" + item.tokens[0].tokens[0].text;\n } else item.tokens.unshift({\n type: \"text\",\n text: checkbox + \" \"\n });\n } else itemBody += checkbox + \" \";\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case \"html\":\n {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case \"paragraph\":\n {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case \"text\":\n {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while(i + 1 < tokens.length && tokens[i + 1].type === \"text\"){\n textToken = tokens[++i];\n body += \"\\n\" + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default:\n {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return \"\";\n } else throw new Error(errMsg);\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */ parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = \"\";\n for(let i = 0; i < tokens.length; i++){\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({\n parser: this\n }, token);\n if (ret !== false || ![\n \"escape\",\n \"html\",\n \"link\",\n \"image\",\n \"strong\",\n \"em\",\n \"codespan\",\n \"br\",\n \"del\",\n \"text\"\n ].includes(token.type)) {\n out += ret || \"\";\n continue;\n }\n }\n switch(token.type){\n case \"escape\":\n {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case \"html\":\n {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case \"link\":\n {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case \"image\":\n {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case \"strong\":\n {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case \"em\":\n {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case \"codespan\":\n {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case \"br\":\n out += renderer.br();\n break;\n case \"del\":\n {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case \"text\":\n {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default:\n {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return \"\";\n } else throw new Error(errMsg);\n }\n }\n }\n return out;\n }\n }\n class _Hooks {\n options;\n constructor(options){\n this.options = options || exports1.defaults;\n }\n static passThroughHooks = new Set([\n \"preprocess\",\n \"postprocess\",\n \"processAllTokens\"\n ]);\n /**\n * Process markdown before marked\n */ preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */ postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */ processAllTokens(tokens) {\n return tokens;\n }\n }\n class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args){\n this.use(...args);\n }\n /**\n * Run callback for every token\n */ walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens){\n values = values.concat(callback.call(this, token));\n switch(token.type){\n case \"table\":\n {\n const tableToken = token;\n for (const cell of tableToken.header)values = values.concat(this.walkTokens(cell.tokens, callback));\n for (const row of tableToken.rows)for (const cell of row)values = values.concat(this.walkTokens(cell.tokens, callback));\n break;\n }\n case \"list\":\n {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default:\n {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens)=>{\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n else if (genericToken.tokens) values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || {\n renderers: {},\n childTokens: {}\n };\n args.forEach((pack)=>{\n // copy options to new object\n const opts = {\n ...pack\n };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext)=>{\n if (!ext.name) throw new Error(\"extension name required\");\n if (\"renderer\" in ext) {\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function(...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) ret = prevRenderer.apply(this, args);\n return ret;\n };\n else extensions.renderers[ext.name] = ext.renderer;\n }\n if (\"tokenizer\" in ext) {\n if (!ext.level || ext.level !== \"block\" && ext.level !== \"inline\") throw new Error(\"extension level must be 'block' or 'inline'\");\n const extLevel = extensions[ext.level];\n if (extLevel) extLevel.unshift(ext.tokenizer);\n else extensions[ext.level] = [\n ext.tokenizer\n ];\n if (ext.start) {\n if (ext.level === \"block\") {\n if (extensions.startBlock) extensions.startBlock.push(ext.start);\n else extensions.startBlock = [\n ext.start\n ];\n } else if (ext.level === \"inline\") {\n if (extensions.startInline) extensions.startInline.push(ext.start);\n else extensions.startInline = [\n ext.start\n ];\n }\n }\n }\n if (\"childTokens\" in ext && ext.childTokens) extensions.childTokens[ext.name] = ext.childTokens;\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for(const prop in pack.renderer){\n if (!(prop in renderer)) throw new Error(`renderer '${prop}' does not exist`);\n if (prop === \"options\") continue;\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args)=>{\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) ret = prevRenderer.apply(renderer, args);\n return ret || \"\";\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for(const prop in pack.tokenizer){\n if (!(prop in tokenizer)) throw new Error(`tokenizer '${prop}' does not exist`);\n if ([\n \"options\",\n \"rules\",\n \"lexer\"\n ].includes(prop)) continue;\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args)=>{\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) ret = prevTokenizer.apply(tokenizer, args);\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for(const prop in pack.hooks){\n if (!(prop in hooks)) throw new Error(`hook '${prop}' does not exist`);\n if (prop === \"options\") continue;\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg)=>{\n if (this.defaults.async) return Promise.resolve(hooksFunc.call(hooks, arg)).then((ret)=>{\n return prevHook.call(hooks, ret);\n });\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n else // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args)=>{\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) ret = prevHook.apply(hooks, args);\n return ret;\n };\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function(token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) values = values.concat(walkTokens.call(this, token));\n return values;\n };\n }\n this.defaults = {\n ...this.defaults,\n ...opts\n };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = {\n ...this.defaults,\n ...opt\n };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options)=>{\n const origOpt = {\n ...options\n };\n const opt = {\n ...this.defaults,\n ...origOpt\n };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) console.warn(\"marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.\");\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === \"undefined\" || src === null) return throwError(new Error(\"marked(): input parameter is undefined or null\"));\n if (typeof src !== \"string\") return throwError(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(src) + \", string expected\"));\n if (opt.hooks) opt.hooks.options = opt;\n if (opt.async) return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then((src)=>lexer(src, opt)).then((tokens)=>opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then((tokens)=>opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(()=>tokens) : tokens).then((tokens)=>parser(tokens, opt)).then((html)=>opt.hooks ? opt.hooks.postprocess(html) : html).catch(throwError);\n try {\n if (opt.hooks) src = opt.hooks.preprocess(src);\n let tokens = lexer(src, opt);\n if (opt.hooks) tokens = opt.hooks.processAllTokens(tokens);\n if (opt.walkTokens) this.walkTokens(tokens, opt.walkTokens);\n let html = parser(tokens, opt);\n if (opt.hooks) html = opt.hooks.postprocess(html);\n return html;\n } catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e)=>{\n e.message += \"\\nPlease report this to https://github.com/markedjs/marked.\";\n if (silent) {\n const msg = \"

    An error occurred:

    \" + escape$1(e.message + \"\", true) + \"
    \";\n if (async) return Promise.resolve(msg);\n return msg;\n }\n if (async) return Promise.reject(e);\n throw e;\n };\n }\n }\n const markedInstance = new Marked();\n function marked(src, opt) {\n return markedInstance.parse(src, opt);\n }\n /**\n * Sets the default options.\n *\n * @param options Hash of options\n */ marked.options = marked.setOptions = function(options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Gets the original marked default options.\n */ marked.getDefaults = _getDefaults;\n marked.defaults = exports1.defaults;\n /**\n * Use Extension\n */ marked.use = function(...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Run callback for every token\n */ marked.walkTokens = function(tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n };\n /**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */ marked.parseInline = markedInstance.parseInline;\n /**\n * Expose\n */ marked.Parser = _Parser;\n marked.parser = _Parser.parse;\n marked.Renderer = _Renderer;\n marked.TextRenderer = _TextRenderer;\n marked.Lexer = _Lexer;\n marked.lexer = _Lexer.lex;\n marked.Tokenizer = _Tokenizer;\n marked.Hooks = _Hooks;\n marked.parse = marked;\n const options = marked.options;\n const setOptions = marked.setOptions;\n const use = marked.use;\n const walkTokens = marked.walkTokens;\n const parseInline = marked.parseInline;\n const parse = marked;\n const parser = _Parser.parse;\n const lexer = _Lexer.lex;\n exports1.Hooks = _Hooks;\n exports1.Lexer = _Lexer;\n exports1.Marked = Marked;\n exports1.Parser = _Parser;\n exports1.Renderer = _Renderer;\n exports1.TextRenderer = _TextRenderer;\n exports1.Tokenizer = _Tokenizer;\n exports1.getDefaults = _getDefaults;\n exports1.lexer = lexer;\n exports1.marked = marked;\n exports1.options = options;\n exports1.parse = parse;\n exports1.parseInline = parseInline;\n exports1.parser = parser;\n exports1.setOptions = setOptions;\n exports1.use = use;\n exports1.walkTokens = walkTokens;\n});\n\n\n\n\nconst $bb10fbb2bebf156f$export$d43206f0b9719a5e = ({ member: member })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"d-flex justify-content-around align-content-center flex-wrap\",\n children: member.map(({ URL: URL, name: name, path: path })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n target: \"_blank\",\n href: URL,\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"py-3 px-1 flex-grow-0 flex-shrink-0\",\n title: name,\n src: path,\n style: {\n width: \"210px\"\n }\n })\n }, path))\n });\n\n\nvar $c6f94efb3529b7b9$export$e8e78c978b129247;\nvar $c6f94efb3529b7b9$export$beee475260967c93;\nvar $c6f94efb3529b7b9$export$b840e55573b2d2e7;\nvar $c6f94efb3529b7b9$export$cc0e318fd32289c2;\nvar $c6f94efb3529b7b9$export$58733aaf927c3bbe;\nvar $c6f94efb3529b7b9$export$947d3d934fcd56c1;\nvar $c6f94efb3529b7b9$export$b15c49b0cb93f01e;\nvar $c6f94efb3529b7b9$export$bbae454ff46c69a0;\nvar $c6f94efb3529b7b9$export$345c5736c8054f22;\nvar $c6f94efb3529b7b9$export$8b0699a3bcbc6095;\nvar $c6f94efb3529b7b9$export$85fc6f6fd6332263;\nvar $c6f94efb3529b7b9$export$a51de3b6c04f794d;\nvar $c6f94efb3529b7b9$export$a52d855af68a1bf;\nvar $c6f94efb3529b7b9$export$346d138ee9c3fa56;\nvar $c6f94efb3529b7b9$export$783166601a642219;\nvar $c6f94efb3529b7b9$export$3b2217e45a573556;\nvar $c6f94efb3529b7b9$export$d9f4fb13de619c2b;\nvar $c6f94efb3529b7b9$export$b48fe2737b0f5681;\nvar $c6f94efb3529b7b9$export$adb608be33961c98;\nvar $c6f94efb3529b7b9$export$5f3279733515fed0;\n$c6f94efb3529b7b9$export$e8e78c978b129247 = \"root_bb4793\";\n$c6f94efb3529b7b9$export$beee475260967c93 = \"btn-primary_bb4793\";\n$c6f94efb3529b7b9$export$b840e55573b2d2e7 = \"poster_bb4793\";\n$c6f94efb3529b7b9$export$cc0e318fd32289c2 = \"navbar-toggler_bb4793\";\n$c6f94efb3529b7b9$export$58733aaf927c3bbe = \"navbar_bb4793\";\n$c6f94efb3529b7b9$export$947d3d934fcd56c1 = \"navbar-nav_bb4793\";\n$c6f94efb3529b7b9$export$b15c49b0cb93f01e = \"navbar-light_bb4793\";\n$c6f94efb3529b7b9$export$bbae454ff46c69a0 = \"nav-link_bb4793\";\n$c6f94efb3529b7b9$export$345c5736c8054f22 = \"avatar_bb4793\";\n$c6f94efb3529b7b9$export$8b0699a3bcbc6095 = \"avatar-sm_bb4793\";\n$c6f94efb3529b7b9$export$85fc6f6fd6332263 = \"sparked_bb4793\";\n$c6f94efb3529b7b9$export$a51de3b6c04f794d = \"lecture_bb4793\";\n$c6f94efb3529b7b9$export$a52d855af68a1bf = \"lecture-name_bb4793\";\n$c6f94efb3529b7b9$export$346d138ee9c3fa56 = \"lecture-intro_bb4793\";\n$c6f94efb3529b7b9$export$783166601a642219 = \"subjects_bb4793\";\n$c6f94efb3529b7b9$export$3b2217e45a573556 = \"photos_bb4793\";\n$c6f94efb3529b7b9$export$d9f4fb13de619c2b = \"companies_bb4793\";\n$c6f94efb3529b7b9$export$b48fe2737b0f5681 = \"contributorGroup_bb4793\";\n$c6f94efb3529b7b9$export$adb608be33961c98 = \"footer_bb4793\";\n$c6f94efb3529b7b9$export$5f3279733515fed0 = \"qrcode_bb4793\";\n\n\n\n\nvar $29641f8434eb5eb2$exports = {};\n$29641f8434eb5eb2$exports = new URL(\"epubit.c1d8c5b0.png\", import.meta.url).toString();\n\n\nvar $ab0f93fada68d42c$exports = {};\n$ab0f93fada68d42c$exports = new URL(\"fezaoduke.fb7a5ccd.png\", import.meta.url).toString();\n\n\nvar $6fa587e35c6e820b$exports = {};\n$6fa587e35c6e820b$exports = new URL(\"mikecrm.0a457542.png\", import.meta.url).toString();\n\n\nvar $ee8d2ad89e3376c2$exports = {};\n$ee8d2ad89e3376c2$exports = new URL(\"young.5f5cc2c5.png\", import.meta.url).toString();\n\n\nconst $c215a794ceb2758a$export$24f9481c6fe98ef7 = \"http://tp1.sinaimg.cn/1752543513/180/1.jpg\";\n\n\nvar $3d88e996ab612401$exports = {};\n$3d88e996ab612401$exports = new URL(\"BaiCiZhan.259fa4d1.png\", import.meta.url).toString();\n\n\nvar $8c77697f0a6e0206$exports = {};\n$8c77697f0a6e0206$exports = new URL(\"baozun.75f58188.jpg\", import.meta.url).toString();\n\n\nvar $643437e5913c200c$exports = {};\n$643437e5913c200c$exports = new URL(\"cocoet.da319e74.png\", import.meta.url).toString();\n\n\nvar $2acb9814848bd485$exports = {};\n$2acb9814848bd485$exports = new URL(\"sxl.dd9a9c0f.jpg\", import.meta.url).toString();\n\n\n\n\nvar $4a2346192cce794c$exports = {};\n$4a2346192cce794c$exports = new URL(\"Guo DaFeng.6d7546f5.png\", import.meta.url).toString();\n\n\nvar $441b885f46c94936$exports = {};\n$441b885f46c94936$exports = new URL(\"Guo LinShuo.12cd3b39.png\", import.meta.url).toString();\n\n\nvar $a346ca5d156e5db0$exports = {};\n$a346ca5d156e5db0$exports = new URL(\"Huang Yi.a58655d7.png\", import.meta.url).toString();\n\n\nvar $9dffa9440dfbaef4$exports = {};\n$9dffa9440dfbaef4$exports = new URL(\"OpenSource.1df18182.png\", import.meta.url).toString();\n\n\nvar $95067ba03991acdf$exports = {};\n$95067ba03991acdf$exports = new URL(\"Quincy Larson.caaecba1.png\", import.meta.url).toString();\n\n\nvar $3d245b44e0e4617e$exports = {};\n$3d245b44e0e4617e$exports = new URL(\"Si Yue.fba3c144.png\", import.meta.url).toString();\n\n\nvar $9c86d85c700acb1a$exports = {};\n$9c86d85c700acb1a$exports = new URL(\"Xiong Jie.6367f3c4.png\", import.meta.url).toString();\n\n\nvar $e938460b163d9b5d$exports = {};\n$e938460b163d9b5d$exports = new URL(\"Yu Che.f3526e5b.png\", import.meta.url).toString();\n\n\n\n\nvar $62616d154be9326c$exports = {};\n$62616d154be9326c$exports = new URL(\"CD-LUG.5d9dea2f.png\", import.meta.url).toString();\n\n\nvar $8a7beb525f31c23d$exports = {};\n$8a7beb525f31c23d$exports = new URL(\"Covariant Script.6b878a1e.png\", import.meta.url).toString();\n\n\nvar $4dd19e891030f5f3$exports = {};\n$4dd19e891030f5f3$exports = new URL(\"Deepin.ae36ed8d.png\", import.meta.url).toString();\n\n\nvar $577a5ffe7d8a43fc$exports = {};\n$577a5ffe7d8a43fc$exports = new URL(\"Fun loading.6e397c0c.png\", import.meta.url).toString();\n\n\nvar $1593deb679a272da$exports = {};\n$1593deb679a272da$exports = new URL(\"H5DS.e8bb5317.png\", import.meta.url).toString();\n\n\nvar $31004bed3b1363a7$exports = {};\n$31004bed3b1363a7$exports = new URL(\"KaiYuanShe.da310f52.png\", import.meta.url).toString();\n\n\nvar $9e2acc89d43aa065$exports = {};\n$9e2acc89d43aa065$exports = new URL(\"PI6.1bc18258.png\", import.meta.url).toString();\n\n\nvar $3c01b684f1472c1c$exports = {};\n$3c01b684f1472c1c$exports = new URL(\"React Admin.6c9f1934.png\", import.meta.url).toString();\n\n\nvar $823bd824b178227b$exports = {};\n$823bd824b178227b$exports = new URL(\"UKylin.71e361fb.png\", import.meta.url).toString();\n\n\nvar $62e5aebeaef64ab9$exports = {};\n$62e5aebeaef64ab9$exports = new URL(\"Vena Network.a2781646.png\", import.meta.url).toString();\n\n\nvar $b08d50aa69535241$exports = {};\n$b08d50aa69535241$exports = new URL(\"WebCell.48070487.png\", import.meta.url).toString();\n\n\n\n\nconst $27b1627f4ff99c0e$export$fb184b623420d9be = \"2018 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\";\nconst $27b1627f4ff99c0e$export$5a1dbaa3e4449344 = [\n {\n title: \"\\u5927\\u4F1A\\u4ECB\\u7ECD\",\n href: \"#Introduction\"\n },\n {\n title: \"\\u4E0E\\u4F1A\\u5609\\u5BBE\",\n href: \"#Lecturer\"\n },\n {\n title: \"\\u8BAE\\u9898\",\n href: \"#Topic\"\n },\n {\n title: \"\\u5F00\\u6E90\\u5E02\\u96C6\",\n href: \"#Bazaar\"\n },\n {\n title: \"\\u53C2\\u4F1A\\u4F01\\u4E1A\",\n href: \"#Enterprise\"\n },\n {\n title: \"\\u65E5\\u7A0B\",\n href: \"#Schedule\"\n },\n {\n title: \"\\u5730\\u5740\",\n href: \"#Address\"\n },\n {\n title: \"\\u5F80\\u671F\\u7CBE\\u5F69\\u56DE\\u987E\",\n href: \"#Review\"\n },\n {\n title: \"\\u7167\\u7247\\u76F4\\u64AD\",\n href: \"http://www.pailixiang.com/album_ia172238913.html\"\n },\n {\n title: \"\\u5171\\u521B\\u4F19\\u4F34\",\n href: \"#Contributor\"\n }\n];\nconst $27b1627f4ff99c0e$export$31da89627f5e6e8b = [\n {\n name: \"\\u6606\\u897F\\xb7\\u62C9\\u5C14\\u68EE\",\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($95067ba03991acdf$exports))),\n detail: \"Quincy Larson \\u662F https://freeCodeCamp.org/ \\u793E\\u533A\\u521B\\u59CB\\u4EBA\\uFF0C\\u81F4\\u529B\\u4E8E\\u5E2E\\u52A9\\u6570\\u767E\\u4E07\\u4EBA\\u4EEC\\u514D\\u8D39\\u5B66\\u4E60\\u7F16\\u7A0B\\u3002\\u4ED6\\u66FE\\u5728\\u7F8E\\u56FD\\u4E00\\u6240\\u9AD8\\u6821\\u6267\\u6559\\uFF0C\\u5E76\\u5728\\u4E2D\\u56FD\\u5206\\u6821\\u4EFB\\u804C\\u6821\\u957F\\u3002\\n\\nQuincy \\u5728 31 \\u5C81\\u65F6\\u5F00\\u59CB\\u5B66\\u4E60\\u7F16\\u7A0B\\uFF0C\\u5E0C\\u671B\\u901A\\u8FC7\\u7A0B\\u5E8F\\u4F7F\\u5B66\\u6821\\u7684\\u5404\\u9879\\u4E8B\\u52A1\\u5904\\u7406\\u66F4\\u9AD8\\u6548\\u3002\\u5728\\u63A5\\u89E6\\u7F16\\u7A0B\\u4E4B\\u540E\\uFF0C\\u4ED6\\u610F\\u8BC6\\u5230\\u8FD9\\u662F\\u4E00\\u9879\\u4EBA\\u4EBA\\u90FD\\u5E94\\u8BE5\\u638C\\u63E1\\u7684\\u6280\\u80FD\\uFF0C\\u53EF\\u4EE5\\u5E2E\\u52A9\\u4F17\\u591A\\u7EC4\\u7EC7\\u63D0\\u5347\\u6548\\u7387\\u3002\"\n },\n {\n name: \"\\u718A\\u8282\",\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($9c86d85c700acb1a$exports))),\n detail: \"\\u5B9D\\u5C0A\\u7535\\u5546\\u6210\\u90FD\\u7814\\u53D1\\u4E2D\\u5FC3\\u603B\\u7ECF\\u7406\\uFF0C\\u62E5\\u6709\\u8D85\\u8FC7\\u5341\\u4E03\\u5E74 IT \\u884C\\u4E1A\\u7684\\u4ECE\\u4E1A\\u7ECF\\u9A8C\\uFF0C\\u5728\\u91D1\\u878D\\u3001\\u653F\\u5E9C\\u3001\\u7535\\u4FE1\\u3001\\u7269\\u6D41\\u7B49\\u884C\\u4E1A\\u7684\\u4FE1\\u606F\\u5316\\u5EFA\\u8BBE\\u65B9\\u9762\\u6709\\u7740\\u4E30\\u5BCC\\u7ECF\\u9A8C\\u3002\\u718A\\u8282\\u66FE\\u7FFB\\u8BD1\\u4E86\\u300A\\u91CD\\u6784\\u300B\\u3001\\u300A\\u6700\\u540E\\u671F\\u9650\\u300B\\u3001\\u300A\\u4E0E\\u718A\\u5171\\u821E\\u300B\\u3001\\u300A\\u8F6F\\u4EF6\\u5DE5\\u827A\\u300B\\u7B49\\u884C\\u4E1A\\u91CD\\u8981\\u8457\\u4F5C\\uFF0C\\u53C2\\u4E0E\\u4E86 Selenium\\u3001RubyWorks\\u3001OpenLMIS \\u7B49\\u5F00\\u6E90\\u8F6F\\u4EF6\\u793E\\u533A\\uFF0C\\u5E76\\u5728\\u5404\\u79CD\\u5A92\\u4F53\\u53D1\\u8868\\u8FC7\\u6570\\u5341\\u7BC7\\u6587\\u7AE0\\uFF0C\\u83B7\\u5F97\\u5229\\u7269\\u6D66\\u5927\\u5B66 MBA \\u5B66\\u4F4D\\u3002\"\n },\n {\n name: \"\\u9EC4\\u8F76\",\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($a346ca5d156e5db0$exports))),\n detail: \"\\u5317\\u4EAC\\u79D1\\u6280\\u5927\\u5B66\\u6BD5\\u4E1A\\uFF0C\\u8BA1\\u7B97\\u673A\\u4E13\\u4E1A\\u7855\\u58EB\\u3002\\u66FE\\u4EFB\\u804C\\u767E\\u5EA6\\u3001\\u6EF4\\u6EF4\\uFF0C\\u73B0\\u4EFB Zoom \\u524D\\u7AEF\\u67B6\\u6784\\u5E08\\u3001\\u4E13\\u5BB6\\u5DE5\\u7A0B\\u5E08\\uFF1B\\u64C5\\u957F\\u524D\\u7AEF\\u81EA\\u52A8\\u5316\\u3001\\u5DE5\\u7A0B\\u5316\\uFF0C\\u524D\\u7AEF\\u67B6\\u6784\\u65B9\\u5411\\u3002\\u5F00\\u6E90\\u9879\\u76EE better-scroll\\u3001cube-ui \\u4F5C\\u8005\\uFF0C\\u300AVue.js \\u6743\\u5A01\\u6307\\u5357\\u300B\\u4F5C\\u8005\\uFF0C\\u4E50\\u4E8E\\u6280\\u672F\\u5206\\u4EAB\\uFF0C\\u8FFD\\u6C42\\u6781\\u81F4\\uFF0C\\u6155\\u8BFE\\u7F51\\u7CBE\\u82F1\\u8BB2\\u5E08\\u3002\"\n },\n {\n name: \"\\u6B7B\\u6708\",\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($3d245b44e0e4617e$exports))),\n detail: \"\\u8682\\u8681\\u91D1\\u670D\\u4F53\\u9A8C\\u6280\\u672F\\u90E8\\u7814\\u53D1\\u5DE5\\u7A0B\\u5E08\\uFF0CNode.JS \\u6838\\u5FC3\\u8D21\\u732E\\u8005\\uFF08Node.JS Core Collaborator\\uFF09\\u4E4B\\u4E00\\uFF0CCNode \\u793E\\u533A\\u7248\\u4E3B\\u4E4B\\u4E00\\uFF0C\\u676D\\u5DDE Node Party \\u7EC4\\u7EC7\\u8005\\u4E4B\\u4E00\\uFF0C\\u66FE\\u4EFB\\u5927\\u641C\\u8F66\\u65E0\\u7EBF\\u67B6\\u6784\\u7EC4 Node.JS \\u56E2\\u961F\\u8D1F\\u8D23\\u4EBA\\uFF1B\\u6D59\\u6C5F\\u5927\\u5B66\\u8F6F\\u4EF6\\u5DE5\\u7A0B\\u7855\\u58EB\\uFF0C\\u9000\\u5F79 OI\\u3001ACM \\u9009\\u624B\\uFF0C\\u300ANode.JS \\u6765\\u4E00\\u6253 C++ \\u6269\\u5C55\\u300B\\u4F5C\\u8005\\u3002\"\n },\n {\n name: \"\\u4F59\\u6F88\",\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($e938460b163d9b5d$exports))),\n detail: \"\\u4EAC\\u4E1C\\u51F9\\u51F8\\u5B9E\\u9A8C\\u5BA4\\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\\uFF0C\\u4E3B\\u8981\\u8D1F\\u8D23\\u57FA\\u7840\\u8BBE\\u65BD\\u5EFA\\u8BBE\\u548C\\u524D\\u7AEF\\u6027\\u80FD\\u4F18\\u5316\\u3002\\u70ED\\u7231\\u5F00\\u6E90\\u4E8B\\u4E1A\\uFF0C\\u5148\\u540E\\u4F5C\\u4E3A\\u4E3B\\u8981\\u5F00\\u53D1\\u8005\\u53C2\\u4E0E\\u4E86 Vue.js \\u7B2C\\u4E00\\u4E2A\\u5927\\u578B UI \\u5E93 vue-strap\\u3001\\u9AD8\\u6027\\u80FD\\u7C7B React \\u6846\\u67B6 Nerv\\u3001\\u591A\\u7AEF\\u7EDF\\u4E00\\u5F00\\u53D1\\u6846\\u67B6 Taro \\u7684\\u5F00\\u6E90\\u548C\\u7EF4\\u62A4\\u3002\\u5728\\u6280\\u672F\\u4E4B\\u5916\\uFF0C\\u4ED6\\u559C\\u6B22\\u73A9 Dota2 \\u548C\\u6E38\\u6CF3\\u3002\"\n },\n {\n name: \"\\u90ED\\u6797\\u70C1\",\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($441b885f46c94936$exports))),\n detail: \"\\u817E\\u8BAF AlloyTeam \\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\\uFF0C\\u53C2\\u4E0E\\u8FC7\\u817E\\u8BAF\\u6587\\u6863\\u3001\\u4E92\\u52A8\\u76F4\\u64AD\\u7B49\\u5927\\u578B Web \\u9879\\u76EE\\u5F00\\u53D1\\u4E0E\\u4F18\\u5316\\uFF0C\\u4E13\\u6CE8\\u4E8E\\u524D\\u7AEF\\u6027\\u80FD\\u4F18\\u5316\\u3001\\u524D\\u7AEF\\u53EF\\u7528\\u6027\\u53CA\\u5F00\\u53D1\\u6548\\u7387\\u63D0\\u5347\\uFF0C\\u4E50\\u4E8E\\u5206\\u4EAB\\u3002\"\n },\n {\n name: \"\\u90ED\\u8FBE\\u5CF0\",\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($4a2346192cce794c$exports))),\n detail: \"\\u90ED\\u8FBE\\u5CF0\\uFF0CStrikingly CTO\\u3002\\u6BD5\\u4E1A\\u4E8E\\u9999\\u6E2F\\u4E2D\\u6587\\u5927\\u5B66\\uFF0C\\u4E8E 2010 \\u5E74\\u5F00\\u53D1\\u4E86\\u4E09\\u6B3E Facebook \\u5E73\\u53F0\\u7684\\u5E94\\u7528\\uFF0C\\u83B7\\u53D6\\u4E86\\u8D85\\u8FC7 2 \\u5343\\u4E07\\u7684\\u7528\\u6237\\u30022012 \\u5E74\\u521B\\u7ACB\\u4E86\\u5E02\\u9762\\u4E0A\\u6700\\u7B80\\u6613\\u7684\\u5EFA\\u7AD9\\u5E73\\u53F0 Strikingly\\uFF0C\\u6210\\u4E3A\\u7B2C\\u4E00\\u5BB6\\u8FDB\\u5165 YC \\u5B75\\u5316\\u5668\\u7684\\u534E\\u4EBA\\u56E2\\u961F\\u3002\"\n }\n];\nconst $27b1627f4ff99c0e$export$31978e77bf6e08fb = [\n {\n title: \"freeCodeCamp \\u4ECE 0 \\u5230 29 \\u4E07 star\",\n lecturer: $27b1627f4ff99c0e$export$31da89627f5e6e8b[0],\n detail: \"Quincy Larson \\u5B8C\\u6574\\u8BB2\\u8FF0\\u4ED6\\u7684\\u6C42\\u5B66\\u548C\\u804C\\u4E1A\\u751F\\u6DAF\\uFF1A\\n 1. \\u4E3A\\u4EC0\\u4E48\\u8F6C\\u884C\\u5B66\\u7F16\\u7A0B\\uFF1F\\n 2. \\u4E3A\\u4EC0\\u4E48\\u521B\\u7ACB freeCodeCamp\\uFF1F\\n 3. freeCodeCamp \\u662F\\u600E\\u4E48\\u9010\\u6E10\\u6D41\\u884C\\u8D77\\u6765\\u7684\\uFF1F\\u4E2D\\u95F4\\u9047\\u5230\\u54EA\\u4E9B\\u56F0\\u96BE\\u548C\\u8C03\\u6574\\uFF0C\\u662F\\u5982\\u4F55\\u89E3\\u51B3\\u7684\\uFF1F\\n 4. freeCodeCamp \\u7684\\u6280\\u672F\\u67B6\\u6784\\u53D8\\u8FC1\\u53F2\\u3001\\u6838\\u5FC3\\u56E2\\u961F\\u548C\\u4EE3\\u7801\\u8D21\\u732E\\u8005\\u4ECB\\u7ECD\\u3002\"\n },\n {\n title: \"\\u7ED9 Node.js \\u63D2\\u4E0A C++ \\u7684\\u7FC5\\u8180\",\n lecturer: $27b1627f4ff99c0e$export$31da89627f5e6e8b[3],\n detail: \"\\u672C\\u4E3B\\u9898\\u56F4\\u7ED5\\u7740\\u4F55\\u65F6\\u3001\\u4E3A\\u4F55\\u3001\\u5982\\u4F55\\u5728 Node.js \\u4E2D\\u4F7F\\u7528 C++ \\u6765\\u8D4B\\u4E88\\u5B83\\u66F4\\u591A\\u7684\\u53EF\\u80FD\\u6027\\uFF08\\u5982\\u63D0\\u5347\\u6027\\u80FD\\u3001\\u964D\\u4F4E\\u5F00\\u53D1\\u6210\\u672C\\u3001\\u505A\\u4E00\\u4E9B\\u795E\\u5947\\u7684\\u4E8B\\u60C5\\u7B49\\uFF09\\uFF1A\\n 1. \\u5BF9\\u4E8E\\u4E00\\u4E9B\\u91CD\\u8BA1\\u7B97\\u4E14\\u8F93\\u5165\\u8F93\\u51FA\\u6570\\u636E\\u7B80\\u5355\\u7684\\u573A\\u666F\\uFF0C\\u7528 C++ \\u7684\\u6269\\u5C55\\u6765\\u66FF\\u4EE3\\u539F\\u672C\\u7684 Pure JavaScript \\u5199\\u6CD5\\uFF0C\\u5C06\\u4F1A\\u5F97\\u5230\\u4E00\\u4E9B\\u610F\\u60F3\\u4E0D\\u5230\\u7684\\u6548\\u679C\\n 2. \\u5BF9\\u4E8E\\u4E00\\u4E9B\\u672C\\u8EAB\\u5C31\\u6709\\u6210\\u719F C++ \\u5E93\\u7684\\u573A\\u666F\\u6765\\u8BF4\\uFF0C\\u91CD\\u65B0\\u9020\\u4E00\\u4E2A Node.js \\u7684\\u8F6E\\u5B50\\u65E0\\u7591\\u662F\\u4E00\\u4E2A\\u5F00\\u53D1\\u6210\\u672C\\u6BD4\\u8F83\\u9AD8\\u7684\\u505A\\u6CD5\\n 3. \\u8FD8\\u6709\\u4E00\\u4E9B Node.js \\u65E0\\u6CD5\\u6D89\\u53CA\\u7684\\u5E95\\u5C42\\uFF0C\\u53EF\\u4EE5\\u901A\\u8FC7 C++ \\u6269\\u5C55\\u5C06\\u90A3\\u4E9B\\u63A5\\u53E3\\u66B4\\u9732\\u51FA\\u6765\\u518D\\u5728 Node.js \\u4E2D\\u5C01\\u88C5\\n 4. \\u6709\\u65F6\\u5019\\u6211\\u4EEC\\u6CA1\\u5FC5\\u8981\\u53BB\\u9020\\u4E00\\u4E2A Electron \\u8FD9\\u6837\\u7684\\u7ED3\\u5408 Node.js \\u7684\\u4E1C\\u897F\\uFF0C\\u4F46\\u662F\\u6211\\u4EEC\\u53EF\\u4EE5\\u5229\\u7528 Node.js \\u7684 C++ \\u6269\\u5C55\\u53BB\\u5C01\\u88C5\\u4E00\\u4E2A\\u5DF2\\u6709\\u7684\\u6E38\\u620F\\u5F15\\u64CE\\uFF0C\\u6253\\u901A\\u5B83\\u4EEC\\u5404\\u95F4\\u72EC\\u81EA\\u7BA1\\u7406\\u7684\\u7EBF\\u7A0B\\n\\n###### \\u542C\\u4F17\\u6536\\u83B7\\n 1. \\u4F1A\\u660E\\u767D Node.js \\u7684\\u4E00\\u4E9B\\u5185\\u90E8\\u673A\\u5236\\n 2. \\u5BF9 Node.js \\u4E0E C++ \\u8FDB\\u884C\\u4EA4\\u4E92\\u6709\\u4E00\\u4E2A\\u521D\\u6B65\\u7684\\u6982\\u5FF5\\n 3. \\u5728\\u81EA\\u5DF1\\u7684\\u73A9\\u5177\\u9879\\u76EE\\u4E2D\\u4ED8\\u8BF8\\u5B9E\\u8DF5\\uFF0C\\u751A\\u81F3\\u5728\\u751F\\u4EA7\\u73AF\\u5883\\u4E2D\\u7528\\u4E0A\\u8FD9\\u79CD\\u59FF\\u52BF\"\n },\n {\n title: \"\\u5F00\\u6E90\\u9879\\u76EE\\u7EF4\\u62A4\",\n lecturer: $27b1627f4ff99c0e$export$31da89627f5e6e8b[4],\n detail: \"###### \\u5982\\u4F55\\u505A\\u597D\\u4E00\\u4E2A\\u5F00\\u6E90\\u9879\\u76EE\\uFF1F\\n 1. \\u524D\\u671F\\u7684\\u5BA3\\u4F20\\n 2. \\u540E\\u671F\\u7684\\u7EF4\\u62A4\\n 3. \\u5DE5\\u97A5\\u7684\\u8FED\\u4EE3\\n 4. \\u5931\\u8D25\\u6848\\u4F8B vue-strap\\n 5. \\u6210\\u529F\\u6848\\u4F8B taro\\n\\n###### \\u505A\\u5F00\\u6E90\\u9879\\u76EE\\u5BF9\\u4E2A\\u4EBA\\u7684\\u5F71\\u54CD\\n 1. \\u751F\\u6D3B\\u7684\\u5F71\\u54CD\\n 2. \\u5BF9\\u5DE5\\u4F5C\\u548C\\u804C\\u4E1A\\u7684\\u5F71\\u54CD\\n 3. \\u5F00\\u6E90\\u3001\\u5DE5\\u4F5C\\u3001\\u751F\\u6D3B\\u4E4B\\u95F4\\u7684\\u5E73\\u8861\\n\\n###### \\u5728\\u505A\\u5F00\\u6E90\\u9879\\u76EE\\u4E2D\\u5B66\\u5230\\u7684\\u4E1C\\u897F\"\n },\n {\n title: \"\\u654F\\u6377\\u4E2D\\u56FD\\u53F2\",\n lecturer: $27b1627f4ff99c0e$export$31da89627f5e6e8b[1],\n detail: \"\\u4EE52002\\u5E74\\u300A\\u7A0B\\u5E8F\\u5458\\u300B\\u6742\\u5FD7\\u53D1\\u8868\\u300A\\u6781\\u9650\\u7F16\\u7A0B\\u300B\\u6280\\u672F\\u4E13\\u9898\\u3001\\u4EBA\\u6C11\\u90AE\\u7535\\u51FA\\u7248\\u793E\\u5F15\\u8FDB\\u300A\\u6781\\u9650\\u7F16\\u7A0B\\u300B\\u4E1B\\u4E66\\u4E3A\\u6807\\u5FD7\\uFF0C\\u654F\\u6377\\u8FDB\\u5165\\u4E2D\\u56FD\\u5DF2\\u7ECF\\u5341\\u516D\\u5E74\\u4E86\\u3002\\n\\n\\u5341\\u516D\\u5E74\\u524D\\uFF0C\\u5168\\u4E2D\\u56FD\\u76F8\\u4FE1\\u654F\\u6377\\u7684\\u4EBA\\u5C48\\u6307\\u53EF\\u6570\\uFF1B\\u5341\\u516D\\u5E74\\u540E\\uFF0C\\u5927\\u94F6\\u884C\\u7684CIO\\u7AD9\\u5728\\u5927\\u4F1A\\u4E0A\\u8BB2\\u7684\\u5173\\u952E\\u8BCD\\u91CC\\u5C31\\u6709\\u654F\\u6377\\u4E8C\\u5B57\\u3002\\u6CA7\\u6D77\\u6851\\u7530\\uFF0C\\u4EE4\\u4EBA\\u550F\\u5618\\u3002\\n\\n\\u4ECA\\u5929\\u654F\\u6377\\u6210\\u4E3A\\u6700\\u4E3A\\u5E7F\\u6CDB\\u91C7\\u7EB3\\u7684\\u8F6F\\u4EF6\\u5F00\\u53D1\\u65B9\\u6CD5\\uFF0C\\u80CC\\u540E\\u6298\\u5C04\\u51FA\\u7684\\u662F IT \\u5728\\u56FD\\u6C11\\u7ECF\\u6D4E\\u751F\\u6D3B\\u4E2D\\u7684\\u5730\\u4F4D\\u63D0\\u5347\\u3001\\u662F\\u6280\\u672F\\u4EBA\\u5458\\u4ECE\\u5916\\u5305\\u7801\\u519C\\u5230\\u4F01\\u4E1A\\u6838\\u5FC3\\u7ADE\\u4E89\\u529B\\u7684\\u5730\\u4F4D\\u63D0\\u5347\\u3001\\u66F4\\u662F\\u4E2D\\u56FD\\u7ECF\\u6D4E\\u5728\\u5168\\u7403\\u7ECF\\u6D4E\\u4E2D\\u7684\\u5730\\u4F4D\\u63D0\\u5347\\u3002\\n\\n\\u8FD9\\u5341\\u516D\\u5E74\\u91CC\\uFF0C\\u654F\\u6377\\u662F\\u5982\\u4F55\\u88AB\\u5F15\\u8FDB\\u3001\\u88AB\\u63A8\\u4ECB\\u3001\\u88AB\\u4F20\\u64AD\\u3001\\u88AB\\u6F20\\u89C6\\u3001\\u88AB\\u6297\\u62D2\\u3001\\u88AB\\u63A5\\u7EB3\\u3001\\u88AB\\u63A8\\u5D07\\u3001\\u88AB\\u8F6C\\u53D8\\u3001\\u88AB\\u6DE1\\u5316\\uFF0C\\u5982\\u4F55\\u7531\\u6D93\\u6EF4\\u6F5C\\u6D41\\u6C47\\u6210\\u65F6\\u4EE3\\u5927\\u6F6E\\uFF1F\\u53D8\\u9769\\u7684\\u6E90\\u6D41\\u662F\\u5982\\u4F55\\u4F20\\u627F\\uFF1F\\u54EA\\u4E9B\\u4EBA\\uFF0C\\u5728\\u54EA\\u4E9B\\u65F6\\u95F4\\u8282\\u70B9\\u4E0A\\uFF0C\\u8D77\\u5230\\u4E86\\u91CD\\u8981\\u7684\\u63A8\\u52A8\\u4F5C\\u7528\\uFF1F\\n\\n\\u4F5C\\u4E3A\\u654F\\u6377\\u5728\\u4E2D\\u56FD\\u5341\\u516D\\u5E74\\u53D1\\u5C55\\u5386\\u7A0B\\u7684\\u89C1\\u8BC1\\u8005\\u548C\\u53C2\\u4E0E\\u8005\\uFF0C\\u6211\\u5E0C\\u671B\\u56DE\\u5934\\u68B3\\u7406\\u8FD9\\u6BB5\\u5386\\u53F2\\uFF0C\\u4E3A\\u8FD9\\u6BB5\\u5386\\u53F2\\u548C\\u5377\\u5165\\u5176\\u4E2D\\u7684\\u4EBA\\u4EEC\\u523B\\u7891\\u7ACB\\u4F20\\u3002\"\n },\n {\n title: \"\\u9AD8\\u6548 H5 \\u52A8\\u753B\\u5F00\\u53D1\\u65B9\\u5F0F\",\n lecturer: $27b1627f4ff99c0e$export$31da89627f5e6e8b[5],\n detail: \"\\u968F\\u7740\\u8BBE\\u5907\\u6027\\u80FD\\u7684\\u4E0D\\u65AD\\u63D0\\u5347\\uFF0C\\u8D8A\\u6765\\u8D8A\\u591A\\u7684\\u9700\\u6C42\\u5E0C\\u671B\\u4EE5\\u52A8\\u753B\\u7684\\u5F62\\u5F0F\\u53BB\\u8868\\u8FBE\\u5448\\u73B0\\u3002\\u5728 Web \\u5F00\\u53D1\\u4E2D\\uFF0C\\u52A8\\u753B\\u7684\\u5B9E\\u73B0\\u6210\\u672C\\u65E0\\u7591\\u662F\\u91CD\\u5934\\u4E4B\\u4E00\\u3002\\u5982\\u4F55\\u9009\\u62E9\\u5408\\u9002\\u7684\\u5B9E\\u73B0\\u65B9\\u5F0F\\uFF0C\\u5982\\u4F55\\u63D0\\u9AD8\\u52A8\\u753B\\u7684\\u5F00\\u53D1\\u6548\\u7387\\uFF0C\\u503C\\u5F97\\u5927\\u5BB6\\u4E00\\u8D77\\u63A2\\u8BA8\\u3002\\n\\n\\u672C\\u6B21\\u5206\\u4EAB\\u5C06\\u56F4\\u7ED5\\u201C\\u4FDD\\u8D28\\u4FDD\\u91CF\\u201D\\u9AD8\\u6548\\u52A8\\u753B\\u5F00\\u53D1\\u65B9\\u5F0F\\u7684\\u4E3B\\u9898\\uFF0C\\u5206\\u4EAB\\u56E2\\u961F\\u7684\\u4E00\\u4E9B\\u63A2\\u7D22\\u5FC3\\u5F97\\u4E0E\\u6210\\u679C\\u3002\"\n },\n {\n title: \"\\u9AD8\\u53EF\\u7528 React \\u670D\\u52A1\\u7AEF\\u6E32\\u67D3\",\n lecturer: $27b1627f4ff99c0e$export$31da89627f5e6e8b[6],\n detail: \"\\u6DF1\\u5165\\u6D45\\u51FA\\u5730\\u5206\\u4EAB\\u201C\\u9AD8\\u53EF\\u7528 React SSR\\uFF08\\u670D\\u52A1\\u7AEF\\u6E32\\u67D3\\uFF09\\u201D\\u6280\\u672F\\u6808\\u5728\\u4F01\\u4E1A\\u4E2D\\u5E94\\u7528\\u5B9E\\u8DF5\"\n },\n {\n title: \"\\u6253\\u9020 Vue \\u7EC4\\u4EF6\\u5E93\",\n lecturer: $27b1627f4ff99c0e$export$31da89627f5e6e8b[2],\n detail: \" 1. \\u4E3A\\u4EC0\\u4E48\\u8981\\u505A\\u7EC4\\u4EF6\\u5E93\\uFF1F\\n 2. \\u7EC4\\u4EF6\\u7684\\u8BBE\\u8BA1\\n 3. \\u6A21\\u5757\\u8BBE\\u8BA1\\n 4. \\u751F\\u6001\\u5EFA\\u8BBE\\n 5. \\u6700\\u4F73\\u5B9E\\u8DF5\"\n }\n];\nconst $27b1627f4ff99c0e$export$60974f670aa8d75e = [\n {\n title: \"\\u7B7E\\u5230\\u4E0E\\u901B\\u201C\\u5E02\\u96C6\\u201D\",\n time: \"09:00 ~ 09:30\"\n },\n {\n topic: $27b1627f4ff99c0e$export$31978e77bf6e08fb[0],\n time: \"09:30 ~ 10:20\"\n },\n {\n topic: $27b1627f4ff99c0e$export$31978e77bf6e08fb[1],\n time: \"10:20 ~ 11:10\"\n },\n {\n topic: $27b1627f4ff99c0e$export$31978e77bf6e08fb[2],\n time: \"11:10 ~ 12:00\"\n },\n {\n title: \"\\u5348\\u9910\\u4E0E\\u901B\\u201C\\u5E02\\u96C6\\u201D\",\n time: \"12:00 ~ 13:55\"\n },\n {\n title: \"\\u62BD\\u5956\\u73AF\\u8282\",\n time: \"13:55 ~ 14:00\"\n },\n {\n topic: $27b1627f4ff99c0e$export$31978e77bf6e08fb[3],\n time: \"14:00 ~ 14:50\"\n },\n {\n topic: $27b1627f4ff99c0e$export$31978e77bf6e08fb[4],\n time: \"14:50 ~ 15:40\"\n },\n {\n title: \"\\u8336\\u6B47 & \\u901B\\u201C\\u5E02\\u96C6\\u201D & \\u201C\\u53EF\\u597D\\u73A9\\u4E50\\u201D\\u8DA3\\u5473\\u7F16\\u7A0B\\u8D5B\",\n time: \"15:40 ~ 16:10\"\n },\n {\n topic: $27b1627f4ff99c0e$export$31978e77bf6e08fb[5],\n time: \"16:10 ~ 17:00\"\n },\n {\n topic: $27b1627f4ff99c0e$export$31978e77bf6e08fb[6],\n time: \"17:00 ~ 17:50\"\n },\n {\n title: \"\\u62BD\\u5956\\u73AF\\u8282\",\n time: \"17:50 ~ 17:55\"\n }\n];\nconst $27b1627f4ff99c0e$export$39babdfab504f3da = [\n {\n title: \"\\u6DF1\\u5EA6\\u64CD\\u4F5C\\u7CFB\\u7EDF\",\n name: \"Deepin\",\n type: 0,\n URL: \"https://www.deepin.org\",\n detail: \"\\u6709\\u5168\\u7403\\u5F71\\u54CD\\u529B\\u7684\\u4E2D\\u56FD Linux \\u53D1\\u884C\\u7248\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($4dd19e891030f5f3$exports)))\n },\n {\n title: \"WebCell\",\n name: \"WebCell\",\n type: 0,\n URL: \"https://web-cell.dev/\",\n detail: \"\\u8F7B\\u91CF\\u7EA7 Web \\u7EC4\\u4EF6\\u5316\\u5F15\\u64CE\\uFF0C\\u57FA\\u4E8E Web components\\uFF08HTML 5.3\\u3001DOM 4.1\\uFF09\\u3001ECMAScript 2018 \\u548C \\u88C5\\u9970\\u5668\\u63D0\\u6848 \\u63D0\\u4F9B MVVM \\u6A21\\u578B\\uFF0C\\u5E76\\u6709\\u5B98\\u65B9\\u5C01\\u88C5\\u7684 BootStrap v4\\u3001Material Design \\u7EC4\\u4EF6\\u5E93\\u3002\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($b08d50aa69535241$exports)))\n },\n {\n title: \"HTML 5 design software\",\n name: \"H5DS\",\n type: 0,\n URL: \"http://www.h5ds.com\",\n detail: \"H5DS (HTML 5 design software) \\u662F\\u4E00\\u6B3E B/S \\u7684 H5 \\u4EE3\\u7801\\u751F\\u6210\\u5DE5\\u5177\\uFF0C\\u901A\\u8FC7\\u53EF\\u89C6\\u5316\\u64CD\\u4F5C\\u8BA9\\u4E0D\\u4F1A\\u4EE3\\u7801\\u7684\\u4EBA\\u4E5F\\u80FD\\u8F7B\\u677E\\u5236\\u4F5C H5 \\u9875\\u9762\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($1593deb679a272da$exports)))\n },\n {\n title: \"Fun loading\",\n name: \"Fun loading\",\n type: 0,\n URL: \"https://fanerge.github.io/fun-loading/dist/\",\n detail: \"\\u57FA\\u4E8E React \\u7684 loading \\u7EC4\\u4EF6\\u5E93\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($577a5ffe7d8a43fc$exports)))\n },\n {\n title: \"Ubuntu Kylin\",\n name: \"UKylin\",\n type: 0,\n URL: \"http://www.ubuntukylin.com\",\n detail: \"\\u4F18\\u9E92\\u9E9F\\uFF08Ubuntu Kylin\\uFF09\\u662F\\u7531\\u4E2D\\u56FD CCN\\uFF08\\u7531 CSIP\\u3001Canonical\\u3001NUDT \\u4E09\\u65B9\\u8054\\u5408\\u7EC4\\u5EFA\\uFF09\\u5F00\\u6E90\\u521B\\u65B0\\u8054\\u5408\\u5B9E\\u9A8C\\u5BA4\\u4E0E\\u5929\\u6D25\\u9E92\\u9E9F\\u4FE1\\u606F\\u6280\\u672F\\u6709\\u9650\\u516C\\u53F8\\u4E3B\\u5BFC\\u5F00\\u53D1\\u7684\\u5168\\u7403\\u5F00\\u6E90\\u9879\\u76EE\\uFF0C\\u5176\\u5B97\\u65E8\\u662F\\u901A\\u8FC7\\u7814\\u53D1\\u7528\\u6237\\u53CB\\u597D\\u7684\\u684C\\u9762\\u73AF\\u5883\\u4EE5\\u53CA\\u7279\\u5B9A\\u9700\\u6C42\\u7684\\u5E94\\u7528\\u8F6F\\u4EF6\\uFF0C\\u4E3A\\u5168\\u7403 Linux \\u684C\\u9762\\u7528\\u6237\\u5E26\\u6765\\u975E\\u51E1\\u7684\\u5168\\u65B0\\u4F53\\u9A8C\\uFF01\\n\\n\\u4F18\\u9E92\\u9E9F\\u64CD\\u4F5C\\u7CFB\\u7EDF\\u662F Ubuntu \\u5B98\\u65B9\\u884D\\u751F\\u7248\\uFF0C\\u5F97\\u5230\\u6765\\u81EA Debian\\u3001Ubuntu\\u3001Mate\\u3001LUPA \\u7B49\\u56FD\\u9645\\u793E\\u533A\\u53CA\\u4F17\\u591A\\u56FD\\u5185\\u5916\\u793E\\u533A\\u7231\\u597D\\u8005\\u7684\\u5E7F\\u6CDB\\u53C2\\u4E0E\\u548C\\u70ED\\u60C5\\u652F\\u6301\\uFF01\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($823bd824b178227b$exports)))\n },\n {\n title: \"Covariant Script\",\n name: \"Covariant Script\",\n type: 0,\n URL: \"http://covscript.org\",\n detail: \"Covariant Script \\u7F16\\u7A0B\\u8BED\\u8A00\\u662F\\u4E00\\u4E2A\\u65B0\\u5174\\u7684\\u5F00\\u6E90\\u7F16\\u7A0B\\u8BED\\u8A00\\uFF0C\\u53D1\\u5C55\\u524D\\u666F\\u5E7F\\u9614\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($8a7beb525f31c23d$exports)))\n },\n {\n title: \"PI6\",\n name: \"PI6\",\n type: 0,\n URL: \"http://github.com/visi-pivi-sivi/PI6\",\n detail: \"PI6 is a bash shell based framework, allow author to add comments in the script, and provides a good interactive experience for user, who needs to know what will be done in the next, while running the script in step by step mode.\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($9e2acc89d43aa065$exports)))\n },\n {\n title: \"React Admin\",\n name: \"React Admin\",\n type: 0,\n URL: \"https://github.com/yezihaohao/react-admin\",\n detail: \"\\u4E00\\u5957\\u57FA\\u4E8E React\\u3001Ant design \\u548C create-react-app \\u7684\\u540E\\u53F0\\u7BA1\\u7406\\u7CFB\\u7EDF\\u89E3\\u51B3\\u65B9\\u6848\\u3002\\u5B8C\\u6574\\u7684\\u4EE3\\u7801\\u76EE\\u5F55\\u7ED3\\u6784\\u8BBE\\u8BA1\\u3001\\u6743\\u9650\\u7BA1\\u7406\\u3001\\u81EA\\u5B9A\\u4E49\\u4E3B\\u9898\\u3001\\u8DEF\\u7531\\u914D\\u7F6E\\u4EE5\\u53CA Redux \\u7684\\u57FA\\u672C\\u7528\\u6CD5\\u7B49\\uFF0C\\u4E00\\u4E2A\\u5B8C\\u6574\\u4E14\\u7B80\\u5355\\u7684 demo \\u8BA9\\u4F60\\u5FEB\\u901F\\u4E0A\\u624B React \\u548C\\u540E\\u53F0\\u7CFB\\u7EDF\\u3002\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($3c01b684f1472c1c$exports)))\n },\n {\n title: \"\\u5F00\\u6E90\\u793E\",\n name: \"KaiYuanShe\",\n type: 1,\n URL: \"http://www.kaiyuanshe.cn/\",\n detail: \"\\u5F00\\u6E90\\u793E\\u662F\\u7531\\u4E2D\\u56FD\\u652F\\u6301\\u5F00\\u6E90\\u7684\\u4F01\\u4E1A\\uFF0C\\u793E\\u533A\\u53CA\\u4E2A\\u4EBA\\u6240\\u7EC4\\u7EC7\\u7684\\u4E00\\u4E2A\\u5F00\\u6E90\\u8054\\u76DF\\uFF0C\\u65E8\\u5728\\u63A8\\u5E7F\\u5F00\\u6E90\\uFF0C\\u5404\\u6210\\u5458\\u6309\\u7167\\u201C\\u5171\\u6CBB\\u3001\\u5171\\u8BC6\\u3001\\u8D21\\u732E\\u201D\\u7684\\u539F\\u5219\\u81EA\\u53D1\\u8BBE\\u7ACB\\u3002\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($31004bed3b1363a7$exports)))\n },\n {\n title: \"\\u6D1B\\u4E66\\u534F\\u8BAE\",\n name: \"Vena Network\",\n type: 0,\n URL: \"https://github.com/venanetwork\",\n detail: \"\\u6D1B\\u4E66\\u534F\\u8BAE \\u2014\\u2014 \\u8D44\\u4EA7\\u878D\\u901A\\u4EE3\\u5E01\\u5316\\u7684\\u5F00\\u653E\\u534F\\u8BAE\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($62e5aebeaef64ab9$exports)))\n },\n {\n title: \"\\u6210\\u90FD Linux \\u7528\\u6237\\u7EC4\",\n name: \"CD-LUG\",\n type: 1,\n URL: \"https://cdlug.org/\",\n detail: \"\\u6210\\u90FD GNU/Linux \\u81EA\\u7EC4\\u5EFA\\u4EE5\\u6765\\uFF0C\\u5DF2\\u7ECF\\u96C6\\u805A\\u4E86\\u4E00\\u6279 Linux \\u7231\\u597D\\u8005\\u3001\\u5F00\\u53D1\\u8005\\u3001\\u521B\\u4E1A\\u8005\\u3002\",\n logo: (0, (/*@__PURE__*/$parcel$interopDefault($62616d154be9326c$exports)))\n }\n];\nconst $27b1627f4ff99c0e$export$95794f71fd1fcea8 = [\n {\n title: \"React \\u6280\\u672F\\u6F14\\u8BB2\"\n },\n {\n title: \"React \\u6280\\u672F\\u63D0\\u95EE\"\n },\n {\n title: \"React \\u6280\\u672F\\u8BB2\\u5E08\"\n },\n {\n title: \"React \\u5927\\u4F1A\\u89C2\\u4F17\"\n },\n {\n title: \"React \\u5927\\u4F1A\\u62DB\\u8058\"\n },\n {\n title: \"Code for City \\u9ED1\\u5BA2\\u677E\\u8336\\u6B47\"\n },\n {\n title: \"Code for City \\u9ED1\\u5BA2\\u677E FCC \\u5408\\u5F71\"\n },\n {\n title: \"\\u8336\\u6B47\\u4E00\\u89C8\"\n },\n {\n title: \"React \\u5927\\u4F1A\\u62DB\\u8058\"\n }\n];\nconst $27b1627f4ff99c0e$export$95d17814281fb808 = [\n {\n title: \"\\u4E3B\",\n member: [\n {\n name: \"FCC \\u6210\\u90FD\",\n path: (0, $affdfcc70845640a$export$e5c5c7a5558278fe),\n URL: \"https://freecodecamp-chengdu.github.io/\"\n }\n ]\n },\n {\n title: \"\\u534F\",\n member: [\n {\n name: \" \\u6398\\u91D1\",\n path: (0, $c27d65df7592ab6e$export$bb383df5b32c05b7),\n URL: \"https://juejin.im/\"\n }\n ]\n }\n];\nconst $27b1627f4ff99c0e$export$14e304d9e12f4092 = [\n {\n title: \"\\u91D1\\u724C\",\n member: [\n {\n name: \"\\u4E0A\\u7EBF\\u4E86\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($2acb9814848bd485$exports))),\n URL: \"https://www.sxl.cn/\"\n }\n ]\n },\n {\n title: \"\\u94F6\\u724C\",\n member: [\n {\n name: \"\\u5B9D\\u5C0A\\u7535\\u5546\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($8c77697f0a6e0206$exports))),\n URL: \"https://www.baozun.com/cn/\"\n }\n ]\n },\n {\n title: \"\\u94DC\\u724C\",\n member: [\n {\n name: \"\\u53EF\\u597D\\u73A9\\u4E50\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($643437e5913c200c$exports))),\n URL: \"https://cocoet.cn/\"\n },\n {\n name: \"\\u767E\\u8BCD\\u65A9\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($3d88e996ab612401$exports))),\n URL: \"http://www.baicizhan.com/\"\n }\n ]\n }\n];\nconst $27b1627f4ff99c0e$export$dbe41a478099b642 = [\n {\n name: \"\\u535A\\u6587\\u89C6\\u70B9\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($65f4d23620a10a11$exports))),\n URL: \"http://www.broadview.com.cn/\"\n },\n {\n name: \"\\u5F00\\u6E90\\u4E2D\\u56FD\",\n path: (0, $c27d65df7592ab6e$export$7f92890d073cca8c),\n URL: \"https://www.oschina.net/\"\n },\n {\n name: \"\\u9EA6\\u514B\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($6fa587e35c6e820b$exports))),\n URL: \"https://www.mikecrm.com/\"\n },\n {\n name: \"\\u524D\\u7AEF\\u65E9\\u8BFB\\u8BFE\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($ab0f93fada68d42c$exports))),\n URL: \"https://zdk.f2er.net/\"\n },\n {\n name: \"\\u5B9E\\u9A8C\\u697C\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($e24a2fee3e566a5a$exports))),\n URL: \"https://www.shiyanlou.com/\"\n },\n {\n name: \"\\u56FE\\u7075\\u793E\\u533A\",\n path: (0, $c215a794ceb2758a$export$24f9481c6fe98ef7),\n URL: \"http://www.ituring.com.cn/\"\n },\n {\n name: \"\\u5F02\\u6B65\\u793E\\u533A\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($29641f8434eb5eb2$exports))),\n URL: \"https://www.epubit.com/\"\n },\n {\n name: \"SegmentFault\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($5871ebc6ae2ade31$exports))),\n URL: \"https://segmentfault.com/\"\n },\n {\n name: \"\\u5C0F\\u6837\\u9752\\u5E74\\u793E\\u533A\",\n path: (0, (/*@__PURE__*/$parcel$interopDefault($ee8d2ad89e3376c2$exports))),\n URL: \"http://www.xypark.com/\"\n }\n];\nconst $27b1627f4ff99c0e$export$d9f4fb13de619c2b = [\n \"\\u4E0A\\u7EBF\\u4E86\",\n \"\\u5B9D\\u5C0A\\u7535\\u5546\",\n \"\\u4F01\\u9E45\\u533B\\u751F\",\n \"\\u65B0\\u86CB\",\n \"\\u4E50\\u8F66\\u90A6\",\n \"tap4fun\",\n \"ThoughtWorks\",\n \"\\u9EA6\\u9EA6\\u517B\\u8001\",\n \"BBD\",\n \"\\u7F8E\\u56E2\",\n \"\\u817E\\u8BAF\",\n \"\\u77E5\\u9053\\u521B\\u5B87\",\n \"\\u964C\\u964C\\u6210\\u90FD\",\n \"\\u5B54\\u660E\\u79D1\\u6280\",\n \"\\u77E5\\u4E4E\",\n \"\\u53BB\\u54EA\\u513F\",\n \"\\u533B\\u8054\",\n \"\\u6781\\u7C73\\u79D1\\u6280\",\n \"\\u4ECA\\u65E5\\u5934\\u6761\",\n \"\\u70B9\\u878D\\u7F51\",\n \"\\u5BA2\\u5982\\u4E91\",\n \"\\u8857\\u7535\",\n \"\\u534E\\u4E3A\\u4E91\",\n \"Camera360\",\n \"\\u9C7C\\u8BF4\\u79D1\\u6280\",\n \"\\u6298800\",\n \"TestBird\",\n \"\\u6C47\\u901A\\u5929\\u4E0B\",\n \"\\u79D1\\u5927\\u8BAF\\u98DE\",\n \"\\u5495\\u549A\",\n \"\\u897F\\u74DC\\u521B\\u5BA2\",\n \"\\u5B9E\\u9A8C\\u697C\",\n \"\\u56DB\\u65B9\\u4F1F\\u4E1A\",\n \"\\u732A\\u516B\\u6212\",\n \"\\u964C\\u964C\",\n \"\\u8D27\\u8F66\\u90A6\",\n \"\\u6D3B\\u8DC3\\u7F51\\u7EDC\",\n \"\\u8682\\u8681\\u91D1\\u670D\"\n];\n\n\n\nvar $1b0cf6bc713b9113$exports = {};\n$1b0cf6bc713b9113$exports = new URL(\"1.bcd16fd1.jpg\", import.meta.url).toString();\n\n\nvar $8bdfb4d74b54cf25$exports = {};\n$8bdfb4d74b54cf25$exports = new URL(\"2.09e20710.jpg\", import.meta.url).toString();\n\n\nvar $dbd9262dd0351ad9$exports = {};\n$dbd9262dd0351ad9$exports = new URL(\"3.244a440c.jpg\", import.meta.url).toString();\n\n\nvar $deec77c69c0e7e97$exports = {};\n$deec77c69c0e7e97$exports = new URL(\"4.c55a5098.jpg\", import.meta.url).toString();\n\n\nvar $b9bfa07e74033910$exports = {};\n$b9bfa07e74033910$exports = new URL(\"5.656cea07.jpg\", import.meta.url).toString();\n\n\nvar $325a95b99893bdf0$exports = {};\n$325a95b99893bdf0$exports = new URL(\"6.da397600.jpg\", import.meta.url).toString();\n\n\nvar $bf1791f32338a6da$exports = {};\n$bf1791f32338a6da$exports = new URL(\"7.f4500b56.jpg\", import.meta.url).toString();\n\n\nvar $433b012c71beecaf$exports = {};\n$433b012c71beecaf$exports = new URL(\"8.42f8e777.jpg\", import.meta.url).toString();\n\n\nvar $5beeef89be38caa8$exports = {};\n$5beeef89be38caa8$exports = new URL(\"9.f9c67304.jpg\", import.meta.url).toString();\n\n\nvar $1564f4f7532c0117$export$2e2bcd8739ae039 = [\n (0, (/*@__PURE__*/$parcel$interopDefault($1b0cf6bc713b9113$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($8bdfb4d74b54cf25$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($dbd9262dd0351ad9$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($deec77c69c0e7e97$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($b9bfa07e74033910$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($325a95b99893bdf0$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($bf1791f32338a6da$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($433b012c71beecaf$exports))),\n (0, (/*@__PURE__*/$parcel$interopDefault($5beeef89be38caa8$exports)))\n];\n\n\nvar $ad72fdbf935866b0$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $ad72fdbf935866b0$export$433bd2146b9d5f1b = (_a)=>{\n var { className: className } = _a, props = $ad72fdbf935866b0$var$__rest(_a, [\n \"className\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"main\", Object.assign({\n className: `${$c6f94efb3529b7b9$export$e8e78c978b129247} ${className}`\n }, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: $c6f94efb3529b7b9$export$b840e55573b2d2e7,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $4b24793a4b0f2663$export$febf71ca481883cc), {\n brand: (0, $6aabcc7ac344e71d$exports.jsx)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: (0, $27b1627f4ff99c0e$export$fb184b623420d9be)\n }),\n expand: \"lg\",\n variant: \"light\",\n menu: (0, $27b1627f4ff99c0e$export$5a1dbaa3e4449344)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n src: (0, (/*@__PURE__*/$parcel$interopDefault($cd7f3979e6b34c6c$exports))),\n className: \"img-fluid\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n id: \"Introduction\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-5\",\n children: \"\\u5927\\u4F1A\\u4ECB\\u7ECD\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"row\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"col-md-7\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n children: \"\\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\\u662F freeCodeCamp \\u6210\\u90FD\\u793E\\u533A\\u4E00\\u5E74\\u4E00\\u5EA6\\u4E3E\\u529E\\u7684\\u5927\\u578B\\u6280\\u672F\\u4EA4\\u6D41\\u6D3B\\u52A8\\uFF0C\\u4E3B\\u8981\\u9762\\u5411\\u897F\\u5357\\u5730\\u533A Web \\u5E94\\u7528\\u3001JavaScript \\u5168\\u6808\\u5F00\\u53D1\\u9886\\u57DF\\u7684\\u7A0B\\u5E8F\\u5458\\u3001\\u67B6\\u6784\\u5E08\\u3001\\u7814\\u53D1\\u56E2\\u961F\\u7BA1\\u7406\\u8005\\u548C\\u6280\\u672F\\u7231\\u597D\\u8005\\u3002\\u6211\\u4EEC\\u5728\\u501F\\u9274\\u540C\\u7C7B\\u884C\\u4E1A\\u5927\\u4F1A\\u6280\\u672F\\u5206\\u4EAB\\u5B9D\\u8D35\\u7ECF\\u9A8C\\u7684\\u540C\\u65F6\\uFF0C\\u4E5F\\u521B\\u65B0\\u5730\\u589E\\u52A0\\u4E86\\u4F18\\u79C0\\u4F01\\u4E1A\\u73B0\\u573A\\u62DB\\u8058\\u3001\\u5F00\\u6E90\\u9879\\u76EE/\\u793E\\u56E2\\u5BA3\\u4F20\\u5C55\\u4F4D\\uFF0C\\u4E3A\\u4E92\\u8054\\u7F51\\u3001\\u8F6F\\u4EF6\\u5F00\\u53D1\\u6280\\u672F\\u4ECE\\u4E1A\\u8005\\u63D0\\u4F9B\\u4ECE\\u5B66\\u4E60\\u3001\\u6C42\\u804C\\u5230\\u5408\\u4F5C\\u6D3D\\u8C08\\u7684\\u4E00\\u7AD9\\u5F0F\\u8D44\\u8BAF\\u5E73\\u53F0\\uFF0C\\u5168\\u529B\\u6253\\u9020\\u897F\\u5357\\u4E00\\u6D41\\u7684 IT \\u884C\\u4E1A\\u76DB\\u4F1A\\u3002\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"p-4 text-center\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n variant: \"primary\",\n size: \"lg\",\n target: \"_blank\",\n href: \"http://fcc-chengdu.mikecrm.com/tFM8Rk8\",\n children: \"\\u7ACB\\u5373\\u62A5\\u540D\\u53C2\\u52A0\"\n })\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-md-5\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-fluid\",\n src: (0, (/*@__PURE__*/$parcel$interopDefault($cd4016b0816d4e56$exports)))\n })\n })\n ]\n })\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n id: \"Lecturer\",\n className: $c6f94efb3529b7b9$export$85fc6f6fd6332263,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"mb-5\",\n children: \"\\u4E0E\\u4F1A\\u5609\\u5BBE\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"row lecture-list\",\n children: (0, $27b1627f4ff99c0e$export$31da89627f5e6e8b).map(({ avatar: avatar, name: name, detail: detail })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-md-3 p-2\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: $c6f94efb3529b7b9$export$a51de3b6c04f794d,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n src: avatar,\n className: $c6f94efb3529b7b9$export$345c5736c8054f22,\n alt: name\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"lecture-name\",\n children: name\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"lecture-intro text-left\",\n innerHTML: (0, $517b335d25cc69cc$exports.marked)(detail)\n })\n ]\n })\n }, name))\n })\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n id: \"Topic\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-5\",\n children: \"\\u8BAE\\u9898\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"ol\", {\n className: `${$c6f94efb3529b7b9$export$783166601a642219} overflow-hidden list-unstyled position-relative`,\n children: (0, $27b1627f4ff99c0e$export$31978e77bf6e08fb).map(({ lecturer: lecturer, title: title, detail: detail })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"li\", {\n className: title,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h6\", {\n children: lecturer.name\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: $c6f94efb3529b7b9$export$8b0699a3bcbc6095,\n src: lecturer.avatar\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h5\", {\n children: title\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n innerHTML: (0, $517b335d25cc69cc$exports.marked)(detail)\n })\n ]\n })\n ]\n }, title))\n })\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"section\", {\n className: $c6f94efb3529b7b9$export$85fc6f6fd6332263,\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"container\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n id: \"Bazaar\",\n className: \"mb-4\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-5\",\n children: \"\\u5F00\\u6E90\\u5E02\\u96C6\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"row row-cols-1 row-cols-md-3 g-3\",\n children: (0, $27b1627f4ff99c0e$export$39babdfab504f3da).map(({ type: type, URL: URL, title: title, detail: detail, logo: logo })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$60332b2344f7fe41), {\n className: \"overflow-hidden\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$96c5f37208f78bd7), {\n src: logo\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$851de33184ecdac4), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$474db65c3c394e1c), {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n className: \"stretched-link text-primary\",\n target: \"_blank\",\n href: URL,\n children: title\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: `cr cr-top cr-right cr-${type ? \"red\" : \"blue\"}`,\n children: type ? \"\\u793E\\u56E2\" : \"\\u9879\\u76EE\"\n }),\n detail\n ]\n })\n ]\n })\n }, title))\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n id: \"Enterprise\",\n className: \"text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-5\",\n children: \"\\u53C2\\u4F1A\\u4F01\\u4E1A\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"text-muted\",\n children: \"\\u90E8\\u5206\\u4F01\\u4E1A\\u5F00\\u653E\\u73B0\\u573A\\u62DB\\u8058\\u4F4D\\uFF0C\\u6B22\\u8FCE\\u4F18\\u79C0\\u4EBA\\u624D\\u643A\\u7B80\\u5386\\u524D\\u6765~\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"text-muted\",\n children: \"\\uFF08\\u6392\\u540D\\u4E0D\\u5206\\u5148\\u540E\\uFF09\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"row\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-md-7\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"ul\", {\n className: `${$c6f94efb3529b7b9$export$d9f4fb13de619c2b} list-inline`,\n children: (0, $27b1627f4ff99c0e$export$d9f4fb13de619c2b).map((name)=>(0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n className: \"list-inline-item py-1 px-3 m-1 bg-white rounded\",\n children: name\n }, name))\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-md-5\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-fluid\",\n src: (0, (/*@__PURE__*/$parcel$interopDefault($fb2809281e6190c8$exports)))\n })\n })\n ]\n })\n ]\n })\n ]\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n id: \"Schedule\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-5\",\n children: \"\\u65E5\\u7A0B\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$54ec01a60f47d33d), {\n className: \"text-center\",\n striped: true,\n hover: true,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"thead\", {\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"tr\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n scope: \"col\",\n className: \"d-none d-md-block\",\n children: \"#\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n scope: \"col\",\n children: \"\\u65F6\\u95F4\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n scope: \"col\",\n children: \"\\u6D3B\\u52A8\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n scope: \"col\",\n children: \"\\u4E3B\\u5496\"\n })\n ]\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"tbody\", {\n children: (0, $27b1627f4ff99c0e$export$60974f670aa8d75e).map(({ time: time, title: title, topic: topic })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"tr\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n className: \"d-none d-md-block\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n className: \"text-nowrap\",\n children: time\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: title || `\\u{300A}${topic === null || topic === void 0 ? void 0 : topic.title}\\u{300B}`\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: topic === null || topic === void 0 ? void 0 : topic.lecturer.name\n })\n ]\n }, time))\n })\n ]\n })\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n id: \"Review\",\n className: $c6f94efb3529b7b9$export$85fc6f6fd6332263,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-5\",\n children: \"\\u5F80\\u671F\\u7CBE\\u5F69\\u56DE\\u987E\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: `row ${$c6f94efb3529b7b9$export$3b2217e45a573556}`,\n children: (0, $27b1627f4ff99c0e$export$95794f71fd1fcea8).map(({ title: title }, index)=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-md-4\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-fluid\",\n title: title,\n src: (0, $1564f4f7532c0117$export$2e2bcd8739ae039)[index]\n })\n }, title))\n })\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n id: \"Address\",\n className: \"text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center mb-5\",\n children: \"\\u5730\\u5740\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"container\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"text-muted\",\n children: \"\\u5929\\u5E9C\\u5927\\u9053\\u5317\\u6BB5966\\u53F7\\u5929\\u5E9C\\u56FD\\u9645\\u91D1\\u878D\\u4E2D\\u5FC34\\u53F7\\u697C1\\u697C1\\u53F7\\u4F1A\\u8BAE\\u5385\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$438ad6fc467f929b), {\n aspectRatio: \"21x9\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"iframe\", {\n loading: \"lazy\",\n src: `//uri.amap.com/marker?src=fcc-cdc&callnative=1&position=104.065789,30.582013&name=${(0, $27b1627f4ff99c0e$export$fb184b623420d9be)}`\n })\n })\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n id: \"Contributor\",\n className: \"text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n children: \"\\u5171\\u521B\\u4F19\\u4F34\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $27b1627f4ff99c0e$export$95d17814281fb808).map(({ title: title, member: member })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: `${$c6f94efb3529b7b9$export$b48fe2737b0f5681} my-4`,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"h5\", {\n className: \"py-3\",\n children: [\n title,\n \"\\u529E\\u65B9\"\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $bb10fbb2bebf156f$export$d43206f0b9719a5e), {\n member: member\n })\n ]\n }, title))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: `${$c6f94efb3529b7b9$export$b48fe2737b0f5681} my-4`,\n children: (0, $27b1627f4ff99c0e$export$14e304d9e12f4092).map(({ title: title, member: member })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"h5\", {\n className: \"py-3\",\n children: [\n title,\n \"\\u8D5E\\u52A9\"\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $bb10fbb2bebf156f$export$d43206f0b9719a5e), {\n member: member\n })\n ]\n }, title))\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: `${$c6f94efb3529b7b9$export$b48fe2737b0f5681} my-4`,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h5\", {\n className: \"py-3\",\n children: \"\\u5408\\u4F5C\\u4F19\\u4F34\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $bb10fbb2bebf156f$export$d43206f0b9719a5e), {\n member: (0, $27b1627f4ff99c0e$export$dbe41a478099b642)\n })\n ]\n })\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"section\", {\n id: \"CallInAction\",\n className: $c6f94efb3529b7b9$export$85fc6f6fd6332263,\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container text-center\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n variant: \"primary\",\n size: \"lg\",\n target: \"_blank\",\n href: \"http://fcc-chengdu.mikecrm.com/tFM8Rk8\",\n children: \"\\u7ACB\\u5373\\u62A5\\u540D\\u53C2\\u52A0\"\n })\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"footer\", {\n className: \"pt-4 pb-3 clearfix\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"d-none d-md-block\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"ul\", {\n className: \"nav\",\n children: (0, $27b1627f4ff99c0e$export$5a1dbaa3e4449344).map(({ href: href, title: title })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n className: \"nav-item\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n className: \"nav-link\",\n href: href,\n children: title\n })\n }, title))\n })\n })\n })\n })\n ]\n }));\n};\n\n\n\n\n\n\nvar $935b1a5cc0b06123$export$47eb42ff093406d4;\nvar $935b1a5cc0b06123$export$c4868e4a24d48fad;\nvar $935b1a5cc0b06123$export$cad40a1fbf354d25;\nvar $935b1a5cc0b06123$export$272c97a1b11ba122;\nvar $935b1a5cc0b06123$export$bafb94d2383e0c6a;\nvar $935b1a5cc0b06123$export$e29ccbb2861e2c2b;\nvar $935b1a5cc0b06123$export$c86c9bb25613c3e0;\nvar $935b1a5cc0b06123$export$95ea1694ae1caefc;\nvar $935b1a5cc0b06123$export$a5fecaaaad578cea;\nvar $935b1a5cc0b06123$export$942e55ac964debbe;\nvar $935b1a5cc0b06123$export$915e305d7024a555;\nvar $935b1a5cc0b06123$export$ddff9198a58883e4;\nvar $935b1a5cc0b06123$export$7743551f0a2fbac0;\nvar $935b1a5cc0b06123$export$8e52a755e1c274f2;\nvar $935b1a5cc0b06123$export$eabcd2c8791e7bf4;\nvar $935b1a5cc0b06123$export$412a8ab7a1b88646;\nvar $935b1a5cc0b06123$export$b2095415316b9427;\nvar $935b1a5cc0b06123$export$6503ec6e8aabbaf;\nvar $935b1a5cc0b06123$export$120ff0929b202a6d;\nvar $935b1a5cc0b06123$export$f293c759c58d71ed;\nvar $935b1a5cc0b06123$export$fb184b623420d9be;\n$935b1a5cc0b06123$export$47eb42ff093406d4 = `cqVWBq_Detail`;\n$935b1a5cc0b06123$export$c4868e4a24d48fad = `cqVWBq_Info`;\n$935b1a5cc0b06123$export$cad40a1fbf354d25 = `cqVWBq_Purpose`;\n$935b1a5cc0b06123$export$272c97a1b11ba122 = `cqVWBq_Sponsor`;\n$935b1a5cc0b06123$export$bafb94d2383e0c6a = `cqVWBq_card-content`;\n$935b1a5cc0b06123$export$e29ccbb2861e2c2b = `cqVWBq_card-group`;\n$935b1a5cc0b06123$export$c86c9bb25613c3e0 = `cqVWBq_card-title`;\n$935b1a5cc0b06123$export$95ea1694ae1caefc = `cqVWBq_guest`;\n$935b1a5cc0b06123$export$a5fecaaaad578cea = `cqVWBq_guest-avatar`;\n$935b1a5cc0b06123$export$942e55ac964debbe = `cqVWBq_guest-describe`;\n$935b1a5cc0b06123$export$915e305d7024a555 = `cqVWBq_guest-identity`;\n$935b1a5cc0b06123$export$ddff9198a58883e4 = `cqVWBq_guest-name`;\n$935b1a5cc0b06123$export$7743551f0a2fbac0 = `cqVWBq_guest-role`;\n$935b1a5cc0b06123$export$8e52a755e1c274f2 = `cqVWBq_guest-title`;\n$935b1a5cc0b06123$export$eabcd2c8791e7bf4 = `cqVWBq_left`;\n$935b1a5cc0b06123$export$412a8ab7a1b88646 = `cqVWBq_line-center`;\n$935b1a5cc0b06123$export$b2095415316b9427 = `cqVWBq_main-title`;\n$935b1a5cc0b06123$export$6503ec6e8aabbaf = `cqVWBq_register`;\n$935b1a5cc0b06123$export$120ff0929b202a6d = `cqVWBq_row`;\n$935b1a5cc0b06123$export$f293c759c58d71ed = `cqVWBq_rule-list`;\n$935b1a5cc0b06123$export$fb184b623420d9be = `cqVWBq_title`;\n\n\nconst $0923968550ea0b6a$export$deef74555b11a7b5 = ({ avatar: avatar, name: name, role: role, identity: identity, describe: describe })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-md-6 col-xs-12\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: $935b1a5cc0b06123$export$95ea1694ae1caefc,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$3e431a229df88919), {\n className: $935b1a5cc0b06123$export$a5fecaaaad578cea,\n src: avatar\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: $935b1a5cc0b06123$export$8e52a755e1c274f2,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h5\", {\n className: \"guest-name text-white\",\n children: name\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: $935b1a5cc0b06123$export$7743551f0a2fbac0,\n children: role\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: $935b1a5cc0b06123$export$915e305d7024a555,\n children: identity\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: $935b1a5cc0b06123$export$942e55ac964debbe,\n children: describe\n })\n ]\n })\n });\n\n\n\nvar $d796099496f8eb77$exports = {};\n$d796099496f8eb77$exports = new URL(\"BG-mountain.a40cd143.png\", import.meta.url).toString();\n\n\nvar $30274e3425339fa8$exports = {};\n$30274e3425339fa8$exports = new URL(\"BG-points.a36cbcb5.png\", import.meta.url).toString();\n\n\n\nvar $255aa59c3a9467e3$exports = {};\n$255aa59c3a9467e3$exports = new URL(\"fanxiaobin.ddf67f59.jpg\", import.meta.url).toString();\n\n\nvar $44d9fce41b048f20$exports = {};\n$44d9fce41b048f20$exports = new URL(\"hushenquan.3bc3a3e8.jpg\", import.meta.url).toString();\n\n\nvar $d1d4fe3c5283d5c0$exports = {};\n$d1d4fe3c5283d5c0$exports = new URL(\"liangtongming.0896bffc.png\", import.meta.url).toString();\n\n\nvar $4fa860038fc73dfc$exports = {};\n$4fa860038fc73dfc$exports = new URL(\"liwanpeng.3e384392.png\", import.meta.url).toString();\n\n\nvar $81e0cb1a0e809169$exports = {};\n$81e0cb1a0e809169$exports = new URL(\"lvyan.20f8146a.png\", import.meta.url).toString();\n\n\nvar $6cb3cfd1db8acd55$exports = {};\n$6cb3cfd1db8acd55$exports = new URL(\"maoyufeng.4fad4d67.png\", import.meta.url).toString();\n\n\nvar $2ef516450b6940b6$exports = {};\n$2ef516450b6940b6$exports = new URL(\"qinglinbo.b653a5f8.png\", import.meta.url).toString();\n\n\nvar $4a78cb3cca91039b$exports = {};\n$4a78cb3cca91039b$exports = new URL(\"shenchangkun.34a950bc.png\", import.meta.url).toString();\n\n\nvar $9bb451630f17c918$exports = {};\n$9bb451630f17c918$exports = new URL(\"wenqixiang.ba6a4c9e.jpg\", import.meta.url).toString();\n\n\nvar $580adc616712fcf5$exports = {};\n$580adc616712fcf5$exports = new URL(\"zhangwei.8a1eaf8f.png\", import.meta.url).toString();\n\n\n\n\nvar $5bbd072ceedabbc3$exports = {};\n$5bbd072ceedabbc3$exports = new URL(\"cdht.1a98fe03.png\", import.meta.url).toString();\n\n\nvar $e1e07d70eae65b7c$exports = {};\n$e1e07d70eae65b7c$exports = new URL(\"cdhttv.95996f0d.png\", import.meta.url).toString();\n\n\nvar $58dbae6c20f7e9b8$exports = {};\n$58dbae6c20f7e9b8$exports = new URL(\"cdkfx.45303dec.png\", import.meta.url).toString();\n\n\nvar $18664197344d9761$exports = {};\n$18664197344d9761$exports = new URL(\"cdtv.cad3f6aa.png\", import.meta.url).toString();\n\n\nvar $ead64643905bbf07$exports = {};\n$ead64643905bbf07$exports = new URL(\"first.db3f3b7f.png\", import.meta.url).toString();\n\n\nvar $04663b36b91efd96$exports = {};\n$04663b36b91efd96$exports = new URL(\"fm940.57af6fef.png\", import.meta.url).toString();\n\n\nvar $507b7aecc61aa52d$exports = {};\n$507b7aecc61aa52d$exports = new URL(\"github.dc076018.png\", import.meta.url).toString();\n\n\nvar $c4e648e32137e55d$exports = {};\n$c4e648e32137e55d$exports = new URL(\"jhspace.79b894fc.jpeg\", import.meta.url).toString();\n\n\nvar $508b9dc44a4e197f$exports = {};\n$508b9dc44a4e197f$exports = new URL(\"jintai.c9daf80f.png\", import.meta.url).toString();\n\n\nvar $3465604ea8062893$exports = {};\n$3465604ea8062893$exports = new URL(\"JRsquare.3938dff7.png\", import.meta.url).toString();\n\n\nvar $535fcc5d31ee0ee5$exports = {};\n$535fcc5d31ee0ee5$exports = new URL(\"kct.fa12078d.png\", import.meta.url).toString();\n\n\nvar $8b4d9e72eace6242$exports = {};\n$8b4d9e72eace6242$exports = new URL(\"lvs.8542bc34.png\", import.meta.url).toString();\n\n\nvar $5a216a7b1fd4450e$exports = {};\n$5a216a7b1fd4450e$exports = new URL(\"Microsoft.1f15902a.png\", import.meta.url).toString();\n\n\nvar $e425e2b853e3d2ec$exports = {};\n$e425e2b853e3d2ec$exports = new URL(\"mikecrm.4f148944.png\", import.meta.url).toString();\n\n\nvar $935c86b376c50118$exports = {};\n$935c86b376c50118$exports = new URL(\"Monstarlab.412935c4.png\", import.meta.url).toString();\n\n\nvar $590704cd3f5564b2$exports = {};\n$590704cd3f5564b2$exports = new URL(\"scdaily.cc7ea553.png\", import.meta.url).toString();\n\n\nvar $8297cfa4e5151240$exports = {};\n$8297cfa4e5151240$exports = new URL(\"sctv.57b7dcc8.png\", import.meta.url).toString();\n\n\nvar $167777f232ec47ad$exports = {};\n$167777f232ec47ad$exports = new URL(\"SegmentFault.9eb84f2a.png\", import.meta.url).toString();\n\n\nvar $0bc1bd9288b6d594$exports = {};\n$0bc1bd9288b6d594$exports = new URL(\"sinasc.13983356.png\", import.meta.url).toString();\n\n\nvar $e41a15561ec6f361$exports = {};\n$e41a15561ec6f361$exports = new URL(\"tap4fun.7ad8b888.png\", import.meta.url).toString();\n\n\nvar $3a1e7bd47ad8691c$exports = {};\n$3a1e7bd47ad8691c$exports = new URL(\"tedxChengDu.51c170fc.png\", import.meta.url).toString();\n\n\nvar $46884e8576f598a4$exports = {};\n$46884e8576f598a4$exports = new URL(\"ThoughtWorks.a36bb1e9.png\", import.meta.url).toString();\n\n\nvar $65d541299c9eaa0a$exports = {};\n$65d541299c9eaa0a$exports = new URL(\"XinYaoHang.d3fe522f.png\", import.meta.url).toString();\n\n\nvar $a3567955894f4400$exports = {};\n$a3567955894f4400$exports = new URL(\"yunpian.40cabf38.png\", import.meta.url).toString();\n\n\n\n\n\nconst $a854ade9bb1907f4$export$8be1f1f78d12f826 = [\n {\n title: \"\\u4E00\\u7B49\\u5956\",\n detail: \"\\uFFE510000+\"\n },\n {\n title: \"\\u4E8C\\u7B49\\u5956\",\n detail: \"\\uFFE55000+\"\n },\n {\n title: \"\\u4E09\\u7B49\\u5956\",\n detail: \"\\uFFE53000+\"\n },\n {\n title: \"\\u7279\\u522B\\u5956\\u9879\",\n detail: \"\\u82E5\\u5E72\"\n }\n];\nconst $a854ade9bb1907f4$export$d0594af1336a4938 = [\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($44d9fce41b048f20$exports))),\n name: \"\\u80E1\\u80DC\\u5168\",\n role: \"\\u4E13\\u5BB6\\u8BC4\\u59D4\",\n identity: \"\\u6210\\u90FD\\u79D1\\u6280\\u4F01\\u4E1A\\u5B75\\u5316\\u5668\\u534F\\u4F1A\\u9996\\u5E2D\\u8FD0\\u8425\\u5B98\",\n describe: \"\\u957F\\u671F\\u8D1F\\u8D23\\u201C\\u6210\\u90FD\\u79D1\\u6280\\u521B\\u4E1A\\u5BFC\\u5E08\\u201D\\u8BC4\\u9009\\u3001\\u521B\\u4E1A\\u9879\\u76EE\\u8F85\\u5BFC\\u3001\\u521B\\u4E1A\\u5B75\\u5316\\u884C\\u4E1A\\u4EBA\\u624D\\u57F9\\u517B\\u7B49\\u5DE5\\u4F5C\\uFF0C\\u5B8C\\u6210\\u4E86\\u4E0A\\u767E\\u573A\\u8BAD\\u7EC3\\u8425\\u3001\\u521B\\u65B0\\u521B\\u4E1A\\u5927\\u8D5B\\u7B49\\u6D3B\\u52A8\\uFF0C\\u7D2F\\u8BA1\\u57F9\\u8BAD\\u8F85\\u5BFC\\u9879\\u76EE\\u4E0A\\u5343\\u4E2A\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($255aa59c3a9467e3$exports))),\n name: \"\\u6A0A\\u6653\\u5175\",\n role: \"\\u4E13\\u5BB6\\u8BC4\\u59D4\",\n identity: \"\\u9AD8\\u65B0\\u533A\\u521B\\u65B0\\u521B\\u4E1A\\u670D\\u52A1\\u4E2D\\u5FC3\\u521B\\u4E1A\\u670D\\u52A1\\u5904\\u9879\\u76EE\\u7ECF\\u7406\",\n describe: \"\\u957F\\u671F\\u4ECE\\u4E8B\\u79D1\\u6280\\u521B\\u65B0\\u521B\\u4E1A\\u670D\\u52A1\\u5DE5\\u4F5C\\u3001\\u5929\\u5E9C\\u521B\\u4E1A\\u8054\\u76DF\\u521B\\u59CB\\u4EBA\\u3001\\u8D44\\u6DF1\\u6280\\u672F\\u7ECF\\u7EAA\\u4EBA\\uFF0C\\u5929\\u5E9C\\u521B\\u8054\\xae\\u6838\\u5FC3\\u7ADE\\u4E89\\u529B\\u7CFB\\u7EDF\\u53D1\\u660E\\u4EBA\\uFF0C\\u4E13\\u6CE8\\u5E76\\u64C5\\u957F\\u4E8E\\u521B\\u65B0\\u521B\\u4E1A\\u653F\\u7B56\\u89E3\\u8BFB\\u3001\\u6280\\u672F\\u8F6C\\u79FB\\u548C\\u6218\\u7565\\u89C4\\u5212\\u7B49\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($4a78cb3cca91039b$exports))),\n name: \"\\u6C88\\u957F\\u951F\",\n role: \"\\u4E13\\u5BB6\\u8BC4\\u59D4\",\n identity: \"TEDx \\u4E2D\\u56FD\\u533A\\u5927\\u4F7F\",\n describe: \"TEDx \\u4E2D\\u56FD\\u533A\\u5927\\u4F7F\\uFF0CTEDxChengdu \\u53CA TEDxChongqing \\u7B56\\u5C55\\u4EBA\\u3002\\u81EA2012\\u5E74\\u8D77\\u521B\\u529E TEDxChongqing\\uFF0C2016\\u5E74\\u5F53\\u9009 TEDx \\u4E2D\\u56FD\\u533A\\u5927\\u4F7F\\uFF0C\\u5E76\\u57282017\\u5E74\\u53D1\\u8D77 TEDxChengdu\\u3002\\u6C14\\u5019\\u653F\\u7B56\\u7814\\u7A76\\u8005\\uFF0C\\u4E16\\u754C\\u94F6\\u884C\\u7B2C\\u4E94\\u671FCDD\\u9879\\u76EE\\u4E13\\u5458\\u30022011\\u5E74\\u8D77\\u5148\\u540E\\u5165\\u9009 Rio+20 \\u8054\\u5408\\u56FD\\u91CC\\u7EA6\\u5730\\u7403\\u5CF0\\u4F1A\\u3001COP17 \\u8054\\u5408\\u56FD\\u5FB7\\u73ED\\u6C14\\u5019\\u5927\\u4F1A\\u3001COP18 \\u8054\\u5408\\u56FD\\u591A\\u54C8\\u6C14\\u5019\\u5927\\u4F1A\\u3001\\u571F\\u8033\\u5176 Global Power Shift \\u6C14\\u5019\\u8BBA\\u575B\\u4E2D\\u56FD\\u9752\\u5E74\\u4EE3\\u8868\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($6cb3cfd1db8acd55$exports))),\n name: \"\\u6BDB\\u7389\\u5CF0\",\n role: \"\\u4E13\\u5BB6\\u8BC4\\u59D4\",\n identity: \"\\u65B0\\u8000\\u884C\\u96C6\\u56E2\\u8463\\u4E8B\\u957F\",\n describe: \"\\u66FE\\u5C31\\u804C\\u4E8E\\u4E2D\\u539F\\u5730\\u4EA7\\uFF0C\\u6709\\u8FD1\\u4E8C\\u5341\\u5E74\\u5730\\u4EA7\\u4E13\\u4E1A\\u670D\\u52A1\\u8FD0\\u8425\\u4ECE\\u4E1A\\u7ECF\\u9A8C\\u3002\\u6BDB\\u7389\\u5CF0\\u5148\\u751F\\u5E26\\u9886\\u65B0\\u8000\\u884C\\u96C6\\u56E2\\u6DF1\\u8015\\u4E2D\\u56FD\\u5546\\u4E1A\\u5730\\u4EA7\\uFF0C\\u81F4\\u529B\\u4E8E\\u5546\\u4E1A\\u5730\\u4EA7\\u4EF7\\u503C\\u6700\\u5927\\u5316\\u6316\\u6398\\uFF0C\\u5F15\\u9886\\u5546\\u4E1A\\u5730\\u4EA7\\u65B0\\u601D\\u7EF4\\u7684\\u5D1B\\u8D77\\uFF0C\\u5E76\\u4E3A\\u6211\\u4EEC\\u7684\\u57CE\\u5E02\\u548C\\u5C45\\u6C11\\u63D0\\u5347\\u66F4\\u4E3A\\u7F8E\\u597D\\u7684\\u793E\\u533A\\u5546\\u4E1A\\u573A\\u666F\\u800C\\u575A\\u5B9A\\u524D\\u884C\\uFF01\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($9bb451630f17c918$exports))),\n name: \"\\u95FB\\u5176\\u8BE6\",\n role: \"\\u4E13\\u5BB6\\u8BC4\\u59D4\",\n identity: \"GNOME ASIA \\u91CD\\u5E86\\u4E3B\\u5E2D\",\n describe: \"\\u81EA 2007\\u5E74\\u5F00\\u59CB\\u63A5\\u89E6 Linux \\u548C\\u5F00\\u6E90\\u8F6F\\u4EF6\\u5C31\\u6295\\u8EAB\\u5230\\u5F00\\u6E90\\u6D6A\\u6F6E\\u4E4B\\u4E2D\\uFF0C\\u559C\\u7231\\u5F00\\u653E\\u534F\\u4F5C\\u7684\\u5305\\u5BB9\\u6587\\u5316\\uFF0C\\u8BA4\\u540C\\u5F00\\u6E90\\u6587\\u5316\\u7684\\u793E\\u4F1A\\u610F\\u4E49\\u548C\\u751F\\u4EA7\\u529B\\u4EF7\\u503C\\u3002\\u76EE\\u524D\\u662F GNOME \\u57FA\\u91D1\\u4F1A\\u6210\\u5458\\uFF0C\\u4E2D\\u534E\\u6C11\\u56FD\\u8F6F\\u4F53\\u81EA\\u7531\\u534F\\u4F1A\\u6210\\u5458\\uFF0C\\u73B0\\u4E3B\\u8981\\u5173\\u6CE8\\u5728\\u63A8\\u5E7F\\u5F00\\u6E90\\u3001\\u5E94\\u7528\\u5F00\\u6E90\\u6280\\u672F\\u548C\\u5F00\\u6E90\\u7406\\u5FF5\\u8D21\\u732E\\u6559\\u80B2\\u9886\\u57DF\\uFF0C\\u521B\\u529E\\u6709\\u516C\\u76CA\\u5C0F\\u7EC4\\u5F00\\u653E\\u6559\\u80B2\\u53CD\\u5E94\\u5806\\u548C\\u5F00\\u6E90\\u5DE5\\u573A\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($4fa860038fc73dfc$exports))),\n name: \"\\u674E\\u4E07\\u9E4F\",\n role: \"\\u4E13\\u5BB6\\u8BC4\\u59D4\",\n identity: \"\\u4F18\\u805A\\u52A0\\u901F\\u5668\\u521B\\u59CB\\u4EBA&CEO\",\n describe: \"\\u4F18\\u805A\\u52A0\\u901F\\u5668\\u521B\\u59CB\\u4EBA&CEO\\uFF0C\\u6210\\u90FD\\u79D1\\u6280\\u521B\\u4E1A\\u5BFC\\u5E08\\uFF1BiWeb\\u6210\\u90FD\\u7AD9\\u8D1F\\u8D23\\u4EBA\\uFF1B\\u5728\\u79FB\\u52A8\\u4E92\\u8054\\u7F51\\u884C\\u4E1A\\u62E5\\u6709\\u5341\\u56DB\\u5E74\\u7684\\u5B9E\\u64CD\\u7ECF\\u9A8C\\uFF1B\\u201C\\u4F18\\u805A\\u52A0\\u901F\\u5668\\u201D2016\\u5E74\\u4E0A\\u534A\\u5E74\\u4E5F\\u6210\\u529F\\u6295\\u8D44\\u548C\\u5B75\\u53162\\u5BB6VR\\u516C\\u53F8\\uFF0C\\u76EE\\u524D\\u5DF2\\u7ECF\\u83B7\\u5F97\\u9AD8\\u901F\\u7684\\u53D1\\u5C55\\uFF0C\\u5728\\u53BB\\u5E7410\\u6708\\u6210\\u529F\\u83B7\\u5F97\\u79D1\\u6280\\u90E8\\u9881\\u5E03\\u7684\\u201C\\u56FD\\u5BB6\\u7EA7\\u4F17\\u521B\\u7A7A\\u95F4\\u201D\\u7684\\u8363\\u8A89\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($2ef516450b6940b6$exports))),\n name: \"\\u537F\\u7CBC\\u6CE2\",\n role: \"\\u4E13\\u5BB6\\u8BC4\\u59D4\",\n identity: \"\\u56DB\\u5DDD\\u5927\\u5B66\\u526F\\u6559\\u6388&\\u7855\\u58EB\\u751F\\u5BFC\\u5E08\",\n describe: \"\\u5177\\u6709\\u591A\\u5E74\\u4ECE\\u4E8B\\u56FE\\u50CF\\u5904\\u7406\\uFF0C\\u4EBA\\u5DE5\\u667A\\u80FD\\uFF0C\\u5D4C\\u5165\\u5F0F\\u7CFB\\u7EDF\\u7B49\\u9886\\u57DF\\u7406\\u8BBA\\u548C\\u6280\\u672F\\u7814\\u7A76\\u7684\\u7ECF\\u9A8C\\u3002 \\u7F8E\\u56FD\\u89C6\\u89C9\\u79D1\\u5B66\\u5B66\\u4F1A\\uFF08Vision Science Society)\\u4F1A\\u5458\\uFF0C\\u4E9A\\u592A\\u4FE1\\u53F7\\u4E0E\\u4FE1\\u606F\\u5904\\u7406\\u534F\\u4F1A(APSIPA)\\u4F1A\\u5458\\u3002 \\u62C5\\u4EFBIEEE Transactions on Multimedia, IEEE Transactions on Circuits and Systems for Video Technology, International Jounal of Electrical Power and Energy Systems, Journal of Computational and Applied Mathematecs\\u7B49\\u591A\\u4E2A\\u56FD\\u9645\\u5B66\\u672F\\u671F\\u520A\\u7684\\u5BA1\\u7A3F\\u4EBA\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($580adc616712fcf5$exports))),\n name: \"\\u5F20\\u4F1F\",\n role: \"\\u7279\\u9080\\u5609\\u5BBE\",\n identity: \"BBD \\u57FA\\u7840\\u67B6\\u6784\\u90E8\\u7ECF\\u7406\",\n describe: \"\\u66FE\\u5C31\\u804C\\u4E8EOracle\\uFF0C\\u5728Oracle China Offshore Center\\u90E8\\u95E8\\u62C5\\u4EFBMiddleware Consultant\\u3002\\u66FE\\u5C31\\u804C\\u4E8EAlipay\\uFF0C\\u5728\\u91D1\\u878D\\u6838\\u5FC3\\u6280\\u672F\\u90E8\\u62C5\\u4EFB\\u7814\\u53D1\\u5DE5\\u7A0B\\u5E08\\uFF0C\\u53C2\\u4E0E\\u8FC7\\u53CC11\\u6838\\u5FC3\\u4EA4\\u6613\\u7CFB\\u7EDF\\u7684\\u5F00\\u53D1\\u5DE5\\u4F5C\\u3002\\u73B0\\u8D1F\\u8D23BBD\\u4E2D\\u95F4\\u4EF6\\u57FA\\u7840\\u8BBE\\u65BD\\u7684\\u5EFA\\u8BBE\\uFF0C\\u5BF9\\u4F01\\u4E1A\\u7EA7\\u4E2D\\u95F4\\u4EF6\\u3001\\u533A\\u5757\\u94FE\\u6709\\u6D53\\u539A\\u7684\\u5174\\u8DA3\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($d1d4fe3c5283d5c0$exports))),\n name: \"\\u6881\\u6850\\u94ED\",\n role: \"\\u7279\\u9080\\u5609\\u5BBE\",\n identity: \"\\u5FAE\\u8F6F\\u6700\\u6709\\u4EF7\\u503C\\u4E13\\u5BB6(MVP)\",\n describe: \"\\u4ECE2015\\u5E745\\u6708\\u5F00\\u59CB\\u5728\\u56FD\\u5185\\u7684\\u5F00\\u6E90\\u793E\\u533A\\u4E2D\\u8FDB\\u884C\\u63A8\\u5E7FASP.NETBoilerplate Project\\u5F00\\u6E90\\u6846\\u67B6\\uFF0C\\u521B\\u5EFA\\u4E86\\u201D\\u89D2\\u843D\\u7684\\u767D\\u677F\\u62A5\\u201D\\u535A\\u5BA2\\u53CA\\u516C\\u4F17\\u53F7\\uFF0C\\u53D1\\u8868\\u4E00\\u4E9B\\u57FA\\u7840\\u6027\\u6587\\u7AE0\\u6765\\u5E2E\\u52A9\\u5927\\u5BB6\\u63D0\\u9AD8\\u5F00\\u53D1\\u6280\\u5DE7!\\u4EE3\\u7801\\u751F\\u6210\\u5668(ABP Code Generator)\\u4F5C\\u8005\\uFF0C\\u8F85\\u52A9ABP\\u6846\\u67B6\\u4EE5\\u63D0\\u9AD8\\u5F00\\u53D1\\u4EBA\\u5458\\u7684\\u6548\\u7387\\u3002\\u73B0\\u4E3B\\u8981\\u5173\\u6CE8\\u4E8EVSTS\\u3001Devops\\u3001\\u533A\\u5757\\u94FE\\u7B49\\u65B9\\u5411\\u7684\\u5B9E\\u8DF5\\u548C\\u843D\\u5730\\u3002\"\n },\n {\n avatar: (0, (/*@__PURE__*/$parcel$interopDefault($81e0cb1a0e809169$exports))),\n name: \"\\u5415\\u5F66\",\n role: \"\\u7279\\u9080\\u5609\\u5BBE\",\n identity: \"\\u9AD8\\u7EA7\\u9879\\u76EE\\u7ECF\\u7406\",\n describe: \"\\u5FAE\\u8F6F\\u5927\\u4E2D\\u534E\\u533A\\u521B\\u65B0\\u6280\\u672F\\u5408\\u4F5C\\u4E8B\\u4E1A\\u90E8\\u9AD8\\u7EA7\\u9879\\u76EE\\u7ECF\\u7406\\u3002\\u5177\\u670914\\u5E74IT\\u884C\\u4E1AB2B\\u5E02\\u573A\\u7ECF\\u9A8C\\uFF0C\\u8D1F\\u8D23\\u5FAE\\u8F6F\\u4E2D\\u56FD\\u793E\\u533A\\u53CA\\u6821\\u56ED\\u7CBE\\u82F1\\u9879\\u76EE\"\n }\n];\nconst $a854ade9bb1907f4$export$14e304d9e12f4092 = [\n {\n title: \"\\u4E3B\\u529E\\u5355\\u4F4D\",\n list: [\n {\n title: \"\\u9AD8\\u65B0\\u533A\\u521B\\u65B0\\u521B\\u4E1A\\u670D\\u52A1\\u4E2D\\u5FC3\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($5bbd072ceedabbc3$exports)))\n },\n {\n title: \"\\u6210\\u90FD\\u79D1\\u6280\\u4F01\\u4E1A\\u5B75\\u5316\\u5668\\u534F\\u4F1A\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($58dbae6c20f7e9b8$exports)))\n },\n {\n title: \"FCC\\u6210\\u90FD\\u793E\\u533A\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($e7d6b8eb2ce23144$exports)))\n }\n ]\n },\n {\n title: \"\\u51A0\\u540D\\u5355\\u4F4D\",\n list: [\n {\n title: \"\\u6210\\u90FD\\u65B0\\u8000\\u884C\\u623F\\u4EA7\\u8425\\u9500\\u7B56\\u5212\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($65d541299c9eaa0a$exports)))\n }\n ]\n },\n {\n title: \"\\u627F\\u529E\\u5355\\u4F4D\",\n list: [\n {\n title: \"\\u5408\\u521B\\u65B0\\u4E1A\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($662e987c20c03472$exports)))\n },\n {\n title: \"\\u83C1\\u84C9\\u56FD\\u9645\\u5E7F\\u573A\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($3465604ea8062893$exports)))\n }\n ]\n },\n {\n title: \"\\u5E73\\u53F0\\u63D0\\u4F9B\",\n list: [\n {\n title: \"\\u68A6\\u601D\\u7279\\u79D1\\u6280(\\u6210\\u90FD)\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($935c86b376c50118$exports)))\n }\n ]\n },\n {\n title: \"\\u5408\\u4F5C\\u4F19\\u4F34\",\n list: [\n {\n title: \"Github\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($507b7aecc61aa52d$exports)))\n },\n {\n title: \"\\u5FAE\\u8F6F\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($5a216a7b1fd4450e$exports)))\n },\n {\n title: \"BBD\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($863cb8015367ae2a$exports)))\n },\n {\n title: \"\\u5C3C\\u6BD5\\u9C81\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($e41a15561ec6f361$exports)))\n },\n {\n title: \"\\u4EA4\\u6362\\u7A7A\\u95F4\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($c4e648e32137e55d$exports)))\n },\n {\n title: \"\\u6398\\u91D1\",\n imageURL: (0, $c27d65df7592ab6e$export$bb383df5b32c05b7)\n },\n {\n title: \"\\u5F00\\u6E90\\u4E2D\\u56FD\",\n imageURL: (0, $c27d65df7592ab6e$export$7f92890d073cca8c)\n },\n {\n title: \"SegmentFault\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($167777f232ec47ad$exports)))\n },\n {\n title: \"ThoughtWorks\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($46884e8576f598a4$exports)))\n },\n {\n title: \"GDG\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($51a2966f480b352a$exports)))\n },\n {\n title: \"TEDxChengDu\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($3a1e7bd47ad8691c$exports)))\n },\n {\n title: \"\\u733F\\u751F\\u6001\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($7ffbc875f7ac1285$exports)))\n },\n {\n title: \"\\u4E2A\\u63A8\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($10a01317cf4fa804$exports)))\n },\n {\n title: \"\\u9EA6\\u5BA2\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($e425e2b853e3d2ec$exports)))\n },\n {\n title: \"\\u5B9E\\u9A8C\\u697C\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($e24a2fee3e566a5a$exports)))\n },\n {\n title: \"\\u83F2\\u65AF\\u7279\\u5730\\u4EA7\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($ead64643905bbf07$exports)))\n },\n {\n title: \"\\u9526\\u6CF0\\u5730\\u4EA7\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($508b9dc44a4e197f$exports)))\n },\n {\n title: \"LiveVideoStack\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($8b4d9e72eace6242$exports)))\n },\n {\n title: \"yunpian\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($a3567955894f4400$exports)))\n }\n ]\n },\n {\n title: \"\\u5A92\\u4F53\\u4F19\\u4F34\",\n list: [\n {\n title: \"\\u56DB\\u5DDD\\u7701\\u7535\\u89C6\\u53F0\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($8297cfa4e5151240$exports)))\n },\n {\n title: \"\\u6210\\u90FD\\u7535\\u89C6\\u53F0\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($18664197344d9761$exports)))\n },\n {\n title: \"\\u6210\\u90FD\\u9AD8\\u65B0\\u533A\\u7535\\u89C6\\u53F0\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($e1e07d70eae65b7c$exports)))\n },\n {\n title: \"\\u65B0\\u6D6A\\u56DB\\u5DDD\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($0bc1bd9288b6d594$exports)))\n },\n {\n title: \"\\u56DB\\u5DDD\\u65E5\\u62A5\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($590704cd3f5564b2$exports)))\n },\n {\n title: \"\\u56DB\\u5DDD\\u8D22\\u5BCC\\u5E7F\\u64AD\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($04663b36b91efd96$exports)))\n },\n {\n title: \"\\u79D1\\u521B\\u901A\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($535fcc5d31ee0ee5$exports)))\n },\n {\n title: \"IT\\u5927\\u5496\\u8BF4\",\n imageURL: (0, (/*@__PURE__*/$parcel$interopDefault($8f031a4a1b50f8f1$exports)))\n }\n ]\n }\n];\nconst $a854ade9bb1907f4$export$95794f71fd1fcea8 = [\n {\n title: \"FCC \\u6210\\u90FD\\u793E\\u533A Hackathon\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[0]\n },\n {\n title: \"\\u300A\\u7A0B\\u5E8F\\u5458\\u804C\\u4E1A\\u751F\\u6DAF\\u89C4\\u5212\\u300BFCC \\u6210\\u90FD Code & Coffee #21\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[1]\n },\n {\n title: \"2017 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\\uFF08\\u4F1A\\u573A\\u4FA7\\u5F71\\uFF09\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[2]\n },\n {\n title: \"\\u8BA4\\u771F\\u7B14\\u8BB0\\u7684 FCC \\u6D3B\\u8DC3\\u793E\\u5458\\uFF082017 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\\uFF09\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[3]\n },\n {\n title: \"2017 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\\uFF08\\u4F1A\\u540E\\u5408\\u5F71\\uFF09\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[4]\n },\n {\n title: \"2017 \\u6210\\u90FD Web \\u524D\\u7AEF\\u5927\\u4F1A\\uFF08\\u542C\\u4F17\\u63D0\\u95EE\\uFF09\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[5]\n },\n {\n title: \"2017 \\u5168\\u7403\\u5F00\\u53D1\\u8005\\u5173\\u7CFB\\u5927\\u4F1A\\uFF08\\u6210\\u90FD\\u5206\\u4F1A\\u573A\\uFF09\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[6]\n },\n {\n title: \"\\u9F99\\u6CC9\\u4E2D\\u5B66 IT \\u79D1\\u666E\",\n imageURL: (0, $edb04c5a5f81baaf$export$2e2bcd8739ae039)[7]\n }\n];\n\n\nconst $2820d241879d4374$export$1bd94ce9e78f84ed = (props)=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"main\", Object.assign({}, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"text-light\",\n style: {\n backgroundImage: `url(${(0, (/*@__PURE__*/$parcel$interopDefault($d796099496f8eb77$exports)))})`\n },\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"container px-3 py-5\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"row\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: `col-xs-12 col-md-6`,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h1\", {\n className: `${$935b1a5cc0b06123$export$b2095415316b9427} text-white`,\n children: \"2018 \\u9ED1\\u5BA2\\u677E\\u5927\\u8D5B\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"theme text-white\",\n children: \"Code for City\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n className: $935b1a5cc0b06123$export$6503ec6e8aabbaf,\n variant: \"primary\",\n target: \"_blank\",\n href: \"https://fcc.hackerearth.com/zh/\",\n children: \"\\u53C2\\u8D5B\\u901A\\u9053 \\u2192\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"ul\", {\n className: \"list-unstyled\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u7EBF\\u4E0A\\u9884\\u8D5B\\uFF1A2018 \\u5E74 1 \\u6708 12 \\u65E5 20:00 ~ 2018 \\u5E74 1 \\u6708 14 \\u65E5 20:00\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u51B3\\u8D5B\\u65E5\\u671F\\uFF1A2018 \\u5E74 1 \\u6708 20 \\u65E5 9:00 ~ 19:00\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u51B3\\u8D5B\\u5730\\u5740\\uFF1A\\u9AD8\\u65B0\\u5929\\u5E9C\\u4E94\\u8857 200 \\u53F7\\u83C1\\u84C9\\u56FD\\u9645\\u5E7F\\u573A 7 \\u680B 1 \\u53F7\\u83C1\\u84C9\\u6C47\\u4E3B\\u4F1A\\u573A\"\n })\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-xs-12 col-md-6\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$144901db2ea8e967), {\n interval: 3000,\n children: (0, $a854ade9bb1907f4$export$95794f71fd1fcea8).map(({ imageURL: imageURL, title: title })=>(0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$42c20acb2971398c), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$3e431a229df88919), {\n className: \"d-block w-100\",\n src: imageURL\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$a81c9b47f1cf1e63), {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"h5\", {\n children: title\n })\n })\n ]\n }, imageURL))\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"d-md-flex w-100 align-items-start my-5\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n className: `${$935b1a5cc0b06123$export$c86c9bb25613c3e0} ${$935b1a5cc0b06123$export$412a8ab7a1b88646} mr-md-3`,\n children: \"\\u5927\\u8D5B\\u5B97\\u65E8\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"ul\", {\n className: `list-unstyled ${$935b1a5cc0b06123$export$bafb94d2383e0c6a} flex-fill`,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u5173\\u6CE8\\u57CE\\u5E02\\u751F\\u6D3B\\uFF1A\\u4EE5\\u201CCode For City\\u201D\\u4E3A\\u4E3B\\u9898\\uFF0C\\u65E8\\u5728\\u7528\\u5B9E\\u9645\\u7F16\\u7A0B\\u884C\\u52A8\\u6539\\u53D8\\u57CE\\u5E02\\u751F\\u6D3B\\uFF0C\\u8BA9\\u57CE\\u5E02\\u66F4\\u7F8E\\u597D\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u9F13\\u52B1\\u6280\\u672F\\u521B\\u65B0\\uFF1A\\u521B\\u610F\\u4E0E\\u5B9E\\u8DF5\\u76F8\\u4E92\\u7ED3\\u5408\\uFF0C\\u60F3\\u8C61\\u4E0E\\u884C\\u52A8\\u4E8C\\u8005\\u5E76\\u91CD\\uFF0C\\u662F\\u672C\\u6B21\\u5927\\u8D5B\\u7684\\u91CD\\u8981\\u8BC4\\u5224\\u6807\\u51C6\\u4E4B\\u4E00\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u63D0\\u5347\\u884C\\u4E1A\\u6C1B\\u56F4\\uFF1A\\u521B\\u9020\\u6709\\u4EF7\\u503C\\u7684\\u4EA7\\u54C1\\uFF0C\\u6316\\u6398\\u6709\\u6F5C\\u529B\\u7684\\u56E2\\u961F\\uFF0C\\u52A0\\u5F3A\\u9AD8\\u65B0\\u533A\\u5BF9\\u4EBA\\u624D\\u3001\\u4F01\\u4E1A\\u8D44\\u672C\\u7684\\u5438\\u5F15\\u529B\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u5C55\\u73B0\\u6210\\u90FD\\u98CE\\u91C7\\uFF1A\\u6253\\u9020\\u4E00\\u4E2A\\u5E7F\\u6CDB\\u805A\\u7126\\u7684\\u821E\\u53F0\\uFF0C\\u4E00\\u5C55\\u6210\\u90FD\\u7A0B\\u5E8F\\u5458\\u98CE\\u91C7\\uFF0C\\u5F70\\u663E\\u6210\\u90FDIT\\u65B0\\u4E00\\u7EBF\\u7684\\u57CE\\u5E02\\u98CE\\u8C8C\"\n })\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"d-md-flex w-100 align-items-start my-5 flex-row-reverse\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n className: `${$935b1a5cc0b06123$export$c86c9bb25613c3e0} ${$935b1a5cc0b06123$export$412a8ab7a1b88646} ml-md-3`,\n children: \"\\u54C1\\u724C\\u7406\\u5FF5\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: $935b1a5cc0b06123$export$bafb94d2383e0c6a,\n children: \"Code for City \\u662F freeCodeCamp China \\u7684\\u54C1\\u724C\\u6D3B\\u52A8\\uFF0C\\u901A\\u8FC7\\u8054\\u5408\\u4F01\\u4E1A\\u3001\\u9AD8\\u6821\\u3001\\u6280\\u672F\\u793E\\u533A\\u3001\\u516C\\u76CA\\u7EC4\\u7EC7\\u7B49\\u673A\\u6784\\uFF0C\\u4EE5\\u7F16\\u7A0B\\u5DE5\\u4F5C\\u574A\\u6216\\u9ED1\\u5BA2\\u677E\\u7B49\\u5F62\\u5F0F\\uFF0C\\u8D4B\\u80FD\\u9752\\u5E74\\u4EBA\\u4E3A\\u793E\\u4F1A\\u95EE\\u9898\\u8BBE\\u8BA1\\u89E3\\u51B3\\u65B9\\u6848\\uFF0C\\u65E8\\u5728\\u63A8\\u52A8\\u7F16\\u7A0B\\u7684\\u666E\\u53CA\\uFF0C\\u7528\\u6280\\u672F\\u5F71\\u54CD\\u4E16\\u754C\\u3002\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"col-md-12 col-xs-12 mt-md-5 text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h3\", {\n className: `${$935b1a5cc0b06123$export$fb184b623420d9be} ${$935b1a5cc0b06123$export$412a8ab7a1b88646} text-white\"`,\n children: \"\\u5927\\u8D5B\\u5956\\u9879\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"my-4\",\n children: (0, $a854ade9bb1907f4$export$8be1f1f78d12f826).map(({ title: title, detail: detail })=>(0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n className: \"text-white\",\n children: title\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n children: detail\n })\n ]\n }))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col-md-12 my-4\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n style: {\n color: \"darkgray\"\n },\n children: \"\\u6240\\u6709\\u5956\\u9879\\u4EE5\\u73B0\\u91D1\\u6216\\u540C\\u7B49\\u4EF7\\u503C\\u5956\\u54C1\\u53D1\\u653E\"\n })\n })\n ]\n })\n ]\n })\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: $935b1a5cc0b06123$export$47eb42ff093406d4,\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"container px-3 py-5\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n className: \"text-center my-5\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n className: `${$935b1a5cc0b06123$export$fb184b623420d9be} ${$935b1a5cc0b06123$export$412a8ab7a1b88646} text-white text-center\"`,\n children: \"\\u5927\\u8D5B\\u53C2\\u8D5B\\u961F\\u4F0D\\u89C4\\u6A21\\u53CA\\u89C4\\u5219\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"small\", {\n className: \"p-3\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"span\", {\n className: \"pr-4\",\n children: \"\\u6D77\\u9009\\u671F\\uFF1A\\u4E0D\\u9650\"\n }),\n \"\\u51B3\\u8D5B\\u65E5\\uFF1A6\\u652F\"\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"ol\", {\n className: $935b1a5cc0b06123$export$f293c759c58d71ed,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u53C2\\u8D5B\\u961F\\u957F\\u901A\\u8FC7\\u5B98\\u65B9\\u94FE\\u63A5\\u6216\\u8005\\u5B98\\u65B9\\u5FAE\\u4FE1\\u7FA4\\u62A5\\u540D\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u961F\\u957F\\u5728\\u83B7\\u5F97\\u5B98\\u65B9\\u6388\\u4E88\\u7684\\u6743\\u9650\\u4E4B\\u540E\\uFF0C\\u62C9\\u961F\\u5458\\u8FDB\\u5165\\u81EA\\u5DF1\\u7684Team\\uFF08GitHub \\u5BF9\\u5E94\\u7684 team\\u3001repository \\u81EA\\u52A8\\u521B\\u5EFA\\uFF09\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"\\u53C2\\u8D5B\\u961F\\u6210\\u5458\\u5728\\u6BD4\\u8D5B\\u5F00\\u59CB\\u65F6\\u624D\\u88AB\\u8D4B\\u4E88\\u4EE3\\u7801\\u5E93 push \\u6743\\u9650\\uFF0C\\u5728\\u8BC4\\u9009\\u9636\\u6BB5\\u6682\\u65F6\\u5931\\u53BB push \\u6743\\u9650\\uFF0C\\u8D5B\\u540E\\u4F1A\\u53D6\\u5F97 admin \\u6743\\u9650\\u4EE5\\u4FBF\\u7EE7\\u7EED\\u5F00\\u53D1\"\n })\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n className: \"text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n className: `${$935b1a5cc0b06123$export$fb184b623420d9be} ${$935b1a5cc0b06123$export$412a8ab7a1b88646} text-white\"`,\n children: \"\\u5609\\u5BBE\\u8BC4\\u59D4\\u4ECB\\u7ECD\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"small\", {\n style: {\n color: \"#697078\"\n },\n children: \"\\u6309\\u9996\\u5B57\\u6BCD\\u6392\\u5E8F\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"d-flex flex-wrap\",\n children: (0, $a854ade9bb1907f4$export$d0594af1336a4938).map((0, $0923968550ea0b6a$export$deef74555b11a7b5))\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: $935b1a5cc0b06123$export$272c97a1b11ba122,\n style: {\n backgroundImage: `url(${(0, (/*@__PURE__*/$parcel$interopDefault($30274e3425339fa8$exports)))})`\n },\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n className: \"p-5\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n className: \"text-white\",\n children: \"\\u5408\\u4F5C\\u5355\\u4F4D\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"row\",\n children: (0, $a854ade9bb1907f4$export$14e304d9e12f4092).map(({ title: title, list: list })=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"col-md-2 col-sm-6 col-xs-6\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h5\", {\n className: \"text-white\",\n children: title\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"ul\", {\n className: \"list-unstyled\",\n children: list.map(({ title: title })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: title\n }))\n })\n ]\n }))\n })\n ]\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"ul\", {\n className: \"list-unstyled d-flex flex-wrap justify-content-around align-items-center\",\n children: (0, $a854ade9bb1907f4$export$14e304d9e12f4092).map(({ list: list })=>list.map(({ imageURL: imageURL, title: title })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-fluid m-3\",\n style: {\n width: \"12rem\"\n },\n src: imageURL,\n alt: title\n })\n })))\n })\n ]\n })\n })\n ]\n }));\n\n\n\n\nvar $eV21f = parcelRequire(\"eV21f\");\n\n\n\nvar $caef08c0fc9a9584$exports = {};\n$caef08c0fc9a9584$exports = JSON.parse('{\"title\":\"2019 \\u6210\\u90FD Web \\u5168\\u6808\\u5927\\u4F1A\",\"address\":\"\\u6210\\u90FD\\u5E02\\u9AD8\\u65B0\\u533A\\u5929\\u5E9C\\u4E94\\u8857\\u83C1\\u84C9\\u56FD\\u9645\\u5E7F\\u573A 7 \\u53F7\\u697C\\u4E3B\\u4F1A\\u573A\",\"menu\":[{\"title\":\"\\u5927\\u4F1A\\u8BAE\\u9898\",\"href\":\"#Topic\"},{\"title\":\"\\u5927\\u5496\\u8BB2\\u5E08\",\"href\":\"#Mentor\"},{\"title\":\"\\u5171\\u521B\\u4F19\\u4F34\",\"href\":\"#Contributor\"},{\"title\":\"\\u4F1A\\u573A\\u4EA4\\u901A\",\"href\":\"#Address\"},{\"title\":\"\\u6211\\u7684\\u9080\\u8BF7\\u51FD\",\"href\":\"2019/invitation/\"},{\"title\":\"\\u8D22\\u52A1\\u516C\\u5F00\",\"href\":\"2019/accounts/\"}],\"mentors\":[{\"id\":4,\"name\":\"\\u8D3A\\u5E08\\u4FCA\",\"GitHub\":\"hax\",\"organization\":\"360 \\u6280\\u672F\\u59D4\\u5458\\u4F1A\",\"title\":\"Web \\u524D\\u7AEF TC \\u59D4\\u5458\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/He-ShiJun.png\",\"introduction\":\"ECMA TC39 \\u4EE3\\u8868\\uFF0CW3C Chinese Web IG \\u6210\\u5458\"},{\"id\":5,\"name\":\"\\u9648\\u68EE\\u68EE\",\"GitHub\":\"wanyicss\",\"organization\":\"\\u963F\\u91CC\\u4E91\",\"title\":\"Web \\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-0/ChenSenSen.png\"},{\"id\":2,\"name\":\"\\u6155\\u9633\",\"GitHub\":\"myzhibie\",\"organization\":\"\\u534E\\u4E3A\\u4E91\",\"title\":\"Web \\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-0/MuYang.jpeg\"},{\"id\":3,\"name\":\"\\u5C39\\u5409\\u5CF0\",\"GitHub\":\"flisky\",\"title\":\"\\u5168\\u6808\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Yin-JiFeng.jpg\"},{\"id\":1,\"name\":\"\\u6B7B\\u6708\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-0/SiYue.jpg\",\"GitHub\":\"XadillaX\",\"organization\":\"\\u8682\\u8681\\u91D1\\u670D\",\"title\":\"Node.js \\u5DE5\\u7A0B\\u5E08\"},{\"id\":8,\"name\":\"\\u8499\\u7EF4\",\"GitHub\":\"mengweivictor\",\"organization\":\"\\u4E9A\\u9A6C\\u900A AWS\",\"title\":\"\\u9AD8\\u7EA7\\u89E3\\u51B3\\u65B9\\u6848\\u67B6\\u6784\\u5E08\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Meng-Wei.jpg\"},{\"id\":7,\"name\":\"\\u9648\\u6D0B\\u5F6C\",\"GitHub\":\"imnemo\",\"organization\":\"\\u9EA6\\u9EA6\\u517B\\u8001\",\"title\":\"\\u8F6F\\u4EF6\\u7814\\u53D1\\u8D1F\\u8D23\\u4EBA\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Chen-YangBing.jpg\"},{\"id\":10,\"name\":\"\\u4F59\\u6CFD\\u6C5F\",\"GitHub\":\"trotyl\",\"organization\":\"ThoughtWorks\",\"title\":\"\\u54A8\\u8BE2\\u5E08\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-0/YuZeJiang.png\"},{\"id\":9,\"name\":\"\\u8C22\\u626C\",\"GitHub\":\"leinue\",\"organization\":\"\\u84B8\\u6C7D\\u8BB0\\u5FC6\",\"title\":\"\\u521B\\u59CB\\u4EBA\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-0/XieYang.jpeg\"},{\"id\":6,\"name\":\"\\u9648\\u6210\",\"GitHub\":\"sorrycc\",\"organization\":\"\\u8682\\u8681\\u91D1\\u670D\",\"title\":\"Web \\u524D\\u7AEF\\u6280\\u672F\\u4E13\\u5BB6\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Chen-Cheng.jpeg\"},{\"id\":11,\"name\":\"\\u6EE1\\u8FDC\\u8363\",\"GitHub\":\"manyuanrong\",\"organization\":\"Deno \\u4E2D\\u56FD\\u793E\\u533A\",\"title\":\"\\u53D1\\u8D77\\u4EBA\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-0/ManYuanRong.jpg\"},{\"id\":12,\"name\":\"\\u4E8E\\u822A\",\"GitHub\":\"Becavalier\",\"organization\":\"PayPal\",\"title\":\"Web \\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Yu-Hang.jpeg\"},{\"id\":13,\"name\":\"\\u5510\\u521A\",\"GitHub\":\"daogangtang\",\"organization\":\"RustCC \\u793E\\u533A\",\"title\":\"\\u8054\\u5408\\u521B\\u59CB\\u4EBA\",\"avatar\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Tang-Gang.jpg\"},{\"id\":14,\"name\":\"Jack Works\",\"GitHub\":\"Jack-Works\",\"organization\":\"Dimension\",\"title\":\"\\u73B0\\u4EE3\\u524D\\u7AEF\\u9B54\\u6CD5\\u4F7F\",\"avatar\":\"https://github.com/Jack-Works.png\"},{\"id\":15,\"name\":\"\\u8C22\\u5F6C\\u5F6C\",\"GitHub\":\"xiebinbin\",\"title\":\"\\u5168\\u6808\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://github.com/xiebinbin.png\"},{\"id\":16,\"name\":\"\\u8463\\u6D9B\",\"GitHub\":\"mtsee\",\"title\":\"Web \\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://github.com/mtsee.png\"},{\"id\":17,\"name\":\"\\u53F6\\u5E08\\u5085\",\"GitHub\":\"Tealeafpei\",\"organization\":\"AALab \\u7B97\\u6CD5\\u827A\\u672F\\u5B9E\\u9A8C\\u5BA4\",\"title\":\"\\u7B97\\u6CD5\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://github.com/Tealeafpei.png\"},{\"id\":18,\"name\":\"\\u5510\\u777F\",\"GitHub\":\"tangrui\",\"organization\":\"\\u963F\\u91CC\\u4E91\",\"title\":\"\\u4EA7\\u54C1\\u7ECF\\u7406\",\"avatar\":\"https://github.com/tangrui.png\"},{\"id\":19,\"name\":\"\\u5442\\u9756\",\"GitHub\":\"JimmyLv\",\"organization\":\"\\u4E2D\\u56FD\\u6781\\u9650\\u7F16\\u7A0B\\u5B9E\\u8DF5\\u8005\\u793E\\u7FA4\",\"title\":\"Web \\u524D\\u7AEF\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://github.com/JimmyLv.png\"},{\"id\":20,\"name\":\"\\u5B59\\u534E\",\"GitHub\":\"bnusunny\",\"organization\":\"\\u4E9A\\u9A6C\\u900A AWS\",\"title\":\"\\u5DE5\\u7A0B\\u5E08\",\"avatar\":\"https://github.com/bnusunny.png\"}],\"topics\":[{\"title\":\"\\u8682\\u8681\\u524D\\u7AEF\\u7814\\u53D1\\u6700\\u4F73\\u5B9E\\u8DF5\",\"type\":\"lecture\",\"mentorId\":6,\"date\":\"2019-11-16\",\"time\":[\"09:30\",\"10:10\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/ant-design.png\",\"slideshow\":\"https://docs.qq.com/slide/DTllLRUx6b0N3bnZi\"},{\"title\":\"\\u57FA\\u4E8E Node.js \\u6253\\u9020\\u7814\\u53D1\\u56E2\\u961F\\u7684\\u745E\\u58EB\\u519B\\u5200\",\"type\":\"lecture\",\"mentorId\":7,\"date\":\"2019-11-16\",\"time\":[\"10:10\",\"10:50\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/nodejs.png\",\"slideshow\":\"https://docs.qq.com/slide/DTmJISEVjc09EaXha\"},{\"title\":\"\\u57CE\\u5E02\\u5927\\u8111\\u5730\\u56FE\\u53EF\\u89C6\\u5316\\u6280\\u672F\\u5B9E\\u8DF5\",\"type\":\"lecture\",\"mentorId\":5,\"date\":\"2019-11-16\",\"time\":[\"10:50\",\"11:30\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/aliyun.png\",\"slideshow\":\"https://docs.qq.com/slide/DTmV3QmhFbVh6Q3F3\"},{\"title\":\"\\u57FA\\u4E8E GraphQL \\u7684\\u4E1A\\u52A1\\u4E2D\\u53F0\\u5B9E\\u8DF5\",\"type\":\"lecture\",\"mentorId\":3,\"date\":\"2019-11-16\",\"time\":[\"11:30\",\"12:10\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/graphql.png\",\"slideshow\":\"https://docs.qq.com/slide/DTmtldVpQUkl5S0ZD\"},{\"title\":\"SoLiD \\u793E\\u4EA4\\u4E92\\u8054\\u6570\\u636E \\u2014\\u2014 \\u4E07\\u7EF4\\u7F51\\u4E4B\\u7236\\u7684\\u6570\\u636E\\u4E3B\\u6743\\u9769\\u547D\",\"type\":\"lecture\",\"mentorId\":9,\"date\":\"2019-11-16\",\"time\":[\"14:00\",\"14:40\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/solid.png\",\"slideshow\":\"https://leinue.github.io/webfullstack-2019/index.html\"},{\"title\":\"\\u4ECE Infrastructure as Code \\u5230 Open Application Model \\u2014\\u2014 \\u586B\\u8865\\u5F00\\u53D1\\u5230\\u8FD0\\u7EF4\\u7684\\u9E3F\\u6C9F\",\"type\":\"lecture\",\"mentorId\":18,\"date\":\"2019-11-16\",\"time\":[\"14:40\",\"15:20\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/oam-dev.png\",\"slideshow\":\"https://docs.qq.com/slide/DTnVmRlRkcHhKQXhs\"},{\"title\":\"\\u7528 Python Flask \\u6253\\u9020\\u5C0F\\u578B\\u89C6\\u9891\\u70B9\\u64AD\\u7AD9\",\"type\":\"lecture\",\"mentorId\":15,\"date\":\"2019-11-16\",\"time\":[\"15:40\",\"16:20\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/FFmpeg.png\",\"slideshow\":\"https://docs.qq.com/slide/DTkJFVHZ2RUhvVWto\"},{\"title\":\"DevCloud Web Components \\u5B9E\\u8DF5\",\"type\":\"lecture\",\"mentorId\":2,\"date\":\"2019-11-16\",\"time\":[\"16:20\",\"17:00\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/webcomponents.png\",\"slideshow\":\"https://docs.qq.com/slide/DTnlwYmFham56YkFI\"},{\"title\":\"\\u804A\\u804A Node.js \\u6784\\u5EFA\\u90E8\\u7F72\\u65F6\\u6211\\u4EEC\\u8981\\u5173\\u5FC3\\u7684\\u6570\\u636E\",\"type\":\"lecture\",\"mentorId\":1,\"date\":\"2019-11-16\",\"time\":[\"17:00\",\"17:40\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/nodejs.png\",\"slideshow\":\"https://docs.qq.com/slide/DTmt3VllvaGhtRFdk\"},{\"title\":\"\\u65E0\\u670D\\u52A1\\u5668\\u8BA1\\u7B97\\u67B6\\u6784\",\"type\":\"lecture\",\"mentorId\":8,\"date\":\"2019-11-17\",\"time\":[\"09:30\",\"10:10\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/serverless.png\",\"slideshow\":\"https://docs.qq.com/pdf/DTlJFSE5pVk16WHJV\"},{\"title\":\"\\u4ECE Angular Ivy \\u8BA4\\u8BC6\\u524D\\u7AEF\\u6846\\u67B6\",\"type\":\"lecture\",\"mentorId\":10,\"date\":\"2019-11-17\",\"time\":[\"10:10\",\"10:50\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/angular.png\",\"slideshow\":\"https://docs.qq.com/slide/DTk1ITEZNbnRtZXlO\"},{\"title\":\"Thoughts In Deno\",\"type\":\"lecture\",\"mentorId\":11,\"date\":\"2019-11-17\",\"time\":[\"10:50\",\"11:30\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/denoland.png\",\"slideshow\":\"https://ppt.baomitu.com/d/9ffcac5c\"},{\"title\":\"Brand New Things in WebAssembly Post-MVP Standard\",\"type\":\"lecture\",\"mentorId\":12,\"date\":\"2019-11-17\",\"time\":[\"11:30\",\"12:10\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/WebAssembly.png\",\"slideshow\":\"https://docs.qq.com/slide/DTnhJYUN2dUhtWFRQ\"},{\"title\":\"Rust \\u8BED\\u8A00\\u5168\\u6808\\u5F00\\u53D1\",\"type\":\"lecture\",\"mentorId\":13,\"date\":\"2019-11-17\",\"time\":[\"14:00\",\"14:40\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/rust-lang.png\",\"slideshow\":\"https://docs.qq.com/slide/DTlNuTkZtUmJ1RUV2\"},{\"title\":\"Enhanced Privacy with Decentralized Identity\",\"type\":\"lecture\",\"mentorId\":14,\"date\":\"2019-11-17\",\"time\":[\"14:40\",\"15:20\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/GoogleChrome.png\",\"slideshow\":\"https://docs.qq.com/slide/DTkdHVXJScEJZZHFt\"},{\"title\":\"\\u4ECE\\u6570\\u636E\\u53EF\\u89C6\\u5316\\u770B\\u524D\\u7AEF\\u672A\\u6765\",\"type\":\"lecture\",\"mentorId\":16,\"date\":\"2019-11-17\",\"time\":[\"15:40\",\"16:20\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"slideshow\":\"https://docs.qq.com/slide/DTkJWVkVQRVhKR1Vi\"},{\"title\":\"this in JS\",\"type\":\"lecture\",\"mentorId\":4,\"date\":\"2019-11-17\",\"time\":[\"16:20\",\"17:00\"],\"place\":\"\\u4E3B\\u4F1A\\u573A\",\"image\":\"https://github.com/tc39.png\",\"slideshow\":\"https://johnhax.net/2019/js-this/slide\"},{\"title\":\"\\u5373\\u5F71\\u5373\\u6709 \\u2014\\u2014 \\u5F02\\u5F62\\u6295\\u5F71\\u4E0E\\u7740\\u8272\\u5668\\u8BED\\u8A00\",\"type\":\"workshop\",\"mentorId\":17,\"date\":\"2019-11-16\",\"time\":[\"14:00\",\"17:00\"],\"place\":\"\\u5206\\u4F1A\\u573A\",\"image\":\"https://github.com/Unity-Technologies.png\"},{\"title\":\"Serverless \\u5E94\\u7528\\u5F00\\u53D1\",\"type\":\"workshop\",\"mentorId\":20,\"date\":\"2019-11-17\",\"time\":[\"10:20\",\"11:20\"],\"place\":\"\\u5206\\u4F1A\\u573A\",\"image\":\"https://github.com/serverless.png\",\"slideshow\":\"https://docs.qq.com/pdf/DTkdTcm5vemZ0dlJG\"},{\"title\":\"\\u654F\\u6377 TDD\\uFF08\\u6D4B\\u8BD5\\u9A71\\u52A8\\u5F00\\u53D1\\uFF09\",\"type\":\"workshop\",\"mentorId\":19,\"date\":\"2019-11-17\",\"time\":[\"14:00\",\"17:00\"],\"place\":\"\\u5206\\u4F1A\\u573A\",\"image\":\"http://extremeprogramming.cn/images/extreme_programming_white.png\",\"slideshow\":\"https://jimmylv.gitee.io/slides/tdd-dojo\"}],\"partners\":[{\"title\":\"\\u4E3B\\u529E\",\"name\":\"freeCodeCamp \\u6210\\u90FD\\u793E\\u533A\",\"logo\":\"https://fcc-cd.dev/images/FCC-CDC-v1-1.png\"},{\"title\":\"\\u534F\\u529E\",\"name\":\"\\u56DB\\u5DDD\\u6377\\u4E91\\u4FE1\\u901A\",\"logo\":\"https://tvax3.sinaimg.cn/crop.4.0.237.237.180/00729vHHly8fp6nb4mncdj308a07raa2.jpg?KID=imgbed,tva&Expires=1571330231&ssig=Fs1dNMHnlm\"},{\"title\":\"\\u534F\\u529E\",\"name\":\"Next \\u521B\\u4E1A\\u7A7A\\u95F4\",\"logo\":\"http://user-assets.sxlcdn.com/images/30463/Fn_sgltP1ZZexyG8yyqy11RacFWD.png?imageMogr2/strip/auto-orient/thumbnail/300x300%3E/format/png\"},{\"title\":\"\\u94BB\\u77F3\\u8D5E\\u52A9\",\"name\":\"\\u963F\\u91CC\\u4E91\\u8BA1\\u7B97\",\"logo\":\"https://img.alicdn.com/tfs/TB1Ly5oS3HqK1RjSZFPXXcwapXa-238-54.png\"},{\"title\":\"\\u91D1\\u724C\\u8D5E\\u52A9\",\"name\":\"\\uFF08\\u865A\\u4F4D\\u4EE5\\u5F85\\uFF09\"},{\"title\":\"\\u94F6\\u724C\\u8D5E\\u52A9\",\"name\":\"\\uFF08\\u865A\\u4F4D\\u4EE5\\u5F85\\uFF09\"},{\"title\":\"\\u94DC\\u724C\\u8D5E\\u52A9\",\"name\":\"\\u4E9A\\u9A6C\\u900A AWS\",\"logo\":\"https://fcc-cd.dev/activity/conference/web-conf-2019-1/AWS.png\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"\\u56FE\\u7075\",\"logo\":\"http://tp1.sinaimg.cn/1752543513/180/1.jpg\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"\\u6398\\u91D1\",\"logo\":\"https://b-gold-cdn.xitu.io/v3/static/img/logo.a7995ad.svg\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"\\u5F00\\u6E90\\u4E2D\\u56FD\",\"logo\":\"https://static.oschina.net/new-osc/img/logo_osc_new.svg\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"\\u5F00\\u6E90\\u5DE5\\u573A\",\"logo\":\"https://openingsource.org/wp-content/uploads/2018/02/test_logo.png\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"Linux \\u4E2D\\u56FD\",\"logo\":\"https://img.linux.net.cn/static/image/common/linuxcn_logo_2017.png\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"\\u5F00\\u6E90\\u793E\",\"logo\":\"https://kaiyuanshe.cn/image/KaiYuanShe-logo.png\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"GDG \\u6210\\u90FD\",\"logo\":\"https://fcc-cd.dev/partner/gdg-cd/logo.webp\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"Copell \\u9AD8\\u914D\",\"logo\":\"https://www.copell.cn/copellPC/static/footer-logo.98e6f1cc.png\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"\\u4E2D\\u751F\\u4EE3\\u6280\\u672F\",\"logo\":\"http://zhongshengdai.com/wp-content/uploads/2019/06/\\u4E2D\\u751F\\u4EE3\\u6280\\u672Flogo\\u7AD6\\u5927\\u56FE-300x300.png\"},{\"title\":\"\\u5408\\u4F5C\\u4F19\\u4F34\",\"name\":\"\\u56DE\\u7738\\u523B\",\"logo\":\"http://sucimg.itc.cn/avatarimg/3313d107e2194ea1a469f4d984fa0050_1510107027722\"}]}');\n\n\nvar $4b27cb3a83650e7e$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $4b27cb3a83650e7e$export$953c2efc134d7f79 = (_a)=>{\n var { children: children } = _a, props = $4b27cb3a83650e7e$var$__rest(_a, [\n \"children\"\n ]);\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", Object.assign({}, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $4b24793a4b0f2663$export$febf71ca481883cc), {\n brand: (0, $caef08c0fc9a9584$exports.title),\n variant: \"light\",\n menu: (0, $caef08c0fc9a9584$exports.menu)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"main\", {\n className: \"container\",\n children: children\n })\n ]\n }));\n};\n\n\n\n\nvar $a2309b286916ae3b$export$b957c2b0fcc9ce3c;\n$a2309b286916ae3b$export$b957c2b0fcc9ce3c = `X1o3xW_topic`;\n\n\nconst $7567e087e01436f4$export$6ed34e2411fb365c = ({ topics: topics, mentors: mentors })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"d-flex flex-wrap justify-content-center\",\n children: [\n ...topics\n ].sort((A, B)=>A.time[0].localeCompare(B.time[0])).map(({ title: title, image: image, mentorId: mentorId, slideshow: slideshow, time: time })=>{\n const mentor = mentorId && mentors.find(({ id: id })=>id === mentorId);\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$60332b2344f7fe41), {\n className: $a2309b286916ae3b$export$b957c2b0fcc9ce3c,\n direction: \"row\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$96c5f37208f78bd7), {\n src: image\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$851de33184ecdac4), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$474db65c3c394e1c), {\n children: title\n }),\n mentor && (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n href: \"#\" + mentor.GitHub,\n children: mentor.name\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"d-flex justify-content-between\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"time\", {\n children: time.join(\" ~ \")\n }),\n slideshow && (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n target: \"_blank\",\n href: slideshow,\n children: \"\\u6F14\\u793A\\u6587\\u7A3F\"\n })\n ]\n })\n ]\n })\n ]\n });\n })\n });\n\n\n\nconst $42c4793e61335d13$export$f169f90beaec694a = ({ title: title, list: list })=>(0, $6aabcc7ac344e71d$exports.jsxs)((0, $6aabcc7ac344e71d$exports.Fragment), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h3\", {\n className: \"mt-4 mb-3\",\n children: title\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"ul\", {\n className: \"list-unstyled d-flex flex-wrap justify-content-around align-items-center\",\n children: list.map(({ name: name, logo: logo })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n className: \"m-3\",\n children: logo ? (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-fluid\",\n style: {\n maxWidth: \"15rem\",\n maxHeight: \"10rem\"\n },\n src: logo,\n alt: name\n }) : name\n }))\n })\n ]\n });\n\n\n\nvar $4e00718fcdba9849$exports = {};\n$4e00718fcdba9849$exports = new URL(\"BuyCode.5f20ce22.png\", import.meta.url).toString();\n\n\nconst $6b954e87a96b9a17$var$topicGroups = Object.entries((0, (/*@__PURE__*/$parcel$interopDefault($eV21f)))((0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).topics, ({ date: date, place: place })=>`${date} ${place}`)).sort((A, B)=>A[1][0].date.localeCompare(B[1][0].date) || B[1][0].place.localeCompare(A[1][0].place));\nconst $6b954e87a96b9a17$var$partnerGroups = Object.entries((0, (/*@__PURE__*/$parcel$interopDefault($eV21f)))((0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).partners, \"title\"));\nconst $6b954e87a96b9a17$export$86e3d585d8922b95 = (props)=>(0, $6aabcc7ac344e71d$exports.jsxs)((0, $4b27cb3a83650e7e$export$953c2efc134d7f79), Object.assign({}, props, {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$97aba50a380f875b), {\n className: \"text-center\",\n title: (0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).title,\n description: (0, $6aabcc7ac344e71d$exports.jsxs)(\"ul\", {\n className: \"list-unstyled my-4\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: \"2019 \\u5E74 11 \\u6708 16 ~ 17 \\u65E5\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: (0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).address\n })\n ]\n }),\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$ddd3857461e99bb8), {\n endTime: \"2019-11-16 09:00:00\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$353f5b6fc5456de1), {\n variant: \"danger\",\n size: \"lg\",\n className: \"mt-5\",\n href: \"http://fcc-chengdu.mikecrm.com/7pG2aOh\",\n children: \"\\u5373\\u523B\\u62A5\\u540D\"\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center my-4\",\n id: \"Topic\",\n children: \"\\u5927\\u4F1A\\u8BAE\\u7A0B\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$b2539bed5023c21c), {\n children: $6b954e87a96b9a17$var$topicGroups.map(([title, list])=>(0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$3e41faf802a29e71), {\n caption: title,\n children: (0, $6aabcc7ac344e71d$exports.jsx)((0, $7567e087e01436f4$export$6ed34e2411fb365c), {\n topics: list,\n mentors: (0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).mentors\n })\n }))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"hr\", {\n className: \"m-5\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center\",\n id: \"Mentor\",\n children: \"\\u5927\\u5496\\u8BB2\\u5E08\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"lead text-center\",\n children: \"\\uFF08\\u6392\\u540D\\u4E0D\\u5206\\u5148\\u540E\\uFF09\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"section\", {\n className: \"row cols-1 row-cols-sm-2 row-cols-md-4 g-3\",\n children: (0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).mentors.map(({ name: name, avatar: avatar, organization: organization, title: title, GitHub: GitHub })=>(0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"col\",\n children: (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$60332b2344f7fe41), {\n className: \"shadow-sm\",\n id: GitHub,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$96c5f37208f78bd7), {\n src: avatar\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$851de33184ecdac4), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$474db65c3c394e1c), {\n children: name\n }),\n organization ? `${organization} - ${title}` : title,\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"a\", {\n className: \"stretched-link\",\n target: \"_blank\",\n href: \"https://github.com/\" + GitHub,\n children: [\n \"@\",\n GitHub\n ]\n })\n ]\n })\n ]\n })\n }, name))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"hr\", {\n className: \"m-5\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center\",\n id: \"Contributor\",\n children: \"\\u5171\\u521B\\u4F19\\u4F34\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"section\", {\n className: \"text-center\",\n children: $6b954e87a96b9a17$var$partnerGroups.map(([title, list])=>(0, $6aabcc7ac344e71d$exports.jsx)((0, $42c4793e61335d13$export$f169f90beaec694a), {\n title: title,\n list: list\n }))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"hr\", {\n className: \"m-5\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center\",\n id: \"Address\",\n children: \"\\u4F1A\\u573A\\u4EA4\\u901A\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"lead text-center mt-4 mb-5\",\n children: (0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).address\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)((0, $d6da3710e38faa1c$export$438ad6fc467f929b), {\n aspectRatio: \"21x9\",\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"iframe\", {\n loading: \"lazy\",\n src: `//uri.amap.com/marker?src=fcc-cdc&callnative=1&position=104.06309,30.538734&name=${(0, (/*@__PURE__*/$parcel$interopDefault($caef08c0fc9a9584$exports))).title}`\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"hr\", {\n className: \"m-5\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"text-center\",\n children: \"\\u62A5\\u540D\\u901A\\u9053\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"d-block mx-auto my-5\",\n src: (0, (/*@__PURE__*/$parcel$interopDefault($4e00718fcdba9849$exports))),\n style: {\n width: \"20rem\"\n }\n })\n ]\n }));\n\n\n\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\nvar $371a3837fd81d701$exports = {};\n// shim for using process in browser\nvar $371a3837fd81d701$var$process = $371a3837fd81d701$exports = {};\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\nvar $371a3837fd81d701$var$cachedSetTimeout;\nvar $371a3837fd81d701$var$cachedClearTimeout;\nfunction $371a3837fd81d701$var$defaultSetTimout() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction $371a3837fd81d701$var$defaultClearTimeout() {\n throw new Error(\"clearTimeout has not been defined\");\n}\n(function() {\n try {\n if (typeof setTimeout === \"function\") $371a3837fd81d701$var$cachedSetTimeout = setTimeout;\n else $371a3837fd81d701$var$cachedSetTimeout = $371a3837fd81d701$var$defaultSetTimout;\n } catch (e) {\n $371a3837fd81d701$var$cachedSetTimeout = $371a3837fd81d701$var$defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === \"function\") $371a3837fd81d701$var$cachedClearTimeout = clearTimeout;\n else $371a3837fd81d701$var$cachedClearTimeout = $371a3837fd81d701$var$defaultClearTimeout;\n } catch (e) {\n $371a3837fd81d701$var$cachedClearTimeout = $371a3837fd81d701$var$defaultClearTimeout;\n }\n})();\nfunction $371a3837fd81d701$var$runTimeout(fun) {\n if ($371a3837fd81d701$var$cachedSetTimeout === setTimeout) //normal enviroments in sane situations\n return setTimeout(fun, 0);\n // if setTimeout wasn't available but was latter defined\n if (($371a3837fd81d701$var$cachedSetTimeout === $371a3837fd81d701$var$defaultSetTimout || !$371a3837fd81d701$var$cachedSetTimeout) && setTimeout) {\n $371a3837fd81d701$var$cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return $371a3837fd81d701$var$cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return $371a3837fd81d701$var$cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return $371a3837fd81d701$var$cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction $371a3837fd81d701$var$runClearTimeout(marker) {\n if ($371a3837fd81d701$var$cachedClearTimeout === clearTimeout) //normal enviroments in sane situations\n return clearTimeout(marker);\n // if clearTimeout wasn't available but was latter defined\n if (($371a3837fd81d701$var$cachedClearTimeout === $371a3837fd81d701$var$defaultClearTimeout || !$371a3837fd81d701$var$cachedClearTimeout) && clearTimeout) {\n $371a3837fd81d701$var$cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return $371a3837fd81d701$var$cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return $371a3837fd81d701$var$cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return $371a3837fd81d701$var$cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar $371a3837fd81d701$var$queue = [];\nvar $371a3837fd81d701$var$draining = false;\nvar $371a3837fd81d701$var$currentQueue;\nvar $371a3837fd81d701$var$queueIndex = -1;\nfunction $371a3837fd81d701$var$cleanUpNextTick() {\n if (!$371a3837fd81d701$var$draining || !$371a3837fd81d701$var$currentQueue) return;\n $371a3837fd81d701$var$draining = false;\n if ($371a3837fd81d701$var$currentQueue.length) $371a3837fd81d701$var$queue = $371a3837fd81d701$var$currentQueue.concat($371a3837fd81d701$var$queue);\n else $371a3837fd81d701$var$queueIndex = -1;\n if ($371a3837fd81d701$var$queue.length) $371a3837fd81d701$var$drainQueue();\n}\nfunction $371a3837fd81d701$var$drainQueue() {\n if ($371a3837fd81d701$var$draining) return;\n var timeout = $371a3837fd81d701$var$runTimeout($371a3837fd81d701$var$cleanUpNextTick);\n $371a3837fd81d701$var$draining = true;\n var len = $371a3837fd81d701$var$queue.length;\n while(len){\n $371a3837fd81d701$var$currentQueue = $371a3837fd81d701$var$queue;\n $371a3837fd81d701$var$queue = [];\n while(++$371a3837fd81d701$var$queueIndex < len)if ($371a3837fd81d701$var$currentQueue) $371a3837fd81d701$var$currentQueue[$371a3837fd81d701$var$queueIndex].run();\n $371a3837fd81d701$var$queueIndex = -1;\n len = $371a3837fd81d701$var$queue.length;\n }\n $371a3837fd81d701$var$currentQueue = null;\n $371a3837fd81d701$var$draining = false;\n $371a3837fd81d701$var$runClearTimeout(timeout);\n}\n$371a3837fd81d701$var$process.nextTick = function(fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) for(var i = 1; i < arguments.length; i++)args[i - 1] = arguments[i];\n $371a3837fd81d701$var$queue.push(new $371a3837fd81d701$var$Item(fun, args));\n if ($371a3837fd81d701$var$queue.length === 1 && !$371a3837fd81d701$var$draining) $371a3837fd81d701$var$runTimeout($371a3837fd81d701$var$drainQueue);\n};\n// v8 likes predictible objects\nfunction $371a3837fd81d701$var$Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n$371a3837fd81d701$var$Item.prototype.run = function() {\n this.fun.apply(null, this.array);\n};\n$371a3837fd81d701$var$process.title = \"browser\";\n$371a3837fd81d701$var$process.browser = true;\n$371a3837fd81d701$var$process.env = {};\n$371a3837fd81d701$var$process.argv = [];\n$371a3837fd81d701$var$process.version = \"\"; // empty string to avoid regexp issues\n$371a3837fd81d701$var$process.versions = {};\nfunction $371a3837fd81d701$var$noop() {}\n$371a3837fd81d701$var$process.on = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.addListener = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.once = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.off = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.removeListener = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.removeAllListeners = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.emit = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.prependListener = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.prependOnceListener = $371a3837fd81d701$var$noop;\n$371a3837fd81d701$var$process.listeners = function(name) {\n return [];\n};\n$371a3837fd81d701$var$process.binding = function(name) {\n throw new Error(\"process.binding is not supported\");\n};\n$371a3837fd81d701$var$process.cwd = function() {\n return \"/\";\n};\n$371a3837fd81d701$var$process.chdir = function(dir) {\n throw new Error(\"process.chdir is not supported\");\n};\n$371a3837fd81d701$var$process.umask = function() {\n return 0;\n};\n\n\nfunction $4782dfe4508d9351$export$f85c16a6d62f7d63(url, baseUrl) {\n // url is absolute already\n if (url.match(/^[a-z]+:\\/\\//i)) return url;\n // url is absolute already, without protocol\n if (url.match(/^\\/\\//)) return window.location.protocol + url;\n // dataURI, mailto:, tel:, etc.\n if (url.match(/^[a-z]+:/i)) return url;\n const doc = document.implementation.createHTMLDocument();\n const base = doc.createElement(\"base\");\n const a = doc.createElement(\"a\");\n doc.head.appendChild(base);\n doc.body.appendChild(a);\n if (baseUrl) base.href = baseUrl;\n a.href = url;\n return a.href;\n}\nconst $4782dfe4508d9351$export$31b40729666a4ae0 = (()=>{\n // generate uuid for className of pseudo elements.\n // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.\n let counter = 0;\n // ref: http://stackoverflow.com/a/6248722/2519373\n const random = ()=>// eslint-disable-next-line no-bitwise\n `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);\n return ()=>{\n counter += 1;\n return `u${random()}${counter}`;\n };\n})();\nfunction $4782dfe4508d9351$export$1391212d75b2ee65(ms) {\n return (args)=>new Promise((resolve)=>{\n setTimeout(()=>resolve(args), ms);\n });\n}\nfunction $4782dfe4508d9351$export$45b10814cc054894(arrayLike) {\n const arr = [];\n for(let i = 0, l = arrayLike.length; i < l; i++)arr.push(arrayLike[i]);\n return arr;\n}\nfunction $4782dfe4508d9351$var$px(node, styleProperty) {\n const win = node.ownerDocument.defaultView || window;\n const val = win.getComputedStyle(node).getPropertyValue(styleProperty);\n return val ? parseFloat(val.replace(\"px\", \"\")) : 0;\n}\nfunction $4782dfe4508d9351$var$getNodeWidth(node) {\n const leftBorder = $4782dfe4508d9351$var$px(node, \"border-left-width\");\n const rightBorder = $4782dfe4508d9351$var$px(node, \"border-right-width\");\n return node.clientWidth + leftBorder + rightBorder;\n}\nfunction $4782dfe4508d9351$var$getNodeHeight(node) {\n const topBorder = $4782dfe4508d9351$var$px(node, \"border-top-width\");\n const bottomBorder = $4782dfe4508d9351$var$px(node, \"border-bottom-width\");\n return node.clientHeight + topBorder + bottomBorder;\n}\nfunction $4782dfe4508d9351$export$ada5537b2c061996(targetNode, options = {}) {\n const width = options.width || $4782dfe4508d9351$var$getNodeWidth(targetNode);\n const height = options.height || $4782dfe4508d9351$var$getNodeHeight(targetNode);\n return {\n width: width,\n height: height\n };\n}\nfunction $4782dfe4508d9351$export$d39ce20a37bba061() {\n let ratio;\n let FINAL_PROCESS;\n try {\n FINAL_PROCESS = $371a3837fd81d701$exports;\n } catch (e) {\n // pass\n }\n const val = FINAL_PROCESS && FINAL_PROCESS.env ? FINAL_PROCESS.env.devicePixelRatio : null;\n if (val) {\n ratio = parseInt(val, 10);\n if (Number.isNaN(ratio)) ratio = 1;\n }\n return ratio || window.devicePixelRatio || 1;\n}\n// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size\nconst $4782dfe4508d9351$var$canvasDimensionLimit = 16384;\nfunction $4782dfe4508d9351$export$c2c809a2fe6b0f1a(canvas) {\n if (canvas.width > $4782dfe4508d9351$var$canvasDimensionLimit || canvas.height > $4782dfe4508d9351$var$canvasDimensionLimit) {\n if (canvas.width > $4782dfe4508d9351$var$canvasDimensionLimit && canvas.height > $4782dfe4508d9351$var$canvasDimensionLimit) {\n if (canvas.width > canvas.height) {\n canvas.height *= $4782dfe4508d9351$var$canvasDimensionLimit / canvas.width;\n canvas.width = $4782dfe4508d9351$var$canvasDimensionLimit;\n } else {\n canvas.width *= $4782dfe4508d9351$var$canvasDimensionLimit / canvas.height;\n canvas.height = $4782dfe4508d9351$var$canvasDimensionLimit;\n }\n } else if (canvas.width > $4782dfe4508d9351$var$canvasDimensionLimit) {\n canvas.height *= $4782dfe4508d9351$var$canvasDimensionLimit / canvas.width;\n canvas.width = $4782dfe4508d9351$var$canvasDimensionLimit;\n } else {\n canvas.width *= $4782dfe4508d9351$var$canvasDimensionLimit / canvas.height;\n canvas.height = $4782dfe4508d9351$var$canvasDimensionLimit;\n }\n }\n}\nfunction $4782dfe4508d9351$export$403d539f215df596(canvas, options = {}) {\n if (canvas.toBlob) return new Promise((resolve)=>{\n canvas.toBlob(resolve, options.type ? options.type : \"image/png\", options.quality ? options.quality : 1);\n });\n return new Promise((resolve)=>{\n const binaryString = window.atob(canvas.toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined).split(\",\")[1]);\n const len = binaryString.length;\n const binaryArray = new Uint8Array(len);\n for(let i = 0; i < len; i += 1)binaryArray[i] = binaryString.charCodeAt(i);\n resolve(new Blob([\n binaryArray\n ], {\n type: options.type ? options.type : \"image/png\"\n }));\n });\n}\nfunction $4782dfe4508d9351$export$ec664d7487540b(url) {\n return new Promise((resolve, reject)=>{\n const img = new Image();\n img.decode = ()=>resolve(img);\n img.onload = ()=>resolve(img);\n img.onerror = reject;\n img.crossOrigin = \"anonymous\";\n img.decoding = \"async\";\n img.src = url;\n });\n}\nasync function $4782dfe4508d9351$export$fe77aa9c02de4599(svg) {\n return Promise.resolve().then(()=>new XMLSerializer().serializeToString(svg)).then(encodeURIComponent).then((html)=>`data:image/svg+xml;charset=utf-8,${html}`);\n}\nasync function $4782dfe4508d9351$export$b62810fb8ca515fa(node, width, height) {\n const xmlns = \"http://www.w3.org/2000/svg\";\n const svg = document.createElementNS(xmlns, \"svg\");\n const foreignObject = document.createElementNS(xmlns, \"foreignObject\");\n svg.setAttribute(\"width\", `${width}`);\n svg.setAttribute(\"height\", `${height}`);\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n foreignObject.setAttribute(\"width\", \"100%\");\n foreignObject.setAttribute(\"height\", \"100%\");\n foreignObject.setAttribute(\"x\", \"0\");\n foreignObject.setAttribute(\"y\", \"0\");\n foreignObject.setAttribute(\"externalResourcesRequired\", \"true\");\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return $4782dfe4508d9351$export$fe77aa9c02de4599(svg);\n}\nconst $4782dfe4508d9351$export$3a92fc9ec83ef360 = (node, instance)=>{\n if (node instanceof instance) return true;\n const nodePrototype = Object.getPrototypeOf(node);\n if (nodePrototype === null) return false;\n return nodePrototype.constructor.name === instance.name || $4782dfe4508d9351$export$3a92fc9ec83ef360(nodePrototype, instance);\n};\n\n\nfunction $935bc8a89a8048db$var$formatCSSText(style) {\n const content = style.getPropertyValue(\"content\");\n return `${style.cssText} content: '${content.replace(/'|\"/g, \"\")}';`;\n}\nfunction $935bc8a89a8048db$var$formatCSSProperties(style) {\n return (0, $4782dfe4508d9351$export$45b10814cc054894)(style).map((name)=>{\n const value = style.getPropertyValue(name);\n const priority = style.getPropertyPriority(name);\n return `${name}: ${value}${priority ? \" !important\" : \"\"};`;\n }).join(\" \");\n}\nfunction $935bc8a89a8048db$var$getPseudoElementStyle(className, pseudo, style) {\n const selector = `.${className}:${pseudo}`;\n const cssText = style.cssText ? $935bc8a89a8048db$var$formatCSSText(style) : $935bc8a89a8048db$var$formatCSSProperties(style);\n return document.createTextNode(`${selector}{${cssText}}`);\n}\nfunction $935bc8a89a8048db$var$clonePseudoElement(nativeNode, clonedNode, pseudo) {\n const style = window.getComputedStyle(nativeNode, pseudo);\n const content = style.getPropertyValue(\"content\");\n if (content === \"\" || content === \"none\") return;\n const className = (0, $4782dfe4508d9351$export$31b40729666a4ae0)();\n try {\n clonedNode.className = `${clonedNode.className} ${className}`;\n } catch (err) {\n return;\n }\n const styleElement = document.createElement(\"style\");\n styleElement.appendChild($935bc8a89a8048db$var$getPseudoElementStyle(className, pseudo, style));\n clonedNode.appendChild(styleElement);\n}\nfunction $935bc8a89a8048db$export$8df63687a708ed2e(nativeNode, clonedNode) {\n $935bc8a89a8048db$var$clonePseudoElement(nativeNode, clonedNode, \":before\");\n $935bc8a89a8048db$var$clonePseudoElement(nativeNode, clonedNode, \":after\");\n}\n\n\n\nconst $c749153f13d96f99$var$WOFF = \"application/font-woff\";\nconst $c749153f13d96f99$var$JPEG = \"image/jpeg\";\nconst $c749153f13d96f99$var$mimes = {\n woff: $c749153f13d96f99$var$WOFF,\n woff2: $c749153f13d96f99$var$WOFF,\n ttf: \"application/font-truetype\",\n eot: \"application/vnd.ms-fontobject\",\n png: \"image/png\",\n jpg: $c749153f13d96f99$var$JPEG,\n jpeg: $c749153f13d96f99$var$JPEG,\n gif: \"image/gif\",\n tiff: \"image/tiff\",\n svg: \"image/svg+xml\",\n webp: \"image/webp\"\n};\nfunction $c749153f13d96f99$var$getExtension(url) {\n const match = /\\.([^./]*?)$/g.exec(url);\n return match ? match[1] : \"\";\n}\nfunction $c749153f13d96f99$export$200548c990602f61(url) {\n const extension = $c749153f13d96f99$var$getExtension(url).toLowerCase();\n return $c749153f13d96f99$var$mimes[extension] || \"\";\n}\n\n\nfunction $33c843df93354230$var$getContentFromDataUrl(dataURL) {\n return dataURL.split(/,/)[1];\n}\nfunction $33c843df93354230$export$f8a05efa20ffd5a(url) {\n return url.search(/^(data:)/) !== -1;\n}\nfunction $33c843df93354230$export$68336ea1617fa80a(content, mimeType) {\n return `data:${mimeType};base64,${content}`;\n}\nasync function $33c843df93354230$export$c20a8b76c95b0d41(url, init, process) {\n const res = await fetch(url, init);\n if (res.status === 404) throw new Error(`Resource \"${res.url}\" not found`);\n const blob = await res.blob();\n return new Promise((resolve, reject)=>{\n const reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = ()=>{\n try {\n resolve(process({\n res: res,\n result: reader.result\n }));\n } catch (error) {\n reject(error);\n }\n };\n reader.readAsDataURL(blob);\n });\n}\nconst $33c843df93354230$var$cache = {};\nfunction $33c843df93354230$var$getCacheKey(url, contentType, includeQueryParams) {\n let key = url.replace(/\\?.*/, \"\");\n if (includeQueryParams) key = url;\n // font resource\n if (/ttf|otf|eot|woff2?/i.test(key)) key = key.replace(/.*\\//, \"\");\n return contentType ? `[${contentType}]${key}` : key;\n}\nasync function $33c843df93354230$export$bdf0422c029b202a(resourceUrl, contentType, options) {\n const cacheKey = $33c843df93354230$var$getCacheKey(resourceUrl, contentType, options.includeQueryParams);\n if ($33c843df93354230$var$cache[cacheKey] != null) return $33c843df93354230$var$cache[cacheKey];\n // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n if (options.cacheBust) // eslint-disable-next-line no-param-reassign\n resourceUrl += (/\\?/.test(resourceUrl) ? \"&\" : \"?\") + new Date().getTime();\n let dataURL;\n try {\n const content = await $33c843df93354230$export$c20a8b76c95b0d41(resourceUrl, options.fetchRequestInit, ({ res: res, result: result })=>{\n if (!contentType) // eslint-disable-next-line no-param-reassign\n contentType = res.headers.get(\"Content-Type\") || \"\";\n return $33c843df93354230$var$getContentFromDataUrl(result);\n });\n dataURL = $33c843df93354230$export$68336ea1617fa80a(content, contentType);\n } catch (error) {\n dataURL = options.imagePlaceholder || \"\";\n let msg = `Failed to fetch resource: ${resourceUrl}`;\n if (error) msg = typeof error === \"string\" ? error : error.message;\n if (msg) console.warn(msg);\n }\n $33c843df93354230$var$cache[cacheKey] = dataURL;\n return dataURL;\n}\n\n\nasync function $b100bd344ebc86b8$var$cloneCanvasElement(canvas) {\n const dataURL = canvas.toDataURL();\n if (dataURL === \"data:,\") return canvas.cloneNode(false);\n return (0, $4782dfe4508d9351$export$ec664d7487540b)(dataURL);\n}\nasync function $b100bd344ebc86b8$var$cloneVideoElement(video, options) {\n if (video.currentSrc) {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = video.clientWidth;\n canvas.height = video.clientHeight;\n ctx === null || ctx === void 0 || ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n const dataURL = canvas.toDataURL();\n return (0, $4782dfe4508d9351$export$ec664d7487540b)(dataURL);\n }\n const poster = video.poster;\n const contentType = (0, $c749153f13d96f99$export$200548c990602f61)(poster);\n const dataURL = await (0, $33c843df93354230$export$bdf0422c029b202a)(poster, contentType, options);\n return (0, $4782dfe4508d9351$export$ec664d7487540b)(dataURL);\n}\nasync function $b100bd344ebc86b8$var$cloneIFrameElement(iframe) {\n var _a;\n try {\n if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) return await $b100bd344ebc86b8$export$ae8e35ea29ddac22(iframe.contentDocument.body, {}, true);\n } catch (_b) {\n // Failed to clone iframe\n }\n return iframe.cloneNode(false);\n}\nasync function $b100bd344ebc86b8$var$cloneSingleNode(node, options) {\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(node, HTMLCanvasElement)) return $b100bd344ebc86b8$var$cloneCanvasElement(node);\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(node, HTMLVideoElement)) return $b100bd344ebc86b8$var$cloneVideoElement(node, options);\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(node, HTMLIFrameElement)) return $b100bd344ebc86b8$var$cloneIFrameElement(node);\n return node.cloneNode(false);\n}\nconst $b100bd344ebc86b8$var$isSlotElement = (node)=>node.tagName != null && node.tagName.toUpperCase() === \"SLOT\";\nasync function $b100bd344ebc86b8$var$cloneChildren(nativeNode, clonedNode, options) {\n var _a, _b;\n let children = [];\n if ($b100bd344ebc86b8$var$isSlotElement(nativeNode) && nativeNode.assignedNodes) children = (0, $4782dfe4508d9351$export$45b10814cc054894)(nativeNode.assignedNodes());\n else if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(nativeNode, HTMLIFrameElement) && ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) children = (0, $4782dfe4508d9351$export$45b10814cc054894)(nativeNode.contentDocument.body.childNodes);\n else children = (0, $4782dfe4508d9351$export$45b10814cc054894)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);\n if (children.length === 0 || (0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(nativeNode, HTMLVideoElement)) return clonedNode;\n await children.reduce((deferred, child)=>deferred.then(()=>$b100bd344ebc86b8$export$ae8e35ea29ddac22(child, options)).then((clonedChild)=>{\n if (clonedChild) clonedNode.appendChild(clonedChild);\n }), Promise.resolve());\n return clonedNode;\n}\nfunction $b100bd344ebc86b8$var$cloneCSSStyle(nativeNode, clonedNode) {\n const targetStyle = clonedNode.style;\n if (!targetStyle) return;\n const sourceStyle = window.getComputedStyle(nativeNode);\n if (sourceStyle.cssText) {\n targetStyle.cssText = sourceStyle.cssText;\n targetStyle.transformOrigin = sourceStyle.transformOrigin;\n } else (0, $4782dfe4508d9351$export$45b10814cc054894)(sourceStyle).forEach((name)=>{\n let value = sourceStyle.getPropertyValue(name);\n if (name === \"font-size\" && value.endsWith(\"px\")) {\n const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;\n value = `${reducedFont}px`;\n }\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(nativeNode, HTMLIFrameElement) && name === \"display\" && value === \"inline\") value = \"block\";\n if (name === \"d\" && clonedNode.getAttribute(\"d\")) value = `path(${clonedNode.getAttribute(\"d\")})`;\n targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));\n });\n}\nfunction $b100bd344ebc86b8$var$cloneInputValue(nativeNode, clonedNode) {\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(nativeNode, HTMLTextAreaElement)) clonedNode.innerHTML = nativeNode.value;\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(nativeNode, HTMLInputElement)) clonedNode.setAttribute(\"value\", nativeNode.value);\n}\nfunction $b100bd344ebc86b8$var$cloneSelectValue(nativeNode, clonedNode) {\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(nativeNode, HTMLSelectElement)) {\n const clonedSelect = clonedNode;\n const selectedOption = Array.from(clonedSelect.children).find((child)=>nativeNode.value === child.getAttribute(\"value\"));\n if (selectedOption) selectedOption.setAttribute(\"selected\", \"\");\n }\n}\nfunction $b100bd344ebc86b8$var$decorate(nativeNode, clonedNode) {\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(clonedNode, Element)) {\n $b100bd344ebc86b8$var$cloneCSSStyle(nativeNode, clonedNode);\n (0, $935bc8a89a8048db$export$8df63687a708ed2e)(nativeNode, clonedNode);\n $b100bd344ebc86b8$var$cloneInputValue(nativeNode, clonedNode);\n $b100bd344ebc86b8$var$cloneSelectValue(nativeNode, clonedNode);\n }\n return clonedNode;\n}\nasync function $b100bd344ebc86b8$var$ensureSVGSymbols(clone, options) {\n const uses = clone.querySelectorAll ? clone.querySelectorAll(\"use\") : [];\n if (uses.length === 0) return clone;\n const processedDefs = {};\n for(let i = 0; i < uses.length; i++){\n const use = uses[i];\n const id = use.getAttribute(\"xlink:href\");\n if (id) {\n const exist = clone.querySelector(id);\n const definition = document.querySelector(id);\n if (!exist && definition && !processedDefs[id]) // eslint-disable-next-line no-await-in-loop\n processedDefs[id] = await $b100bd344ebc86b8$export$ae8e35ea29ddac22(definition, options, true);\n }\n }\n const nodes = Object.values(processedDefs);\n if (nodes.length) {\n const ns = \"http://www.w3.org/1999/xhtml\";\n const svg = document.createElementNS(ns, \"svg\");\n svg.setAttribute(\"xmlns\", ns);\n svg.style.position = \"absolute\";\n svg.style.width = \"0\";\n svg.style.height = \"0\";\n svg.style.overflow = \"hidden\";\n svg.style.display = \"none\";\n const defs = document.createElementNS(ns, \"defs\");\n svg.appendChild(defs);\n for(let i = 0; i < nodes.length; i++)defs.appendChild(nodes[i]);\n clone.appendChild(svg);\n }\n return clone;\n}\nasync function $b100bd344ebc86b8$export$ae8e35ea29ddac22(node, options, isRoot) {\n if (!isRoot && options.filter && !options.filter(node)) return null;\n return Promise.resolve(node).then((clonedNode)=>$b100bd344ebc86b8$var$cloneSingleNode(clonedNode, options)).then((clonedNode)=>$b100bd344ebc86b8$var$cloneChildren(node, clonedNode, options)).then((clonedNode)=>$b100bd344ebc86b8$var$decorate(node, clonedNode)).then((clonedNode)=>$b100bd344ebc86b8$var$ensureSVGSymbols(clonedNode, options));\n}\n\n\n\n\n\nconst $1cc3ee04d2481668$var$URL_REGEX = /url\\((['\"]?)([^'\"]+?)\\1\\)/g;\nconst $1cc3ee04d2481668$var$URL_WITH_FORMAT_REGEX = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g;\nconst $1cc3ee04d2481668$var$FONT_SRC_REGEX = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g;\nfunction $1cc3ee04d2481668$var$toRegex(url) {\n // eslint-disable-next-line no-useless-escape\n const escaped = url.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\n return new RegExp(`(url\\\\(['\"]?)(${escaped})(['\"]?\\\\))`, \"g\");\n}\nfunction $1cc3ee04d2481668$export$d04549d631b8762d(cssText) {\n const urls = [];\n cssText.replace($1cc3ee04d2481668$var$URL_REGEX, (raw, quotation, url)=>{\n urls.push(url);\n return raw;\n });\n return urls.filter((url)=>!(0, $33c843df93354230$export$f8a05efa20ffd5a)(url));\n}\nasync function $1cc3ee04d2481668$export$2be46bb7e96db87f(cssText, resourceURL, baseURL, options, getContentFromUrl) {\n try {\n const resolvedURL = baseURL ? (0, $4782dfe4508d9351$export$f85c16a6d62f7d63)(resourceURL, baseURL) : resourceURL;\n const contentType = (0, $c749153f13d96f99$export$200548c990602f61)(resourceURL);\n let dataURL;\n if (getContentFromUrl) {\n const content = await getContentFromUrl(resolvedURL);\n dataURL = (0, $33c843df93354230$export$68336ea1617fa80a)(content, contentType);\n } else dataURL = await (0, $33c843df93354230$export$bdf0422c029b202a)(resolvedURL, contentType, options);\n return cssText.replace($1cc3ee04d2481668$var$toRegex(resourceURL), `$1${dataURL}$3`);\n } catch (error) {\n // pass\n }\n return cssText;\n}\nfunction $1cc3ee04d2481668$var$filterPreferredFontFormat(str, { preferredFontFormat: preferredFontFormat }) {\n return !preferredFontFormat ? str : str.replace($1cc3ee04d2481668$var$FONT_SRC_REGEX, (match)=>{\n // eslint-disable-next-line no-constant-condition\n while(true){\n const [src, , format] = $1cc3ee04d2481668$var$URL_WITH_FORMAT_REGEX.exec(match) || [];\n if (!format) return \"\";\n if (format === preferredFontFormat) return `src: ${src};`;\n }\n });\n}\nfunction $1cc3ee04d2481668$export$7b668369e5eab853(url) {\n return url.search($1cc3ee04d2481668$var$URL_REGEX) !== -1;\n}\nasync function $1cc3ee04d2481668$export$3d88803585cbbc21(cssText, baseUrl, options) {\n if (!$1cc3ee04d2481668$export$7b668369e5eab853(cssText)) return cssText;\n const filteredCSSText = $1cc3ee04d2481668$var$filterPreferredFontFormat(cssText, options);\n const urls = $1cc3ee04d2481668$export$d04549d631b8762d(filteredCSSText);\n return urls.reduce((deferred, url)=>deferred.then((css)=>$1cc3ee04d2481668$export$2be46bb7e96db87f(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));\n}\n\n\n\n\n\nasync function $f860a42c288ac7a8$var$embedProp(propName, node, options) {\n var _a;\n const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);\n if (propValue) {\n const cssString = await (0, $1cc3ee04d2481668$export$3d88803585cbbc21)(propValue, null, options);\n node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));\n return true;\n }\n return false;\n}\nasync function $f860a42c288ac7a8$var$embedBackground(clonedNode, options) {\n if (!await $f860a42c288ac7a8$var$embedProp(\"background\", clonedNode, options)) await $f860a42c288ac7a8$var$embedProp(\"background-image\", clonedNode, options);\n if (!await $f860a42c288ac7a8$var$embedProp(\"mask\", clonedNode, options)) await $f860a42c288ac7a8$var$embedProp(\"mask-image\", clonedNode, options);\n}\nasync function $f860a42c288ac7a8$var$embedImageNode(clonedNode, options) {\n const isImageElement = (0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(clonedNode, HTMLImageElement);\n if (!(isImageElement && !(0, $33c843df93354230$export$f8a05efa20ffd5a)(clonedNode.src)) && !((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(clonedNode, SVGImageElement) && !(0, $33c843df93354230$export$f8a05efa20ffd5a)(clonedNode.href.baseVal))) return;\n const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;\n const dataURL = await (0, $33c843df93354230$export$bdf0422c029b202a)(url, (0, $c749153f13d96f99$export$200548c990602f61)(url), options);\n await new Promise((resolve, reject)=>{\n clonedNode.onload = resolve;\n clonedNode.onerror = reject;\n const image = clonedNode;\n if (image.decode) image.decode = resolve;\n if (image.loading === \"lazy\") image.loading = \"eager\";\n if (isImageElement) {\n clonedNode.srcset = \"\";\n clonedNode.src = dataURL;\n } else clonedNode.href.baseVal = dataURL;\n });\n}\nasync function $f860a42c288ac7a8$var$embedChildren(clonedNode, options) {\n const children = (0, $4782dfe4508d9351$export$45b10814cc054894)(clonedNode.childNodes);\n const deferreds = children.map((child)=>$f860a42c288ac7a8$export$6660fa8dd20e53aa(child, options));\n await Promise.all(deferreds).then(()=>clonedNode);\n}\nasync function $f860a42c288ac7a8$export$6660fa8dd20e53aa(clonedNode, options) {\n if ((0, $4782dfe4508d9351$export$3a92fc9ec83ef360)(clonedNode, Element)) {\n await $f860a42c288ac7a8$var$embedBackground(clonedNode, options);\n await $f860a42c288ac7a8$var$embedImageNode(clonedNode, options);\n await $f860a42c288ac7a8$var$embedChildren(clonedNode, options);\n }\n}\n\n\nfunction $4808379cf1566c37$export$d63a6b7859608045(node, options) {\n const { style: style } = node;\n if (options.backgroundColor) style.backgroundColor = options.backgroundColor;\n if (options.width) style.width = `${options.width}px`;\n if (options.height) style.height = `${options.height}px`;\n const manual = options.style;\n if (manual != null) Object.keys(manual).forEach((key)=>{\n style[key] = manual[key];\n });\n return node;\n}\n\n\n\n\n\nconst $586c729879695f49$var$cssFetchCache = {};\nasync function $586c729879695f49$var$fetchCSS(url) {\n let cache = $586c729879695f49$var$cssFetchCache[url];\n if (cache != null) return cache;\n const res = await fetch(url);\n const cssText = await res.text();\n cache = {\n url: url,\n cssText: cssText\n };\n $586c729879695f49$var$cssFetchCache[url] = cache;\n return cache;\n}\nasync function $586c729879695f49$var$embedFonts(data, options) {\n let cssText = data.cssText;\n const regexUrl = /url\\([\"']?([^\"')]+)[\"']?\\)/g;\n const fontLocs = cssText.match(/url\\([^)]+\\)/g) || [];\n const loadFonts = fontLocs.map(async (loc)=>{\n let url = loc.replace(regexUrl, \"$1\");\n if (!url.startsWith(\"https://\")) url = new URL(url, data.url).href;\n return (0, $33c843df93354230$export$c20a8b76c95b0d41)(url, options.fetchRequestInit, ({ result: result })=>{\n cssText = cssText.replace(loc, `url(${result})`);\n return [\n loc,\n result\n ];\n });\n });\n return Promise.all(loadFonts).then(()=>cssText);\n}\nfunction $586c729879695f49$var$parseCSS(source) {\n if (source == null) return [];\n const result = [];\n const commentsRegex = /(\\/\\*[\\s\\S]*?\\*\\/)/gi;\n // strip out comments\n let cssText = source.replace(commentsRegex, \"\");\n // eslint-disable-next-line prefer-regex-literals\n const keyframesRegex = new RegExp(\"((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})\", \"gi\");\n // eslint-disable-next-line no-constant-condition\n while(true){\n const matches = keyframesRegex.exec(cssText);\n if (matches === null) break;\n result.push(matches[0]);\n }\n cssText = cssText.replace(keyframesRegex, \"\");\n const importRegex = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi;\n // to match css & media queries together\n const combinedCSSRegex = \"((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})\";\n // unified regex\n const unifiedRegex = new RegExp(combinedCSSRegex, \"gi\");\n // eslint-disable-next-line no-constant-condition\n while(true){\n let matches = importRegex.exec(cssText);\n if (matches === null) {\n matches = unifiedRegex.exec(cssText);\n if (matches === null) break;\n else importRegex.lastIndex = unifiedRegex.lastIndex;\n } else unifiedRegex.lastIndex = importRegex.lastIndex;\n result.push(matches[0]);\n }\n return result;\n}\nasync function $586c729879695f49$var$getCSSRules(styleSheets, options) {\n const ret = [];\n const deferreds = [];\n // First loop inlines imports\n styleSheets.forEach((sheet)=>{\n if (\"cssRules\" in sheet) try {\n (0, $4782dfe4508d9351$export$45b10814cc054894)(sheet.cssRules || []).forEach((item, index)=>{\n if (item.type === CSSRule.IMPORT_RULE) {\n let importIndex = index + 1;\n const url = item.href;\n const deferred = $586c729879695f49$var$fetchCSS(url).then((metadata)=>$586c729879695f49$var$embedFonts(metadata, options)).then((cssText)=>$586c729879695f49$var$parseCSS(cssText).forEach((rule)=>{\n try {\n sheet.insertRule(rule, rule.startsWith(\"@import\") ? importIndex += 1 : sheet.cssRules.length);\n } catch (error) {\n console.error(\"Error inserting rule from remote css\", {\n rule: rule,\n error: error\n });\n }\n })).catch((e)=>{\n console.error(\"Error loading remote css\", e.toString());\n });\n deferreds.push(deferred);\n }\n });\n } catch (e) {\n const inline = styleSheets.find((a)=>a.href == null) || document.styleSheets[0];\n if (sheet.href != null) deferreds.push($586c729879695f49$var$fetchCSS(sheet.href).then((metadata)=>$586c729879695f49$var$embedFonts(metadata, options)).then((cssText)=>$586c729879695f49$var$parseCSS(cssText).forEach((rule)=>{\n inline.insertRule(rule, sheet.cssRules.length);\n })).catch((err)=>{\n console.error(\"Error loading remote stylesheet\", err);\n }));\n console.error(\"Error inlining remote css file\", e);\n }\n });\n return Promise.all(deferreds).then(()=>{\n // Second loop parses rules\n styleSheets.forEach((sheet)=>{\n if (\"cssRules\" in sheet) try {\n (0, $4782dfe4508d9351$export$45b10814cc054894)(sheet.cssRules || []).forEach((item)=>{\n ret.push(item);\n });\n } catch (e) {\n console.error(`Error while reading CSS rules from ${sheet.href}`, e);\n }\n });\n return ret;\n });\n}\nfunction $586c729879695f49$var$getWebFontRules(cssRules) {\n return cssRules.filter((rule)=>rule.type === CSSRule.FONT_FACE_RULE).filter((rule)=>(0, $1cc3ee04d2481668$export$7b668369e5eab853)(rule.style.getPropertyValue(\"src\")));\n}\nasync function $586c729879695f49$var$parseWebFontRules(node, options) {\n if (node.ownerDocument == null) throw new Error(\"Provided element is not within a Document\");\n const styleSheets = (0, $4782dfe4508d9351$export$45b10814cc054894)(node.ownerDocument.styleSheets);\n const cssRules = await $586c729879695f49$var$getCSSRules(styleSheets, options);\n return $586c729879695f49$var$getWebFontRules(cssRules);\n}\nasync function $586c729879695f49$export$253c9aa3d83a57b6(node, options) {\n const rules = await $586c729879695f49$var$parseWebFontRules(node, options);\n const cssTexts = await Promise.all(rules.map((rule)=>{\n const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;\n return (0, $1cc3ee04d2481668$export$3d88803585cbbc21)(rule.cssText, baseUrl, options);\n }));\n return cssTexts.join(\"\\n\");\n}\nasync function $586c729879695f49$export$2c2c83b77c8cb421(clonedNode, options) {\n const cssText = options.fontEmbedCSS != null ? options.fontEmbedCSS : options.skipFonts ? null : await $586c729879695f49$export$253c9aa3d83a57b6(clonedNode, options);\n if (cssText) {\n const styleNode = document.createElement(\"style\");\n const sytleContent = document.createTextNode(cssText);\n styleNode.appendChild(sytleContent);\n if (clonedNode.firstChild) clonedNode.insertBefore(styleNode, clonedNode.firstChild);\n else clonedNode.appendChild(styleNode);\n }\n}\n\n\n\nasync function $dcfb36a1d813879c$export$20d300cb2d558b7(node, options = {}) {\n const { width: width, height: height } = (0, $4782dfe4508d9351$export$ada5537b2c061996)(node, options);\n const clonedNode = await (0, $b100bd344ebc86b8$export$ae8e35ea29ddac22)(node, options, true);\n await (0, $586c729879695f49$export$2c2c83b77c8cb421)(clonedNode, options);\n await (0, $f860a42c288ac7a8$export$6660fa8dd20e53aa)(clonedNode, options);\n (0, $4808379cf1566c37$export$d63a6b7859608045)(clonedNode, options);\n const datauri = await (0, $4782dfe4508d9351$export$b62810fb8ca515fa)(clonedNode, width, height);\n return datauri;\n}\nasync function $dcfb36a1d813879c$export$f87f6982d1fd4f81(node, options = {}) {\n const { width: width, height: height } = (0, $4782dfe4508d9351$export$ada5537b2c061996)(node, options);\n const svg = await $dcfb36a1d813879c$export$20d300cb2d558b7(node, options);\n const img = await (0, $4782dfe4508d9351$export$ec664d7487540b)(svg);\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n const ratio = options.pixelRatio || (0, $4782dfe4508d9351$export$d39ce20a37bba061)();\n const canvasWidth = options.canvasWidth || width;\n const canvasHeight = options.canvasHeight || height;\n canvas.width = canvasWidth * ratio;\n canvas.height = canvasHeight * ratio;\n if (!options.skipAutoScale) (0, $4782dfe4508d9351$export$c2c809a2fe6b0f1a)(canvas);\n canvas.style.width = `${canvasWidth}`;\n canvas.style.height = `${canvasHeight}`;\n if (options.backgroundColor) {\n context.fillStyle = options.backgroundColor;\n context.fillRect(0, 0, canvas.width, canvas.height);\n }\n context.drawImage(img, 0, 0, canvas.width, canvas.height);\n return canvas;\n}\nasync function $dcfb36a1d813879c$export$6f9e32581c0cde11(node, options = {}) {\n const { width: width, height: height } = (0, $4782dfe4508d9351$export$ada5537b2c061996)(node, options);\n const canvas = await $dcfb36a1d813879c$export$f87f6982d1fd4f81(node, options);\n const ctx = canvas.getContext(\"2d\");\n return ctx.getImageData(0, 0, width, height).data;\n}\nasync function $dcfb36a1d813879c$export$aba256f33615c92e(node, options = {}) {\n const canvas = await $dcfb36a1d813879c$export$f87f6982d1fd4f81(node, options);\n return canvas.toDataURL();\n}\nasync function $dcfb36a1d813879c$export$ed218bd2440d33a5(node, options = {}) {\n const canvas = await $dcfb36a1d813879c$export$f87f6982d1fd4f81(node, options);\n return canvas.toDataURL(\"image/jpeg\", options.quality || 1);\n}\nasync function $dcfb36a1d813879c$export$b20f4ee19ffa0668(node, options = {}) {\n const canvas = await $dcfb36a1d813879c$export$f87f6982d1fd4f81(node, options);\n const blob = await (0, $4782dfe4508d9351$export$403d539f215df596)(canvas);\n return blob;\n}\nasync function $dcfb36a1d813879c$export$92678bad7eef403b(node, options = {}) {\n return (0, $586c729879695f49$export$253c9aa3d83a57b6)(node, options);\n}\n\n\n\n\nvar $aefc93beca39863e$export$827f4ee28efc37;\nvar $aefc93beca39863e$export$4bdbf921f0c0fd8c;\n$aefc93beca39863e$export$827f4ee28efc37 = `CqZazW_box`;\n$aefc93beca39863e$export$4bdbf921f0c0fd8c = `CqZazW_cover`;\n\n\n\n\nvar $001ad9c74aa66c44$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $001ad9c74aa66c44$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $001ad9c74aa66c44$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $001ad9c74aa66c44$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $001ad9c74aa66c44$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $001ad9c74aa66c44$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $001ad9c74aa66c44$export$eeced63f031cb2ca = (()=>{\n var _InvitationCard_imageURI_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"invitation-card\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _imageURI_decorators;\n let _imageURI_initializers = [];\n var InvitationCard = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _InvitationCard_imageURI_accessor_storage.set(this, ($001ad9c74aa66c44$var$__runInitializers(this, _instanceExtraInitializers), $001ad9c74aa66c44$var$__runInitializers(this, _imageURI_initializers, \"\")));\n Object.defineProperty(this, \"showImage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>$001ad9c74aa66c44$var$__awaiter(this, void 0, void 0, function*() {\n if (this.imageURI) return;\n const box = this.querySelector(\"main\");\n if (box) this.imageURI = yield (0, $dcfb36a1d813879c$export$aba256f33615c92e)(box);\n })\n });\n }\n get imageURI() {\n return $001ad9c74aa66c44$var$__classPrivateFieldGet(this, _InvitationCard_imageURI_accessor_storage, \"f\");\n }\n set imageURI(value) {\n $001ad9c74aa66c44$var$__classPrivateFieldSet(this, _InvitationCard_imageURI_accessor_storage, value, \"f\");\n }\n renderCard() {\n const { username: username, gender: gender } = (0, $e99f51b37211aa02$export$55427e926be628d4).user;\n return (0, $6aabcc7ac344e71d$exports.jsxs)(\"main\", {\n className: `vw-100 vh-100 text-white d-flex flex-column ${$aefc93beca39863e$export$827f4ee28efc37}`,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-fluid\",\n src: (0, (/*@__PURE__*/$parcel$interopDefault($f4ef06ddf03adecc$exports)))\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"flex-grow-1 d-flex flex-column align-items-center justify-content-around text-center\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"header\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h3\", {\n children: \"\\u8BDA\\u631A\\u9080\\u8BF7\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"h2\", {\n children: [\n username[0],\n gender === \"\\u5973\" ? \"\\u5973\\u58EB\" : \"\\u5148\\u751F\"\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"p\", {\n className: \"lead mt-3\",\n children: [\n \"\\u4E8E 11 \\u6708 16 ~ 17 \\u65E5\",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"br\", {}),\n \"\\u8385\\u4E34\",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"b\", {\n children: \"\\u83C1\\u84C9\\u56FD\\u9645\\u5E7F\\u573A\"\n }),\n \"\\u53C2\\u4F1A\"\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n className: \"w-50 px-3 pt-3 bg-white\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-fluid\",\n src: (0, (/*@__PURE__*/$parcel$interopDefault($4e00718fcdba9849$exports)))\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"div\", {\n className: \"lead text-dark\",\n children: \"\\u548C\\u6211\\u4E00\\u8D77\\u53BB\"\n })\n ]\n })\n ]\n })\n ]\n });\n }\n render() {\n const { imageURI: imageURI } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d53da11331b77c2b$export$a476b4f7d4df5522), {\n className: \"position-relative\",\n onClick: this.showImage,\n children: [\n (0, $e99f51b37211aa02$export$55427e926be628d4).user && this.renderCard(),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: `position-absolute vw-100 vh-100 ${$aefc93beca39863e$export$4bdbf921f0c0fd8c}`,\n hidden: !imageURI,\n src: imageURI\n })\n ]\n });\n }\n };\n _InvitationCard_imageURI_accessor_storage = new WeakMap();\n $001ad9c74aa66c44$var$__setFunctionName(_classThis, \"InvitationCard\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _imageURI_decorators = [\n (0, $dDNcL.observable)\n ];\n $001ad9c74aa66c44$var$__esDecorate(_classThis, null, _imageURI_decorators, {\n kind: \"accessor\",\n name: \"imageURI\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"imageURI\" in obj,\n get: (obj)=>obj.imageURI,\n set: (obj, value)=>{\n obj.imageURI = value;\n }\n },\n metadata: _metadata\n }, _imageURI_initializers, _instanceExtraInitializers);\n $001ad9c74aa66c44$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n InvitationCard = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $001ad9c74aa66c44$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return InvitationCard = _classThis;\n})();\n\n\n\n\n\nvar $1MFjU = parcelRequire(\"1MFjU\");\n\n\nvar $dDNcL = parcelRequire(\"dDNcL\");\n\nvar $11d3d818d65ecaea$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $11d3d818d65ecaea$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $11d3d818d65ecaea$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $11d3d818d65ecaea$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $11d3d818d65ecaea$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $11d3d818d65ecaea$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $f5677008bd939fdb$exports = {};\n$f5677008bd939fdb$exports = new URL(\"account.38407711.csv\", import.meta.url).toString();\n\n\nlet $11d3d818d65ecaea$export$9173d18d49443e0e = (()=>{\n var _AccountPage_list_accessor_storage;\n let _classDecorators = [\n (0, $3268d95a94a11a3f$export$d8556a2a8f973135)({\n tagName: \"account-page\"\n }),\n (0, $3268d95a94a11a3f$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _list_decorators;\n let _list_initializers = [];\n let _get_expenditure_decorators;\n let _get_revenue_decorators;\n var AccountPage = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _AccountPage_list_accessor_storage.set(this, ($11d3d818d65ecaea$var$__runInitializers(this, _instanceExtraInitializers), $11d3d818d65ecaea$var$__runInitializers(this, _list_initializers, [])));\n Object.defineProperty(this, \"renderRow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ({ item: item, price: price, count: count, manager: manager, date: date, remark: remark }, index)=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"tr\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: ++index\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: item\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n className: \"text-right\",\n children: price\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n className: \"text-right\",\n children: count\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: manager && (0, $6aabcc7ac344e71d$exports.jsxs)(\"a\", {\n target: \"_blank\",\n href: \"https://github.com/\" + manager,\n children: [\n \"@\",\n manager\n ]\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: date\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: remark\n })\n ]\n }, item)\n });\n }\n get list() {\n return $11d3d818d65ecaea$var$__classPrivateFieldGet(this, _AccountPage_list_accessor_storage, \"f\");\n }\n set list(value) {\n $11d3d818d65ecaea$var$__classPrivateFieldSet(this, _AccountPage_list_accessor_storage, value, \"f\");\n }\n get expenditure() {\n return this.list.reduce((sum, { price: price, count: count, date: date })=>price < 0 && date ? sum + price * count : sum, 0);\n }\n get revenue() {\n return this.list.reduce((sum, { price: price, count: count, date: date })=>price > 0 && date ? sum + price * count : sum, 0);\n }\n mountedCallback() {\n return $11d3d818d65ecaea$var$__awaiter(this, void 0, void 0, function*() {\n const data = yield (yield fetch(new URL($f5677008bd939fdb$exports))).text();\n this.list = (0, $1MFjU.parseTextTable)(data, true);\n });\n }\n render() {\n const { list: list, expenditure: expenditure, revenue: revenue } = this;\n return (0, $6aabcc7ac344e71d$exports.jsxs)((0, $4b27cb3a83650e7e$export$953c2efc134d7f79), {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h2\", {\n className: \"py-5 text-center\",\n children: \"\\u6536\\u652F\\u8D26\\u76EE\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)((0, $d6da3710e38faa1c$export$54ec01a60f47d33d), {\n striped: true,\n hover: true,\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"thead\", {\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"tr\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"#\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u4E8B\\u9879\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u5355\\u4EF7\\uFF08\\u4EBA\\u6C11\\u5E01\\uFFE5\\uFF09\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u6570\\u91CF\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u7ECF\\u529E\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u65E5\\u671F\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u5907\\u6CE8\"\n })\n ]\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"tbody\", {\n children: list.map(this.renderRow)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"tfoot\", {\n children: (0, $6aabcc7ac344e71d$exports.jsxs)(\"tr\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u603B\\u652F\\u51FA\\uFF08\\u4EBA\\u6C11\\u5E01\\uFFE5\\uFF09\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: expenditure.toFixed(2)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u603B\\u6536\\u5165\\uFF08\\u4EBA\\u6C11\\u5E01\\uFFE5\\uFF09\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: revenue.toFixed(2)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"th\", {\n children: \"\\u603B\\u7ED3\\u4F59\\uFF08\\u4EBA\\u6C11\\u5E01\\uFFE5\\uFF09\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"td\", {\n children: (revenue + expenditure).toFixed(2)\n })\n ]\n })\n })\n ]\n })\n ]\n });\n }\n };\n _AccountPage_list_accessor_storage = new WeakMap();\n $11d3d818d65ecaea$var$__setFunctionName(_classThis, \"AccountPage\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _list_decorators = [\n (0, $dDNcL.observable)\n ];\n _get_expenditure_decorators = [\n (0, $dDNcL.computed)\n ];\n _get_revenue_decorators = [\n (0, $dDNcL.computed)\n ];\n $11d3d818d65ecaea$var$__esDecorate(_classThis, null, _list_decorators, {\n kind: \"accessor\",\n name: \"list\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"list\" in obj,\n get: (obj)=>obj.list,\n set: (obj, value)=>{\n obj.list = value;\n }\n },\n metadata: _metadata\n }, _list_initializers, _instanceExtraInitializers);\n $11d3d818d65ecaea$var$__esDecorate(_classThis, null, _get_expenditure_decorators, {\n kind: \"getter\",\n name: \"expenditure\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"expenditure\" in obj,\n get: (obj)=>obj.expenditure\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $11d3d818d65ecaea$var$__esDecorate(_classThis, null, _get_revenue_decorators, {\n kind: \"getter\",\n name: \"revenue\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"revenue\" in obj,\n get: (obj)=>obj.revenue\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $11d3d818d65ecaea$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AccountPage = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $11d3d818d65ecaea$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AccountPage = _classThis;\n})();\n\n\nconst { Route: $78f15da238736fd2$var$Route } = (0, $cdfcfd2658d0d762$export$baddd0131ee8c05b)();\nconst $78f15da238736fd2$export$2b03cf3e6072856f = ()=>(0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"d-flex flex-column\",\n style: {\n height: \"300vh\"\n },\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n className: \"flex-fill overflow-auto scrollbar-none\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"\",\n component: (0, $a6c3d139f2721b86$export$36d69433c4f81145)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"community\",\n component: (0, $e8c9a5fd7d94d11d$export$ee1db8826c4c2102)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"2017/\",\n component: (0, $84da816ad819b25e$export$6ad6c45b3f827609)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"2018/Code4City/\",\n component: (0, $2820d241879d4374$export$1bd94ce9e78f84ed)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"2018/\",\n component: (0, $ad72fdbf935866b0$export$433bd2146b9d5f1b)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"2019/\",\n component: (0, $6b954e87a96b9a17$export$86e3d585d8922b95)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"2019/invitation/\",\n component: (0, $001ad9c74aa66c44$export$eeced63f031cb2ca)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"2019/accounts/\",\n component: (0, $11d3d818d65ecaea$export$9173d18d49443e0e)\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)($78f15da238736fd2$var$Route, {\n path: \"activity\",\n component: (0, $d13f2f2623a064f2$export$e89e5028cb715ed2)\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"footer\", {\n className: \"text-muted bg-light overflow-hidden mt-4\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n className: \"container d-md-flex justify-content-between my-4\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n children: \"\\u5173\\u4E8E\\u6211\\u4EEC\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"p\", {\n className: \"text-muted\",\n children: \"\\u975E\\u8425\\u5229\\u7EC4\\u7EC7 freeCodeCamp.org \\u81EA 2014 \\u5E74\\u6210\\u7ACB\\u4EE5\\u6765\\uFF0C\\u4EE5\\u201C\\u5E2E\\u52A9\\u4EBA\\u4EEC\\u514D\\u8D39\\u5B66\\u4E60\\u7F16\\u7A0B\\u201D\\u4E3A\\u4F7F\\u547D\\uFF0C\\u521B\\u5EFA\\u4E86\\u5927\\u91CF\\u514D\\u8D39\\u7684\\u7F16\\u7A0B\\u6559\\u7A0B\\uFF0C\\u5305\\u62EC\\u4EA4\\u4E92\\u5F0F\\u8BFE\\u7A0B\\u3001\\u89C6\\u9891\\u8BFE\\u7A0B\\u3001\\u6587\\u7AE0\\u7B49\\u3002\\u7EBF\\u4E0B\\u5F00\\u53D1\\u8005\\u793E\\u533A\\u904D\\u5E03 160 \\u591A\\u4E2A\\u56FD\\u5BB6\\u30012000 \\u591A\\u4E2A\\u57CE\\u5E02\\u3002\\u6211\\u4EEC\\u6B63\\u5728\\u5E2E\\u52A9\\u5168\\u7403\\u6570\\u767E\\u4E07\\u4EBA\\u5B66\\u4E60\\u7F16\\u7A0B\\uFF0C\\u5E0C\\u671B\\u8BA9\\u4E16\\u754C\\u4E0A\\u6BCF\\u4E2A\\u4EBA\\u90FD\\u6709\\u673A\\u4F1A\\u83B7\\u5F97\\u514D\\u8D39\\u7684\\u4F18\\u8D28\\u7684\\u7F16\\u7A0B\\u6559\\u80B2\\u8D44\\u6E90\\uFF0C\\u6210\\u4E3A\\u5F00\\u53D1\\u8005\\u6216\\u8005\\u8FD0\\u7528\\u7F16\\u7A0B\\u53BB\\u89E3\\u51B3\\u95EE\\u9898\\u3002\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"p\", {\n className: \"text-muted\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n target: \"_blank\",\n href: \"https://fcc-cd.dev/\",\n children: \"freeCodeCamp \\u6210\\u90FD\\u793E\\u533A\"\n }),\n \"\\u6210\\u7ACB\\u4E8E 2016 \\u5E74\\uFF0C\\u662F\\u4E2D\\u56FD\\u5927\\u9646\\u6700\\u65E9\\u4E00\\u6279 FCC \\u57CE\\u5E02\\u7EBF\\u4E0B\\u793E\\u533A\\uFF0C\\u76EE\\u524D\\u4F1A\\u5458\\u5343\\u4F59\\u4EBA\\uFF0C\\u4E5F\\u662F\\u6700\\u5927\\u7684 FCC \\u57CE\\u5E02\\u793E\\u533A\\u3002\\u5728\\u6838\\u5FC3\\u56E2\\u961F 20 \\u4F59\\u4EBA\\u4E24\\u5E74\\u7684\\u52AA\\u529B\\u4E0B\\uFF0CFCC \\u6210\\u90FD\\u5DF2\\u8986\\u76D6 \\u7F16\\u7A0B\\u6559\\u80B2\\u3001\\u6280\\u672F\\u62DB\\u8058\\u3001\\u884C\\u4E1A\\u5927\\u4F1A\\u7B49\\u7A0B\\u5E8F\\u5458\\u5168\\u804C\\u4E1A\\u751F\\u6DAF\\u7684\\u516C\\u76CA\\u670D\\u52A1\\u3002\"\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"div\", {\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"h4\", {\n children: \"\\u8054\\u7CFB\\u6211\\u4EEC\"\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"ul\", {\n className: \"list-unstyled\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n href: \"https://www.weibo.com/u/6165665516\",\n children: \"\\u65B0\\u6D6A\\u5FAE\\u535A\"\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n href: \"https://github.com/FreeCodeCamp-Chengdu\",\n children: \"GitHub\"\n })\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"li\", {\n children: (0, $6aabcc7ac344e71d$exports.jsx)(\"img\", {\n className: \"img-thumbnail w-75\",\n src: (0, (/*@__PURE__*/$parcel$interopDefault($9cac426e37fc7596$exports))),\n title: \"\\u5FAE\\u4FE1\\u516C\\u4F17\\u53F7\"\n })\n })\n ]\n })\n ]\n })\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"section\", {\n className: \"container d-flex flex-column flex-md-row align-items-center justify-content-around my-4\",\n children: [\n (0, $6aabcc7ac344e71d$exports.jsxs)(\"span\", {\n children: [\n \"\\u81EA\\u8C6A\\u5730\\u4F7F\\u7528\",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n className: \"px-1\",\n href: \"https://github.com/EasyWebApp/WebCell/tree/v2\",\n children: \"WebCell v3\"\n }),\n \"&\",\n (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n className: \"px-1\",\n href: \"https://web-cell.dev/BootCell\",\n children: \"BootCell v2\"\n }),\n \"\\u5F00\\u53D1\"\n ]\n }),\n (0, $6aabcc7ac344e71d$exports.jsx)(\"a\", {\n href: \"#top\",\n children: \"\\u8FD4\\u56DE\\u9875\\u9876\"\n })\n ]\n })\n ]\n })\n ]\n });\n\n\n(0, $5ec47347fc6130b4$export$dfb5619354ba860)();\n(0, $dDNcL.configure)({\n enforceActions: \"never\"\n});\nself.addEventListener(\"unhandledrejection\", (event)=>{\n const { message: message } = event.reason;\n if (!message) return;\n event.preventDefault();\n self.alert(message);\n});\nconst { serviceWorker: $f64ad2349eb3c2ef$var$serviceWorker } = window.navigator;\n$f64ad2349eb3c2ef$var$serviceWorker === null || $f64ad2349eb3c2ef$var$serviceWorker === void 0 || $f64ad2349eb3c2ef$var$serviceWorker.register(\"sw.js\").then((0, $1MFjU.serviceWorkerUpdate)).then((worker)=>{\n if (window.confirm(\"\\u68C0\\u6D4B\\u5230\\u65B0\\u7248\\u672C\\uFF0C\\u662F\\u5426\\u7ACB\\u5373\\u542F\\u7528\\uFF1F\")) worker.postMessage({\n type: \"SKIP_WAITING\"\n });\n});\n$f64ad2349eb3c2ef$var$serviceWorker === null || $f64ad2349eb3c2ef$var$serviceWorker === void 0 || $f64ad2349eb3c2ef$var$serviceWorker.addEventListener(\"controllerchange\", ()=>window.location.reload());\n(0, $1MFjU.documentReady).then(()=>new (0, $4a2929bb027ef98e$exports.DOMRenderer)().render((0, $6aabcc7ac344e71d$exports.jsx)((0, $78f15da238736fd2$export$2b03cf3e6072856f), {})));\n\n\n//# sourceMappingURL=index.dc96cc69.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VNode = void 0;\nvar VNode = /** @class */ (function () {\n function VNode(meta) {\n Object.assign(this, meta);\n var tagName = meta.tagName, is = meta.is, props = meta.props;\n if (!tagName && !(props === null || props === void 0 ? void 0 : props.className) && !is)\n return;\n this.selector = [\n tagName === null || tagName === void 0 ? void 0 : tagName.toLowerCase(),\n (props === null || props === void 0 ? void 0 : props.className) &&\n \".\".concat(props.className.trim().replace(/\\s+/, '.')),\n is && \"[is=\\\"\".concat(is, \"\\\"]\")\n ]\n .filter(Boolean)\n .join('');\n }\n VNode.fromDOM = function (node) {\n var _this = this;\n if (node instanceof Text)\n return new _a({ node: node, text: node.nodeValue });\n if (!(node instanceof Element))\n return new _a({ node: node });\n var _b = node, tagName = _b.tagName, attributes = _b.attributes, style = _b.style, childNodes = _b.childNodes;\n var vNode = {\n node: node,\n tagName: tagName.toLowerCase(),\n is: node.getAttribute('is')\n };\n var props = Array.from(attributes, function (_b) {\n var name = _b.name, value = _b.value;\n return name !== 'style' && [_this.attrsMap[name] || name, value];\n }).filter(Boolean);\n if (props[0])\n vNode.props = Object.fromEntries(props);\n var styles = Array.from(style, function (key) { return [key, style[key]]; });\n if (styles[0])\n vNode.style = Object.fromEntries(styles);\n var children = Array.from(childNodes, function (node) { return _a.fromDOM(node); });\n if (children[0])\n vNode.children = children;\n return new _a(vNode);\n };\n var _a;\n _a = VNode;\n VNode.propsMap = {\n className: 'class',\n htmlFor: 'for'\n };\n VNode.attrsMap = Object.fromEntries(Object.entries(_a.propsMap).map(function (item) { return item.reverse(); }));\n return VNode;\n}());\nexports.VNode = VNode;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DOMRenderer = void 0;\nvar tslib_1 = require(\"tslib\");\nvar web_utility_1 = require(\"web-utility\");\nvar VDOM_1 = require(\"./VDOM\");\nvar DOMRenderer = /** @class */ (function () {\n function DOMRenderer() {\n var _this = this;\n this.eventPattern = /^on[A-Z]/;\n this.ariaPattern = /^aira[A-Z]/;\n this.treeCache = new WeakMap();\n this.keyOf = function (_a, index) {\n var key = _a.key, text = _a.text, props = _a.props, selector = _a.selector;\n return (key === null || key === void 0 ? void 0 : key.toString()) || (props === null || props === void 0 ? void 0 : props.id) || (text || selector || '') + index;\n };\n this.vNodeOf = function (list, key) {\n return list.find(function (vNode, index) { return \"\".concat(_this.keyOf(vNode, index)) === String(key); });\n };\n this.propsKeyOf = function (key) {\n return key.startsWith('aria-')\n ? (0, web_utility_1.toCamelCase)(key)\n : _this.eventPattern.test(key)\n ? key.toLowerCase()\n : key;\n };\n }\n DOMRenderer.prototype.updateProps = function (node, oldProps, newProps, onDelete, onAdd) {\n var e_1, _a, e_2, _b;\n if (oldProps === void 0) { oldProps = {}; }\n if (newProps === void 0) { newProps = {}; }\n var group = (0, web_utility_1.diffKeys)(Object.keys(oldProps), Object.keys(newProps)).group;\n try {\n for (var _c = tslib_1.__values(group[web_utility_1.DiffStatus.Old] || []), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = tslib_1.__read(_d.value, 1), key = _e[0];\n onDelete === null || onDelete === void 0 ? void 0 : onDelete(node, key);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _f = tslib_1.__values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read((group[web_utility_1.DiffStatus.Same] || [])), false), tslib_1.__read((group[web_utility_1.DiffStatus.New] || [])), false)), _g = _f.next(); !_g.done; _g = _f.next()) {\n var _h = tslib_1.__read(_g.value, 1), key = _h[0];\n if (oldProps[key] !== newProps[key])\n if (onAdd instanceof Function)\n onAdd(node, key, newProps[key]);\n else\n Reflect.set(node, key, newProps[key]);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n DOMRenderer.prototype.createNode = function (vNode, reusedVNodes) {\n var _a, _b;\n if (vNode.text)\n return (vNode.node = document.createTextNode(vNode.text));\n var reusedVNode = vNode.selector && ((_a = reusedVNodes === null || reusedVNodes === void 0 ? void 0 : reusedVNodes[vNode.selector]) === null || _a === void 0 ? void 0 : _a.shift());\n vNode.node = vNode.tagName\n ? (reusedVNode === null || reusedVNode === void 0 ? void 0 : reusedVNode.node) ||\n document.createElement(vNode.tagName, { is: vNode.is })\n : document.createDocumentFragment();\n var node = this.patch(reusedVNode || { tagName: vNode.tagName, node: vNode.node }, vNode).node;\n if (node)\n (_b = vNode.ref) === null || _b === void 0 ? void 0 : _b.call(vNode, node);\n return node;\n };\n DOMRenderer.prototype.deleteNode = function (_a) {\n var ref = _a.ref, node = _a.node, children = _a.children;\n if (node instanceof DocumentFragment)\n children === null || children === void 0 ? void 0 : children.forEach(this.deleteNode);\n else if (node) {\n node.remove();\n ref === null || ref === void 0 ? void 0 : ref();\n }\n };\n DOMRenderer.prototype.commitChildren = function (root, newNodes) {\n var e_3, _a;\n try {\n for (var _b = tslib_1.__values(tslib_1.__spreadArray([], tslib_1.__read(root.childNodes), false)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var oldNode = _c.value;\n var index = newNodes.indexOf(oldNode);\n if (index < 0)\n continue;\n else if (index === 0) {\n newNodes.shift();\n continue;\n }\n var beforeNodes = newNodes.slice(0, index);\n if (!beforeNodes[0])\n continue;\n oldNode.before.apply(oldNode, tslib_1.__spreadArray([], tslib_1.__read(beforeNodes), false));\n newNodes = newNodes.slice(index + 1);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_3) throw e_3.error; }\n }\n if (newNodes[0])\n root.append.apply(root, tslib_1.__spreadArray([], tslib_1.__read(newNodes), false));\n };\n DOMRenderer.prototype.updateChildren = function (node, oldList, newList) {\n var e_4, _a;\n var _this = this;\n var _b = (0, web_utility_1.diffKeys)(oldList.map(this.keyOf), newList.map(this.keyOf)), map = _b.map, group = _b.group;\n var deletingGroup = group[web_utility_1.DiffStatus.Old] &&\n (0, web_utility_1.groupBy)(group[web_utility_1.DiffStatus.Old].map(function (_a) {\n var _b = tslib_1.__read(_a, 1), key = _b[0];\n return _this.vNodeOf(oldList, key);\n }), function (_a) {\n var selector = _a.selector;\n return selector + '';\n });\n var newNodes = newList.map(function (vNode, index) {\n var key = _this.keyOf(vNode, index);\n if (map[key] !== web_utility_1.DiffStatus.Same)\n return _this.createNode(vNode, deletingGroup);\n var oldVNode = _this.vNodeOf(oldList, key);\n return vNode.text != null\n ? (vNode.node = oldVNode.node)\n : _this.patch(oldVNode, vNode).node;\n });\n for (var selector in deletingGroup)\n try {\n for (var _c = (e_4 = void 0, tslib_1.__values(deletingGroup[selector])), _d = _c.next(); !_d.done; _d = _c.next()) {\n var vNode = _d.value;\n this.deleteNode(vNode);\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_4) throw e_4.error; }\n }\n this.commitChildren(node, newNodes);\n };\n DOMRenderer.prototype.patch = function (oldVNode, newVNode) {\n var _this = this;\n var tagName = oldVNode.tagName;\n var isXML = (0, web_utility_1.templateOf)(tagName) && (0, web_utility_1.elementTypeOf)(tagName) === 'xml';\n this.updateProps(oldVNode.node, oldVNode.props, newVNode.props, function (node, key) {\n return _this.eventPattern.test(key)\n ? (node[key.toLowerCase()] = null)\n : node.removeAttribute(_this.ariaPattern.test(key)\n ? (0, web_utility_1.toHyphenCase)(key)\n : VDOM_1.VNode.propsMap[key] || key);\n }, function (node, key, value) {\n // @ts-ignore\n if (isXML || key.includes('-') || (0, web_utility_1.isDOMReadOnly)(tagName, key))\n node.setAttribute(key, value);\n else\n node[_this.propsKeyOf(key)] = value;\n });\n this.updateProps(oldVNode.node.style, oldVNode.style, newVNode.style, function (node, key) { return node.removeProperty(key); });\n this.updateChildren(oldVNode.node, oldVNode.children || [], newVNode.children || []);\n newVNode.node = oldVNode.node;\n return newVNode;\n };\n DOMRenderer.prototype.render = function (vNode, node) {\n if (node === void 0) { node = document.body; }\n var root = this.treeCache.get(node) || VDOM_1.VNode.fromDOM(node);\n root = this.patch(root, tslib_1.__assign(tslib_1.__assign({}, root), { children: [vNode] }));\n this.treeCache.set(node, root);\n return root;\n };\n DOMRenderer.prototype.renderToStaticMarkup = function (tree) {\n var body = document.implementation.createHTMLDocument().body;\n this.render(tree, body);\n return body.innerHTML;\n };\n return DOMRenderer;\n}());\nexports.DOMRenderer = DOMRenderer;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $9b05bcda60cc529c$exports = {};\n\n$parcel$export($9b05bcda60cc529c$exports, \"likeNull\", function () { return $9b05bcda60cc529c$export$61cc6ed0f143570b; });\n$parcel$export($9b05bcda60cc529c$exports, \"isEmpty\", function () { return $9b05bcda60cc529c$export$dd1bc94b04021eeb; });\n$parcel$export($9b05bcda60cc529c$exports, \"classNameOf\", function () { return $9b05bcda60cc529c$export$a09f818797e212c4; });\n$parcel$export($9b05bcda60cc529c$exports, \"assertInheritance\", function () { return $9b05bcda60cc529c$export$170f4e08cad8229d; });\n$parcel$export($9b05bcda60cc529c$exports, \"isUnsafeNumeric\", function () { return $9b05bcda60cc529c$export$67a6ce548ae77071; });\n$parcel$export($9b05bcda60cc529c$exports, \"byteLength\", function () { return $9b05bcda60cc529c$export$a48f0734ac7c2329; });\n$parcel$export($9b05bcda60cc529c$exports, \"toHyphenCase\", function () { return $9b05bcda60cc529c$export$3f34ca2fef821bbd; });\n$parcel$export($9b05bcda60cc529c$exports, \"toCamelCase\", function () { return $9b05bcda60cc529c$export$86f54f62aa7a7514; });\n$parcel$export($9b05bcda60cc529c$exports, \"uniqueID\", function () { return $9b05bcda60cc529c$export$89912e019eef22aa; });\n$parcel$export($9b05bcda60cc529c$exports, \"objectFrom\", function () { return $9b05bcda60cc529c$export$1c8ba402144543e5; });\n$parcel$export($9b05bcda60cc529c$exports, \"DiffStatus\", function () { return $9b05bcda60cc529c$export$2ddabb89308e1a22; });\n$parcel$export($9b05bcda60cc529c$exports, \"diffKeys\", function () { return $9b05bcda60cc529c$export$14527669107aa301; });\n$parcel$export($9b05bcda60cc529c$exports, \"groupBy\", function () { return $9b05bcda60cc529c$export$3f063810d7bf01bd; });\n$parcel$export($9b05bcda60cc529c$exports, \"likeArray\", function () { return $9b05bcda60cc529c$export$b5a4d6f439a5044d; });\n$parcel$export($9b05bcda60cc529c$exports, \"isTypedArray\", function () { return $9b05bcda60cc529c$export$b119cc7e1840e59c; });\n$parcel$export($9b05bcda60cc529c$exports, \"makeArray\", function () { return $9b05bcda60cc529c$export$7b85fd78dd236198; });\n$parcel$export($9b05bcda60cc529c$exports, \"splitArray\", function () { return $9b05bcda60cc529c$export$697c3df919c0e61a; });\n$parcel$export($9b05bcda60cc529c$exports, \"findDeep\", function () { return $9b05bcda60cc529c$export$e6b5ff3168b5942b; });\n$parcel$export($9b05bcda60cc529c$exports, \"countBy\", function () { return $9b05bcda60cc529c$export$1d012a0dff3dab06; });\n$parcel$export($9b05bcda60cc529c$exports, \"cache\", function () { return $9b05bcda60cc529c$export$69a3209f1a06c04d; });\n$parcel$export($9b05bcda60cc529c$exports, \"mergeStream\", function () { return $9b05bcda60cc529c$export$dce9414bed0662c; });\nfunction $9b05bcda60cc529c$export$61cc6ed0f143570b(value) {\n return !(value != null) || Number.isNaN(value);\n}\nfunction $9b05bcda60cc529c$export$dd1bc94b04021eeb(value) {\n return $9b05bcda60cc529c$export$61cc6ed0f143570b(value) || (typeof value === \"object\" ? !Object.keys(value).length : value === \"\");\n}\nconst $9b05bcda60cc529c$export$a09f818797e212c4 = (data)=>Object.prototype.toString.call(data).slice(8, -1);\nfunction $9b05bcda60cc529c$export$170f4e08cad8229d(Sub, Super) {\n return Sub.prototype instanceof Super;\n}\nfunction $9b05bcda60cc529c$export$67a6ce548ae77071(raw) {\n return /^[\\d.]+$/.test(raw) && raw.localeCompare(Number.MAX_SAFE_INTEGER + \"\", undefined, {\n numeric: true\n }) > 0;\n}\nfunction $9b05bcda60cc529c$export$a48f0734ac7c2329(raw) {\n return raw.replace(/[^\\u0021-\\u007e\\uff61-\\uffef]/g, \"xx\").length;\n}\nfunction $9b05bcda60cc529c$export$3f34ca2fef821bbd(raw) {\n return raw.replace(/[A-Z]+|[^A-Za-z][A-Za-z]/g, (match, offset)=>`${offset ? \"-\" : \"\"}${(match[1] || match[0]).toLowerCase()}`);\n}\nfunction $9b05bcda60cc529c$export$86f54f62aa7a7514(raw, large = false) {\n return raw.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g, (match, offset)=>offset || large ? (match[1] || match[0]).toUpperCase() : match.toLowerCase());\n}\nfunction $9b05bcda60cc529c$export$89912e019eef22aa() {\n return (Date.now() + parseInt((Math.random() + \"\").slice(2))).toString(36);\n}\nfunction $9b05bcda60cc529c$export$1c8ba402144543e5(values, keys) {\n return Object.fromEntries(values.map((value, index)=>[\n keys[index],\n value\n ]));\n}\nvar $9b05bcda60cc529c$export$2ddabb89308e1a22;\n(function(DiffStatus) {\n DiffStatus[DiffStatus[\"Old\"] = -1] = \"Old\";\n DiffStatus[DiffStatus[\"Same\"] = 0] = \"Same\";\n DiffStatus[DiffStatus[\"New\"] = 1] = \"New\";\n})($9b05bcda60cc529c$export$2ddabb89308e1a22 || ($9b05bcda60cc529c$export$2ddabb89308e1a22 = {}));\nfunction $9b05bcda60cc529c$export$14527669107aa301(oldList, newList) {\n const map = {};\n for (const item of oldList)map[item] = $9b05bcda60cc529c$export$2ddabb89308e1a22.Old;\n for (const item of newList){\n map[item] ||= 0;\n map[item] += $9b05bcda60cc529c$export$2ddabb89308e1a22.New;\n }\n return {\n map: map,\n group: $9b05bcda60cc529c$export$3f063810d7bf01bd(Object.entries(map), ([key, status])=>status)\n };\n}\nfunction $9b05bcda60cc529c$export$b5a4d6f439a5044d(data) {\n if ($9b05bcda60cc529c$export$61cc6ed0f143570b(data)) return false;\n const { length: length } = data;\n return typeof length === \"number\" && length >= 0 && ~~length === length;\n}\nconst $9b05bcda60cc529c$export$b119cc7e1840e59c = (data)=>data instanceof Object.getPrototypeOf(Int8Array);\nfunction $9b05bcda60cc529c$export$7b85fd78dd236198(data) {\n if (data instanceof Array) return data;\n if ($9b05bcda60cc529c$export$61cc6ed0f143570b(data)) return [];\n if ($9b05bcda60cc529c$export$b5a4d6f439a5044d(data)) return Array.from(data);\n return [\n data\n ];\n}\nconst $9b05bcda60cc529c$export$697c3df919c0e61a = (array, unitLength)=>array.reduce((grid, item, index)=>{\n (grid[~~(index / unitLength)] ||= [])[index % unitLength] = item;\n return grid;\n }, []);\nfunction $9b05bcda60cc529c$export$e6b5ff3168b5942b(list, subKey, handler) {\n for (const item of list){\n if (handler(item)) return [\n item\n ];\n if (item[subKey] instanceof Array) {\n const result = $9b05bcda60cc529c$export$e6b5ff3168b5942b(item[subKey], subKey, handler);\n if (result.length) return [\n item,\n ...result\n ];\n }\n }\n return [];\n}\nfunction $9b05bcda60cc529c$export$3f063810d7bf01bd(list, iteratee) {\n const data = {};\n for (const item of list){\n let keys = iteratee instanceof Function ? iteratee(item) : item[iteratee];\n if (!(keys instanceof Array)) keys = [\n keys\n ];\n for (const key of new Set(keys.filter((key)=>key != null)))(data[key] = data[key] || []).push(item);\n }\n return data;\n}\nfunction $9b05bcda60cc529c$export$1d012a0dff3dab06(list, iteratee) {\n const group = $9b05bcda60cc529c$export$3f063810d7bf01bd(list, iteratee);\n const sortedList = Object.entries(group).map(([key, { length: length }])=>[\n key,\n length\n ]);\n return Object.fromEntries(sortedList);\n}\nfunction $9b05bcda60cc529c$export$69a3209f1a06c04d(executor, title) {\n var cacheData;\n return function(...data) {\n if (cacheData != null) return cacheData;\n console.trace(`[Cache] execute: ${title}`);\n cacheData = executor.call(this, ()=>cacheData = undefined, ...data);\n Promise.resolve(cacheData).then((data)=>console.log(`[Cache] refreshed: ${title} => ${data}`), (error)=>console.error(`[Cache] failed: ${error?.message || error}`));\n return cacheData;\n };\n}\nasync function* $9b05bcda60cc529c$export$dce9414bed0662c(...sources) {\n var iterators = sources.map((item)=>item());\n while(iterators[0]){\n const dones = [];\n for(let i = 0, iterator; iterator = iterators[i]; i++){\n const { done: done, value: value } = await iterator.next();\n if (!done) yield value;\n else dones.push(i);\n }\n iterators = iterators.filter((_, i)=>!dones.includes(i));\n }\n}\n\n\nvar $6a9944941b4c1893$exports = {};\n\n$parcel$export($6a9944941b4c1893$exports, \"sum\", function () { return $6a9944941b4c1893$export$8a63f25cc62965f1; });\n$parcel$export($6a9944941b4c1893$exports, \"averageOf\", function () { return $6a9944941b4c1893$export$e1f36757ecda301d; });\n$parcel$export($6a9944941b4c1893$exports, \"varianceOf\", function () { return $6a9944941b4c1893$export$8e694e1eafd55acb; });\n$parcel$export($6a9944941b4c1893$exports, \"standardDeviationOf\", function () { return $6a9944941b4c1893$export$57d7c52a66287430; });\n$parcel$export($6a9944941b4c1893$exports, \"hypotenuseOf\", function () { return $6a9944941b4c1893$export$2b4693832ca3ce16; });\n$parcel$export($6a9944941b4c1893$exports, \"carryFloat\", function () { return $6a9944941b4c1893$export$5b784e078da1ce6; });\n$parcel$export($6a9944941b4c1893$exports, \"fixFloat\", function () { return $6a9944941b4c1893$export$17ec9c9f4f23588c; });\nfunction $6a9944941b4c1893$export$8a63f25cc62965f1(...data) {\n return data.reduce((sum, item)=>sum + item, 0);\n}\nfunction $6a9944941b4c1893$export$e1f36757ecda301d(...data) {\n return $6a9944941b4c1893$export$8a63f25cc62965f1(...data) / data.length;\n}\nfunction $6a9944941b4c1893$export$8e694e1eafd55acb(data, sample = false) {\n const average = $6a9944941b4c1893$export$e1f36757ecda301d(...data);\n const summary = $6a9944941b4c1893$export$8a63f25cc62965f1(...data.map((item)=>(item - average) ** 2));\n return summary / (data.length - (sample ? 1 : 0));\n}\nfunction $6a9944941b4c1893$export$57d7c52a66287430(data, sample = false) {\n return Math.sqrt($6a9944941b4c1893$export$8e694e1eafd55acb(data, sample));\n}\nfunction $6a9944941b4c1893$export$2b4693832ca3ce16(...data) {\n return Math.sqrt($6a9944941b4c1893$export$8a63f25cc62965f1(...data.map((item)=>item ** 2)));\n}\nfunction $6a9944941b4c1893$export$5b784e078da1ce6(raw, length) {\n const text = raw.toFixed(length + 2);\n const offset = text.indexOf(\".\") + length + 1;\n const cut = (text)=>text.slice(0, offset - (length ? 0 : 1));\n if (!+text.slice(offset)) return cut(text);\n const result = cut((+cut(text) + 10 ** -length).toFixed(length));\n return result.includes(\".\") ? result.padEnd(offset, \"0\") : result;\n}\nfunction $6a9944941b4c1893$export$17ec9c9f4f23588c(raw, length = 2) {\n const text = raw.toFixed(length + 2);\n const floatOffset = text.indexOf(\".\");\n if (floatOffset < 0) return length ? `${text}.${\"0\".repeat(length)}` : text;\n const offset = floatOffset + length + 1;\n const before = +text[offset - 1], anchor = +text[offset], after = +text[offset + 1];\n const carry = anchor > 5 || anchor === 5 && (!!after || !!(before % 2));\n if (carry) return $6a9944941b4c1893$export$5b784e078da1ce6(raw, length);\n const result = text.slice(0, offset - (length ? 0 : 1));\n return result.includes(\".\") ? result.padEnd(offset, \"0\") : result;\n}\n\n\nvar $f872d8bba1c0f79f$exports = {};\n\n$parcel$export($f872d8bba1c0f79f$exports, \"Second\", function () { return $f872d8bba1c0f79f$export$c489aa6f7fd82b1a; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Minute\", function () { return $f872d8bba1c0f79f$export$cbd942915f33be50; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Quarter\", function () { return $f872d8bba1c0f79f$export$9b886f8493244014; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Hour\", function () { return $f872d8bba1c0f79f$export$e99cbb807a5bb10d; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Day\", function () { return $f872d8bba1c0f79f$export$7a9a31a911eb9a20; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Week\", function () { return $f872d8bba1c0f79f$export$fca4f8121099df57; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Year\", function () { return $f872d8bba1c0f79f$export$6ce2f08d515512; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Month\", function () { return $f872d8bba1c0f79f$export$951c8378cdfec6e6; });\n$parcel$export($f872d8bba1c0f79f$exports, \"Season\", function () { return $f872d8bba1c0f79f$export$1a4097b876a13bf7; });\n$parcel$export($f872d8bba1c0f79f$exports, \"diffTime\", function () { return $f872d8bba1c0f79f$export$506c8e8f8c8edda; });\n$parcel$export($f872d8bba1c0f79f$exports, \"formatDate\", function () { return $f872d8bba1c0f79f$export$3ae94a2503e890a1; });\n$parcel$export($f872d8bba1c0f79f$exports, \"changeMonth\", function () { return $f872d8bba1c0f79f$export$62ad822b3a5fd9a0; });\nconst $f872d8bba1c0f79f$export$c489aa6f7fd82b1a = 1000;\nconst $f872d8bba1c0f79f$export$cbd942915f33be50 = $f872d8bba1c0f79f$export$c489aa6f7fd82b1a * 60;\nconst $f872d8bba1c0f79f$export$9b886f8493244014 = $f872d8bba1c0f79f$export$cbd942915f33be50 * 15;\nconst $f872d8bba1c0f79f$export$e99cbb807a5bb10d = $f872d8bba1c0f79f$export$9b886f8493244014 * 4;\nconst $f872d8bba1c0f79f$export$7a9a31a911eb9a20 = $f872d8bba1c0f79f$export$e99cbb807a5bb10d * 24;\nconst $f872d8bba1c0f79f$export$fca4f8121099df57 = $f872d8bba1c0f79f$export$7a9a31a911eb9a20 * 7;\nconst $f872d8bba1c0f79f$export$6ce2f08d515512 = $f872d8bba1c0f79f$export$7a9a31a911eb9a20 * 365;\nconst $f872d8bba1c0f79f$export$951c8378cdfec6e6 = $f872d8bba1c0f79f$export$6ce2f08d515512 / 12;\nconst $f872d8bba1c0f79f$export$1a4097b876a13bf7 = $f872d8bba1c0f79f$export$951c8378cdfec6e6 * 3;\nconst $f872d8bba1c0f79f$var$TimeUnit = new Map([\n [\n \"s\",\n $f872d8bba1c0f79f$export$c489aa6f7fd82b1a\n ],\n [\n \"m\",\n $f872d8bba1c0f79f$export$cbd942915f33be50\n ],\n [\n \"H\",\n $f872d8bba1c0f79f$export$e99cbb807a5bb10d\n ],\n [\n \"D\",\n $f872d8bba1c0f79f$export$7a9a31a911eb9a20\n ],\n [\n \"W\",\n $f872d8bba1c0f79f$export$fca4f8121099df57\n ],\n [\n \"M\",\n $f872d8bba1c0f79f$export$951c8378cdfec6e6\n ],\n [\n \"Y\",\n $f872d8bba1c0f79f$export$6ce2f08d515512\n ]\n]);\nfunction $f872d8bba1c0f79f$export$506c8e8f8c8edda(end, start = new Date(), map = $f872d8bba1c0f79f$var$TimeUnit) {\n const distance = +new Date(end) - +new Date(start);\n for (const [unit, base] of [\n ...map\n ].reverse()){\n const rest = distance / base;\n if (Math.abs(rest) >= 1) return {\n distance: +rest.toFixed(0),\n unit: unit\n };\n }\n return {\n distance: distance,\n unit: \"ms\"\n };\n}\nfunction $f872d8bba1c0f79f$var$fitUnit(value) {\n value = +value + \"\";\n return (template)=>(value.length < template.length ? value.padStart(template.length, \"0\") : value).slice(-Math.max(template.length, 2));\n}\nfunction $f872d8bba1c0f79f$export$3ae94a2503e890a1(time = new Date(), template = \"YYYY-MM-DD HH:mm:ss\") {\n time = time instanceof Date ? time : new Date(time);\n time = new Date(+time - time.getTimezoneOffset() * $f872d8bba1c0f79f$export$cbd942915f33be50);\n const [year, month, day, hour, minute, second, millisecond] = time.toJSON().split(/\\D/);\n return template.replace(/ms/g, millisecond).replace(/Y+/g, $f872d8bba1c0f79f$var$fitUnit(year)).replace(/M+/g, $f872d8bba1c0f79f$var$fitUnit(month)).replace(/D+/g, $f872d8bba1c0f79f$var$fitUnit(day)).replace(/H+/g, $f872d8bba1c0f79f$var$fitUnit(hour)).replace(/m+/g, $f872d8bba1c0f79f$var$fitUnit(minute)).replace(/s+/g, $f872d8bba1c0f79f$var$fitUnit(second));\n}\nfunction $f872d8bba1c0f79f$export$62ad822b3a5fd9a0(date, delta) {\n date = new Date(date);\n const month = date.getMonth() + delta;\n date.setFullYear(date.getFullYear() + Math.floor(month / 12));\n delta = month % 12;\n date.setMonth(delta < 0 ? 12 + delta : delta);\n return date;\n}\n\n\nvar $ba0e5dc395660a7c$exports = {};\n\n$parcel$export($ba0e5dc395660a7c$exports, \"parseJSON\", function () { return $ba0e5dc395660a7c$export$27924e57e9afff7f; });\n$parcel$export($ba0e5dc395660a7c$exports, \"toJSValue\", function () { return $ba0e5dc395660a7c$export$7ea17d45ecdcf634; });\n$parcel$export($ba0e5dc395660a7c$exports, \"parseTextTable\", function () { return $ba0e5dc395660a7c$export$bb8626e4916f587b; });\n\nfunction $ba0e5dc395660a7c$export$27924e57e9afff7f(raw) {\n function parseItem(value) {\n if (typeof value === \"string\" && /^\\d+(-\\d{1,2}){1,2}/.test(value)) {\n const date = new Date(value);\n if (!Number.isNaN(+date)) return date;\n }\n return value;\n }\n const value = parseItem(raw);\n if (typeof value !== \"string\" || (0, $9b05bcda60cc529c$export$67a6ce548ae77071)(value)) return value;\n try {\n return JSON.parse(raw, (key, value)=>parseItem(value));\n } catch {\n return raw;\n }\n}\nfunction $ba0e5dc395660a7c$export$7ea17d45ecdcf634(raw) {\n const parsed = $ba0e5dc395660a7c$export$27924e57e9afff7f(raw);\n if (typeof parsed !== \"string\") return parsed;\n const number = +parsed;\n return Number.isNaN(number) || number + \"\" !== parsed ? parsed : number;\n}\nfunction $ba0e5dc395660a7c$var$readQuoteValue(raw) {\n const quote = raw[0];\n const index = raw.indexOf(quote, 1);\n if (index < 0) throw SyntaxError(`A ${quote} is missing`);\n return raw.slice(1, index);\n}\nfunction $ba0e5dc395660a7c$export$bb8626e4916f587b(raw, header, separator = \",\") {\n const data = raw.trim().split(/[\\r\\n]+/).map((row)=>{\n const list = [];\n do {\n let value;\n if (row[0] === '\"' || row[0] === \"'\") {\n value = $ba0e5dc395660a7c$var$readQuoteValue(row);\n row = row.slice(value.length + 3);\n } else {\n const index = row.indexOf(separator);\n if (index > -1) {\n value = row.slice(0, index);\n row = row.slice(index + 1);\n } else {\n value = row;\n row = \"\";\n }\n }\n list.push($ba0e5dc395660a7c$export$7ea17d45ecdcf634(value.trim()));\n }while (row);\n return list;\n });\n return !header ? data : data.slice(1).map((row)=>row.reduce((object, item, index)=>{\n object[data[0][index]] = item;\n return object;\n }, {}));\n}\n\n\nvar $083124ac4b1a50a0$exports = {};\n\n$parcel$export($083124ac4b1a50a0$exports, \"isXDomain\", function () { return $083124ac4b1a50a0$export$71e6483fc2b024eb; });\n$parcel$export($083124ac4b1a50a0$exports, \"parseURLData\", function () { return $083124ac4b1a50a0$export$eb9b2aadbe449a20; });\n$parcel$export($083124ac4b1a50a0$exports, \"buildURLData\", function () { return $083124ac4b1a50a0$export$13397a83aa5915d6; });\n$parcel$export($083124ac4b1a50a0$exports, \"blobOf\", function () { return $083124ac4b1a50a0$export$fd89523fba250fa4; });\n$parcel$export($083124ac4b1a50a0$exports, \"blobFrom\", function () { return $083124ac4b1a50a0$export$504fbde693c1771c; });\n\n\nfunction $083124ac4b1a50a0$export$71e6483fc2b024eb(URI) {\n return new URL(URI, document.baseURI).origin !== location.origin;\n}\nfunction $083124ac4b1a50a0$export$eb9b2aadbe449a20(raw = window.location.search, toBuiltIn = true) {\n const list = raw.split(/\\?|#/);\n const data = new URLSearchParams(list[1] || list[0]);\n return Object.fromEntries([\n ...data.keys()\n ].map((key)=>{\n const list = toBuiltIn ? data.getAll(key).map((0, $ba0e5dc395660a7c$export$27924e57e9afff7f)) : data.getAll(key);\n return [\n key,\n list.length < 2 ? list[0] : list\n ];\n }));\n}\nconst $083124ac4b1a50a0$var$stringify = (value)=>typeof value === \"string\" ? value : (0, $9b05bcda60cc529c$export$b5a4d6f439a5044d)(value) ? (0, $9b05bcda60cc529c$export$7b85fd78dd236198)(value) + \"\" : JSON.stringify(value);\nfunction $083124ac4b1a50a0$export$13397a83aa5915d6(map) {\n if (!(map instanceof Array)) map = Object.entries(map);\n const list = map.map(([key, value])=>!(0, $9b05bcda60cc529c$export$dd1bc94b04021eeb)(value) && [\n key,\n $083124ac4b1a50a0$var$stringify(value)\n ]).filter(Boolean);\n return new URLSearchParams(list);\n}\nasync function $083124ac4b1a50a0$export$fd89523fba250fa4(URI) {\n return (await fetch(URI + \"\")).blob();\n}\nconst $083124ac4b1a50a0$var$DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\nfunction $083124ac4b1a50a0$export$504fbde693c1771c(URI) {\n var [_, type, __, base64, data] = $083124ac4b1a50a0$var$DataURI.exec(URI) || [];\n data = base64 ? atob(data) : data;\n const aBuffer = new ArrayBuffer(data.length);\n const uBuffer = new Uint8Array(aBuffer);\n for(let i = 0; data[i]; i++)uBuffer[i] = data.charCodeAt(i);\n return new Blob([\n aBuffer\n ], {\n type: type\n });\n}\n\n\nvar $50872bf213056663$exports = {};\n\n$parcel$export($50872bf213056663$exports, \"makeCRC32\", function () { return $50872bf213056663$export$1b9ac4d3de3ffd2e; });\n$parcel$export($50872bf213056663$exports, \"makeSHA\", function () { return $50872bf213056663$export$d51f3b55e8d1aa73; });\nconst $50872bf213056663$var$CRC_32_Table = Array.from(new Array(256), (_, cell)=>{\n for(var j = 0; j < 8; j++)if (cell & 1) cell = cell >> 1 & 0x7fffffff ^ 0xedb88320;\n else cell = cell >> 1 & 0x7fffffff;\n return cell;\n});\nfunction $50872bf213056663$export$1b9ac4d3de3ffd2e(raw) {\n var value = 0xffffffff;\n for (const char of raw)value = value >> 8 & 0x00ffffff ^ $50872bf213056663$var$CRC_32_Table[value & 0xff ^ char.charCodeAt(0)];\n return \"0x\" + ((value ^ 0xffffffff) >>> 0).toString(16);\n}\nif (typeof self === \"object\") {\n if (\"msCrypto\" in globalThis) {\n // @ts-ignore\n const { subtle: subtle } = globalThis.crypto = globalThis.msCrypto;\n for(const key in subtle){\n const origin = subtle[key];\n if (origin instanceof Function) subtle[key] = function() {\n const observer = origin.apply(this, arguments);\n return new Promise((resolve, reject)=>{\n observer.oncomplete = ({ target: target })=>resolve(target.result);\n observer.onabort = observer.onerror = reject;\n });\n };\n }\n }\n const { crypto: crypto1 } = globalThis;\n if (!crypto1?.subtle && crypto1?.[\"webkitSubtle\"]) // @ts-ignore\n crypto1.subtle = crypto1[\"webkitSubtle\"];\n}\nasync function $50872bf213056663$export$d51f3b55e8d1aa73(raw, algorithm = \"SHA-1\") {\n const buffer = await crypto.subtle.digest(algorithm, new TextEncoder().encode(raw));\n return Array.from(new Uint8Array(buffer), (byte)=>byte.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\n\nvar $93a3089d2937b23f$exports = {};\n\n\nvar $3e0a089cc13f69ad$exports = {};\n\n$parcel$export($3e0a089cc13f69ad$exports, \"templateOf\", function () { return $3e0a089cc13f69ad$export$2ee022bbbc550b25; });\n$parcel$export($3e0a089cc13f69ad$exports, \"elementTypeOf\", function () { return $3e0a089cc13f69ad$export$a549dd5cef7f8327; });\n$parcel$export($3e0a089cc13f69ad$exports, \"isHTMLElementClass\", function () { return $3e0a089cc13f69ad$export$8eece510bcb9c62c; });\n$parcel$export($3e0a089cc13f69ad$exports, \"tagNameOf\", function () { return $3e0a089cc13f69ad$export$b8a1af58c024fefd; });\n$parcel$export($3e0a089cc13f69ad$exports, \"isDOMReadOnly\", function () { return $3e0a089cc13f69ad$export$a2cf0d4bb6e06de4; });\n$parcel$export($3e0a089cc13f69ad$exports, \"parseDOM\", function () { return $3e0a089cc13f69ad$export$d66b332881d9723f; });\n$parcel$export($3e0a089cc13f69ad$exports, \"stringifyDOM\", function () { return $3e0a089cc13f69ad$export$b0709844452f8b6b; });\n$parcel$export($3e0a089cc13f69ad$exports, \"walkDOM\", function () { return $3e0a089cc13f69ad$export$5118471ee5d5453b; });\n$parcel$export($3e0a089cc13f69ad$exports, \"getVisibleText\", function () { return $3e0a089cc13f69ad$export$be4650432daa84fd; });\n$parcel$export($3e0a089cc13f69ad$exports, \"splitPages\", function () { return $3e0a089cc13f69ad$export$578e38b4a3e0b255; });\n$parcel$export($3e0a089cc13f69ad$exports, \"importCSS\", function () { return $3e0a089cc13f69ad$export$7cd14c57bbb84350; });\n$parcel$export($3e0a089cc13f69ad$exports, \"stringifyCSS\", function () { return $3e0a089cc13f69ad$export$5100419dfae0456d; });\n$parcel$export($3e0a089cc13f69ad$exports, \"insertToCursor\", function () { return $3e0a089cc13f69ad$export$28d9d24a8cd0ffc2; });\n$parcel$export($3e0a089cc13f69ad$exports, \"scrollTo\", function () { return $3e0a089cc13f69ad$export$3f99968195accfaf; });\n$parcel$export($3e0a089cc13f69ad$exports, \"watchScroll\", function () { return $3e0a089cc13f69ad$export$eafdbaa868ea9975; });\n$parcel$export($3e0a089cc13f69ad$exports, \"watchVisible\", function () { return $3e0a089cc13f69ad$export$36a0c1ca2ae264fa; });\n$parcel$export($3e0a089cc13f69ad$exports, \"formToJSON\", function () { return $3e0a089cc13f69ad$export$86d7c59254d6a2c9; });\n\n\nconst $3e0a089cc13f69ad$var$templateMap = {};\nfunction $3e0a089cc13f69ad$export$2ee022bbbc550b25(tagName) {\n if ($3e0a089cc13f69ad$var$templateMap[tagName]) return $3e0a089cc13f69ad$var$templateMap[tagName];\n const spawn = document.createElement(\"template\");\n spawn.innerHTML = `<${tagName} />`;\n return $3e0a089cc13f69ad$var$templateMap[tagName] = spawn.content.firstElementChild;\n}\nfunction $3e0a089cc13f69ad$export$a549dd5cef7f8327(tagName) {\n const node = $3e0a089cc13f69ad$export$2ee022bbbc550b25(tagName);\n return node instanceof HTMLElement && !(node instanceof HTMLUnknownElement) ? \"html\" : \"xml\";\n}\nfunction $3e0a089cc13f69ad$export$8eece510bcb9c62c(Class) {\n return (0, $9b05bcda60cc529c$export$170f4e08cad8229d)(Class, HTMLElement);\n}\nconst $3e0a089cc13f69ad$var$nameMap = new WeakMap();\nfunction $3e0a089cc13f69ad$export$b8a1af58c024fefd(Class) {\n const name = $3e0a089cc13f69ad$var$nameMap.get(Class);\n if (name) return name;\n var { tagName: tagName } = new Class();\n $3e0a089cc13f69ad$var$nameMap.set(Class, tagName = tagName.toLowerCase());\n return tagName;\n}\nfunction $3e0a089cc13f69ad$export$a2cf0d4bb6e06de4(tagName, propertyName) {\n /**\n * fetch from https://html.spec.whatwg.org/\n */ const ReadOnly_Properties = [\n [\n HTMLLinkElement,\n [\n \"sizes\"\n ]\n ],\n [\n HTMLIFrameElement,\n [\n \"sandbox\"\n ]\n ],\n [\n HTMLObjectElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLInputElement,\n [\n \"form\",\n \"list\"\n ]\n ],\n [\n HTMLButtonElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLSelectElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLTextAreaElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLOutputElement,\n [\n \"form\"\n ]\n ],\n [\n HTMLFieldSetElement,\n [\n \"form\"\n ]\n ]\n ];\n const template = $3e0a089cc13f69ad$export$2ee022bbbc550b25(tagName);\n for (const [Class, keys] of ReadOnly_Properties)if (template instanceof Class && keys.includes(propertyName)) return true;\n return false;\n}\nfunction $3e0a089cc13f69ad$export$d66b332881d9723f(HTML) {\n const spawn = document.createElement(\"template\");\n spawn.innerHTML = HTML;\n return [\n ...spawn.content.childNodes\n ].map((node)=>{\n node.remove();\n return node;\n });\n}\nfunction $3e0a089cc13f69ad$export$b0709844452f8b6b(node) {\n return new XMLSerializer().serializeToString(node).replace(/ xmlns=\"http:\\/\\/www.w3.org\\/1999\\/xhtml\"/g, \"\");\n}\nfunction* $3e0a089cc13f69ad$export$5118471ee5d5453b(root, type) {\n const children = [\n ...root.childNodes\n ];\n if ((0, $9b05bcda60cc529c$export$dd1bc94b04021eeb)(type) || type === root.nodeType) yield root;\n for (const node of children)yield* $3e0a089cc13f69ad$export$5118471ee5d5453b(node, type);\n}\nfunction $3e0a089cc13f69ad$export$be4650432daa84fd(root) {\n var text = \"\";\n for (const { nodeType: nodeType, parentElement: parentElement, nodeValue: nodeValue } of $3e0a089cc13f69ad$export$5118471ee5d5453b(root))if (nodeType === Node.TEXT_NODE && parentElement.getAttribute(\"aria-hidden\") !== \"true\") {\n const { width: width, height: height } = parentElement.getBoundingClientRect();\n if (width && height) text += nodeValue.trim().replace(/\\s+/g, \" \");\n }\n return text;\n}\nfunction $3e0a089cc13f69ad$export$578e38b4a3e0b255({ offsetWidth: offsetWidth, children: children }, pageHeight = 841.89, pageWidth = 595.28) {\n const scrollHeight = pageHeight / pageWidth * offsetWidth;\n var offset = 0;\n return [\n ...children\n ].reduce((pages, node)=>{\n var { offsetTop: top, offsetHeight: height } = node;\n top += offset;\n var bottom = top + height;\n const bottomOffset = bottom / scrollHeight;\n const topIndex = ~~(top / scrollHeight), bottomIndex = ~~bottomOffset;\n if (topIndex !== bottomIndex) offset += height - bottomOffset;\n (pages[bottomIndex] ||= []).push(node);\n return pages;\n }, []);\n}\nfunction $3e0a089cc13f69ad$export$7cd14c57bbb84350(URI, { alternate: alternate, ...options } = {}) {\n const style = [\n ...document.styleSheets\n ].find(({ href: href })=>href === URI);\n if (style) return Promise.resolve(style);\n const link = document.createElement(\"link\");\n return new Promise((resolve, reject)=>{\n link.onload = ()=>resolve(link.sheet);\n link.onerror = (_1, _2, _3, _4, error)=>reject(error);\n Object.assign(link, options);\n link.rel = (alternate ? \"alternate \" : \"\") + \"stylesheet\";\n link.href = URI;\n document.head.append(link);\n });\n}\nfunction $3e0a089cc13f69ad$export$5100419dfae0456d(data, depth = 0, indent = \" \") {\n const padding = indent.repeat(depth);\n return Object.entries(data).map(([key, value])=>typeof value !== \"object\" ? `${padding}${(0, $9b05bcda60cc529c$export$3f34ca2fef821bbd)(key)}: ${value};` : `${padding}${key} {\n${$3e0a089cc13f69ad$export$5100419dfae0456d(value, depth + 1, indent)}\n${padding}}`).join(\"\\n\");\n}\nfunction $3e0a089cc13f69ad$export$28d9d24a8cd0ffc2(...nodes) {\n const fragment = document.createDocumentFragment();\n fragment.append(...nodes);\n for (const node of $3e0a089cc13f69ad$export$5118471ee5d5453b(fragment))if (![\n 1,\n 3,\n 11\n ].includes(node.nodeType) || [\n \"meta\",\n \"title\",\n \"link\",\n \"script\"\n ].includes(node.nodeName.toLowerCase())) node.replaceWith(...node.childNodes);\n const selection = globalThis.getSelection();\n if (!selection) return;\n const range = selection.getRangeAt(0);\n range.deleteContents();\n range.insertNode(fragment);\n}\nfunction $3e0a089cc13f69ad$export$3f99968195accfaf(selector, root, align, justify) {\n const [_, ID] = /^#(.+)/.exec(selector) || [];\n if (ID === \"top\") window.scrollTo({\n top: 0,\n left: 0,\n behavior: \"smooth\"\n });\n else (root || document).querySelector(ID ? `[id=\"${ID}\"]` : selector)?.scrollIntoView({\n behavior: \"smooth\",\n block: align,\n inline: justify\n });\n}\nfunction $3e0a089cc13f69ad$export$eafdbaa868ea9975(box, handler, depth = 6) {\n return Array.from(box.querySelectorAll(Array.from(new Array(depth), (_, index)=>`h${++index}`) + \"\"), (header)=>{\n new IntersectionObserver(([item])=>{\n if (!item.isIntersecting) return;\n const target = item.target;\n handler({\n target: target,\n links: [\n ...target.ownerDocument.querySelectorAll(`[href=\"#${target.id}\"]`)\n ]\n });\n }).observe(header);\n if (!header.id.trim()) header.id = header.textContent.trim().replace(/\\W+/g, \"-\");\n return {\n level: +header.tagName[1],\n id: header.id,\n text: header.textContent.trim()\n };\n });\n}\nfunction $3e0a089cc13f69ad$export$36a0c1ca2ae264fa(root, handler) {\n var last = document.visibilityState === \"visible\" ? 1 : 0;\n function change(state) {\n if (state === 3 || last === 3) handler(state === 3);\n last = state;\n }\n new IntersectionObserver(([{ isIntersecting: isIntersecting }])=>change(isIntersecting ? last | 2 : last & 1)).observe(root);\n document.addEventListener(\"visibilitychange\", ()=>change(document.visibilityState === \"visible\" ? last | 1 : last & 2));\n}\nfunction $3e0a089cc13f69ad$export$86d7c59254d6a2c9(form) {\n const data = {};\n for (const field of form.elements){\n let { type: type, name: name, value: value, checked: checked, defaultValue: defaultValue, selectedOptions: selectedOptions, files: files } = field;\n if (!name || value === \"\") continue;\n const box = type !== \"fieldset\" && field.closest(\"fieldset\");\n if (box && box !== form) continue;\n let parsedValue = value;\n switch(type){\n case \"radio\":\n case \"checkbox\":\n if (checked) parsedValue = defaultValue ? (0, $ba0e5dc395660a7c$export$7ea17d45ecdcf634)(defaultValue) : true;\n else continue;\n break;\n case \"select-multiple\":\n parsedValue = Array.from(selectedOptions, ({ value: value })=>(0, $ba0e5dc395660a7c$export$7ea17d45ecdcf634)(value));\n break;\n case \"fieldset\":\n parsedValue = $3e0a089cc13f69ad$export$86d7c59254d6a2c9(field);\n break;\n case \"file\":\n parsedValue = files && Array.from(files);\n break;\n case \"date\":\n case \"datetime-local\":\n case \"month\":\n case \"hidden\":\n case \"number\":\n case \"range\":\n case \"select-one\":\n parsedValue = (0, $ba0e5dc395660a7c$export$7ea17d45ecdcf634)(value);\n }\n if (name in data) data[name] = [].concat(data[name], parsedValue);\n else data[name] = !(parsedValue instanceof Array) || !(0, $9b05bcda60cc529c$export$dd1bc94b04021eeb)(parsedValue[1]) ? parsedValue : parsedValue[0];\n }\n return data;\n}\n\n\nvar $bb23e0c794fefbef$exports = {};\n\n$parcel$export($bb23e0c794fefbef$exports, \"sleep\", function () { return $bb23e0c794fefbef$export$e772c8ff12451969; });\n$parcel$export($bb23e0c794fefbef$exports, \"asyncLoop\", function () { return $bb23e0c794fefbef$export$57207d71b8c929c8; });\nfunction $bb23e0c794fefbef$export$e772c8ff12451969(seconds = 1) {\n return new Promise((resolve)=>setTimeout(resolve, seconds * 1000));\n}\nfunction $bb23e0c794fefbef$export$57207d71b8c929c8(executor, seconds = 1) {\n var stop = false;\n (async ()=>{\n while(!stop){\n const result = executor();\n if (result instanceof Promise) await result;\n await $bb23e0c794fefbef$export$e772c8ff12451969(seconds);\n }\n })();\n return ()=>stop = true;\n}\n\n\nvar $19ed8aeb7905a045$exports = {};\n\n$parcel$export($19ed8aeb7905a045$exports, \"delegate\", function () { return $19ed8aeb7905a045$export$10b1921597150314; });\n$parcel$export($19ed8aeb7905a045$exports, \"documentReady\", function () { return $19ed8aeb7905a045$export$3e2b244719956741; });\n$parcel$export($19ed8aeb7905a045$exports, \"promisify\", function () { return $19ed8aeb7905a045$export$1d1d2ed6b55cf67f; });\n$parcel$export($19ed8aeb7905a045$exports, \"createMessageServer\", function () { return $19ed8aeb7905a045$export$2155c0b5a4b77fb8; });\n$parcel$export($19ed8aeb7905a045$exports, \"createMessageClient\", function () { return $19ed8aeb7905a045$export$9d97473344489dfc; });\n$parcel$export($19ed8aeb7905a045$exports, \"serviceWorkerUpdate\", function () { return $19ed8aeb7905a045$export$d635d04af3887bbe; });\n\nfunction $19ed8aeb7905a045$export$10b1921597150314(selector, handler) {\n return function(event) {\n var node, path = event.composedPath();\n while((node = path.shift()) && node !== event.currentTarget)if (node instanceof HTMLElement && node.matches(selector)) return handler.call(this, event, node, event.detail);\n };\n}\nconst $19ed8aeb7905a045$export$3e2b244719956741 = typeof window !== \"undefined\" ? new Promise((resolve)=>{\n function done() {\n document?.removeEventListener(\"DOMContentLoaded\", done);\n window.removeEventListener(\"load\", done);\n resolve();\n }\n document?.addEventListener(\"DOMContentLoaded\", done);\n window.addEventListener(\"load\", done);\n setTimeout(function check() {\n document?.readyState === \"complete\" ? resolve() : setTimeout(check);\n });\n}) : Promise.resolve();\nfunction $19ed8aeb7905a045$export$1d1d2ed6b55cf67f(scope, element) {\n return new Promise((resolve, reject)=>{\n function end(event) {\n resolve(event), clean();\n }\n function cancel(event) {\n reject(event), clean();\n }\n function clean() {\n element.removeEventListener(scope + \"end\", end);\n element.removeEventListener(scope + \"cancel\", cancel);\n }\n element.addEventListener(scope + \"end\", end);\n element.addEventListener(scope + \"cancel\", cancel);\n });\n}\nfunction $19ed8aeb7905a045$export$2155c0b5a4b77fb8(handlers) {\n async function server({ data: { type: type, id: id, ...data }, source: source, origin: origin }) {\n var result = handlers[type]?.(data);\n if (result instanceof Promise) result = await result;\n // @ts-ignore\n source.postMessage({\n ...result,\n id: id\n }, origin);\n }\n globalThis.addEventListener(\"message\", server);\n return ()=>globalThis.removeEventListener(\"message\", server);\n}\nfunction $19ed8aeb7905a045$export$9d97473344489dfc(target, origin = \"*\") {\n return (type, data)=>new Promise((resolve)=>{\n const UID = (0, $9b05bcda60cc529c$export$89912e019eef22aa)();\n function handler({ data: { id: id, ...data } }) {\n if (id !== UID) return;\n resolve(data);\n globalThis.removeEventListener(\"message\", handler);\n }\n globalThis.addEventListener(\"message\", handler);\n // @ts-ignore\n target.postMessage({\n id: UID,\n type: type,\n ...data\n }, origin);\n });\n}\nfunction $19ed8aeb7905a045$export$d635d04af3887bbe(registration) {\n return new Promise((resolve)=>{\n if (registration.waiting) return resolve(registration.waiting);\n registration.onupdatefound = ()=>registration.installing?.addEventListener(\"statechange\", function() {\n if (this.state === \"installed\" && navigator.serviceWorker.controller) resolve(this);\n });\n });\n}\n\n\nvar $7a08303ce13c49c5$exports = {};\n\n$parcel$export($7a08303ce13c49c5$exports, \"PageVector\", function () { return $7a08303ce13c49c5$export$1b88f6b6d432a52a; });\n$parcel$export($7a08303ce13c49c5$exports, \"getSwipeVector\", function () { return $7a08303ce13c49c5$export$b70f6380221b1350; });\n$parcel$export($7a08303ce13c49c5$exports, \"durationOf\", function () { return $7a08303ce13c49c5$export$75d6cbe4503e149; });\n$parcel$export($7a08303ce13c49c5$exports, \"watchMotion\", function () { return $7a08303ce13c49c5$export$b2618d51188815c2; });\n$parcel$export($7a08303ce13c49c5$exports, \"transitIn\", function () { return $7a08303ce13c49c5$export$490814474ddbb428; });\n$parcel$export($7a08303ce13c49c5$exports, \"animateIn\", function () { return $7a08303ce13c49c5$export$3ea201dffb50dfef; });\n$parcel$export($7a08303ce13c49c5$exports, \"transitOut\", function () { return $7a08303ce13c49c5$export$d1012c7198c6b460; });\n$parcel$export($7a08303ce13c49c5$exports, \"animateOut\", function () { return $7a08303ce13c49c5$export$a35a418b7b17958e; });\n\nclass $7a08303ce13c49c5$export$1b88f6b6d432a52a {\n constructor(from, to){\n this.from = from;\n this.to = to;\n }\n get length() {\n const { from: from, to: to } = this;\n return Math.sqrt(Math.pow(to.x - from.x, 2) + Math.pow(to.y - from.y, 2) + (to.z != null ? Math.pow(to.z - from.z, 2) : 0));\n }\n get direction() {\n const { from: from, to: to } = this;\n const XD = to.x - from.x, YD = to.y - from.y, ZD = to.z - from.z;\n const XL = Math.abs(XD), YL = Math.abs(YD), ZL = Math.abs(ZD);\n switch(isNaN(ZL) ? Math.max(XL, YL) : Math.max(XL, YL, ZL)){\n case XL:\n return XD > 0 ? \"right\" : \"left\";\n case YL:\n return YD > 0 ? \"forward\" : \"backward\";\n case ZL:\n return ZD > 0 ? \"up\" : \"down\";\n }\n }\n}\nfunction $7a08303ce13c49c5$export$b70f6380221b1350(from, to, threshold = parseInt(getComputedStyle(document.body).fontSize) * 6) {\n const vector = new $7a08303ce13c49c5$export$1b88f6b6d432a52a(from, to);\n if (vector.length >= threshold && !getSelection()?.toString().trim()) return vector;\n}\nfunction $7a08303ce13c49c5$export$75d6cbe4503e149(type, element) {\n const { transitionDuration: transitionDuration, animationDuration: animationDuration } = getComputedStyle(element);\n const duration = type === \"animation\" ? animationDuration : transitionDuration;\n return parseFloat(duration) * (duration.slice(-2) === \"ms\" ? 1 : 1000);\n}\nfunction $7a08303ce13c49c5$export$b2618d51188815c2(type, element) {\n return Promise.race([\n (0, $19ed8aeb7905a045$export$1d1d2ed6b55cf67f)(type, element).catch((event)=>Promise.resolve(event)),\n new Promise((resolve)=>setTimeout(resolve, $7a08303ce13c49c5$export$75d6cbe4503e149(type, element)))\n ]);\n}\nfunction $7a08303ce13c49c5$var$fadeIn(type, element, className, display) {\n element.style.display = display;\n const end = $7a08303ce13c49c5$export$b2618d51188815c2(type, element);\n return new Promise((resolve)=>requestAnimationFrame(()=>{\n element.classList.add(className);\n end.then(resolve);\n }));\n}\nasync function $7a08303ce13c49c5$var$fadeOut(type, element, className, remove) {\n const end = $7a08303ce13c49c5$export$b2618d51188815c2(type, element);\n element.classList.remove(className);\n await end;\n if (remove) element.remove();\n else element.style.display = \"none\";\n}\nfunction $7a08303ce13c49c5$export$490814474ddbb428(element, className, display = \"block\") {\n return $7a08303ce13c49c5$var$fadeIn(\"transition\", element, className, display);\n}\nfunction $7a08303ce13c49c5$export$3ea201dffb50dfef(element, className, display = \"block\") {\n return $7a08303ce13c49c5$var$fadeIn(\"animation\", element, className, display);\n}\nfunction $7a08303ce13c49c5$export$d1012c7198c6b460(element, className, remove) {\n return $7a08303ce13c49c5$var$fadeOut(\"transition\", element, className, remove);\n}\nfunction $7a08303ce13c49c5$export$a35a418b7b17958e(element, className, remove) {\n return $7a08303ce13c49c5$var$fadeOut(\"animation\", element, className, remove);\n}\n\n\nvar $69bd9f0117925302$exports = {};\n\n$parcel$export($69bd9f0117925302$exports, \"describe\", function () { return $69bd9f0117925302$export$cd5450f3a47e3789; });\n$parcel$export($69bd9f0117925302$exports, \"it\", function () { return $69bd9f0117925302$export$3486a10f30cf1ee4; });\n\nasync function $69bd9f0117925302$export$cd5450f3a47e3789(title, cases) {\n console.log(title);\n console.time(title);\n await cases();\n console.timeEnd(title);\n}\nasync function $69bd9f0117925302$export$3486a10f30cf1ee4(title, userCase, secondsOut = 3) {\n title = \" \" + title;\n console.time(title);\n async function timeOut() {\n await (0, $bb23e0c794fefbef$export$e772c8ff12451969)(secondsOut);\n throw new RangeError(\"Timed out\");\n }\n try {\n return await Promise.race([\n userCase((status)=>console.assert(status, title)),\n timeOut()\n ]);\n } finally{\n console.timeEnd(title);\n }\n}\n\n\n\n\nexport {$9b05bcda60cc529c$export$61cc6ed0f143570b as likeNull, $9b05bcda60cc529c$export$dd1bc94b04021eeb as isEmpty, $9b05bcda60cc529c$export$a09f818797e212c4 as classNameOf, $9b05bcda60cc529c$export$170f4e08cad8229d as assertInheritance, $9b05bcda60cc529c$export$67a6ce548ae77071 as isUnsafeNumeric, $9b05bcda60cc529c$export$a48f0734ac7c2329 as byteLength, $9b05bcda60cc529c$export$3f34ca2fef821bbd as toHyphenCase, $9b05bcda60cc529c$export$86f54f62aa7a7514 as toCamelCase, $9b05bcda60cc529c$export$89912e019eef22aa as uniqueID, $9b05bcda60cc529c$export$1c8ba402144543e5 as objectFrom, $9b05bcda60cc529c$export$2ddabb89308e1a22 as DiffStatus, $9b05bcda60cc529c$export$14527669107aa301 as diffKeys, $9b05bcda60cc529c$export$3f063810d7bf01bd as groupBy, $9b05bcda60cc529c$export$b5a4d6f439a5044d as likeArray, $9b05bcda60cc529c$export$b119cc7e1840e59c as isTypedArray, $9b05bcda60cc529c$export$7b85fd78dd236198 as makeArray, $9b05bcda60cc529c$export$697c3df919c0e61a as splitArray, $9b05bcda60cc529c$export$e6b5ff3168b5942b as findDeep, $9b05bcda60cc529c$export$1d012a0dff3dab06 as countBy, $9b05bcda60cc529c$export$69a3209f1a06c04d as cache, $9b05bcda60cc529c$export$dce9414bed0662c as mergeStream, $6a9944941b4c1893$export$8a63f25cc62965f1 as sum, $6a9944941b4c1893$export$e1f36757ecda301d as averageOf, $6a9944941b4c1893$export$8e694e1eafd55acb as varianceOf, $6a9944941b4c1893$export$57d7c52a66287430 as standardDeviationOf, $6a9944941b4c1893$export$2b4693832ca3ce16 as hypotenuseOf, $6a9944941b4c1893$export$5b784e078da1ce6 as carryFloat, $6a9944941b4c1893$export$17ec9c9f4f23588c as fixFloat, $f872d8bba1c0f79f$export$c489aa6f7fd82b1a as Second, $f872d8bba1c0f79f$export$cbd942915f33be50 as Minute, $f872d8bba1c0f79f$export$9b886f8493244014 as Quarter, $f872d8bba1c0f79f$export$e99cbb807a5bb10d as Hour, $f872d8bba1c0f79f$export$7a9a31a911eb9a20 as Day, $f872d8bba1c0f79f$export$fca4f8121099df57 as Week, $f872d8bba1c0f79f$export$6ce2f08d515512 as Year, $f872d8bba1c0f79f$export$951c8378cdfec6e6 as Month, $f872d8bba1c0f79f$export$1a4097b876a13bf7 as Season, $f872d8bba1c0f79f$export$506c8e8f8c8edda as diffTime, $f872d8bba1c0f79f$export$3ae94a2503e890a1 as formatDate, $f872d8bba1c0f79f$export$62ad822b3a5fd9a0 as changeMonth, $ba0e5dc395660a7c$export$27924e57e9afff7f as parseJSON, $ba0e5dc395660a7c$export$7ea17d45ecdcf634 as toJSValue, $ba0e5dc395660a7c$export$bb8626e4916f587b as parseTextTable, $083124ac4b1a50a0$export$71e6483fc2b024eb as isXDomain, $083124ac4b1a50a0$export$eb9b2aadbe449a20 as parseURLData, $083124ac4b1a50a0$export$13397a83aa5915d6 as buildURLData, $083124ac4b1a50a0$export$fd89523fba250fa4 as blobOf, $083124ac4b1a50a0$export$504fbde693c1771c as blobFrom, $50872bf213056663$export$1b9ac4d3de3ffd2e as makeCRC32, $50872bf213056663$export$d51f3b55e8d1aa73 as makeSHA, $3e0a089cc13f69ad$export$2ee022bbbc550b25 as templateOf, $3e0a089cc13f69ad$export$a549dd5cef7f8327 as elementTypeOf, $3e0a089cc13f69ad$export$8eece510bcb9c62c as isHTMLElementClass, $3e0a089cc13f69ad$export$b8a1af58c024fefd as tagNameOf, $3e0a089cc13f69ad$export$a2cf0d4bb6e06de4 as isDOMReadOnly, $3e0a089cc13f69ad$export$d66b332881d9723f as parseDOM, $3e0a089cc13f69ad$export$b0709844452f8b6b as stringifyDOM, $3e0a089cc13f69ad$export$5118471ee5d5453b as walkDOM, $3e0a089cc13f69ad$export$be4650432daa84fd as getVisibleText, $3e0a089cc13f69ad$export$578e38b4a3e0b255 as splitPages, $3e0a089cc13f69ad$export$7cd14c57bbb84350 as importCSS, $3e0a089cc13f69ad$export$5100419dfae0456d as stringifyCSS, $3e0a089cc13f69ad$export$28d9d24a8cd0ffc2 as insertToCursor, $3e0a089cc13f69ad$export$3f99968195accfaf as scrollTo, $3e0a089cc13f69ad$export$eafdbaa868ea9975 as watchScroll, $3e0a089cc13f69ad$export$36a0c1ca2ae264fa as watchVisible, $3e0a089cc13f69ad$export$86d7c59254d6a2c9 as formToJSON, $bb23e0c794fefbef$export$e772c8ff12451969 as sleep, $bb23e0c794fefbef$export$57207d71b8c929c8 as asyncLoop, $19ed8aeb7905a045$export$10b1921597150314 as delegate, $19ed8aeb7905a045$export$3e2b244719956741 as documentReady, $19ed8aeb7905a045$export$1d1d2ed6b55cf67f as promisify, $19ed8aeb7905a045$export$2155c0b5a4b77fb8 as createMessageServer, $19ed8aeb7905a045$export$9d97473344489dfc as createMessageClient, $19ed8aeb7905a045$export$d635d04af3887bbe as serviceWorkerUpdate, $7a08303ce13c49c5$export$1b88f6b6d432a52a as PageVector, $7a08303ce13c49c5$export$b70f6380221b1350 as getSwipeVector, $7a08303ce13c49c5$export$75d6cbe4503e149 as durationOf, $7a08303ce13c49c5$export$b2618d51188815c2 as watchMotion, $7a08303ce13c49c5$export$490814474ddbb428 as transitIn, $7a08303ce13c49c5$export$3ea201dffb50dfef as animateIn, $7a08303ce13c49c5$export$d1012c7198c6b460 as transitOut, $7a08303ce13c49c5$export$a35a418b7b17958e as animateOut, $69bd9f0117925302$export$cd5450f3a47e3789 as describe, $69bd9f0117925302$export$3486a10f30cf1ee4 as it};\n//# sourceMappingURL=index.esm.js.map\n","export * from './data';\nexport * from './math';\nexport * from './date';\nexport * from './parser';\nexport * from './URL';\nexport * from './crypto';\nexport * from './DOM-type';\nexport * from './DOM';\nexport * from './timer';\nexport * from './event';\nexport * from './animation';\nexport * from './assert';\n","export type Constructor = new (...args: any[]) => T;\n\nexport type AbstractClass = abstract new (...args: any[]) => T;\n\nexport type Values = Required[keyof T];\n\nexport type TypeKeys = {\n [K in keyof T]: Required[K] extends D ? K : never;\n}[keyof T];\n\nexport type PickData = Omit>;\n\nexport type DataKeys = Exclude>;\n\nexport function likeNull(value?: any) {\n return !(value != null) || Number.isNaN(value);\n}\n\nexport function isEmpty(value?: any) {\n return (\n likeNull(value) ||\n (typeof value === 'object' ? !Object.keys(value).length : value === '')\n );\n}\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag}\n */\nexport const classNameOf = (data: any): string =>\n Object.prototype.toString.call(data).slice(8, -1);\n\nexport function assertInheritance(Sub: Function, Super: Function) {\n return Sub.prototype instanceof Super;\n}\n\nexport function isUnsafeNumeric(raw: string) {\n return (\n /^[\\d.]+$/.test(raw) &&\n raw.localeCompare(Number.MAX_SAFE_INTEGER + '', undefined, {\n numeric: true\n }) > 0\n );\n}\n\nexport function byteLength(raw: string) {\n return raw.replace(/[^\\u0021-\\u007e\\uff61-\\uffef]/g, 'xx').length;\n}\n\nexport function toHyphenCase(raw: string) {\n return raw.replace(\n /[A-Z]+|[^A-Za-z][A-Za-z]/g,\n (match, offset) =>\n `${offset ? '-' : ''}${(match[1] || match[0]).toLowerCase()}`\n );\n}\n\nexport function toCamelCase(raw: string, large = false) {\n return raw.replace(/^[A-Za-z]|[^A-Za-z][A-Za-z]/g, (match, offset) =>\n offset || large\n ? (match[1] || match[0]).toUpperCase()\n : match.toLowerCase()\n );\n}\n\nexport function uniqueID() {\n return (Date.now() + parseInt((Math.random() + '').slice(2))).toString(36);\n}\n\nexport function objectFrom(values: V[], keys: K[]) {\n return Object.fromEntries(\n values.map((value, index) => [keys[index], value])\n ) as Record;\n}\n\nexport enum DiffStatus {\n Old = -1,\n Same = 0,\n New = 1\n}\n\nexport function diffKeys(oldList: T[], newList: T[]) {\n const map = {} as Record;\n\n for (const item of oldList) map[item] = DiffStatus.Old;\n\n for (const item of newList) {\n map[item] ||= 0;\n map[item] += DiffStatus.New;\n }\n\n return {\n map,\n group: groupBy(\n Object.entries(map),\n ([key, status]) => status\n )\n };\n}\n\nexport type ResultArray = T extends ArrayLike ? D[] : T[];\n\nexport function likeArray(data?: any): data is ArrayLike {\n if (likeNull(data)) return false;\n\n const { length } = data;\n\n return typeof length === 'number' && length >= 0 && ~~length === length;\n}\n\nexport type TypedArray =\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Float32Array\n | Float64Array\n | BigInt64Array\n | BigUint64Array;\n\n/**\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray}\n */\nexport const isTypedArray = (data: any): data is TypedArray =>\n data instanceof Object.getPrototypeOf(Int8Array);\n\nexport function makeArray(data?: T) {\n if (data instanceof Array) return data as unknown as ResultArray;\n\n if (likeNull(data)) return [] as ResultArray;\n\n if (likeArray(data)) return Array.from(data) as ResultArray;\n\n return [data] as ResultArray;\n}\n\nexport const splitArray = (array: T[], unitLength: number) =>\n array.reduce((grid, item, index) => {\n (grid[~~(index / unitLength)] ||= [])[index % unitLength] = item;\n\n return grid;\n }, [] as T[][]);\n\nexport function findDeep(\n list: T[],\n subKey: TypeKeys, any[]>,\n handler: (item: T) => boolean\n): T[] {\n for (const item of list) {\n if (handler(item)) return [item];\n\n if (item[subKey] instanceof Array) {\n const result = findDeep(\n item[subKey] as unknown as T[],\n subKey,\n handler\n );\n if (result.length) return [item, ...result];\n }\n }\n return [];\n}\n\nexport type IndexKey = number | string | symbol;\nexport type GroupKey> = keyof T | IndexKey;\nexport type Iteratee> =\n | keyof T\n | ((item: T) => GroupKey | GroupKey[]);\n\nexport function groupBy>(\n list: T[],\n iteratee: Iteratee\n) {\n const data = {} as Record, T[]>;\n\n for (const item of list) {\n let keys =\n iteratee instanceof Function ? iteratee(item) : item[iteratee];\n\n if (!(keys instanceof Array)) keys = [keys];\n\n for (const key of new Set(\n (keys as GroupKey[]).filter(key => key != null)\n ))\n (data[key] = data[key] || []).push(item);\n }\n\n return data;\n}\n\nexport function countBy>(\n list: T[],\n iteratee: Iteratee\n) {\n const group = groupBy(list, iteratee);\n\n const sortedList = Object.entries(group).map(\n ([key, { length }]) => [key, length] as const\n );\n return Object.fromEntries(sortedList);\n}\n\nexport function cache(\n executor: (cleaner: () => void, ...data: I[]) => O,\n title: string\n) {\n var cacheData: O;\n\n return function (...data: I[]) {\n if (cacheData != null) return cacheData;\n\n console.trace(`[Cache] execute: ${title}`);\n\n cacheData = executor.call(\n this,\n (): void => (cacheData = undefined),\n ...data\n );\n Promise.resolve(cacheData).then(\n data => console.log(`[Cache] refreshed: ${title} => ${data}`),\n error => console.error(`[Cache] failed: ${error?.message || error}`)\n );\n return cacheData;\n };\n}\n\nexport async function* mergeStream(\n ...sources: (() => AsyncIterator)[]\n) {\n var iterators = sources.map(item => item());\n\n while (iterators[0]) {\n const dones: number[] = [];\n\n for (\n let i = 0, iterator: AsyncIterator;\n (iterator = iterators[i]);\n i++\n ) {\n const { done, value } = await iterator.next();\n\n if (!done) yield value;\n else dones.push(i);\n }\n iterators = iterators.filter((_, i) => !dones.includes(i));\n }\n}\n","export function sum(...data: number[]) {\n return data.reduce((sum, item) => sum + item, 0);\n}\n\nexport function averageOf(...data: number[]) {\n return sum(...data) / data.length;\n}\n\nexport function varianceOf(data: number[], sample = false) {\n const average = averageOf(...data);\n const summary = sum(...data.map(item => (item - average) ** 2));\n\n return summary / (data.length - (sample ? 1 : 0));\n}\n\nexport function standardDeviationOf(data: number[], sample = false) {\n return Math.sqrt(varianceOf(data, sample));\n}\n\nexport function hypotenuseOf(...data: number[]) {\n return Math.sqrt(sum(...data.map(item => item ** 2)));\n}\n\nexport function carryFloat(raw: number, length: number) {\n const text = raw.toFixed(length + 2);\n const offset = text.indexOf('.') + length + 1;\n\n const cut = (text: string) => text.slice(0, offset - (length ? 0 : 1));\n\n if (!+text.slice(offset)) return cut(text);\n\n const result = cut((+cut(text) + 10 ** -length).toFixed(length));\n\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\n\nexport function fixFloat(raw: number, length = 2) {\n const text = raw.toFixed(length + 2);\n const floatOffset = text.indexOf('.');\n\n if (floatOffset < 0) return length ? `${text}.${'0'.repeat(length)}` : text;\n\n const offset = floatOffset + length + 1;\n\n const before = +text[offset - 1],\n anchor = +text[offset],\n after = +text[offset + 1];\n\n const carry = anchor > 5 || (anchor === 5 && (!!after || !!(before % 2)));\n\n if (carry) return carryFloat(raw, length);\n\n const result = text.slice(0, offset - (length ? 0 : 1));\n\n return result.includes('.') ? result.padEnd(offset, '0') : result;\n}\n","export const Second = 1000;\nexport const Minute = Second * 60;\nexport const Quarter = Minute * 15;\nexport const Hour = Quarter * 4;\nexport const Day = Hour * 24;\nexport const Week = Day * 7;\nexport const Year = Day * 365;\nexport const Month = Year / 12;\nexport const Season = Month * 3;\n\nconst TimeUnit = new Map([\n ['s', Second],\n ['m', Minute],\n ['H', Hour],\n ['D', Day],\n ['W', Week],\n ['M', Month],\n ['Y', Year]\n]);\n\nexport type TimeData = number | string | Date;\n\nexport function diffTime(\n end: TimeData,\n start: TimeData = new Date(),\n map = TimeUnit\n) {\n const distance = +new Date(end) - +new Date(start);\n\n for (const [unit, base] of [...map].reverse()) {\n const rest = distance / base;\n\n if (Math.abs(rest) >= 1) return { distance: +rest.toFixed(0), unit };\n }\n\n return { distance, unit: 'ms' };\n}\n\nfunction fitUnit(value: string) {\n value = +value + '';\n\n return (template: string) =>\n (value.length < template.length\n ? value.padStart(template.length, '0')\n : value\n ).slice(-Math.max(template.length, 2));\n}\n\nexport function formatDate(\n time: TimeData = new Date(),\n template = 'YYYY-MM-DD HH:mm:ss'\n) {\n time = time instanceof Date ? time : new Date(time);\n time = new Date(+time - time.getTimezoneOffset() * Minute);\n\n const [year, month, day, hour, minute, second, millisecond] = time\n .toJSON()\n .split(/\\D/);\n\n return template\n .replace(/ms/g, millisecond)\n .replace(/Y+/g, fitUnit(year))\n .replace(/M+/g, fitUnit(month))\n .replace(/D+/g, fitUnit(day))\n .replace(/H+/g, fitUnit(hour))\n .replace(/m+/g, fitUnit(minute))\n .replace(/s+/g, fitUnit(second));\n}\n\nexport function changeMonth(date: TimeData, delta: number) {\n date = new Date(date);\n\n const month = date.getMonth() + delta;\n\n date.setFullYear(date.getFullYear() + Math.floor(month / 12));\n\n delta = month % 12;\n\n date.setMonth(delta < 0 ? 12 + delta : delta);\n\n return date;\n}\n","import { isUnsafeNumeric } from './data';\n\nexport function parseJSON(raw: string) {\n function parseItem(value: any) {\n if (typeof value === 'string' && /^\\d+(-\\d{1,2}){1,2}/.test(value)) {\n const date = new Date(value);\n\n if (!Number.isNaN(+date)) return date;\n }\n return value;\n }\n\n const value = parseItem(raw);\n\n if (typeof value !== 'string' || isUnsafeNumeric(value)) return value;\n\n try {\n return JSON.parse(raw, (key, value) => parseItem(value));\n } catch {\n return raw;\n }\n}\n\nexport function toJSValue(raw: string) {\n const parsed = parseJSON(raw);\n\n if (typeof parsed !== 'string') return parsed;\n\n const number = +parsed;\n\n return Number.isNaN(number) || number + '' !== parsed ? parsed : number;\n}\n\nfunction readQuoteValue(raw: string) {\n const quote = raw[0];\n const index = raw.indexOf(quote, 1);\n\n if (index < 0) throw SyntaxError(`A ${quote} is missing`);\n\n return raw.slice(1, index);\n}\n\nexport function parseTextTable(\n raw: string,\n header?: boolean,\n separator = ','\n) {\n const data = raw\n .trim()\n .split(/[\\r\\n]+/)\n .map(row => {\n const list = [];\n\n do {\n let value: string;\n\n if (row[0] === '\"' || row[0] === \"'\") {\n value = readQuoteValue(row);\n\n row = row.slice(value.length + 3);\n } else {\n const index = row.indexOf(separator);\n\n if (index > -1) {\n value = row.slice(0, index);\n row = row.slice(index + 1);\n } else {\n value = row;\n row = '';\n }\n }\n list.push(toJSValue(value.trim()));\n } while (row);\n\n return list;\n });\n\n return !header\n ? data\n : data.slice(1).map(\n row =>\n row.reduce((object, item, index) => {\n object[data[0][index]] = item;\n\n return object;\n }, {}) as T\n );\n}\n","import { isEmpty, likeArray, makeArray } from './data';\nimport { parseJSON } from './parser';\n\nexport function isXDomain(URI: string) {\n return new URL(URI, document.baseURI).origin !== location.origin;\n}\n\nexport type JSONValue = number | boolean | string | null;\nexport interface URLData {\n [key: string]: JSONValue | JSONValue[] | URLData | URLData[] | E;\n}\n\nexport function parseURLData(\n raw = window.location.search,\n toBuiltIn = true\n): URLData {\n const list = raw.split(/\\?|#/);\n const data = new URLSearchParams(list[1] || list[0]);\n\n return Object.fromEntries(\n [...data.keys()].map(key => {\n const list = toBuiltIn\n ? data.getAll(key).map(parseJSON)\n : data.getAll(key);\n\n return [key, list.length < 2 ? list[0] : list];\n })\n );\n}\n\nconst stringify = (value: any) =>\n typeof value === 'string'\n ? value\n : likeArray(value)\n ? makeArray(value) + ''\n : JSON.stringify(value);\n\nexport function buildURLData(map: string[][] | Record) {\n if (!(map instanceof Array)) map = Object.entries(map);\n\n const list = (map as any[][])\n .map(([key, value]) => !isEmpty(value) && [key, stringify(value)])\n .filter(Boolean);\n\n return new URLSearchParams(list);\n}\n\nexport async function blobOf(URI: string | URL) {\n return (await fetch(URI + '')).blob();\n}\n\nconst DataURI = /^data:(.+?\\/(.+?))?(;base64)?,([\\s\\S]+)/;\n/**\n * Blob logic forked from axes's\n *\n * @see http://www.cnblogs.com/axes/p/4603984.html\n */\nexport function blobFrom(URI: string) {\n var [_, type, __, base64, data] = DataURI.exec(URI) || [];\n\n data = base64 ? atob(data) : data;\n\n const aBuffer = new ArrayBuffer(data.length);\n const uBuffer = new Uint8Array(aBuffer);\n\n for (let i = 0; data[i]; i++) uBuffer[i] = data.charCodeAt(i);\n\n return new Blob([aBuffer], { type });\n}\n","const CRC_32_Table = Array.from(new Array(256), (_, cell) => {\n for (var j = 0; j < 8; j++)\n if (cell & 1) cell = ((cell >> 1) & 0x7fffffff) ^ 0xedb88320;\n else cell = (cell >> 1) & 0x7fffffff;\n\n return cell;\n});\n\n/**\n * CRC-32 algorithm forked from Bakasen's\n *\n * @see http://blog.csdn.net/bakasen/article/details/6043797\n */\nexport function makeCRC32(raw: string) {\n var value = 0xffffffff;\n\n for (const char of raw)\n value =\n ((value >> 8) & 0x00ffffff) ^\n CRC_32_Table[(value & 0xff) ^ char.charCodeAt(0)];\n\n return '0x' + ((value ^ 0xffffffff) >>> 0).toString(16);\n}\n\nif (typeof self === 'object') {\n if ('msCrypto' in globalThis) {\n // @ts-ignore\n const { subtle } = (globalThis.crypto = globalThis.msCrypto as Crypto);\n\n for (const key in subtle) {\n const origin = subtle[key];\n\n if (origin instanceof Function)\n subtle[key] = function () {\n const observer = origin.apply(this, arguments);\n\n return new Promise((resolve, reject) => {\n observer.oncomplete = ({\n target\n }: Parameters[0]) =>\n resolve(target.result);\n\n observer.onabort = observer.onerror = reject;\n });\n };\n }\n }\n const { crypto } = globalThis;\n\n if (!crypto?.subtle && crypto?.['webkitSubtle'])\n // @ts-ignore\n crypto.subtle = crypto['webkitSubtle'];\n}\n\nexport type SHAAlgorithm = 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512';\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#Converting_a_digest_to_a_hex_string\n */\nexport async function makeSHA(raw: string, algorithm: SHAAlgorithm = 'SHA-1') {\n const buffer = await crypto.subtle.digest(\n algorithm,\n new TextEncoder().encode(raw)\n );\n return Array.from(new Uint8Array(buffer), byte =>\n byte.toString(16).padStart(2, '0')\n ).join('');\n}\n","import type { IAom } from 'element-internals-polyfill';\n\nimport type { DataKeys, PickData, Constructor } from './data';\n\nexport type SelfCloseTags =\n | 'area'\n | 'base'\n | 'br'\n | 'col'\n | 'embed'\n | 'hr'\n | 'img'\n | 'input'\n | 'link'\n | 'meta'\n | 'param'\n | 'source'\n | 'track'\n | 'wbr';\n\nexport type ShadowableTags =\n | 'article'\n | 'aside'\n | 'blockquote'\n | 'body'\n | 'div'\n | 'footer'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'header'\n | 'main'\n | 'nav'\n | 'p'\n | 'section'\n | 'span'\n | `${string}-${string}`;\n\n/* -------------------- Event Handlers -------------------- */\n\nexport type EventTypes = {\n [K in keyof typeof globalThis]: K extends `${infer N}Event`\n ? N extends ''\n ? never\n : N\n : never;\n}[keyof typeof globalThis];\n\nexport type UniqueEventNames = {\n [K in keyof HTMLElementEventMap]: K extends `${Lowercase}${string}`\n ? never\n : K extends `${string}${Lowercase}`\n ? never\n : K;\n}[keyof HTMLElementEventMap];\n\nexport type ComplexUniqueEventNames = {\n [K in UniqueEventNames]: K extends `${infer L}${UniqueEventNames}`\n ? L extends ''\n ? never\n : K\n : never;\n}[UniqueEventNames];\n\nexport type SimpleEventNames = Exclude<\n UniqueEventNames,\n ComplexUniqueEventNames\n>;\n\nexport type EventHandlerNames = {\n [K in keyof T]: K extends `on${infer N}`\n ? T[K] extends (event: Event) => any\n ? N\n : never\n : never;\n}[keyof T];\n\nexport type CamelEventName = T extends SimpleEventNames\n ? Capitalize\n : T extends `${infer L}${SimpleEventNames}`\n ? T extends `${L}${infer R}`\n ? `${Capitalize}${Capitalize}`\n : T\n : T extends `${Lowercase}${infer R}`\n ? T extends `${infer L}${R}`\n ? `${Capitalize}${Capitalize}`\n : T\n : T extends `${infer L}${Lowercase}`\n ? T extends `${L}${infer R}`\n ? `${Capitalize}${Capitalize}`\n : T\n : T;\n\nexport type EventHandlers = {\n [K in EventHandlerNames as `on${CamelEventName}`]: (\n event: HTMLElementEventMap[K]\n ) => any;\n};\n\nexport type ContainerEvents = 'focusin' | 'focusout';\n\nexport type ContainerEventHandlers =\n T extends SelfCloseTags\n ? {}\n : {\n [K in ContainerEvents as `on${CamelEventName}`]: (\n event: HTMLElementEventMap[K]\n ) => any;\n };\n\n/* -------------------- DOM Props -------------------- */\n\nexport type HTMLOwnKeys = Exclude<\n keyof T,\n keyof Node | keyof EventTarget\n>;\nexport type SVGOwnKeys = Exclude<\n keyof T,\n keyof Node | keyof EventTarget\n>;\n\nexport type CSSStyles = Partial<\n Omit, 'length' | 'parentRule'> &\n Record\n>;\nexport type CSSRule = Record;\nexport type CSSObject = CSSRule | Record;\n\nexport type DOMProps_Read2Write> = {\n [K in keyof T]: T[K] extends HTMLElement\n ? string\n : T[K] extends DOMTokenList\n ? string\n : T[K] extends Element\n ? string\n : T[K] extends CSSStyleDeclaration\n ? CSSStyles\n : T[K];\n};\nexport type HTMLProps = Partial<\n IAom &\n EventHandlers &\n DOMProps_Read2Write, HTMLOwnKeys>>>\n>;\n\nexport type SVGProps_Read2Write> = {\n [K in keyof T]: T[K] extends SVGAnimatedLength\n ? string\n : T[K] extends SVGAnimatedLengthList\n ? string\n : T[K] extends SVGAnimatedRect\n ? string\n : T[K] extends SVGAnimatedPreserveAspectRatio\n ? string\n : T[K];\n};\nexport type SVGProps = Partial<\n EventHandlers &\n SVGProps_Read2Write<\n DOMProps_Read2Write, SVGOwnKeys>>>\n >\n>;\n\nexport interface HTMLHyperLinkProps\n extends HTMLProps {\n href?: string;\n target?: '_self' | '_parent' | '_top' | '_blank';\n}\n\nexport type HTMLTableCellProps = HTMLProps;\n\nexport type BaseFieldProps = Partial<\n Pick<\n HTMLInputElement,\n 'name' | 'defaultValue' | 'value' | 'required' | 'disabled'\n >\n>;\nexport interface BaseInputProps\n extends Partial> {\n list?: string;\n}\nexport type TextFieldProps = BaseInputProps &\n Partial<\n Pick<\n HTMLInputElement,\n | 'size'\n | 'minLength'\n | 'maxLength'\n | 'pattern'\n | 'autocomplete'\n | 'spellcheck'\n >\n >;\nexport type NumberFieldProps = BaseInputProps &\n Partial>;\n\nexport type HTMLFieldInternals = Pick<\n HTMLInputElement,\n | 'form'\n | 'validity'\n | 'validationMessage'\n | 'willValidate'\n | 'checkValidity'\n | 'reportValidity'\n>;\n\nexport type HTMLFieldProps =\n HTMLProps & BaseFieldProps;\n\nexport interface HTMLButtonProps extends HTMLFieldProps {\n type?: 'button' | 'image' | 'submit' | 'reset';\n}\n\nexport interface HTMLInputProps\n extends HTMLFieldProps,\n Omit {\n type?:\n | 'checkbox'\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'range'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week'\n | HTMLButtonProps['type'];\n}\n\nexport type HTMLField = HTMLInputElement &\n HTMLTextAreaElement &\n HTMLSelectElement &\n HTMLFieldSetElement;\n\n/**\n * @see https://developers.google.com/web/fundamentals/web-components/customelements#reactions\n */\nexport interface CustomElement extends HTMLElement {\n /**\n * Called every time the element is inserted into the DOM\n */\n connectedCallback?(): void;\n /**\n * Called every time the element is removed from the DOM.\n */\n disconnectedCallback?(): void;\n /**\n * Called when an observed attribute has been added, removed, updated, or replaced.\n * Also called for initial values when an element is created by the parser, or upgraded.\n *\n * Note: only attributes listed in static `observedAttributes` property will receive this callback.\n */\n attributeChangedCallback?(\n name: string,\n oldValue: string,\n newValue: string\n ): void;\n /**\n * The custom element has been moved into a new document\n * (e.g. someone called `document.adoptNode(el)`).\n */\n adoptedCallback?(): void;\n}\n\n/**\n * @see https://developers.google.com/web/fundamentals/web-components/customelements#attrchanges\n */\nexport interface CustomElementClass {\n new (...data: any[]): T;\n\n observedAttributes?: string[];\n}\n\n/**\n * @see https://web.dev/more-capable-form-controls/#lifecycle-callbacks\n */\nexport interface CustomFormElement\n extends CustomElement,\n BaseFieldProps,\n HTMLFieldInternals {\n /**\n * Called when the browser associates the element with a form element,\n * or disassociates the element from a form element.\n */\n formAssociatedCallback?(form: HTMLFormElement): void;\n /**\n * Called after the disabled state of the element changes,\n * either because the disabled attribute of this element was added or removed;\n * or because the disabled state changed on a `
    ` that's an ancestor of this element.\n *\n * @param disabled This parameter represents the new disabled state of the element.\n */\n formDisabledCallback?(disabled: boolean): void;\n /**\n * Called after the form is reset.\n * The element should reset itself to some kind of default state.\n */\n formResetCallback?(): void;\n /**\n * Called in one of two circumstances:\n * - When the browser restores the state of the element (for example, after a navigation, or when the browser restarts). The `mode` argument is `\"restore\"` in this case.\n * - When the browser's input-assist features such as form autofilling sets a value. The `mode` argument is `\"autocomplete\"` in this case.\n *\n * @param state The type of this argument depends on how the `this.internals.setFormValue()` method was called.\n * @param mode\n */\n formStateRestoreCallback?(\n state: string | File | FormData,\n mode: 'restore' | 'autocomplete'\n ): void;\n}\n\n/**\n * @see https://web.dev/more-capable-form-controls/#defining-a-form-associated-custom-element\n */\nexport interface CustomFormElementClass\n extends CustomElementClass {\n formAssociated?: boolean;\n}\n","import { URLData } from './URL';\nimport { HTMLProps, HTMLField, CSSStyles, CSSObject } from './DOM-type';\nimport { Constructor, isEmpty, assertInheritance, toHyphenCase } from './data';\nimport { toJSValue } from './parser';\n\nconst templateMap: Record = {};\n\nexport function templateOf(tagName: string) {\n if (templateMap[tagName]) return templateMap[tagName];\n\n const spawn = document.createElement('template');\n\n spawn.innerHTML = `<${tagName} />`;\n\n return (templateMap[tagName] = spawn.content.firstElementChild!);\n}\n\nexport function elementTypeOf(tagName: string) {\n const node = templateOf(tagName);\n\n return node instanceof HTMLElement && !(node instanceof HTMLUnknownElement)\n ? 'html'\n : 'xml';\n}\n\nexport function isHTMLElementClass>(\n Class: any\n): Class is T {\n return assertInheritance(Class, HTMLElement);\n}\n\nconst nameMap = new WeakMap, string>();\n\nexport function tagNameOf(Class: CustomElementConstructor) {\n const name = nameMap.get(Class);\n\n if (name) return name;\n\n var { tagName } = new Class();\n\n nameMap.set(Class, (tagName = tagName.toLowerCase()));\n\n return tagName;\n}\n\nexport function isDOMReadOnly(\n tagName: T,\n propertyName: keyof HTMLProps\n) {\n /**\n * fetch from https://html.spec.whatwg.org/\n */\n const ReadOnly_Properties: [Constructor, string[]][] = [\n [HTMLLinkElement, ['sizes']],\n [HTMLIFrameElement, ['sandbox']],\n [HTMLObjectElement, ['form']],\n [HTMLInputElement, ['form', 'list']],\n [HTMLButtonElement, ['form']],\n [HTMLSelectElement, ['form']],\n [HTMLTextAreaElement, ['form']],\n [HTMLOutputElement, ['form']],\n [HTMLFieldSetElement, ['form']]\n ];\n const template = templateOf(tagName);\n\n for (const [Class, keys] of ReadOnly_Properties)\n if (template instanceof Class && keys.includes(propertyName as string))\n return true;\n return false;\n}\n\nexport function parseDOM(HTML: string) {\n const spawn = document.createElement('template');\n\n spawn.innerHTML = HTML;\n\n return [...spawn.content.childNodes].map(node => {\n node.remove();\n return node;\n });\n}\n\nexport function stringifyDOM(node: Node) {\n return new XMLSerializer()\n .serializeToString(node)\n .replace(/ xmlns=\"http:\\/\\/www.w3.org\\/1999\\/xhtml\"/g, '');\n}\n\nexport function* walkDOM(\n root: Node,\n type?: Node['nodeType']\n): Generator {\n const children = [...root.childNodes];\n\n if (isEmpty(type) || type === root.nodeType) yield root as T;\n\n for (const node of children) yield* walkDOM(node, type);\n}\n\nexport function getVisibleText(root: Element) {\n var text = '';\n\n for (const { nodeType, parentElement, nodeValue } of walkDOM(root))\n if (\n nodeType === Node.TEXT_NODE &&\n parentElement.getAttribute('aria-hidden') !== 'true'\n ) {\n const { width, height } = parentElement.getBoundingClientRect();\n\n if (width && height) text += nodeValue.trim().replace(/\\s+/g, ' ');\n }\n\n return text;\n}\n\n/**\n * Split a DOM tree into Pages like PDF files\n *\n * @param pageHeight the default value is A4 paper's height\n * @param pageWidth the default value is A4 paper's width\n */\nexport function splitPages(\n { offsetWidth, children }: HTMLElement,\n pageHeight = 841.89,\n pageWidth = 595.28\n) {\n const scrollHeight = (pageHeight / pageWidth) * offsetWidth;\n var offset = 0;\n\n return [...children].reduce((pages, node) => {\n var { offsetTop: top, offsetHeight: height } = node as HTMLElement;\n top += offset;\n var bottom = top + height;\n\n const bottomOffset = bottom / scrollHeight;\n const topIndex = ~~(top / scrollHeight),\n bottomIndex = ~~bottomOffset;\n\n if (topIndex !== bottomIndex) offset += height - bottomOffset;\n\n (pages[bottomIndex] ||= []).push(node);\n\n return pages;\n }, [] as Element[][]);\n}\n\nexport interface CSSOptions\n extends Pick<\n HTMLLinkElement,\n 'title' | 'media' | 'crossOrigin' | 'integrity'\n > {\n alternate?: boolean;\n}\n\nexport function importCSS(\n URI: string,\n { alternate, ...options }: CSSOptions = {} as CSSOptions\n) {\n const style = [...document.styleSheets].find(({ href }) => href === URI);\n\n if (style) return Promise.resolve(style);\n\n const link = document.createElement('link');\n\n return new Promise((resolve, reject) => {\n link.onload = () => resolve(link.sheet);\n link.onerror = (_1, _2, _3, _4, error) => reject(error);\n\n Object.assign(link, options);\n\n link.rel = (alternate ? 'alternate ' : '') + 'stylesheet';\n link.href = URI;\n\n document.head.append(link);\n });\n}\n\nexport function stringifyCSS(\n data: CSSStyles | CSSObject,\n depth = 0,\n indent = ' '\n): string {\n const padding = indent.repeat(depth);\n\n return Object.entries(data)\n .map(([key, value]) =>\n typeof value !== 'object'\n ? `${padding}${toHyphenCase(key)}: ${value};`\n : `${padding}${key} {\n${stringifyCSS(value as CSSObject, depth + 1, indent)}\n${padding}}`\n )\n .join('\\n');\n}\n\nexport function insertToCursor(...nodes: Node[]) {\n const fragment = document.createDocumentFragment();\n\n fragment.append(...nodes);\n\n for (const node of walkDOM(fragment))\n if (\n ![1, 3, 11].includes(node.nodeType) ||\n ['meta', 'title', 'link', 'script'].includes(\n node.nodeName.toLowerCase()\n )\n )\n (node as ChildNode).replaceWith(...node.childNodes);\n\n const selection = globalThis.getSelection();\n\n if (!selection) return;\n\n const range = selection.getRangeAt(0);\n\n range.deleteContents();\n range.insertNode(fragment);\n}\n\nexport function scrollTo(\n selector: string,\n root?: Element,\n align?: ScrollLogicalPosition,\n justify?: ScrollLogicalPosition\n) {\n const [_, ID] = /^#(.+)/.exec(selector) || [];\n\n if (ID === 'top') window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });\n else\n (root || document)\n .querySelector(ID ? `[id=\"${ID}\"]` : selector)\n ?.scrollIntoView({\n behavior: 'smooth',\n block: align,\n inline: justify\n });\n}\n\nexport interface ScrollEvent {\n target: HTMLHeadingElement;\n links: (HTMLAnchorElement | HTMLAreaElement)[];\n}\n\nexport function watchScroll(\n box: HTMLElement,\n handler: (event: ScrollEvent) => any,\n depth = 6\n) {\n return Array.from(\n box.querySelectorAll(\n Array.from(new Array(depth), (_, index) => `h${++index}`) + ''\n ),\n header => {\n new IntersectionObserver(([item]) => {\n if (!item.isIntersecting) return;\n\n const target = item.target as HTMLHeadingElement;\n\n handler({\n target,\n links: [\n ...target.ownerDocument.querySelectorAll<\n HTMLAnchorElement | HTMLAreaElement\n >(`[href=\"#${target.id}\"]`)\n ]\n });\n }).observe(header);\n\n if (!header.id.trim())\n header.id = header.textContent.trim().replace(/\\W+/g, '-');\n\n return {\n level: +header.tagName[1],\n id: header.id,\n text: header.textContent.trim()\n };\n }\n );\n}\n\nexport function watchVisible(\n root: Element,\n handler: (visible: boolean) => any\n) {\n var last = document.visibilityState === 'visible' ? 1 : 0;\n\n function change(state: number) {\n if (state === 3 || last === 3) handler(state === 3);\n\n last = state;\n }\n\n new IntersectionObserver(([{ isIntersecting }]) =>\n change(isIntersecting ? last | 2 : last & 1)\n ).observe(root);\n\n document.addEventListener('visibilitychange', () =>\n change(document.visibilityState === 'visible' ? last | 1 : last & 2)\n );\n}\n\nexport function formToJSON>(\n form: HTMLFormElement | HTMLFieldSetElement\n) {\n const data = {} as T;\n\n for (const field of form.elements) {\n let {\n type,\n name,\n value,\n checked,\n defaultValue,\n selectedOptions,\n files\n } = field as HTMLField;\n\n if (!name || value === '') continue;\n\n const box = type !== 'fieldset' && field.closest('fieldset');\n\n if (box && box !== form) continue;\n\n let parsedValue: any = value;\n\n switch (type) {\n case 'radio':\n case 'checkbox':\n if (checked)\n parsedValue = defaultValue ? toJSValue(defaultValue) : true;\n else continue;\n break;\n case 'select-multiple':\n parsedValue = Array.from(selectedOptions, ({ value }) =>\n toJSValue(value)\n );\n break;\n case 'fieldset':\n parsedValue = formToJSON(field as HTMLFieldSetElement);\n break;\n case 'file':\n parsedValue = files && Array.from(files);\n break;\n case 'date':\n case 'datetime-local':\n case 'month':\n case 'hidden':\n case 'number':\n case 'range':\n case 'select-one':\n parsedValue = toJSValue(value);\n }\n\n if (name in data) data[name] = [].concat(data[name], parsedValue);\n else\n data[name] =\n !(parsedValue instanceof Array) || !isEmpty(parsedValue[1])\n ? parsedValue\n : parsedValue[0];\n }\n\n return data;\n}\n","export function sleep(seconds = 1) {\n return new Promise(resolve => setTimeout(resolve, seconds * 1000));\n}\n\nexport function asyncLoop(executor: (...data: any[]) => any, seconds = 1) {\n var stop = false;\n\n (async () => {\n while (!stop) {\n const result = executor();\n\n if (result instanceof Promise) await result;\n\n await sleep(seconds);\n }\n })();\n\n return () => (stop = true);\n}\n","import { uniqueID } from './data';\n\nexport type DelegateEventHandler = (\n event: Event,\n currentTarget: Element,\n detail?: T\n) => any;\n\nexport function delegate(\n selector: string,\n handler: DelegateEventHandler\n) {\n return function (this: Node, event: Event) {\n var node: EventTarget,\n path = event.composedPath();\n\n while ((node = path.shift()) && node !== event.currentTarget)\n if (node instanceof HTMLElement && node.matches(selector))\n return handler.call(\n this,\n event,\n node,\n (event as CustomEvent).detail\n );\n };\n}\n\nexport const documentReady =\n typeof window !== 'undefined'\n ? new Promise(resolve => {\n function done() {\n document?.removeEventListener('DOMContentLoaded', done);\n window.removeEventListener('load', done);\n resolve();\n }\n document?.addEventListener('DOMContentLoaded', done);\n window.addEventListener('load', done);\n\n setTimeout(function check() {\n document?.readyState === 'complete'\n ? resolve()\n : setTimeout(check);\n });\n })\n : Promise.resolve();\n\nexport function promisify(scope: string, element: Element) {\n return new Promise((resolve, reject) => {\n function end(event: T) {\n resolve(event), clean();\n }\n function cancel(event: T) {\n reject(event), clean();\n }\n\n function clean() {\n element.removeEventListener(scope + 'end', end);\n element.removeEventListener(scope + 'cancel', cancel);\n }\n\n element.addEventListener(scope + 'end', end);\n element.addEventListener(scope + 'cancel', cancel);\n });\n}\n\nexport type MessageGlobal = Window | Worker;\n\nexport function createMessageServer(\n handlers: Record any | Promise>\n) {\n async function server({\n data: { type, id, ...data },\n source,\n origin\n }: MessageEvent) {\n var result = handlers[type]?.(data);\n\n if (result instanceof Promise) result = await result;\n // @ts-ignore\n (source as MessageGlobal).postMessage({ ...result, id }, origin);\n }\n\n globalThis.addEventListener('message', server);\n\n return () => globalThis.removeEventListener('message', server);\n}\n\nexport function createMessageClient(target: Window | Worker, origin = '*') {\n return (type: string, data?: any) =>\n new Promise(resolve => {\n const UID = uniqueID();\n\n function handler({ data: { id, ...data } }: MessageEvent) {\n if (id !== UID) return;\n\n resolve(data);\n\n globalThis.removeEventListener('message', handler);\n }\n\n globalThis.addEventListener('message', handler);\n // @ts-ignore\n target.postMessage({ id: UID, type, ...data }, origin);\n });\n}\n\nexport function serviceWorkerUpdate(registration: ServiceWorkerRegistration) {\n return new Promise(resolve => {\n if (registration.waiting) return resolve(registration.waiting);\n\n registration.onupdatefound = () =>\n registration.installing?.addEventListener(\n 'statechange',\n function () {\n if (\n this.state === 'installed' &&\n navigator.serviceWorker.controller\n )\n resolve(this);\n }\n );\n });\n}\n","import { promisify } from './event';\n\nexport interface CartesianCoordinate {\n x: number;\n y: number;\n z?: number;\n}\n\nexport class PageVector {\n from: CartesianCoordinate;\n to: CartesianCoordinate;\n\n constructor(from: CartesianCoordinate, to: CartesianCoordinate) {\n this.from = from;\n this.to = to;\n }\n\n get length() {\n const { from, to } = this;\n\n return Math.sqrt(\n Math.pow(to.x - from.x, 2) +\n Math.pow(to.y - from.y, 2) +\n (to.z != null ? Math.pow(to.z - from.z, 2) : 0)\n );\n }\n\n get direction() {\n const { from, to } = this;\n const XD = to.x - from.x,\n YD = to.y - from.y,\n ZD = to.z - from.z;\n const XL = Math.abs(XD),\n YL = Math.abs(YD),\n ZL = Math.abs(ZD);\n\n switch (isNaN(ZL) ? Math.max(XL, YL) : Math.max(XL, YL, ZL)) {\n case XL:\n return XD > 0 ? 'right' : 'left';\n case YL:\n return YD > 0 ? 'forward' : 'backward';\n case ZL:\n return ZD > 0 ? 'up' : 'down';\n }\n }\n}\n\nexport function getSwipeVector(\n from: CartesianCoordinate,\n to: CartesianCoordinate,\n threshold = parseInt(getComputedStyle(document.body).fontSize) * 6\n) {\n const vector = new PageVector(from, to);\n\n if (vector.length >= threshold && !getSelection()?.toString().trim())\n return vector;\n}\n\nexport interface AnimationEvents {\n transition: TransitionEvent;\n animation: AnimationEvent;\n}\n\nexport type AnimationType = keyof AnimationEvents;\n\nexport function durationOf(type: AnimationType, element: HTMLElement) {\n const { transitionDuration, animationDuration } = getComputedStyle(element);\n\n const duration =\n type === 'animation' ? animationDuration : transitionDuration;\n\n return parseFloat(duration) * (duration.slice(-2) === 'ms' ? 1 : 1000);\n}\n\nexport function watchMotion(\n type: T,\n element: HTMLElement\n) {\n return Promise.race([\n promisify(type, element).catch(event =>\n Promise.resolve(event)\n ),\n new Promise(resolve =>\n setTimeout(resolve, durationOf(type, element))\n )\n ]);\n}\n\nfunction fadeIn(\n type: T,\n element: HTMLElement,\n className: string,\n display: string\n) {\n element.style.display = display;\n\n const end = watchMotion(type, element);\n\n return new Promise(resolve =>\n requestAnimationFrame(() => {\n element.classList.add(className);\n\n end.then(resolve);\n })\n );\n}\n\nasync function fadeOut(\n type: T,\n element: HTMLElement,\n className: string,\n remove?: boolean\n) {\n const end = watchMotion(type, element);\n\n element.classList.remove(className);\n\n await end;\n\n if (remove) element.remove();\n else element.style.display = 'none';\n}\n\nexport function transitIn(\n element: HTMLElement,\n className: string,\n display = 'block'\n) {\n return fadeIn('transition', element, className, display);\n}\n\nexport function animateIn(\n element: HTMLElement,\n className: string,\n display = 'block'\n) {\n return fadeIn('animation', element, className, display);\n}\n\nexport function transitOut(\n element: HTMLElement,\n className: string,\n remove?: boolean\n) {\n return fadeOut('transition', element, className, remove);\n}\n\nexport function animateOut(\n element: HTMLElement,\n className: string,\n remove?: boolean\n) {\n return fadeOut('animation', element, className, remove);\n}\n","import { sleep } from './timer';\n\nexport async function describe(title: string, cases: () => any) {\n console.log(title);\n console.time(title);\n\n await cases();\n\n console.timeEnd(title);\n}\n\nexport async function it(\n title: string,\n userCase: (expect: (status: boolean) => void) => T | Promise,\n secondsOut = 3\n): Promise {\n title = ' ' + title;\n\n console.time(title);\n\n async function timeOut(): Promise {\n await sleep(secondsOut);\n\n throw new RangeError('Timed out');\n }\n try {\n return await Promise.race([\n userCase(status => console.assert(status, title)),\n timeOut()\n ]);\n } finally {\n console.timeEnd(title);\n }\n}\n","var niceErrors = {\n 0: \"Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'\",\n 1: function _(annotationType, key) {\n return \"Cannot apply '\" + annotationType + \"' to '\" + key.toString() + \"': Field not found.\";\n },\n /*\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n */\n 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: \"Invalid annotation\",\n 13: \"Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: \"Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 16: \"Modification exception: the internal structure of an observable array was changed.\",\n 17: function _(index, length) {\n return \"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + length;\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19: function _(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name;\n },\n 20: function _(other) {\n return \"Cannot initialize map from \" + other;\n },\n 21: function _(dataStructure) {\n return \"Cannot convert to map from '\" + dataStructure + \"'\";\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24: function _(thing) {\n return \"Cannot obtain administration from \" + thing;\n },\n 25: function _(property, name) {\n return \"the entry '\" + property + \"' does not exist in the observable map '\" + name + \"'\";\n },\n 26: \"please specify a property\",\n 27: function _(property, name) {\n return \"no observable property '\" + property.toString() + \"' found on the observable object '\" + name + \"'\";\n },\n 28: function _(thing) {\n return \"Cannot obtain atom from \" + thing;\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32: function _(name, derivation) {\n return \"Cycle detected in computation \" + name + \": \" + derivation;\n },\n 33: function _(name) {\n return \"The setter of computed value '\" + name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\";\n },\n 34: function _(name) {\n return \"[ComputedValue '\" + name + \"'] It is not possible to assign a new value to a computed value.\";\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37: function _(method) {\n return \"[mobx] `observableArray.\" + method + \"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice().\" + method + \"()` instead\";\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n};\nvar errors = process.env.NODE_ENV !== \"production\" ? niceErrors : {};\nfunction die(error) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (process.env.NODE_ENV !== \"production\") {\n var e = typeof error === \"string\" ? error : errors[error];\n if (typeof e === \"function\") e = e.apply(null, args);\n throw new Error(\"[MobX] \" + e);\n }\n throw new Error(typeof error === \"number\" ? \"[MobX] minified error nr: \" + error + (args.length ? \" \" + args.map(String).join(\",\") : \"\") + \". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts\" : \"[MobX] \" + error);\n}\n\nvar mockGlobal = {};\nfunction getGlobal() {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n return mockGlobal;\n}\n\n// We shorten anything used > 5 times\nvar assign = Object.assign;\nvar getDescriptor = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar objectPrototype = Object.prototype;\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nvar EMPTY_OBJECT = {};\nObject.freeze(EMPTY_OBJECT);\nvar hasProxy = typeof Proxy !== \"undefined\";\nvar plainObjectString = /*#__PURE__*/Object.toString();\nfunction assertProxies() {\n if (!hasProxy) {\n die(process.env.NODE_ENV !== \"production\" ? \"`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`\" : \"Proxy not available\");\n }\n}\nfunction warnAboutProxyRequirement(msg) {\n if (process.env.NODE_ENV !== \"production\" && globalState.verifyProxies) {\n die(\"MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to \" + msg);\n }\n}\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nfunction once(func) {\n var invoked = false;\n return function () {\n if (invoked) {\n return;\n }\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function noop() {};\nfunction isFunction(fn) {\n return typeof fn === \"function\";\n}\nfunction isStringish(value) {\n var t = typeof value;\n switch (t) {\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n var proto = Object.getPrototypeOf(value);\n if (proto == null) {\n return true;\n }\n var protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString;\n}\n// https://stackoverflow.com/a/37865170\nfunction isGenerator(obj) {\n var constructor = obj == null ? void 0 : obj.constructor;\n if (!constructor) {\n return false;\n }\n if (\"GeneratorFunction\" === constructor.name || \"GeneratorFunction\" === constructor.displayName) {\n return true;\n }\n return false;\n}\nfunction addHiddenProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction createInstanceofPredicate(name, theClass) {\n var propName = \"isMobX\" + name;\n theClass.prototype[propName] = true;\n return function (x) {\n return isObject(x) && x[propName] === true;\n };\n}\nfunction isES6Map(thing) {\n return thing instanceof Map;\n}\nfunction isES6Set(thing) {\n return thing instanceof Set;\n}\nvar hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\";\n/**\n * Returns the following: own enumerable keys and symbols.\n */\nfunction getPlainObjectKeys(object) {\n var keys = Object.keys(object);\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) {\n return keys;\n }\n var symbols = Object.getOwnPropertySymbols(object);\n if (!symbols.length) {\n return keys;\n }\n return [].concat(keys, symbols.filter(function (s) {\n return objectPrototype.propertyIsEnumerable.call(object, s);\n }));\n}\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys ? Reflect.ownKeys : hasGetOwnPropertySymbols ? function (obj) {\n return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));\n} : /* istanbul ignore next */Object.getOwnPropertyNames;\nfunction stringifyKey(key) {\n if (typeof key === \"string\") {\n return key;\n }\n if (typeof key === \"symbol\") {\n return key.toString();\n }\n return new String(key).toString();\n}\nfunction toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value;\n}\nfunction hasProp(target, prop) {\n return objectPrototype.hasOwnProperty.call(target, prop);\n}\n// From Immer utils\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(target) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n var res = {};\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(function (key) {\n res[key] = getDescriptor(target, key);\n });\n return res;\n};\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar storedAnnotationsSymbol = /*#__PURE__*/Symbol(\"mobx-stored-annotations\");\n/**\n * Creates a function that acts as\n * - decorator\n * - annotation object\n */\nfunction createDecoratorAnnotation(annotation) {\n function decorator(target, property) {\n if (is20223Decorator(property)) {\n return annotation.decorate_20223_(target, property);\n } else {\n storeAnnotation(target, property, annotation);\n }\n }\n return Object.assign(decorator, annotation);\n}\n/**\n * Stores annotation to prototype,\n * so it can be inspected later by `makeObservable` called from constructor\n */\nfunction storeAnnotation(prototype, key, annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) {\n addHiddenProp(prototype, storedAnnotationsSymbol, _extends({}, prototype[storedAnnotationsSymbol]));\n }\n // @override must override something\n if (process.env.NODE_ENV !== \"production\" && isOverride(annotation) && !hasProp(prototype[storedAnnotationsSymbol], key)) {\n var fieldName = prototype.constructor.name + \".prototype.\" + key.toString();\n die(\"'\" + fieldName + \"' is decorated with 'override', \" + \"but no such decorated member was found on prototype.\");\n }\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key);\n // Ignore override\n if (!isOverride(annotation)) {\n prototype[storedAnnotationsSymbol][key] = annotation;\n }\n}\nfunction assertNotDecorated(prototype, annotation, key) {\n if (process.env.NODE_ENV !== \"production\" && !isOverride(annotation) && hasProp(prototype[storedAnnotationsSymbol], key)) {\n var fieldName = prototype.constructor.name + \".prototype.\" + key.toString();\n var currentAnnotationType = prototype[storedAnnotationsSymbol][key].annotationType_;\n var requestedAnnotationType = annotation.annotationType_;\n die(\"Cannot apply '@\" + requestedAnnotationType + \"' to '\" + fieldName + \"':\" + (\"\\nThe field is already decorated with '@\" + currentAnnotationType + \"'.\") + \"\\nRe-decorating fields is not allowed.\" + \"\\nUse '@override' decorator for methods overridden by subclass.\");\n }\n}\n/**\n * Collects annotations from prototypes and stores them on target (instance)\n */\nfunction collectStoredAnnotations(target) {\n if (!hasProp(target, storedAnnotationsSymbol)) {\n // if (__DEV__ && !target[storedAnnotationsSymbol]) {\n // die(\n // `No annotations were passed to makeObservable, but no decorated members have been found either`\n // )\n // }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, _extends({}, target[storedAnnotationsSymbol]));\n }\n return target[storedAnnotationsSymbol];\n}\nfunction is20223Decorator(context) {\n return typeof context == \"object\" && typeof context[\"kind\"] == \"string\";\n}\nfunction assert20223DecoratorType(context, types) {\n if (process.env.NODE_ENV !== \"production\" && !types.includes(context.kind)) {\n die(\"The decorator applied to '\" + String(context.name) + \"' cannot be used on a \" + context.kind + \" element\");\n }\n}\n\nvar $mobx = /*#__PURE__*/Symbol(\"mobx administration\");\nvar Atom = /*#__PURE__*/function () {\n // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */\n function Atom(name_) {\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"Atom@\" + getNextId() : \"Atom\";\n }\n this.name_ = void 0;\n this.isPendingUnobservation_ = false;\n this.isBeingObserved_ = false;\n this.observers_ = new Set();\n this.diffValue_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.NOT_TRACKING_;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n this.name_ = name_;\n }\n // onBecomeObservedListeners\n var _proto = Atom.prototype;\n _proto.onBO = function onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(function (listener) {\n return listener();\n });\n }\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(function (listener) {\n return listener();\n });\n }\n }\n /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */;\n _proto.reportObserved = function reportObserved$1() {\n return reportObserved(this);\n }\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */;\n _proto.reportChanged = function reportChanged() {\n startBatch();\n propagateChanged(this);\n endBatch();\n };\n _proto.toString = function toString() {\n return this.name_;\n };\n return Atom;\n}();\nvar isAtom = /*#__PURE__*/createInstanceofPredicate(\"Atom\", Atom);\nfunction createAtom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (onBecomeObservedHandler === void 0) {\n onBecomeObservedHandler = noop;\n }\n if (onBecomeUnobservedHandler === void 0) {\n onBecomeUnobservedHandler = noop;\n }\n var atom = new Atom(name);\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler);\n }\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler);\n }\n return atom;\n}\n\nfunction identityComparer(a, b) {\n return a === b;\n}\nfunction structuralComparer(a, b) {\n return deepEqual(a, b);\n}\nfunction shallowComparer(a, b) {\n return deepEqual(a, b, 1);\n}\nfunction defaultComparer(a, b) {\n if (Object.is) {\n return Object.is(a, b);\n }\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b;\n}\nvar comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n \"default\": defaultComparer,\n shallow: shallowComparer\n};\n\nfunction deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) {\n return v;\n }\n // something that can be converted and mutated?\n if (Array.isArray(v)) {\n return observable.array(v, {\n name: name\n });\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, {\n name: name\n });\n }\n if (isES6Map(v)) {\n return observable.map(v, {\n name: name\n });\n }\n if (isES6Set(v)) {\n return observable.set(v, {\n name: name\n });\n }\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) {\n return flow(v);\n } else {\n return autoAction(name, v);\n }\n }\n return v;\n}\nfunction shallowEnhancer(v, _, name) {\n if (v === undefined || v === null) {\n return v;\n }\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) {\n return v;\n }\n if (Array.isArray(v)) {\n return observable.array(v, {\n name: name,\n deep: false\n });\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, {\n name: name,\n deep: false\n });\n }\n if (isES6Map(v)) {\n return observable.map(v, {\n name: name,\n deep: false\n });\n }\n if (isES6Set(v)) {\n return observable.set(v, {\n name: name,\n deep: false\n });\n }\n if (process.env.NODE_ENV !== \"production\") {\n die(\"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\");\n }\n}\nfunction referenceEnhancer(newValue) {\n // never turn into an observable\n return newValue;\n}\nfunction refStructEnhancer(v, oldValue) {\n if (process.env.NODE_ENV !== \"production\" && isObservable(v)) {\n die(\"observable.struct should not be used with observable values\");\n }\n if (deepEqual(v, oldValue)) {\n return oldValue;\n }\n return v;\n}\n\nvar OVERRIDE = \"override\";\nvar override = /*#__PURE__*/createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_: make_,\n extend_: extend_,\n decorate_20223_: decorate_20223_\n});\nfunction isOverride(annotation) {\n return annotation.annotationType_ === OVERRIDE;\n}\nfunction make_(adm, key) {\n // Must not be plain object\n if (process.env.NODE_ENV !== \"production\" && adm.isPlainObject_) {\n die(\"Cannot apply '\" + this.annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + this.annotationType_ + \"' cannot be used on plain objects.\"));\n }\n // Must override something\n if (process.env.NODE_ENV !== \"production\" && !hasProp(adm.appliedAnnotations_, key)) {\n die(\"'\" + adm.name_ + \".\" + key.toString() + \"' is annotated with '\" + this.annotationType_ + \"', \" + \"but no such annotated member was found on prototype.\");\n }\n return 0 /* MakeResult.Cancel */;\n}\n\nfunction extend_(adm, key, descriptor, proxyTrap) {\n die(\"'\" + this.annotationType_ + \"' can only be used with 'makeObservable'\");\n}\nfunction decorate_20223_(desc, context) {\n console.warn(\"'\" + this.annotationType_ + \"' cannot be used with decorators - this is a no-op\");\n}\n\nfunction createActionAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$1,\n extend_: extend_$1,\n decorate_20223_: decorate_20223_$1\n };\n}\nfunction make_$1(adm, key, descriptor, source) {\n var _this$options_;\n // bound\n if ((_this$options_ = this.options_) != null && _this$options_.bound) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */;\n }\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */;\n }\n // prototype\n if (isAction(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */;\n }\n\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false);\n defineProperty(source, key, actionDescriptor);\n return 2 /* MakeResult.Continue */;\n}\n\nfunction extend_$1(adm, key, descriptor, proxyTrap) {\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor);\n return adm.defineProperty_(key, actionDescriptor, proxyTrap);\n}\nfunction decorate_20223_$1(mthd, context) {\n if (process.env.NODE_ENV !== \"production\") {\n assert20223DecoratorType(context, [\"method\", \"field\"]);\n }\n var kind = context.kind,\n name = context.name,\n addInitializer = context.addInitializer;\n var ann = this;\n var _createAction = function _createAction(m) {\n var _ann$options_$name, _ann$options_, _ann$options_$autoAct, _ann$options_2;\n return createAction((_ann$options_$name = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.name) != null ? _ann$options_$name : name.toString(), m, (_ann$options_$autoAct = (_ann$options_2 = ann.options_) == null ? void 0 : _ann$options_2.autoAction) != null ? _ann$options_$autoAct : false);\n };\n // Backwards/Legacy behavior, expects makeObservable(this)\n if (kind == \"field\") {\n addInitializer(function () {\n storeAnnotation(this, name, ann);\n });\n return;\n }\n if (kind == \"method\") {\n var _this$options_2;\n if (!isAction(mthd)) {\n mthd = _createAction(mthd);\n }\n if ((_this$options_2 = this.options_) != null && _this$options_2.bound) {\n addInitializer(function () {\n var self = this;\n var bound = self[name].bind(self);\n bound.isMobxAction = true;\n self[name] = bound;\n });\n }\n return mthd;\n }\n die(\"Cannot apply '\" + ann.annotationType_ + \"' to '\" + String(name) + \"' (kind: \" + kind + \"):\" + (\"\\n'\" + ann.annotationType_ + \"' can only be used on properties with a function value.\"));\n}\nfunction assertActionDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n if (process.env.NODE_ENV !== \"production\" && !isFunction(value)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on properties with a function value.\"));\n }\n}\nfunction createActionDescriptor(adm, annotation, key, descriptor,\n// provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n var _annotation$options_, _annotation$options_$, _annotation$options_2, _annotation$options_$2, _annotation$options_3, _annotation$options_4, _adm$proxy_2;\n if (safeDescriptors === void 0) {\n safeDescriptors = globalState.safeDescriptors;\n }\n assertActionDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n if ((_annotation$options_ = annotation.options_) != null && _annotation$options_.bound) {\n var _adm$proxy_;\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return {\n value: createAction((_annotation$options_$ = (_annotation$options_2 = annotation.options_) == null ? void 0 : _annotation$options_2.name) != null ? _annotation$options_$ : key.toString(), value, (_annotation$options_$2 = (_annotation$options_3 = annotation.options_) == null ? void 0 : _annotation$options_3.autoAction) != null ? _annotation$options_$2 : false,\n // https://github.com/mobxjs/mobx/discussions/3140\n (_annotation$options_4 = annotation.options_) != null && _annotation$options_4.bound ? (_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_ : undefined),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\n\nfunction createFlowAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$2,\n extend_: extend_$2,\n decorate_20223_: decorate_20223_$2\n };\n}\nfunction make_$2(adm, key, descriptor, source) {\n var _this$options_;\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */;\n }\n // prototype\n // bound - must annotate protos to support super.flow()\n if ((_this$options_ = this.options_) != null && _this$options_.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) {\n return 0 /* MakeResult.Cancel */;\n }\n }\n\n if (isFlow(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* MakeResult.Break */;\n }\n\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false);\n defineProperty(source, key, flowDescriptor);\n return 2 /* MakeResult.Continue */;\n}\n\nfunction extend_$2(adm, key, descriptor, proxyTrap) {\n var _this$options_2;\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, (_this$options_2 = this.options_) == null ? void 0 : _this$options_2.bound);\n return adm.defineProperty_(key, flowDescriptor, proxyTrap);\n}\nfunction decorate_20223_$2(mthd, context) {\n var _this$options_3;\n if (process.env.NODE_ENV !== \"production\") {\n assert20223DecoratorType(context, [\"method\"]);\n }\n var name = context.name,\n addInitializer = context.addInitializer;\n if (!isFlow(mthd)) {\n mthd = flow(mthd);\n }\n if ((_this$options_3 = this.options_) != null && _this$options_3.bound) {\n addInitializer(function () {\n var self = this;\n var bound = self[name].bind(self);\n bound.isMobXFlow = true;\n self[name] = bound;\n });\n }\n return mthd;\n}\nfunction assertFlowDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n if (process.env.NODE_ENV !== \"production\" && !isFunction(value)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on properties with a generator function value.\"));\n }\n}\nfunction createFlowDescriptor(adm, annotation, key, descriptor, bound,\n// provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n if (safeDescriptors === void 0) {\n safeDescriptors = globalState.safeDescriptors;\n }\n assertFlowDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) {\n value = flow(value);\n }\n if (bound) {\n var _adm$proxy_;\n // We do not keep original function around, so we bind the existing flow\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true;\n }\n return {\n value: value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\n\nfunction createComputedAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$3,\n extend_: extend_$3,\n decorate_20223_: decorate_20223_$3\n };\n}\nfunction make_$3(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */;\n}\n\nfunction extend_$3(adm, key, descriptor, proxyTrap) {\n assertComputedDescriptor(adm, this, key, descriptor);\n return adm.defineComputedProperty_(key, _extends({}, this.options_, {\n get: descriptor.get,\n set: descriptor.set\n }), proxyTrap);\n}\nfunction decorate_20223_$3(get, context) {\n if (process.env.NODE_ENV !== \"production\") {\n assert20223DecoratorType(context, [\"getter\"]);\n }\n var ann = this;\n var key = context.name,\n addInitializer = context.addInitializer;\n addInitializer(function () {\n var adm = asObservableObject(this)[$mobx];\n var options = _extends({}, ann.options_, {\n get: get,\n context: this\n });\n options.name || (options.name = process.env.NODE_ENV !== \"production\" ? adm.name_ + \".\" + key.toString() : \"ObservableObject.\" + key.toString());\n adm.values_.set(key, new ComputedValue(options));\n });\n return function () {\n return this[$mobx].getObservablePropValue_(key);\n };\n}\nfunction assertComputedDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var get = _ref2.get;\n if (process.env.NODE_ENV !== \"production\" && !get) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on getter(+setter) properties.\"));\n }\n}\n\nfunction createObservableAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$4,\n extend_: extend_$4,\n decorate_20223_: decorate_20223_$4\n };\n}\nfunction make_$4(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* MakeResult.Cancel */ : 1 /* MakeResult.Break */;\n}\n\nfunction extend_$4(adm, key, descriptor, proxyTrap) {\n var _this$options_$enhanc, _this$options_;\n assertObservableDescriptor(adm, this, key, descriptor);\n return adm.defineObservableProperty_(key, descriptor.value, (_this$options_$enhanc = (_this$options_ = this.options_) == null ? void 0 : _this$options_.enhancer) != null ? _this$options_$enhanc : deepEnhancer, proxyTrap);\n}\nfunction decorate_20223_$4(desc, context) {\n if (process.env.NODE_ENV !== \"production\") {\n if (context.kind === \"field\") {\n throw die(\"Please use `@observable accessor \" + String(context.name) + \"` instead of `@observable \" + String(context.name) + \"`\");\n }\n assert20223DecoratorType(context, [\"accessor\"]);\n }\n var ann = this;\n var kind = context.kind,\n name = context.name;\n // The laziness here is not ideal... It's a workaround to how 2022.3 Decorators are implemented:\n // `addInitializer` callbacks are executed _before_ any accessors are defined (instead of the ideal-for-us right after each).\n // This means that, if we were to do our stuff in an `addInitializer`, we'd attempt to read a private slot\n // before it has been initialized. The runtime doesn't like that and throws a `Cannot read private member\n // from an object whose class did not declare it` error.\n // TODO: it seems that this will not be required anymore in the final version of the spec\n // See TODO: link\n var initializedObjects = new WeakSet();\n function initializeObservable(target, value) {\n var _ann$options_$enhance, _ann$options_;\n var adm = asObservableObject(target)[$mobx];\n var observable = new ObservableValue(value, (_ann$options_$enhance = (_ann$options_ = ann.options_) == null ? void 0 : _ann$options_.enhancer) != null ? _ann$options_$enhance : deepEnhancer, process.env.NODE_ENV !== \"production\" ? adm.name_ + \".\" + name.toString() : \"ObservableObject.\" + name.toString(), false);\n adm.values_.set(name, observable);\n initializedObjects.add(target);\n }\n if (kind == \"accessor\") {\n return {\n get: function get() {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, desc.get.call(this));\n }\n return this[$mobx].getObservablePropValue_(name);\n },\n set: function set(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value);\n }\n return this[$mobx].setObservablePropValue_(name, value);\n },\n init: function init(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value);\n }\n return value;\n }\n };\n }\n return;\n}\nfunction assertObservableDescriptor(adm, _ref, key, descriptor) {\n var annotationType_ = _ref.annotationType_;\n if (process.env.NODE_ENV !== \"production\" && !(\"value\" in descriptor)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' cannot be used on getter/setter properties\"));\n }\n}\n\nvar AUTO = \"true\";\nvar autoAnnotation = /*#__PURE__*/createAutoAnnotation();\nfunction createAutoAnnotation(options) {\n return {\n annotationType_: AUTO,\n options_: options,\n make_: make_$5,\n extend_: extend_$5,\n decorate_20223_: decorate_20223_$5\n };\n}\nfunction make_$5(adm, key, descriptor, source) {\n var _this$options_3, _this$options_4;\n // getter -> computed\n if (descriptor.get) {\n return computed.make_(adm, key, descriptor, source);\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n var set = createAction(key.toString(), descriptor.set);\n // own\n if (source === adm.target_) {\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: set\n }) === null ? 0 /* MakeResult.Cancel */ : 2 /* MakeResult.Continue */;\n }\n // proto\n defineProperty(source, key, {\n configurable: true,\n set: set\n });\n return 2 /* MakeResult.Continue */;\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n var _this$options_2;\n if (isGenerator(descriptor.value)) {\n var _this$options_;\n var flowAnnotation = (_this$options_ = this.options_) != null && _this$options_.autoBind ? flow.bound : flow;\n return flowAnnotation.make_(adm, key, descriptor, source);\n }\n var actionAnnotation = (_this$options_2 = this.options_) != null && _this$options_2.autoBind ? autoAction.bound : autoAction;\n return actionAnnotation.make_(adm, key, descriptor, source);\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n var observableAnnotation = ((_this$options_3 = this.options_) == null ? void 0 : _this$options_3.deep) === false ? observable.ref : observable;\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_4 = this.options_) != null && _this$options_4.autoBind) {\n var _adm$proxy_;\n descriptor.value = descriptor.value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return observableAnnotation.make_(adm, key, descriptor, source);\n}\nfunction extend_$5(adm, key, descriptor, proxyTrap) {\n var _this$options_5, _this$options_6;\n // getter -> computed\n if (descriptor.get) {\n return computed.extend_(adm, key, descriptor, proxyTrap);\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set)\n }, proxyTrap);\n }\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_5 = this.options_) != null && _this$options_5.autoBind) {\n var _adm$proxy_2;\n descriptor.value = descriptor.value.bind((_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_);\n }\n var observableAnnotation = ((_this$options_6 = this.options_) == null ? void 0 : _this$options_6.deep) === false ? observable.ref : observable;\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap);\n}\nfunction decorate_20223_$5(desc, context) {\n die(\"'\" + this.annotationType_ + \"' cannot be used as a decorator\");\n}\n\nvar OBSERVABLE = \"observable\";\nvar OBSERVABLE_REF = \"observable.ref\";\nvar OBSERVABLE_SHALLOW = \"observable.shallow\";\nvar OBSERVABLE_STRUCT = \"observable.struct\";\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nvar defaultCreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n};\nObject.freeze(defaultCreateObservableOptions);\nfunction asCreateObservableOptions(thing) {\n return thing || defaultCreateObservableOptions;\n}\nvar observableAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE);\nvar observableRefAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n});\nvar observableShallowAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n});\nvar observableStructAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n});\nvar observableDecoratorAnnotation = /*#__PURE__*/createDecoratorAnnotation(observableAnnotation);\nfunction getEnhancerFromOptions(options) {\n return options.deep === true ? deepEnhancer : options.deep === false ? referenceEnhancer : getEnhancerFromAnnotation(options.defaultDecorator);\n}\nfunction getAnnotationFromOptions(options) {\n var _options$defaultDecor;\n return options ? (_options$defaultDecor = options.defaultDecorator) != null ? _options$defaultDecor : createAutoAnnotation(options) : undefined;\n}\nfunction getEnhancerFromAnnotation(annotation) {\n var _annotation$options_$, _annotation$options_;\n return !annotation ? deepEnhancer : (_annotation$options_$ = (_annotation$options_ = annotation.options_) == null ? void 0 : _annotation$options_.enhancer) != null ? _annotation$options_$ : deepEnhancer;\n}\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */\nfunction createObservable(v, arg2, arg3) {\n // @observable someProp; (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return observableAnnotation.decorate_20223_(v, arg2);\n }\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation);\n return;\n }\n // already observable - ignore\n if (isObservable(v)) {\n return v;\n }\n // plain object\n if (isPlainObject(v)) {\n return observable.object(v, arg2, arg3);\n }\n // Array\n if (Array.isArray(v)) {\n return observable.array(v, arg2);\n }\n // Map\n if (isES6Map(v)) {\n return observable.map(v, arg2);\n }\n // Set\n if (isES6Set(v)) {\n return observable.set(v, arg2);\n }\n // other object - ignore\n if (typeof v === \"object\" && v !== null) {\n return v;\n }\n // anything else\n return observable.box(v, arg2);\n}\nassign(createObservable, observableDecoratorAnnotation);\nvar observableFactories = {\n box: function box(value, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals);\n },\n array: function array(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return (globalState.useProxies === false || o.proxy === false ? createLegacyArray : createObservableArray)(initialValues, getEnhancerFromOptions(o), o.name);\n },\n map: function map(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name);\n },\n set: function set(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name);\n },\n object: function object(props, decorators, options) {\n return initObservable(function () {\n return extendObservable(globalState.useProxies === false || (options == null ? void 0 : options.proxy) === false ? asObservableObject({}, options) : asDynamicObservableObject({}, options), props, decorators);\n });\n },\n ref: /*#__PURE__*/createDecoratorAnnotation(observableRefAnnotation),\n shallow: /*#__PURE__*/createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: /*#__PURE__*/createDecoratorAnnotation(observableStructAnnotation)\n};\n// eslint-disable-next-line\nvar observable = /*#__PURE__*/assign(createObservable, observableFactories);\n\nvar COMPUTED = \"computed\";\nvar COMPUTED_STRUCT = \"computed.struct\";\nvar computedAnnotation = /*#__PURE__*/createComputedAnnotation(COMPUTED);\nvar computedStructAnnotation = /*#__PURE__*/createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n});\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nvar computed = function computed(arg1, arg2) {\n if (is20223Decorator(arg2)) {\n // @computed (2022.3 Decorators)\n return computedAnnotation.decorate_20223_(arg1, arg2);\n }\n if (isStringish(arg2)) {\n // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation);\n }\n if (isPlainObject(arg1)) {\n // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1));\n }\n // computed(expr, options?)\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(arg1)) {\n die(\"First argument to `computed` should be an expression.\");\n }\n if (isFunction(arg2)) {\n die(\"A setter as second argument is no longer supported, use `{ set: fn }` option instead\");\n }\n }\n var opts = isPlainObject(arg2) ? arg2 : {};\n opts.get = arg1;\n opts.name || (opts.name = arg1.name || \"\"); /* for generated name */\n return new ComputedValue(opts);\n};\nObject.assign(computed, computedAnnotation);\ncomputed.struct = /*#__PURE__*/createDecoratorAnnotation(computedStructAnnotation);\n\nvar _getDescriptor$config, _getDescriptor;\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nvar currentActionId = 0;\nvar nextActionId = 1;\nvar isFunctionNameConfigurable = (_getDescriptor$config = (_getDescriptor = /*#__PURE__*/getDescriptor(function () {}, \"name\")) == null ? void 0 : _getDescriptor.configurable) != null ? _getDescriptor$config : false;\n// we can safely recycle this object\nvar tmpNameDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n};\nfunction createAction(actionName, fn, autoAction, ref) {\n if (autoAction === void 0) {\n autoAction = false;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(fn)) {\n die(\"`action` can only be invoked on functions\");\n }\n if (typeof actionName !== \"string\" || !actionName) {\n die(\"actions should have valid names, got: '\" + actionName + \"'\");\n }\n }\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments);\n }\n res.isMobxAction = true;\n res.toString = function () {\n return fn.toString();\n };\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName;\n defineProperty(res, \"name\", tmpNameDescriptor);\n }\n return res;\n}\nfunction executeAction(actionName, canRunAsDerivation, fn, scope, args) {\n var runInfo = _startAction(actionName, canRunAsDerivation, scope, args);\n try {\n return fn.apply(scope, args);\n } catch (err) {\n runInfo.error_ = err;\n throw err;\n } finally {\n _endAction(runInfo);\n }\n}\nfunction _startAction(actionName, canRunAsDerivation,\n// true for autoAction\nscope, args) {\n var notifySpy_ = process.env.NODE_ENV !== \"production\" && isSpyEnabled() && !!actionName;\n var startTime_ = 0;\n if (process.env.NODE_ENV !== \"production\" && notifySpy_) {\n startTime_ = Date.now();\n var flattenedArgs = args ? Array.from(args) : EMPTY_ARRAY;\n spyReportStart({\n type: ACTION,\n name: actionName,\n object: scope,\n arguments: flattenedArgs\n });\n }\n var prevDerivation_ = globalState.trackingDerivation;\n var runAsAction = !canRunAsDerivation || !prevDerivation_;\n startBatch();\n var prevAllowStateChanges_ = globalState.allowStateChanges; // by default preserve previous allow\n if (runAsAction) {\n untrackedStart();\n prevAllowStateChanges_ = allowStateChangesStart(true);\n }\n var prevAllowStateReads_ = allowStateReadsStart(true);\n var runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_: prevDerivation_,\n prevAllowStateChanges_: prevAllowStateChanges_,\n prevAllowStateReads_: prevAllowStateReads_,\n notifySpy_: notifySpy_,\n startTime_: startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n };\n currentActionId = runInfo.actionId_;\n return runInfo;\n}\nfunction _endAction(runInfo) {\n if (currentActionId !== runInfo.actionId_) {\n die(30);\n }\n currentActionId = runInfo.parentActionId_;\n if (runInfo.error_ !== undefined) {\n globalState.suppressReactionErrors = true;\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges_);\n allowStateReadsEnd(runInfo.prevAllowStateReads_);\n endBatch();\n if (runInfo.runAsAction_) {\n untrackedEnd(runInfo.prevDerivation_);\n }\n if (process.env.NODE_ENV !== \"production\" && runInfo.notifySpy_) {\n spyReportEnd({\n time: Date.now() - runInfo.startTime_\n });\n }\n globalState.suppressReactionErrors = false;\n}\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n try {\n return func();\n } finally {\n allowStateChangesEnd(prev);\n }\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\n\nvar _Symbol$toPrimitive;\nvar CREATE = \"create\";\n_Symbol$toPrimitive = Symbol.toPrimitive;\nvar ObservableValue = /*#__PURE__*/function (_Atom) {\n _inheritsLoose(ObservableValue, _Atom);\n function ObservableValue(value, enhancer, name_, notifySpy, equals) {\n var _this;\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableValue@\" + getNextId() : \"ObservableValue\";\n }\n if (notifySpy === void 0) {\n notifySpy = true;\n }\n if (equals === void 0) {\n equals = comparer[\"default\"];\n }\n _this = _Atom.call(this, name_) || this;\n _this.enhancer = void 0;\n _this.name_ = void 0;\n _this.equals = void 0;\n _this.hasUnreportedChange_ = false;\n _this.interceptors_ = void 0;\n _this.changeListeners_ = void 0;\n _this.value_ = void 0;\n _this.dehancer = void 0;\n _this.enhancer = enhancer;\n _this.name_ = name_;\n _this.equals = equals;\n _this.value_ = enhancer(value, undefined, name_);\n if (process.env.NODE_ENV !== \"production\" && notifySpy && isSpyEnabled()) {\n // only notify spy if this is a stand-alone observable\n spyReport({\n type: CREATE,\n object: _assertThisInitialized(_this),\n observableKind: \"value\",\n debugObjectName: _this.name_,\n newValue: \"\" + _this.value_\n });\n }\n return _this;\n }\n var _proto = ObservableValue.prototype;\n _proto.dehanceValue = function dehanceValue(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.set = function set(newValue) {\n var oldValue = this.value_;\n newValue = this.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart({\n type: UPDATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n this.setNewValue_(newValue);\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n };\n _proto.prepareNewValue_ = function prepareNewValue_(newValue) {\n checkIfStateModificationsAreAllowed(this);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this,\n type: UPDATE,\n newValue: newValue\n });\n if (!change) {\n return globalState.UNCHANGED;\n }\n newValue = change.newValue;\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_);\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue;\n };\n _proto.setNewValue_ = function setNewValue_(newValue) {\n var oldValue = this.value_;\n this.value_ = newValue;\n this.reportChanged();\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n };\n _proto.get = function get() {\n this.reportObserved();\n return this.dehanceValue(this.value_);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately) {\n listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n });\n }\n return registerListener(this, listener);\n };\n _proto.raw = function raw() {\n // used by MST ot get undehanced value\n return this.value_;\n };\n _proto.toJSON = function toJSON() {\n return this.get();\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.value_ + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[_Symbol$toPrimitive] = function () {\n return this.valueOf();\n };\n return ObservableValue;\n}(Atom);\nvar isObservableValue = /*#__PURE__*/createInstanceofPredicate(\"ObservableValue\", ObservableValue);\n\nvar _Symbol$toPrimitive$1;\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */\n_Symbol$toPrimitive$1 = Symbol.toPrimitive;\nvar ComputedValue = /*#__PURE__*/function () {\n // nodes we are looking at. Our value depends on these nodes\n // during tracking it's an array with new observed observers\n\n // to check for cycles\n\n // N.B: unminified as it is used by MST\n\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */\n function ComputedValue(options) {\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.observing_ = [];\n this.newObserving_ = null;\n this.isBeingObserved_ = false;\n this.isPendingUnobservation_ = false;\n this.observers_ = new Set();\n this.diffValue_ = 0;\n this.runId_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n this.unboundDepsCount_ = 0;\n this.value_ = new CaughtException(null);\n this.name_ = void 0;\n this.triggeredBy_ = void 0;\n this.isComputing_ = false;\n this.isRunningSetter_ = false;\n this.derivation = void 0;\n this.setter_ = void 0;\n this.isTracing_ = TraceMode.NONE;\n this.scope_ = void 0;\n this.equals_ = void 0;\n this.requiresReaction_ = void 0;\n this.keepAlive_ = void 0;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n if (!options.get) {\n die(31);\n }\n this.derivation = options.get;\n this.name_ = options.name || (process.env.NODE_ENV !== \"production\" ? \"ComputedValue@\" + getNextId() : \"ComputedValue\");\n if (options.set) {\n this.setter_ = createAction(process.env.NODE_ENV !== \"production\" ? this.name_ + \"-setter\" : \"ComputedValue-setter\", options.set);\n }\n this.equals_ = options.equals || (options.compareStructural || options.struct ? comparer.structural : comparer[\"default\"]);\n this.scope_ = options.context;\n this.requiresReaction_ = options.requiresReaction;\n this.keepAlive_ = !!options.keepAlive;\n }\n var _proto = ComputedValue.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n propagateMaybeChanged(this);\n };\n _proto.onBO = function onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(function (listener) {\n return listener();\n });\n }\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(function (listener) {\n return listener();\n });\n }\n }\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */;\n _proto.get = function get() {\n if (this.isComputing_) {\n die(32, this.name_, this.derivation);\n }\n if (globalState.inBatch === 0 &&\n // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 && !this.keepAlive_) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_();\n startBatch(); // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false);\n endBatch();\n }\n } else {\n reportObserved(this);\n if (shouldCompute(this)) {\n var prevTrackingContext = globalState.trackingContext;\n if (this.keepAlive_ && !prevTrackingContext) {\n globalState.trackingContext = this;\n }\n if (this.trackAndCompute()) {\n propagateChangeConfirmed(this);\n }\n globalState.trackingContext = prevTrackingContext;\n }\n }\n var result = this.value_;\n if (isCaughtException(result)) {\n throw result.cause;\n }\n return result;\n };\n _proto.set = function set(value) {\n if (this.setter_) {\n if (this.isRunningSetter_) {\n die(33, this.name_);\n }\n this.isRunningSetter_ = true;\n try {\n this.setter_.call(this.scope_, value);\n } finally {\n this.isRunningSetter_ = false;\n }\n } else {\n die(34, this.name_);\n }\n };\n _proto.trackAndCompute = function trackAndCompute() {\n // N.B: unminified as it is used by MST\n var oldValue = this.value_;\n var wasSuspended = /* see #1208 */this.dependenciesState_ === IDerivationState_.NOT_TRACKING_;\n var newValue = this.computeValue_(true);\n var changed = wasSuspended || isCaughtException(oldValue) || isCaughtException(newValue) || !this.equals_(oldValue, newValue);\n if (changed) {\n this.value_ = newValue;\n if (process.env.NODE_ENV !== \"production\" && isSpyEnabled()) {\n spyReport({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n object: this.scope_,\n type: \"update\",\n oldValue: oldValue,\n newValue: newValue\n });\n }\n }\n return changed;\n };\n _proto.computeValue_ = function computeValue_(track) {\n this.isComputing_ = true;\n // don't allow state changes during computation\n var prev = allowStateChangesStart(false);\n var res;\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope_);\n } else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope_);\n } else {\n try {\n res = this.derivation.call(this.scope_);\n } catch (e) {\n res = new CaughtException(e);\n }\n }\n }\n allowStateChangesEnd(prev);\n this.isComputing_ = false;\n return res;\n };\n _proto.suspend_ = function suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this);\n this.value_ = undefined; // don't hold on to computed value!\n if (process.env.NODE_ENV !== \"production\" && this.isTracing_ !== TraceMode.NONE) {\n console.log(\"[mobx.trace] Computed value '\" + this.name_ + \"' was suspended and it will recompute on the next access.\");\n }\n }\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function () {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener({\n observableKind: \"computed\",\n debugObjectName: _this.name_,\n type: UPDATE,\n object: _this,\n newValue: newValue,\n oldValue: prevValue\n });\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n _proto.warnAboutUntrackedRead_ = function warnAboutUntrackedRead_() {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (this.isTracing_ !== TraceMode.NONE) {\n console.log(\"[mobx.trace] Computed value '\" + this.name_ + \"' is being read outside a reactive context. Doing a full recompute.\");\n }\n if (typeof this.requiresReaction_ === \"boolean\" ? this.requiresReaction_ : globalState.computedRequiresReaction) {\n console.warn(\"[mobx] Computed value '\" + this.name_ + \"' is being read outside a reactive context. Doing a full recompute.\");\n }\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.derivation.toString() + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[_Symbol$toPrimitive$1] = function () {\n return this.valueOf();\n };\n return ComputedValue;\n}();\nvar isComputedValue = /*#__PURE__*/createInstanceofPredicate(\"ComputedValue\", ComputedValue);\n\nvar IDerivationState_;\n(function (IDerivationState_) {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n IDerivationState_[IDerivationState_[\"NOT_TRACKING_\"] = -1] = \"NOT_TRACKING_\";\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n IDerivationState_[IDerivationState_[\"UP_TO_DATE_\"] = 0] = \"UP_TO_DATE_\";\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n IDerivationState_[IDerivationState_[\"POSSIBLY_STALE_\"] = 1] = \"POSSIBLY_STALE_\";\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n IDerivationState_[IDerivationState_[\"STALE_\"] = 2] = \"STALE_\";\n})(IDerivationState_ || (IDerivationState_ = {}));\nvar TraceMode;\n(function (TraceMode) {\n TraceMode[TraceMode[\"NONE\"] = 0] = \"NONE\";\n TraceMode[TraceMode[\"LOG\"] = 1] = \"LOG\";\n TraceMode[TraceMode[\"BREAK\"] = 2] = \"BREAK\";\n})(TraceMode || (TraceMode = {}));\nvar CaughtException = function CaughtException(cause) {\n this.cause = void 0;\n this.cause = cause;\n // Empty\n};\n\nfunction isCaughtException(e) {\n return e instanceof CaughtException;\n}\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */\nfunction shouldCompute(derivation) {\n switch (derivation.dependenciesState_) {\n case IDerivationState_.UP_TO_DATE_:\n return false;\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true;\n case IDerivationState_.POSSIBLY_STALE_:\n {\n // state propagation can occur outside of action/reactive context #2195\n var prevAllowStateReads = allowStateReadsStart(true);\n var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n var obs = derivation.observing_,\n l = obs.length;\n for (var i = 0; i < l; i++) {\n var obj = obs[i];\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get();\n } else {\n try {\n obj.get();\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if (derivation.dependenciesState_ === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n }\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return false;\n }\n }\n}\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null; // filter out actions inside computations\n}\n\nfunction checkIfStateModificationsAreAllowed(atom) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var hasObservers = atom.observers_.size > 0;\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (!globalState.allowStateChanges && (hasObservers || globalState.enforceActions === \"always\")) {\n console.warn(\"[MobX] \" + (globalState.enforceActions ? \"Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: \" : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: \") + atom.name_);\n }\n}\nfunction checkIfStateReadsAreAllowed(observable) {\n if (process.env.NODE_ENV !== \"production\" && !globalState.allowStateReads && globalState.observableRequiresReaction) {\n console.warn(\"[mobx] Observable '\" + observable.name_ + \"' being read outside a reactive context.\");\n }\n}\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */\nfunction trackDerivedFunction(derivation, f, context) {\n var prevAllowStateReads = allowStateReadsStart(true);\n // pre allocate array allocation + room for variation in deps\n // array will be trimmed by bindDependencies\n changeDependenciesStateTo0(derivation);\n derivation.newObserving_ = new Array(derivation.observing_.length + 100);\n derivation.unboundDepsCount_ = 0;\n derivation.runId_ = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n globalState.inBatch++;\n var result;\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context);\n } else {\n try {\n result = f.call(context);\n } catch (e) {\n result = new CaughtException(e);\n }\n }\n globalState.inBatch--;\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n warnAboutDerivationWithoutDependencies(derivation);\n allowStateReadsEnd(prevAllowStateReads);\n return result;\n}\nfunction warnAboutDerivationWithoutDependencies(derivation) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (derivation.observing_.length !== 0) {\n return;\n }\n if (typeof derivation.requiresObservable_ === \"boolean\" ? derivation.requiresObservable_ : globalState.reactionRequiresObservable) {\n console.warn(\"[mobx] Derivation '\" + derivation.name_ + \"' is created/updated without reading any observable value.\");\n }\n}\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */\nfunction bindDependencies(derivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n var prevObserving = derivation.observing_;\n var observing = derivation.observing_ = derivation.newObserving_;\n var lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_;\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n var i0 = 0,\n l = derivation.unboundDepsCount_;\n for (var i = 0; i < l; i++) {\n var dep = observing[i];\n if (dep.diffValue_ === 0) {\n dep.diffValue_ = 1;\n if (i0 !== i) {\n observing[i0] = dep;\n }\n i0++;\n }\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (dep.dependenciesState_ > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = dep.dependenciesState_;\n }\n }\n observing.length = i0;\n derivation.newObserving_ = null; // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length;\n while (l--) {\n var _dep = prevObserving[l];\n if (_dep.diffValue_ === 0) {\n removeObserver(_dep, derivation);\n }\n _dep.diffValue_ = 0;\n }\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n var _dep2 = observing[i0];\n if (_dep2.diffValue_ === 1) {\n _dep2.diffValue_ = 0;\n addObserver(_dep2, derivation);\n }\n }\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState;\n derivation.onBecomeStale_();\n }\n}\nfunction clearObserving(derivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n var obs = derivation.observing_;\n derivation.observing_ = [];\n var i = obs.length;\n while (i--) {\n removeObserver(obs[i], derivation);\n }\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n try {\n return action();\n } finally {\n untrackedEnd(prev);\n }\n}\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction allowStateReadsStart(allowStateReads) {\n var prev = globalState.allowStateReads;\n globalState.allowStateReads = allowStateReads;\n return prev;\n}\nfunction allowStateReadsEnd(prev) {\n globalState.allowStateReads = prev;\n}\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nfunction changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n return;\n }\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_;\n var obs = derivation.observing_;\n var i = obs.length;\n while (i--) {\n obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n }\n}\n\n/**\n * These values will persist if global state is reset\n */\nvar persistentKeys = [\"mobxGuid\", \"spyListeners\", \"enforceActions\", \"computedRequiresReaction\", \"reactionRequiresObservable\", \"observableRequiresReaction\", \"allowStateReads\", \"disableErrorBoundaries\", \"runId\", \"UNCHANGED\", \"useProxies\"];\nvar MobXGlobals = function MobXGlobals() {\n this.version = 6;\n this.UNCHANGED = {};\n this.trackingDerivation = null;\n this.trackingContext = null;\n this.runId = 0;\n this.mobxGuid = 0;\n this.inBatch = 0;\n this.pendingUnobservations = [];\n this.pendingReactions = [];\n this.isRunningReactions = false;\n this.allowStateChanges = false;\n this.allowStateReads = true;\n this.enforceActions = true;\n this.spyListeners = [];\n this.globalReactionErrorHandlers = [];\n this.computedRequiresReaction = false;\n this.reactionRequiresObservable = false;\n this.observableRequiresReaction = false;\n this.disableErrorBoundaries = false;\n this.suppressReactionErrors = false;\n this.useProxies = true;\n this.verifyProxies = false;\n this.safeDescriptors = true;\n};\nvar canMergeGlobalState = true;\nvar isolateCalled = false;\nvar globalState = /*#__PURE__*/function () {\n var global = /*#__PURE__*/getGlobal();\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals) {\n canMergeGlobalState = false;\n }\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version) {\n canMergeGlobalState = false;\n }\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(function () {\n if (!isolateCalled) {\n die(35);\n }\n }, 1);\n return new MobXGlobals();\n } else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1;\n if (!global.__mobxGlobals.UNCHANGED) {\n global.__mobxGlobals.UNCHANGED = {};\n } // make merge backward compatible\n return global.__mobxGlobals;\n } else {\n global.__mobxInstanceCount = 1;\n return global.__mobxGlobals = /*#__PURE__*/new MobXGlobals();\n }\n}();\nfunction isolateGlobalState() {\n if (globalState.pendingReactions.length || globalState.inBatch || globalState.isRunningReactions) {\n die(36);\n }\n isolateCalled = true;\n if (canMergeGlobalState) {\n var global = getGlobal();\n if (--global.__mobxInstanceCount === 0) {\n global.__mobxGlobals = undefined;\n }\n globalState = new MobXGlobals();\n }\n}\nfunction getGlobalState() {\n return globalState;\n}\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */\nfunction resetGlobalState() {\n var defaultGlobals = new MobXGlobals();\n for (var key in defaultGlobals) {\n if (persistentKeys.indexOf(key) === -1) {\n globalState[key] = defaultGlobals[key];\n }\n }\n globalState.allowStateChanges = !globalState.enforceActions;\n}\n\nfunction hasObservers(observable) {\n return observable.observers_ && observable.observers_.size > 0;\n}\nfunction getObservers(observable) {\n return observable.observers_;\n}\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nfunction addObserver(observable, node) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n observable.observers_.add(node);\n if (observable.lowestObserverState_ > node.dependenciesState_) {\n observable.lowestObserverState_ = node.dependenciesState_;\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\n\nfunction removeObserver(observable, node) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_[\"delete\"](node);\n if (observable.observers_.size === 0) {\n // deleting last observer\n queueForUnobservation(observable);\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\n\nfunction queueForUnobservation(observable) {\n if (observable.isPendingUnobservation_ === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation_ = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */\nfunction startBatch() {\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions();\n // the batch is actually about to finish, all unobserving should happen here.\n var list = globalState.pendingUnobservations;\n for (var i = 0; i < list.length; i++) {\n var observable = list[i];\n observable.isPendingUnobservation_ = false;\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved_) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved_ = false;\n observable.onBUO();\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_();\n }\n }\n }\n globalState.pendingUnobservations = [];\n }\n}\nfunction reportObserved(observable) {\n checkIfStateReadsAreAllowed(observable);\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */\n if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_;\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_[derivation.unboundDepsCount_++] = observable;\n if (!observable.isBeingObserved_ && globalState.trackingContext) {\n observable.isBeingObserved_ = true;\n observable.onBO();\n }\n }\n return observable.isBeingObserved_;\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable);\n }\n return false;\n}\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */\n// Called by Atom when its value changes\nfunction propagateChanged(observable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n if (process.env.NODE_ENV !== \"production\" && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n d.onBecomeStale_();\n }\n d.dependenciesState_ = IDerivationState_.STALE_;\n });\n // invariantLOS(observable, \"changed end\");\n}\n// Called by ComputedValue when it recalculate and its value changed\nfunction propagateChangeConfirmed(observable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) {\n d.dependenciesState_ = IDerivationState_.STALE_;\n if (process.env.NODE_ENV !== \"production\" && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n } else if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n ) {\n observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n }\n });\n // invariantLOS(observable, \"confirmed end\");\n}\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nfunction propagateMaybeChanged(observable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_;\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_;\n d.onBecomeStale_();\n }\n });\n // invariantLOS(observable, \"maybe end\");\n}\n\nfunction logTraceInfo(derivation, observable) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' is invalidated due to a change in: '\" + observable.name_ + \"'\");\n if (derivation.isTracing_ === TraceMode.BREAK) {\n var lines = [];\n printDepTree(getDependencyTree(derivation), lines, 1);\n // prettier-ignore\n new Function(\"debugger;\\n/*\\nTracing '\" + derivation.name_ + \"'\\n\\nYou are entering this break point because derivation '\" + derivation.name_ + \"' is being traced and '\" + observable.name_ + \"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\" + (derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\") + \"\\n\\nThe dependencies for this derivation are:\\n\\n\" + lines.join(\"\\n\") + \"\\n*/\\n \")();\n }\n}\nfunction printDepTree(tree, lines, depth) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\");\n return;\n }\n lines.push(\"\" + \"\\t\".repeat(depth - 1) + tree.name);\n if (tree.dependencies) {\n tree.dependencies.forEach(function (child) {\n return printDepTree(child, lines, depth + 1);\n });\n }\n}\n\nvar Reaction = /*#__PURE__*/function () {\n // nodes we are looking at. Our value depends on these nodes\n\n function Reaction(name_, onInvalidate_, errorHandler_, requiresObservable_) {\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"Reaction@\" + getNextId() : \"Reaction\";\n }\n this.name_ = void 0;\n this.onInvalidate_ = void 0;\n this.errorHandler_ = void 0;\n this.requiresObservable_ = void 0;\n this.observing_ = [];\n this.newObserving_ = [];\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.diffValue_ = 0;\n this.runId_ = 0;\n this.unboundDepsCount_ = 0;\n this.isDisposed_ = false;\n this.isScheduled_ = false;\n this.isTrackPending_ = false;\n this.isRunning_ = false;\n this.isTracing_ = TraceMode.NONE;\n this.name_ = name_;\n this.onInvalidate_ = onInvalidate_;\n this.errorHandler_ = errorHandler_;\n this.requiresObservable_ = requiresObservable_;\n }\n var _proto = Reaction.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n this.schedule_();\n };\n _proto.schedule_ = function schedule_() {\n if (!this.isScheduled_) {\n this.isScheduled_ = true;\n globalState.pendingReactions.push(this);\n runReactions();\n }\n };\n _proto.isScheduled = function isScheduled() {\n return this.isScheduled_;\n }\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */;\n _proto.runReaction_ = function runReaction_() {\n if (!this.isDisposed_) {\n startBatch();\n this.isScheduled_ = false;\n var prev = globalState.trackingContext;\n globalState.trackingContext = this;\n if (shouldCompute(this)) {\n this.isTrackPending_ = true;\n try {\n this.onInvalidate_();\n if (process.env.NODE_ENV !== \"production\" && this.isTrackPending_ && isSpyEnabled()) {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name_,\n type: \"scheduled-reaction\"\n });\n }\n } catch (e) {\n this.reportExceptionInDerivation_(e);\n }\n }\n globalState.trackingContext = prev;\n endBatch();\n }\n };\n _proto.track = function track(fn) {\n if (this.isDisposed_) {\n return;\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n if (process.env.NODE_ENV !== \"production\" && notify) {\n startTime = Date.now();\n spyReportStart({\n name: this.name_,\n type: \"reaction\"\n });\n }\n this.isRunning_ = true;\n var prevReaction = globalState.trackingContext; // reactions could create reactions...\n globalState.trackingContext = this;\n var result = trackDerivedFunction(this, fn, undefined);\n globalState.trackingContext = prevReaction;\n this.isRunning_ = false;\n this.isTrackPending_ = false;\n if (this.isDisposed_) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this);\n }\n if (isCaughtException(result)) {\n this.reportExceptionInDerivation_(result.cause);\n }\n if (process.env.NODE_ENV !== \"production\" && notify) {\n spyReportEnd({\n time: Date.now() - startTime\n });\n }\n endBatch();\n };\n _proto.reportExceptionInDerivation_ = function reportExceptionInDerivation_(error) {\n var _this = this;\n if (this.errorHandler_) {\n this.errorHandler_(error, this);\n return;\n }\n if (globalState.disableErrorBoundaries) {\n throw error;\n }\n var message = process.env.NODE_ENV !== \"production\" ? \"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\" + this + \"'\" : \"[mobx] uncaught error in '\" + this + \"'\";\n if (!globalState.suppressReactionErrors) {\n console.error(message, error);\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[mobx] (error in reaction '\" + this.name_ + \"' suppressed, fix error of causing action below)\");\n } // prettier-ignore\n if (process.env.NODE_ENV !== \"production\" && isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name_,\n message: message,\n error: \"\" + error\n });\n }\n globalState.globalReactionErrorHandlers.forEach(function (f) {\n return f(error, _this);\n });\n };\n _proto.dispose = function dispose() {\n if (!this.isDisposed_) {\n this.isDisposed_ = true;\n if (!this.isRunning_) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n _proto.getDisposer_ = function getDisposer_(abortSignal) {\n var _this2 = this;\n var dispose = function dispose() {\n _this2.dispose();\n abortSignal == null ? void 0 : abortSignal.removeEventListener == null ? void 0 : abortSignal.removeEventListener(\"abort\", dispose);\n };\n abortSignal == null ? void 0 : abortSignal.addEventListener == null ? void 0 : abortSignal.addEventListener(\"abort\", dispose);\n dispose[$mobx] = this;\n return dispose;\n };\n _proto.toString = function toString() {\n return \"Reaction[\" + this.name_ + \"]\";\n };\n _proto.trace = function trace$1(enterBreakPoint) {\n if (enterBreakPoint === void 0) {\n enterBreakPoint = false;\n }\n trace(this, enterBreakPoint);\n };\n return Reaction;\n}();\nfunction onReactionError(handler) {\n globalState.globalReactionErrorHandlers.push(handler);\n return function () {\n var idx = globalState.globalReactionErrorHandlers.indexOf(handler);\n if (idx >= 0) {\n globalState.globalReactionErrorHandlers.splice(idx, 1);\n }\n };\n}\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */\nvar MAX_REACTION_ITERATIONS = 100;\nvar reactionScheduler = function reactionScheduler(f) {\n return f();\n};\nfunction runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) {\n return;\n }\n reactionScheduler(runReactionsHelper);\n}\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(process.env.NODE_ENV !== \"production\" ? \"Reaction doesn't converge to a stable state after \" + MAX_REACTION_ITERATIONS + \" iterations.\" + (\" Probably there is a cycle in the reactive function: \" + allReactions[0]) : \"[mobx] cycle in reaction: \" + allReactions[0]);\n allReactions.splice(0); // clear reactions\n }\n\n var remainingReactions = allReactions.splice(0);\n for (var i = 0, l = remainingReactions.length; i < l; i++) {\n remainingReactions[i].runReaction_();\n }\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = /*#__PURE__*/createInstanceofPredicate(\"Reaction\", Reaction);\nfunction setReactionScheduler(fn) {\n var baseScheduler = reactionScheduler;\n reactionScheduler = function reactionScheduler(f) {\n return fn(function () {\n return baseScheduler(f);\n });\n };\n}\n\nfunction isSpyEnabled() {\n return process.env.NODE_ENV !== \"production\" && !!globalState.spyListeners.length;\n}\nfunction spyReport(event) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n } // dead code elimination can do the rest\n if (!globalState.spyListeners.length) {\n return;\n }\n var listeners = globalState.spyListeners;\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](event);\n }\n}\nfunction spyReportStart(event) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var change = _extends({}, event, {\n spyReportStart: true\n });\n spyReport(change);\n}\nvar END_EVENT = {\n type: \"report-end\",\n spyReportEnd: true\n};\nfunction spyReportEnd(change) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (change) {\n spyReport(_extends({}, change, {\n type: \"report-end\",\n spyReportEnd: true\n }));\n } else {\n spyReport(END_EVENT);\n }\n}\nfunction spy(listener) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\"[mobx.spy] Is a no-op in production builds\");\n return function () {};\n } else {\n globalState.spyListeners.push(listener);\n return once(function () {\n globalState.spyListeners = globalState.spyListeners.filter(function (l) {\n return l !== listener;\n });\n });\n }\n}\n\nvar ACTION = \"action\";\nvar ACTION_BOUND = \"action.bound\";\nvar AUTOACTION = \"autoAction\";\nvar AUTOACTION_BOUND = \"autoAction.bound\";\nvar DEFAULT_ACTION_NAME = \"\";\nvar actionAnnotation = /*#__PURE__*/createActionAnnotation(ACTION);\nvar actionBoundAnnotation = /*#__PURE__*/createActionAnnotation(ACTION_BOUND, {\n bound: true\n});\nvar autoActionAnnotation = /*#__PURE__*/createActionAnnotation(AUTOACTION, {\n autoAction: true\n});\nvar autoActionBoundAnnotation = /*#__PURE__*/createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n});\nfunction createActionFactory(autoAction) {\n var res = function action(arg1, arg2) {\n // action(fn() {})\n if (isFunction(arg1)) {\n return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction);\n }\n // action(\"name\", fn() {})\n if (isFunction(arg2)) {\n return createAction(arg1, arg2, autoAction);\n }\n // @action (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return (autoAction ? autoActionAnnotation : actionAnnotation).decorate_20223_(arg1, arg2);\n }\n // @action\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation);\n }\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) {\n return createDecoratorAnnotation(createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction: autoAction\n }));\n }\n if (process.env.NODE_ENV !== \"production\") {\n die(\"Invalid arguments for `action`\");\n }\n };\n return res;\n}\nvar action = /*#__PURE__*/createActionFactory(false);\nObject.assign(action, actionAnnotation);\nvar autoAction = /*#__PURE__*/createActionFactory(true);\nObject.assign(autoAction, autoActionAnnotation);\naction.bound = /*#__PURE__*/createDecoratorAnnotation(actionBoundAnnotation);\nautoAction.bound = /*#__PURE__*/createDecoratorAnnotation(autoActionBoundAnnotation);\nfunction runInAction(fn) {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined);\n}\nfunction isAction(thing) {\n return isFunction(thing) && thing.isMobxAction === true;\n}\n\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */\nfunction autorun(view, opts) {\n var _opts$name, _opts, _opts2, _opts2$signal, _opts3;\n if (opts === void 0) {\n opts = EMPTY_OBJECT;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(view)) {\n die(\"Autorun expects a function as first argument\");\n }\n if (isAction(view)) {\n die(\"Autorun does not accept actions since actions are untrackable\");\n }\n }\n var name = (_opts$name = (_opts = opts) == null ? void 0 : _opts.name) != null ? _opts$name : process.env.NODE_ENV !== \"production\" ? view.name || \"Autorun@\" + getNextId() : \"Autorun\";\n var runSync = !opts.scheduler && !opts.delay;\n var reaction;\n if (runSync) {\n // normal autorun\n reaction = new Reaction(name, function () {\n this.track(reactionRunner);\n }, opts.onError, opts.requiresObservable);\n } else {\n var scheduler = createSchedulerFromOptions(opts);\n // debounced autorun\n var isScheduled = false;\n reaction = new Reaction(name, function () {\n if (!isScheduled) {\n isScheduled = true;\n scheduler(function () {\n isScheduled = false;\n if (!reaction.isDisposed_) {\n reaction.track(reactionRunner);\n }\n });\n }\n }, opts.onError, opts.requiresObservable);\n }\n function reactionRunner() {\n view(reaction);\n }\n if (!((_opts2 = opts) != null && (_opts2$signal = _opts2.signal) != null && _opts2$signal.aborted)) {\n reaction.schedule_();\n }\n return reaction.getDisposer_((_opts3 = opts) == null ? void 0 : _opts3.signal);\n}\nvar run = function run(f) {\n return f();\n};\nfunction createSchedulerFromOptions(opts) {\n return opts.scheduler ? opts.scheduler : opts.delay ? function (f) {\n return setTimeout(f, opts.delay);\n } : run;\n}\nfunction reaction(expression, effect, opts) {\n var _opts$name2, _opts4, _opts4$signal, _opts5;\n if (opts === void 0) {\n opts = EMPTY_OBJECT;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(expression) || !isFunction(effect)) {\n die(\"First and second argument to reaction should be functions\");\n }\n if (!isPlainObject(opts)) {\n die(\"Third argument of reactions should be an object\");\n }\n }\n var name = (_opts$name2 = opts.name) != null ? _opts$name2 : process.env.NODE_ENV !== \"production\" ? \"Reaction@\" + getNextId() : \"Reaction\";\n var effectAction = action(name, opts.onError ? wrapErrorHandler(opts.onError, effect) : effect);\n var runSync = !opts.scheduler && !opts.delay;\n var scheduler = createSchedulerFromOptions(opts);\n var firstTime = true;\n var isScheduled = false;\n var value;\n var oldValue;\n var equals = opts.compareStructural ? comparer.structural : opts.equals || comparer[\"default\"];\n var r = new Reaction(name, function () {\n if (firstTime || runSync) {\n reactionRunner();\n } else if (!isScheduled) {\n isScheduled = true;\n scheduler(reactionRunner);\n }\n }, opts.onError, opts.requiresObservable);\n function reactionRunner() {\n isScheduled = false;\n if (r.isDisposed_) {\n return;\n }\n var changed = false;\n r.track(function () {\n var nextValue = allowStateChanges(false, function () {\n return expression(r);\n });\n changed = firstTime || !equals(value, nextValue);\n oldValue = value;\n value = nextValue;\n });\n if (firstTime && opts.fireImmediately) {\n effectAction(value, oldValue, r);\n } else if (!firstTime && changed) {\n effectAction(value, oldValue, r);\n }\n firstTime = false;\n }\n if (!((_opts4 = opts) != null && (_opts4$signal = _opts4.signal) != null && _opts4$signal.aborted)) {\n r.schedule_();\n }\n return r.getDisposer_((_opts5 = opts) == null ? void 0 : _opts5.signal);\n}\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments);\n } catch (e) {\n errorHandler.call(this, e);\n }\n };\n}\n\nvar ON_BECOME_OBSERVED = \"onBO\";\nvar ON_BECOME_UNOBSERVED = \"onBUO\";\nfunction onBecomeObserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3);\n}\nfunction onBecomeUnobserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3);\n}\nfunction interceptHook(hook, thing, arg2, arg3) {\n var atom = typeof arg3 === \"function\" ? getAtom(thing, arg2) : getAtom(thing);\n var cb = isFunction(arg3) ? arg3 : arg2;\n var listenersKey = hook + \"L\";\n if (atom[listenersKey]) {\n atom[listenersKey].add(cb);\n } else {\n atom[listenersKey] = new Set([cb]);\n }\n return function () {\n var hookListeners = atom[listenersKey];\n if (hookListeners) {\n hookListeners[\"delete\"](cb);\n if (hookListeners.size === 0) {\n delete atom[listenersKey];\n }\n }\n };\n}\n\nvar NEVER = \"never\";\nvar ALWAYS = \"always\";\nvar OBSERVED = \"observed\";\n// const IF_AVAILABLE = \"ifavailable\"\nfunction configure(options) {\n if (options.isolateGlobalState === true) {\n isolateGlobalState();\n }\n var useProxies = options.useProxies,\n enforceActions = options.enforceActions;\n if (useProxies !== undefined) {\n globalState.useProxies = useProxies === ALWAYS ? true : useProxies === NEVER ? false : typeof Proxy !== \"undefined\";\n }\n if (useProxies === \"ifavailable\") {\n globalState.verifyProxies = true;\n }\n if (enforceActions !== undefined) {\n var ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED;\n globalState.enforceActions = ea;\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true;\n }\n [\"computedRequiresReaction\", \"reactionRequiresObservable\", \"observableRequiresReaction\", \"disableErrorBoundaries\", \"safeDescriptors\"].forEach(function (key) {\n if (key in options) {\n globalState[key] = !!options[key];\n }\n });\n globalState.allowStateReads = !globalState.observableRequiresReaction;\n if (process.env.NODE_ENV !== \"production\" && globalState.disableErrorBoundaries === true) {\n console.warn(\"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\");\n }\n if (options.reactionScheduler) {\n setReactionScheduler(options.reactionScheduler);\n }\n}\n\nfunction extendObservable(target, properties, annotations, options) {\n if (process.env.NODE_ENV !== \"production\") {\n if (arguments.length > 4) {\n die(\"'extendObservable' expected 2-4 arguments\");\n }\n if (typeof target !== \"object\") {\n die(\"'extendObservable' expects an object as first argument\");\n }\n if (isObservableMap(target)) {\n die(\"'extendObservable' should not be used on maps, use map.merge instead\");\n }\n if (!isPlainObject(properties)) {\n die(\"'extendObservable' only accepts plain objects as second argument\");\n }\n if (isObservable(properties) || isObservable(annotations)) {\n die(\"Extending an object with another observable (object) is not supported\");\n }\n }\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n var descriptors = getOwnPropertyDescriptors(properties);\n initObservable(function () {\n var adm = asObservableObject(target, options)[$mobx];\n ownKeys(descriptors).forEach(function (key) {\n adm.extend_(key, descriptors[key],\n // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true);\n });\n });\n return target;\n}\n\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name_\n };\n if (node.observing_ && node.observing_.length > 0) {\n result.dependencies = unique(node.observing_).map(nodeToDependencyTree);\n }\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name_\n };\n if (hasObservers(node)) {\n result.observers = Array.from(getObservers(node)).map(nodeToObserverTree);\n }\n return result;\n}\nfunction unique(list) {\n return Array.from(new Set(list));\n}\n\nvar generatorId = 0;\nfunction FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\";\n}\nFlowCancellationError.prototype = /*#__PURE__*/Object.create(Error.prototype);\nfunction isFlowCancellationError(error) {\n return error instanceof FlowCancellationError;\n}\nvar flowAnnotation = /*#__PURE__*/createFlowAnnotation(\"flow\");\nvar flowBoundAnnotation = /*#__PURE__*/createFlowAnnotation(\"flow.bound\", {\n bound: true\n});\nvar flow = /*#__PURE__*/Object.assign(function flow(arg1, arg2) {\n // @flow (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return flowAnnotation.decorate_20223_(arg1, arg2);\n }\n // @flow\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, flowAnnotation);\n }\n // flow(fn)\n if (process.env.NODE_ENV !== \"production\" && arguments.length !== 1) {\n die(\"Flow expects single argument with generator function\");\n }\n var generator = arg1;\n var name = generator.name || \"\";\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n var res = function res() {\n var ctx = this;\n var args = arguments;\n var runId = ++generatorId;\n var gen = action(name + \" - runid: \" + runId + \" - init\", generator).apply(ctx, args);\n var rejector;\n var pendingPromise = undefined;\n var promise = new Promise(function (resolve, reject) {\n var stepId = 0;\n rejector = reject;\n function onFulfilled(res) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.next).call(gen, res);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function onRejected(err) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen[\"throw\"]).call(gen, err);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function next(ret) {\n if (isFunction(ret == null ? void 0 : ret.then)) {\n // an async iterator\n ret.then(next, reject);\n return;\n }\n if (ret.done) {\n return resolve(ret.value);\n }\n pendingPromise = Promise.resolve(ret.value);\n return pendingPromise.then(onFulfilled, onRejected);\n }\n onFulfilled(undefined); // kick off the process\n });\n\n promise.cancel = action(name + \" - runid: \" + runId + \" - cancel\", function () {\n try {\n if (pendingPromise) {\n cancelPromise(pendingPromise);\n }\n // Finally block can return (or yield) stuff..\n var _res = gen[\"return\"](undefined);\n // eat anything that promise would do, it's cancelled!\n var yieldedPromise = Promise.resolve(_res.value);\n yieldedPromise.then(noop, noop);\n cancelPromise(yieldedPromise); // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError());\n } catch (e) {\n rejector(e); // there could be a throwing finally block\n }\n });\n\n return promise;\n };\n res.isMobXFlow = true;\n return res;\n}, flowAnnotation);\nflow.bound = /*#__PURE__*/createDecoratorAnnotation(flowBoundAnnotation);\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) {\n promise.cancel();\n }\n}\nfunction flowResult(result) {\n return result; // just tricking TypeScript :)\n}\n\nfunction isFlow(fn) {\n return (fn == null ? void 0 : fn.isMobXFlow) === true;\n}\n\nfunction interceptReads(thing, propOrHandler, handler) {\n var target;\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing);\n } else if (isObservableObject(thing)) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propOrHandler)) {\n return die(\"InterceptReads can only be used with a specific property, not with an object in general\");\n }\n target = getAdministration(thing, propOrHandler);\n } else if (process.env.NODE_ENV !== \"production\") {\n return die(\"Expected observable map, object or array as first array\");\n }\n if (process.env.NODE_ENV !== \"production\" && target.dehancer !== undefined) {\n return die(\"An intercept reader was already established\");\n }\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler;\n return function () {\n target.dehancer = undefined;\n };\n}\n\nfunction intercept(thing, propOrHandler, handler) {\n if (isFunction(handler)) {\n return interceptProperty(thing, propOrHandler, handler);\n } else {\n return interceptInterceptable(thing, propOrHandler);\n }\n}\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler);\n}\n\nfunction _isComputed(value, property) {\n if (property === undefined) {\n return isComputedValue(value);\n }\n if (isObservableObject(value) === false) {\n return false;\n }\n if (!value[$mobx].values_.has(property)) {\n return false;\n }\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n}\nfunction isComputed(value) {\n if (process.env.NODE_ENV !== \"production\" && arguments.length > 1) {\n return die(\"isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property\");\n }\n return _isComputed(value);\n}\nfunction isComputedProp(value, propName) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propName)) {\n return die(\"isComputed expected a property name as second argument\");\n }\n return _isComputed(value, propName);\n}\n\nfunction _isObservable(value, property) {\n if (!value) {\n return false;\n }\n if (property !== undefined) {\n if (process.env.NODE_ENV !== \"production\" && (isObservableMap(value) || isObservableArray(value))) {\n return die(\"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\");\n }\n if (isObservableObject(value)) {\n return value[$mobx].values_.has(property);\n }\n return false;\n }\n // For first check, see #701\n return isObservableObject(value) || !!value[$mobx] || isAtom(value) || isReaction(value) || isComputedValue(value);\n}\nfunction isObservable(value) {\n if (process.env.NODE_ENV !== \"production\" && arguments.length !== 1) {\n die(\"isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property\");\n }\n return _isObservable(value);\n}\nfunction isObservableProp(value, propName) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propName)) {\n return die(\"expected a property name as second argument\");\n }\n return _isObservable(value, propName);\n}\n\nfunction keys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].keys_();\n }\n if (isObservableMap(obj) || isObservableSet(obj)) {\n return Array.from(obj.keys());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (_, index) {\n return index;\n });\n }\n die(5);\n}\nfunction values(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) {\n return obj[key];\n });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) {\n return obj.get(key);\n });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values());\n }\n if (isObservableArray(obj)) {\n return obj.slice();\n }\n die(6);\n}\nfunction entries(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) {\n return [key, obj[key]];\n });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) {\n return [key, obj.get(key)];\n });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (key, index) {\n return [index, key];\n });\n }\n die(7);\n}\nfunction set(obj, key, value) {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch();\n var _values = key;\n try {\n for (var _key in _values) {\n set(obj, _key, _values[_key]);\n }\n } finally {\n endBatch();\n }\n return;\n }\n if (isObservableObject(obj)) {\n obj[$mobx].set_(key, value);\n } else if (isObservableMap(obj)) {\n obj.set(key, value);\n } else if (isObservableSet(obj)) {\n obj.add(key);\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10);\n }\n if (key < 0) {\n die(\"Invalid index: '\" + key + \"'\");\n }\n startBatch();\n if (key >= obj.length) {\n obj.length = key + 1;\n }\n obj[key] = value;\n endBatch();\n } else {\n die(8);\n }\n}\nfunction remove(obj, key) {\n if (isObservableObject(obj)) {\n obj[$mobx].delete_(key);\n } else if (isObservableMap(obj)) {\n obj[\"delete\"](key);\n } else if (isObservableSet(obj)) {\n obj[\"delete\"](key);\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10);\n }\n obj.splice(key, 1);\n } else {\n die(9);\n }\n}\nfunction has(obj, key) {\n if (isObservableObject(obj)) {\n return obj[$mobx].has_(key);\n } else if (isObservableMap(obj)) {\n return obj.has(key);\n } else if (isObservableSet(obj)) {\n return obj.has(key);\n } else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length;\n }\n die(10);\n}\nfunction get(obj, key) {\n if (!has(obj, key)) {\n return undefined;\n }\n if (isObservableObject(obj)) {\n return obj[$mobx].get_(key);\n } else if (isObservableMap(obj)) {\n return obj.get(key);\n } else if (isObservableArray(obj)) {\n return obj[key];\n }\n die(11);\n}\nfunction apiDefineProperty(obj, key, descriptor) {\n if (isObservableObject(obj)) {\n return obj[$mobx].defineProperty_(key, descriptor);\n }\n die(39);\n}\nfunction apiOwnKeys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].ownKeys_();\n }\n die(38);\n}\n\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (isFunction(cbOrFire)) {\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n } else {\n return observeObservable(thing, propOrCb, cbOrFire);\n }\n}\nfunction observeObservable(thing, listener, fireImmediately) {\n return getAdministration(thing).observe_(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n return getAdministration(thing, property).observe_(listener, fireImmediately);\n}\n\nfunction cache(map, key, value) {\n map.set(key, value);\n return value;\n}\nfunction toJSHelper(source, __alreadySeen) {\n if (source == null || typeof source !== \"object\" || source instanceof Date || !isObservable(source)) {\n return source;\n }\n if (isObservableValue(source) || isComputedValue(source)) {\n return toJSHelper(source.get(), __alreadySeen);\n }\n if (__alreadySeen.has(source)) {\n return __alreadySeen.get(source);\n }\n if (isObservableArray(source)) {\n var res = cache(__alreadySeen, source, new Array(source.length));\n source.forEach(function (value, idx) {\n res[idx] = toJSHelper(value, __alreadySeen);\n });\n return res;\n }\n if (isObservableSet(source)) {\n var _res = cache(__alreadySeen, source, new Set());\n source.forEach(function (value) {\n _res.add(toJSHelper(value, __alreadySeen));\n });\n return _res;\n }\n if (isObservableMap(source)) {\n var _res2 = cache(__alreadySeen, source, new Map());\n source.forEach(function (value, key) {\n _res2.set(key, toJSHelper(value, __alreadySeen));\n });\n return _res2;\n } else {\n // must be observable object\n var _res3 = cache(__alreadySeen, source, {});\n apiOwnKeys(source).forEach(function (key) {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) {\n _res3[key] = toJSHelper(source[key], __alreadySeen);\n }\n });\n return _res3;\n }\n}\n/**\n * Recursively converts an observable to it's non-observable native counterpart.\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\n * Computed and other non-enumerable properties are completely ignored.\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\n */\nfunction toJS(source, options) {\n if (process.env.NODE_ENV !== \"production\" && options) {\n die(\"toJS no longer supports options\");\n }\n return toJSHelper(source, new Map());\n}\n\nfunction trace() {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var enterBreakPoint = false;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[args.length - 1] === \"boolean\") {\n enterBreakPoint = args.pop();\n }\n var derivation = getAtomFromArgs(args);\n if (!derivation) {\n return die(\"'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly\");\n }\n if (derivation.isTracing_ === TraceMode.NONE) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' tracing enabled\");\n }\n derivation.isTracing_ = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG;\n}\nfunction getAtomFromArgs(args) {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation;\n case 1:\n return getAtom(args[0]);\n case 2:\n return getAtom(args[0], args[1]);\n }\n}\n\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */\nfunction transaction(action, thisArg) {\n if (thisArg === void 0) {\n thisArg = undefined;\n }\n startBatch();\n try {\n return action.apply(thisArg);\n } finally {\n endBatch();\n }\n}\n\nfunction when(predicate, arg1, arg2) {\n if (arguments.length === 1 || arg1 && typeof arg1 === \"object\") {\n return whenPromise(predicate, arg1);\n }\n return _when(predicate, arg1, arg2 || {});\n}\nfunction _when(predicate, effect, opts) {\n var timeoutHandle;\n if (typeof opts.timeout === \"number\") {\n var error = new Error(\"WHEN_TIMEOUT\");\n timeoutHandle = setTimeout(function () {\n if (!disposer[$mobx].isDisposed_) {\n disposer();\n if (opts.onError) {\n opts.onError(error);\n } else {\n throw error;\n }\n }\n }, opts.timeout);\n }\n opts.name = process.env.NODE_ENV !== \"production\" ? opts.name || \"When@\" + getNextId() : \"When\";\n var effectAction = createAction(process.env.NODE_ENV !== \"production\" ? opts.name + \"-effect\" : \"When-effect\", effect);\n // eslint-disable-next-line\n var disposer = autorun(function (r) {\n // predicate should not change state\n var cond = allowStateChanges(false, predicate);\n if (cond) {\n r.dispose();\n if (timeoutHandle) {\n clearTimeout(timeoutHandle);\n }\n effectAction();\n }\n }, opts);\n return disposer;\n}\nfunction whenPromise(predicate, opts) {\n var _opts$signal;\n if (process.env.NODE_ENV !== \"production\" && opts && opts.onError) {\n return die(\"the options 'onError' and 'promise' cannot be combined\");\n }\n if (opts != null && (_opts$signal = opts.signal) != null && _opts$signal.aborted) {\n return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), {\n cancel: function cancel() {\n return null;\n }\n });\n }\n var cancel;\n var abort;\n var res = new Promise(function (resolve, reject) {\n var _opts$signal2;\n var disposer = _when(predicate, resolve, _extends({}, opts, {\n onError: reject\n }));\n cancel = function cancel() {\n disposer();\n reject(new Error(\"WHEN_CANCELLED\"));\n };\n abort = function abort() {\n disposer();\n reject(new Error(\"WHEN_ABORTED\"));\n };\n opts == null ? void 0 : (_opts$signal2 = opts.signal) == null ? void 0 : _opts$signal2.addEventListener == null ? void 0 : _opts$signal2.addEventListener(\"abort\", abort);\n })[\"finally\"](function () {\n var _opts$signal3;\n return opts == null ? void 0 : (_opts$signal3 = opts.signal) == null ? void 0 : _opts$signal3.removeEventListener == null ? void 0 : _opts$signal3.removeEventListener(\"abort\", abort);\n });\n res.cancel = cancel;\n return res;\n}\n\nfunction getAdm(target) {\n return target[$mobx];\n}\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nvar objectProxyTraps = {\n has: function has(target, name) {\n if (process.env.NODE_ENV !== \"production\" && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\"detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.\");\n }\n return getAdm(target).has_(name);\n },\n get: function get(target, name) {\n return getAdm(target).get_(name);\n },\n set: function set(target, name, value) {\n var _getAdm$set_;\n if (!isStringish(name)) {\n return false;\n }\n if (process.env.NODE_ENV !== \"production\" && !getAdm(target).values_.has(name)) {\n warnAboutProxyRequirement(\"add a new observable property through direct assignment. Use 'set' from 'mobx' instead.\");\n }\n // null (intercepted) -> true (success)\n return (_getAdm$set_ = getAdm(target).set_(name, value, true)) != null ? _getAdm$set_ : true;\n },\n deleteProperty: function deleteProperty(target, name) {\n var _getAdm$delete_;\n if (process.env.NODE_ENV !== \"production\") {\n warnAboutProxyRequirement(\"delete properties from an observable object. Use 'remove' from 'mobx' instead.\");\n }\n if (!isStringish(name)) {\n return false;\n }\n // null (intercepted) -> true (success)\n return (_getAdm$delete_ = getAdm(target).delete_(name, true)) != null ? _getAdm$delete_ : true;\n },\n defineProperty: function defineProperty(target, name, descriptor) {\n var _getAdm$definePropert;\n if (process.env.NODE_ENV !== \"production\") {\n warnAboutProxyRequirement(\"define property on an observable object. Use 'defineProperty' from 'mobx' instead.\");\n }\n // null (intercepted) -> true (success)\n return (_getAdm$definePropert = getAdm(target).defineProperty_(name, descriptor)) != null ? _getAdm$definePropert : true;\n },\n ownKeys: function ownKeys(target) {\n if (process.env.NODE_ENV !== \"production\" && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\"iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.\");\n }\n return getAdm(target).ownKeys_();\n },\n preventExtensions: function preventExtensions(target) {\n die(13);\n }\n};\nfunction asDynamicObservableObject(target, options) {\n var _target$$mobx, _target$$mobx$proxy_;\n assertProxies();\n target = asObservableObject(target, options);\n return (_target$$mobx$proxy_ = (_target$$mobx = target[$mobx]).proxy_) != null ? _target$$mobx$proxy_ : _target$$mobx.proxy_ = new Proxy(target, objectProxyTraps);\n}\n\nfunction hasInterceptors(interceptable) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0;\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = []);\n interceptors.push(handler);\n return once(function () {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1) {\n interceptors.splice(idx, 1);\n }\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n var interceptors = [].concat(interceptable.interceptors_ || []);\n for (var i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change);\n if (change && !change.type) {\n die(14);\n }\n if (!change) {\n break;\n }\n }\n return change;\n } finally {\n untrackedEnd(prevU);\n }\n}\n\nfunction hasListeners(listenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners_ || (listenable.changeListeners_ = []);\n listeners.push(handler);\n return once(function () {\n var idx = listeners.indexOf(handler);\n if (idx !== -1) {\n listeners.splice(idx, 1);\n }\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners_;\n if (!listeners) {\n return;\n }\n listeners = listeners.slice();\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change);\n }\n untrackedEnd(prevU);\n}\n\nfunction makeObservable(target, annotations, options) {\n initObservable(function () {\n var _annotations;\n var adm = asObservableObject(target, options)[$mobx];\n if (process.env.NODE_ENV !== \"production\" && annotations && target[storedAnnotationsSymbol]) {\n die(\"makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.\");\n }\n // Default to decorators\n (_annotations = annotations) != null ? _annotations : annotations = collectStoredAnnotations(target);\n // Annotate\n ownKeys(annotations).forEach(function (key) {\n return adm.make_(key, annotations[key]);\n });\n });\n return target;\n}\n// proto[keysSymbol] = new Set()\nvar keysSymbol = /*#__PURE__*/Symbol(\"mobx-keys\");\nfunction makeAutoObservable(target, overrides, options) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isPlainObject(target) && !isPlainObject(Object.getPrototypeOf(target))) {\n die(\"'makeAutoObservable' can only be used for classes that don't have a superclass\");\n }\n if (isObservableObject(target)) {\n die(\"makeAutoObservable can only be used on objects not already made observable\");\n }\n }\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) {\n return extendObservable(target, target, overrides, options);\n }\n initObservable(function () {\n var adm = asObservableObject(target, options)[$mobx];\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n var proto = Object.getPrototypeOf(target);\n var keys = new Set([].concat(ownKeys(target), ownKeys(proto)));\n keys[\"delete\"](\"constructor\");\n keys[\"delete\"]($mobx);\n addHiddenProp(proto, keysSymbol, keys);\n }\n target[keysSymbol].forEach(function (key) {\n return adm.make_(key,\n // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true);\n });\n });\n return target;\n}\n\nvar SPLICE = \"splice\";\nvar UPDATE = \"update\";\nvar MAX_SPLICE_SIZE = 10000; // See e.g. https://github.com/mobxjs/mobx/issues/859\nvar arrayTraps = {\n get: function get(target, name) {\n var adm = target[$mobx];\n if (name === $mobx) {\n return adm;\n }\n if (name === \"length\") {\n return adm.getArrayLength_();\n }\n if (typeof name === \"string\" && !isNaN(name)) {\n return adm.get_(parseInt(name));\n }\n if (hasProp(arrayExtensions, name)) {\n return arrayExtensions[name];\n }\n return target[name];\n },\n set: function set(target, name, value) {\n var adm = target[$mobx];\n if (name === \"length\") {\n adm.setArrayLength_(value);\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value;\n } else {\n // numeric string\n adm.set_(parseInt(name), value);\n }\n return true;\n },\n preventExtensions: function preventExtensions() {\n die(15);\n }\n};\nvar ObservableArrayAdministration = /*#__PURE__*/function () {\n // this is the prop that gets proxied, so can't replace it!\n\n function ObservableArrayAdministration(name, enhancer, owned_, legacyMode_) {\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n this.owned_ = void 0;\n this.legacyMode_ = void 0;\n this.atom_ = void 0;\n this.values_ = [];\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.enhancer_ = void 0;\n this.dehancer = void 0;\n this.proxy_ = void 0;\n this.lastKnownLength_ = 0;\n this.owned_ = owned_;\n this.legacyMode_ = legacyMode_;\n this.atom_ = new Atom(name);\n this.enhancer_ = function (newV, oldV) {\n return enhancer(newV, oldV, process.env.NODE_ENV !== \"production\" ? name + \"[..]\" : \"ObservableArray[..]\");\n };\n }\n var _proto = ObservableArrayAdministration.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.dehanceValues_ = function dehanceValues_(values) {\n if (this.dehancer !== undefined && values.length > 0) {\n return values.map(this.dehancer);\n }\n return values;\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately === void 0) {\n fireImmediately = false;\n }\n if (fireImmediately) {\n listener({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n });\n }\n return registerListener(this, listener);\n };\n _proto.getArrayLength_ = function getArrayLength_() {\n this.atom_.reportObserved();\n return this.values_.length;\n };\n _proto.setArrayLength_ = function setArrayLength_(newLength) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) {\n die(\"Out of range: \" + newLength);\n }\n var currentLength = this.values_.length;\n if (newLength === currentLength) {\n return;\n } else if (newLength > currentLength) {\n var newItems = new Array(newLength - currentLength);\n for (var i = 0; i < newLength - currentLength; i++) {\n newItems[i] = undefined;\n } // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems);\n } else {\n this.spliceWithArray_(newLength, currentLength - newLength);\n }\n };\n _proto.updateArrayLength_ = function updateArrayLength_(oldLength, delta) {\n if (oldLength !== this.lastKnownLength_) {\n die(16);\n }\n this.lastKnownLength_ += delta;\n if (this.legacyMode_ && delta > 0) {\n reserveArrayBuffer(oldLength + delta + 1);\n }\n };\n _proto.spliceWithArray_ = function spliceWithArray_(index, deleteCount, newItems) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n var length = this.values_.length;\n if (index === undefined) {\n index = 0;\n } else if (index > length) {\n index = length;\n } else if (index < 0) {\n index = Math.max(0, length + index);\n }\n if (arguments.length === 1) {\n deleteCount = length - index;\n } else if (deleteCount === undefined || deleteCount === null) {\n deleteCount = 0;\n } else {\n deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n }\n if (newItems === undefined) {\n newItems = EMPTY_ARRAY;\n }\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_,\n type: SPLICE,\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change) {\n return EMPTY_ARRAY;\n }\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.length === 0 ? newItems : newItems.map(function (v) {\n return _this.enhancer_(v, undefined);\n });\n if (this.legacyMode_ || process.env.NODE_ENV !== \"production\") {\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength_(length, lengthDelta); // checks if internal array wasn't modified\n }\n\n var res = this.spliceItemsIntoValues_(index, deleteCount, newItems);\n if (deleteCount !== 0 || newItems.length !== 0) {\n this.notifyArraySplice_(index, newItems, res);\n }\n return this.dehanceValues_(res);\n };\n _proto.spliceItemsIntoValues_ = function spliceItemsIntoValues_(index, deleteCount, newItems) {\n if (newItems.length < MAX_SPLICE_SIZE) {\n var _this$values_;\n return (_this$values_ = this.values_).splice.apply(_this$values_, [index, deleteCount].concat(newItems));\n } else {\n // The items removed by the splice\n var res = this.values_.slice(index, index + deleteCount);\n // The items that that should remain at the end of the array\n var oldItems = this.values_.slice(index + deleteCount);\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount;\n for (var i = 0; i < newItems.length; i++) {\n this.values_[index + i] = newItems[i];\n }\n for (var _i = 0; _i < oldItems.length; _i++) {\n this.values_[index + newItems.length + _i] = oldItems[_i];\n }\n return res;\n }\n };\n _proto.notifyArrayChildUpdate_ = function notifyArrayChildUpdate_(index, newValue, oldValue) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index: index,\n newValue: newValue,\n oldValue: oldValue\n } : null;\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n this.atom_.reportChanged();\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.notifyArraySplice_ = function notifyArraySplice_(index, added, removed) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index: index,\n removed: removed,\n added: added,\n removedCount: removed.length,\n addedCount: added.length\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n this.atom_.reportChanged();\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.get_ = function get_(index) {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(process.env.NODE_ENV !== \"production\" ? \"[mobx.array] Attempt to read an array index (\" + index + \") that is out of bounds (\" + this.values_.length + \"). Please check length first. Out of bound indices will not be tracked by MobX\" : \"[mobx] Out of bounds read: \" + index);\n return undefined;\n }\n this.atom_.reportObserved();\n return this.dehanceValue_(this.values_[index]);\n };\n _proto.set_ = function set_(index, newValue) {\n var values = this.values_;\n if (this.legacyMode_ && index > values.length) {\n // out of bounds\n die(17, index, values.length);\n }\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_);\n var oldValue = values[index];\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_,\n index: index,\n newValue: newValue\n });\n if (!change) {\n return;\n }\n newValue = change.newValue;\n }\n newValue = this.enhancer_(newValue, oldValue);\n var changed = newValue !== oldValue;\n if (changed) {\n values[index] = newValue;\n this.notifyArrayChildUpdate_(index, newValue, oldValue);\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n var newItems = new Array(index + 1 - values.length);\n for (var i = 0; i < newItems.length - 1; i++) {\n newItems[i] = undefined;\n } // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue;\n this.spliceWithArray_(values.length, 0, newItems);\n }\n };\n return ObservableArrayAdministration;\n}();\nfunction createObservableArray(initialValues, enhancer, name, owned) {\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n if (owned === void 0) {\n owned = false;\n }\n assertProxies();\n return initObservable(function () {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, false);\n addHiddenFinalProp(adm.values_, $mobx, adm);\n var proxy = new Proxy(adm.values_, arrayTraps);\n adm.proxy_ = proxy;\n if (initialValues && initialValues.length) {\n adm.spliceWithArray_(0, 0, initialValues);\n }\n return proxy;\n });\n}\n// eslint-disable-next-line\nvar arrayExtensions = {\n clear: function clear() {\n return this.splice(0);\n },\n replace: function replace(newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray_(0, adm.values_.length, newItems);\n },\n // Used by JSON.stringify\n toJSON: function toJSON() {\n return this.slice();\n },\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */\n splice: function splice(index, deleteCount) {\n for (var _len = arguments.length, newItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n newItems[_key - 2] = arguments[_key];\n }\n var adm = this[$mobx];\n switch (arguments.length) {\n case 0:\n return [];\n case 1:\n return adm.spliceWithArray_(index);\n case 2:\n return adm.spliceWithArray_(index, deleteCount);\n }\n return adm.spliceWithArray_(index, deleteCount, newItems);\n },\n spliceWithArray: function spliceWithArray(index, deleteCount, newItems) {\n return this[$mobx].spliceWithArray_(index, deleteCount, newItems);\n },\n push: function push() {\n var adm = this[$mobx];\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n adm.spliceWithArray_(adm.values_.length, 0, items);\n return adm.values_.length;\n },\n pop: function pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0];\n },\n shift: function shift() {\n return this.splice(0, 1)[0];\n },\n unshift: function unshift() {\n var adm = this[$mobx];\n for (var _len3 = arguments.length, items = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n items[_key3] = arguments[_key3];\n }\n adm.spliceWithArray_(0, 0, items);\n return adm.values_.length;\n },\n reverse: function reverse() {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) {\n die(37, \"reverse\");\n }\n this.replace(this.slice().reverse());\n return this;\n },\n sort: function sort() {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) {\n die(37, \"sort\");\n }\n var copy = this.slice();\n copy.sort.apply(copy, arguments);\n this.replace(copy);\n return this;\n },\n remove: function remove(value) {\n var adm = this[$mobx];\n var idx = adm.dehanceValues_(adm.values_).indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n }\n};\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */\naddArrayExtension(\"at\", simpleFunc);\naddArrayExtension(\"concat\", simpleFunc);\naddArrayExtension(\"flat\", simpleFunc);\naddArrayExtension(\"includes\", simpleFunc);\naddArrayExtension(\"indexOf\", simpleFunc);\naddArrayExtension(\"join\", simpleFunc);\naddArrayExtension(\"lastIndexOf\", simpleFunc);\naddArrayExtension(\"slice\", simpleFunc);\naddArrayExtension(\"toString\", simpleFunc);\naddArrayExtension(\"toLocaleString\", simpleFunc);\naddArrayExtension(\"toSorted\", simpleFunc);\naddArrayExtension(\"toSpliced\", simpleFunc);\naddArrayExtension(\"with\", simpleFunc);\n// map\naddArrayExtension(\"every\", mapLikeFunc);\naddArrayExtension(\"filter\", mapLikeFunc);\naddArrayExtension(\"find\", mapLikeFunc);\naddArrayExtension(\"findIndex\", mapLikeFunc);\naddArrayExtension(\"findLast\", mapLikeFunc);\naddArrayExtension(\"findLastIndex\", mapLikeFunc);\naddArrayExtension(\"flatMap\", mapLikeFunc);\naddArrayExtension(\"forEach\", mapLikeFunc);\naddArrayExtension(\"map\", mapLikeFunc);\naddArrayExtension(\"some\", mapLikeFunc);\naddArrayExtension(\"toReversed\", mapLikeFunc);\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc);\naddArrayExtension(\"reduceRight\", reduceLikeFunc);\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") {\n arrayExtensions[funcName] = funcFactory(funcName);\n }\n}\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function () {\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\n// Make sure callbacks recieve correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function (callback, thisArg) {\n var _this2 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName](function (element, index) {\n return callback.call(thisArg, element, index, _this2);\n });\n };\n}\n// Make sure callbacks recieve correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function () {\n var _this3 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n // #2432 - reduce behavior depends on arguments.length\n var callback = arguments[0];\n arguments[0] = function (accumulator, currentValue, index) {\n return callback(accumulator, currentValue, index, _this3);\n };\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\nvar isObservableArrayAdministration = /*#__PURE__*/createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx]);\n}\n\nvar _Symbol$iterator, _Symbol$toStringTag;\nvar ObservableMapMarker = {};\nvar ADD = \"add\";\nvar DELETE = \"delete\";\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\n_Symbol$iterator = Symbol.iterator;\n_Symbol$toStringTag = Symbol.toStringTag;\nvar ObservableMap = /*#__PURE__*/function () {\n // hasMap, not hashMap >-).\n\n function ObservableMap(initialData, enhancer_, name_) {\n var _this = this;\n if (enhancer_ === void 0) {\n enhancer_ = deepEnhancer;\n }\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableMap@\" + getNextId() : \"ObservableMap\";\n }\n this.enhancer_ = void 0;\n this.name_ = void 0;\n this[$mobx] = ObservableMapMarker;\n this.data_ = void 0;\n this.hasMap_ = void 0;\n this.keysAtom_ = void 0;\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = enhancer_;\n this.name_ = name_;\n if (!isFunction(Map)) {\n die(18);\n }\n initObservable(function () {\n _this.keysAtom_ = createAtom(process.env.NODE_ENV !== \"production\" ? _this.name_ + \".keys()\" : \"ObservableMap.keys()\");\n _this.data_ = new Map();\n _this.hasMap_ = new Map();\n if (initialData) {\n _this.merge(initialData);\n }\n });\n }\n var _proto = ObservableMap.prototype;\n _proto.has_ = function has_(key) {\n return this.data_.has(key);\n };\n _proto.has = function has(key) {\n var _this2 = this;\n if (!globalState.trackingDerivation) {\n return this.has_(key);\n }\n var entry = this.hasMap_.get(key);\n if (!entry) {\n var newEntry = entry = new ObservableValue(this.has_(key), referenceEnhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + stringifyKey(key) + \"?\" : \"ObservableMap.key?\", false);\n this.hasMap_.set(key, newEntry);\n onBecomeUnobserved(newEntry, function () {\n return _this2.hasMap_[\"delete\"](key);\n });\n }\n return entry.get();\n };\n _proto.set = function set(key, value) {\n var hasKey = this.has_(key);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n });\n if (!change) {\n return this;\n }\n value = change.newValue;\n }\n if (hasKey) {\n this.updateValue_(key, value);\n } else {\n this.addValue_(key, value);\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(key) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n name: key\n });\n if (!change) {\n return false;\n }\n }\n if (this.has_(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: this.data_.get(key).value_,\n name: key\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change);\n } // TODO fix type\n transaction(function () {\n var _this3$hasMap_$get;\n _this3.keysAtom_.reportChanged();\n (_this3$hasMap_$get = _this3.hasMap_.get(key)) == null ? void 0 : _this3$hasMap_$get.setNewValue_(false);\n var observable = _this3.data_.get(key);\n observable.setNewValue_(undefined);\n _this3.data_[\"delete\"](key);\n });\n if (notify) {\n notifyListeners(this, _change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n return true;\n }\n return false;\n };\n _proto.updateValue_ = function updateValue_(key, newValue) {\n var observable = this.data_.get(key);\n newValue = observable.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n } // TODO fix type\n observable.setNewValue_(newValue);\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n };\n _proto.addValue_ = function addValue_(key, newValue) {\n var _this4 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n transaction(function () {\n var _this4$hasMap_$get;\n var observable = new ObservableValue(newValue, _this4.enhancer_, process.env.NODE_ENV !== \"production\" ? _this4.name_ + \".\" + stringifyKey(key) : \"ObservableMap.key\", false);\n _this4.data_.set(key, observable);\n newValue = observable.value_; // value might have been changed\n (_this4$hasMap_$get = _this4.hasMap_.get(key)) == null ? void 0 : _this4$hasMap_$get.setNewValue_(true);\n _this4.keysAtom_.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n } // TODO fix type\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.get = function get(key) {\n if (this.has(key)) {\n return this.dehanceValue_(this.data_.get(key).get());\n }\n return this.dehanceValue_(undefined);\n };\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.keys = function keys() {\n this.keysAtom_.reportObserved();\n return this.data_.keys();\n };\n _proto.values = function values() {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function next() {\n var _keys$next = keys.next(),\n done = _keys$next.done,\n value = _keys$next.value;\n return {\n done: done,\n value: done ? undefined : self.get(value)\n };\n }\n });\n };\n _proto.entries = function entries() {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function next() {\n var _keys$next2 = keys.next(),\n done = _keys$next2.done,\n value = _keys$next2.value;\n return {\n done: done,\n value: done ? undefined : [value, self.get(value)]\n };\n }\n });\n };\n _proto[_Symbol$iterator] = function () {\n return this.entries();\n };\n _proto.forEach = function forEach(callback, thisArg) {\n for (var _iterator = _createForOfIteratorHelperLoose(this), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n value = _step$value[1];\n callback.call(thisArg, value, key, this);\n }\n }\n /** Merge another object into this object, returns this. */;\n _proto.merge = function merge(other) {\n var _this5 = this;\n if (isObservableMap(other)) {\n other = new Map(other);\n }\n transaction(function () {\n if (isPlainObject(other)) {\n getPlainObjectKeys(other).forEach(function (key) {\n return _this5.set(key, other[key]);\n });\n } else if (Array.isArray(other)) {\n other.forEach(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n return _this5.set(key, value);\n });\n } else if (isES6Map(other)) {\n if (other.constructor !== Map) {\n die(19, other);\n }\n other.forEach(function (value, key) {\n return _this5.set(key, value);\n });\n } else if (other !== null && other !== undefined) {\n die(20, other);\n }\n });\n return this;\n };\n _proto.clear = function clear() {\n var _this6 = this;\n transaction(function () {\n untracked(function () {\n for (var _iterator2 = _createForOfIteratorHelperLoose(_this6.keys()), _step2; !(_step2 = _iterator2()).done;) {\n var key = _step2.value;\n _this6[\"delete\"](key);\n }\n });\n });\n };\n _proto.replace = function replace(values) {\n var _this7 = this;\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(function () {\n // Convert to map so we can do quick key lookups\n var replacementMap = convertToMap(values);\n var orderedData = new Map();\n // Used for optimization\n var keysReportChangedCalled = false;\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (var _iterator3 = _createForOfIteratorHelperLoose(_this7.data_.keys()), _step3; !(_step3 = _iterator3()).done;) {\n var key = _step3.value;\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n var deleted = _this7[\"delete\"](key);\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n } else {\n // Delete prevented by interceptor\n var value = _this7.data_.get(key);\n orderedData.set(key, value);\n }\n }\n }\n // Merge entries\n for (var _iterator4 = _createForOfIteratorHelperLoose(replacementMap.entries()), _step4; !(_step4 = _iterator4()).done;) {\n var _step4$value = _step4.value,\n _key = _step4$value[0],\n _value = _step4$value[1];\n // We will want to know whether a new key is added\n var keyExisted = _this7.data_.has(_key);\n // Add or update value\n _this7.set(_key, _value);\n // The addition could have been prevent by interceptor\n if (_this7.data_.has(_key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n var _value2 = _this7.data_.get(_key);\n orderedData.set(_key, _value2);\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (_this7.data_.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n _this7.keysAtom_.reportChanged();\n } else {\n var iter1 = _this7.data_.keys();\n var iter2 = orderedData.keys();\n var next1 = iter1.next();\n var next2 = iter2.next();\n while (!next1.done) {\n if (next1.value !== next2.value) {\n _this7.keysAtom_.reportChanged();\n break;\n }\n next1 = iter1.next();\n next2 = iter2.next();\n }\n }\n }\n // Use correctly ordered map\n _this7.data_ = orderedData;\n });\n return this;\n };\n _proto.toString = function toString() {\n return \"[object ObservableMap]\";\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with maps.\");\n }\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _createClass(ObservableMap, [{\n key: \"size\",\n get: function get() {\n this.keysAtom_.reportObserved();\n return this.data_.size;\n }\n }, {\n key: _Symbol$toStringTag,\n get: function get() {\n return \"Map\";\n }\n }]);\n return ObservableMap;\n}();\n// eslint-disable-next-line\nvar isObservableMap = /*#__PURE__*/createInstanceofPredicate(\"ObservableMap\", ObservableMap);\nfunction convertToMap(dataStructure) {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure;\n } else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure);\n } else if (isPlainObject(dataStructure)) {\n var map = new Map();\n for (var key in dataStructure) {\n map.set(key, dataStructure[key]);\n }\n return map;\n } else {\n return die(21, dataStructure);\n }\n}\n\nvar _Symbol$iterator$1, _Symbol$toStringTag$1;\nvar ObservableSetMarker = {};\n_Symbol$iterator$1 = Symbol.iterator;\n_Symbol$toStringTag$1 = Symbol.toStringTag;\nvar ObservableSet = /*#__PURE__*/function () {\n function ObservableSet(initialData, enhancer, name_) {\n var _this = this;\n if (enhancer === void 0) {\n enhancer = deepEnhancer;\n }\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableSet@\" + getNextId() : \"ObservableSet\";\n }\n this.name_ = void 0;\n this[$mobx] = ObservableSetMarker;\n this.data_ = new Set();\n this.atom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = void 0;\n this.name_ = name_;\n if (!isFunction(Set)) {\n die(22);\n }\n this.enhancer_ = function (newV, oldV) {\n return enhancer(newV, oldV, name_);\n };\n initObservable(function () {\n _this.atom_ = createAtom(_this.name_);\n if (initialData) {\n _this.replace(initialData);\n }\n });\n }\n var _proto = ObservableSet.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.clear = function clear() {\n var _this2 = this;\n transaction(function () {\n untracked(function () {\n for (var _iterator = _createForOfIteratorHelperLoose(_this2.data_.values()), _step; !(_step = _iterator()).done;) {\n var value = _step.value;\n _this2[\"delete\"](value);\n }\n });\n });\n };\n _proto.forEach = function forEach(callbackFn, thisArg) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this), _step2; !(_step2 = _iterator2()).done;) {\n var value = _step2.value;\n callbackFn.call(thisArg, value, value, this);\n }\n };\n _proto.add = function add(value) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: ADD,\n object: this,\n newValue: value\n });\n if (!change) {\n return this;\n }\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n\n if (!this.has(value)) {\n transaction(function () {\n _this3.data_.add(_this3.enhancer_(value, undefined));\n _this3.atom_.reportChanged();\n });\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n } : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportStart(_change);\n }\n if (notify) {\n notifyListeners(this, _change);\n }\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportEnd();\n }\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(value) {\n var _this4 = this;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n oldValue: value\n });\n if (!change) {\n return false;\n }\n }\n if (this.has(value)) {\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var notify = hasListeners(this);\n var _change2 = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n } : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportStart(_change2);\n }\n transaction(function () {\n _this4.atom_.reportChanged();\n _this4.data_[\"delete\"](value);\n });\n if (notify) {\n notifyListeners(this, _change2);\n }\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportEnd();\n }\n return true;\n }\n return false;\n };\n _proto.has = function has(value) {\n this.atom_.reportObserved();\n return this.data_.has(this.dehanceValue_(value));\n };\n _proto.entries = function entries() {\n var nextIndex = 0;\n var keys = Array.from(this.keys());\n var values = Array.from(this.values());\n return makeIterable({\n next: function next() {\n var index = nextIndex;\n nextIndex += 1;\n return index < values.length ? {\n value: [keys[index], values[index]],\n done: false\n } : {\n done: true\n };\n }\n });\n };\n _proto.keys = function keys() {\n return this.values();\n };\n _proto.values = function values() {\n this.atom_.reportObserved();\n var self = this;\n var nextIndex = 0;\n var observableValues = Array.from(this.data_.values());\n return makeIterable({\n next: function next() {\n return nextIndex < observableValues.length ? {\n value: self.dehanceValue_(observableValues[nextIndex++]),\n done: false\n } : {\n done: true\n };\n }\n });\n };\n _proto.replace = function replace(other) {\n var _this5 = this;\n if (isObservableSet(other)) {\n other = new Set(other);\n }\n transaction(function () {\n if (Array.isArray(other)) {\n _this5.clear();\n other.forEach(function (value) {\n return _this5.add(value);\n });\n } else if (isES6Set(other)) {\n _this5.clear();\n other.forEach(function (value) {\n return _this5.add(value);\n });\n } else if (other !== null && other !== undefined) {\n die(\"Cannot initialize set from \" + other);\n }\n });\n return this;\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n // ... 'fireImmediately' could also be true?\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with sets.\");\n }\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n _proto.toString = function toString() {\n return \"[object ObservableSet]\";\n };\n _proto[_Symbol$iterator$1] = function () {\n return this.values();\n };\n _createClass(ObservableSet, [{\n key: \"size\",\n get: function get() {\n this.atom_.reportObserved();\n return this.data_.size;\n }\n }, {\n key: _Symbol$toStringTag$1,\n get: function get() {\n return \"Set\";\n }\n }]);\n return ObservableSet;\n}();\n// eslint-disable-next-line\nvar isObservableSet = /*#__PURE__*/createInstanceofPredicate(\"ObservableSet\", ObservableSet);\n\nvar descriptorCache = /*#__PURE__*/Object.create(null);\nvar REMOVE = \"remove\";\nvar ObservableObjectAdministration = /*#__PURE__*/function () {\n function ObservableObjectAdministration(target_, values_, name_,\n // Used anytime annotation is not explicitely provided\n defaultAnnotation_) {\n if (values_ === void 0) {\n values_ = new Map();\n }\n if (defaultAnnotation_ === void 0) {\n defaultAnnotation_ = autoAnnotation;\n }\n this.target_ = void 0;\n this.values_ = void 0;\n this.name_ = void 0;\n this.defaultAnnotation_ = void 0;\n this.keysAtom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.proxy_ = void 0;\n this.isPlainObject_ = void 0;\n this.appliedAnnotations_ = void 0;\n this.pendingKeys_ = void 0;\n this.target_ = target_;\n this.values_ = values_;\n this.name_ = name_;\n this.defaultAnnotation_ = defaultAnnotation_;\n this.keysAtom_ = new Atom(process.env.NODE_ENV !== \"production\" ? this.name_ + \".keys\" : \"ObservableObject.keys\");\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_);\n if (process.env.NODE_ENV !== \"production\" && !isAnnotation(this.defaultAnnotation_)) {\n die(\"defaultAnnotation must be valid annotation\");\n }\n if (process.env.NODE_ENV !== \"production\") {\n // Prepare structure for tracking which fields were already annotated\n this.appliedAnnotations_ = {};\n }\n }\n var _proto = ObservableObjectAdministration.prototype;\n _proto.getObservablePropValue_ = function getObservablePropValue_(key) {\n return this.values_.get(key).get();\n };\n _proto.setObservablePropValue_ = function setObservablePropValue_(key, newValue) {\n var observable = this.values_.get(key);\n if (observable instanceof ComputedValue) {\n observable.set(newValue);\n return true;\n }\n // intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: newValue\n });\n if (!change) {\n return null;\n }\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue_(newValue);\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var _change = notify || notifySpy ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change);\n }\n observable.setNewValue_(newValue);\n if (notify) {\n notifyListeners(this, _change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n return true;\n };\n _proto.get_ = function get_(key) {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) {\n // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key);\n }\n return this.target_[key];\n }\n /**\n * @param {PropertyKey} key\n * @param {any} value\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.set_ = function set_(key, value, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) {\n // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value);\n } else if (proxyTrap) {\n // Non-observable - proxy\n return Reflect.set(this.target_, key, value);\n } else {\n // Non-observable\n this.target_[key] = value;\n return true;\n }\n } else {\n // New prop\n return this.extend_(key, {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n }, this.defaultAnnotation_, proxyTrap);\n }\n }\n // Trap for \"in\"\n ;\n _proto.has_ = function has_(key) {\n if (!globalState.trackingDerivation) {\n // Skip key subscription outside derivation\n return key in this.target_;\n }\n this.pendingKeys_ || (this.pendingKeys_ = new Map());\n var entry = this.pendingKeys_.get(key);\n if (!entry) {\n entry = new ObservableValue(key in this.target_, referenceEnhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + stringifyKey(key) + \"?\" : \"ObservableObject.key?\", false);\n this.pendingKeys_.set(key, entry);\n }\n return entry.get();\n }\n /**\n * @param {PropertyKey} key\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\n */;\n _proto.make_ = function make_(key, annotation) {\n if (annotation === true) {\n annotation = this.defaultAnnotation_;\n }\n if (annotation === false) {\n return;\n }\n assertAnnotable(this, annotation, key);\n if (!(key in this.target_)) {\n var _this$target_$storedA;\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if ((_this$target_$storedA = this.target_[storedAnnotationsSymbol]) != null && _this$target_$storedA[key]) {\n return; // will be annotated by subclass constructor\n } else {\n die(1, annotation.annotationType_, this.name_ + \".\" + key.toString());\n }\n }\n var source = this.target_;\n while (source && source !== objectPrototype) {\n var descriptor = getDescriptor(source, key);\n if (descriptor) {\n var outcome = annotation.make_(this, key, descriptor, source);\n if (outcome === 0 /* MakeResult.Cancel */) {\n return;\n }\n if (outcome === 1 /* MakeResult.Break */) {\n break;\n }\n }\n source = Object.getPrototypeOf(source);\n }\n recordAnnotationApplied(this, annotation, key);\n }\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.extend_ = function extend_(key, descriptor, annotation, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n if (annotation === true) {\n annotation = this.defaultAnnotation_;\n }\n if (annotation === false) {\n return this.defineProperty_(key, descriptor, proxyTrap);\n }\n assertAnnotable(this, annotation, key);\n var outcome = annotation.extend_(this, key, descriptor, proxyTrap);\n if (outcome) {\n recordAnnotationApplied(this, annotation, key);\n }\n return outcome;\n }\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.defineProperty_ = function defineProperty_(key, descriptor, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n });\n if (!change) {\n return null;\n }\n var newValue = change.newValue;\n if (descriptor.value !== newValue) {\n descriptor = _extends({}, descriptor, {\n value: newValue\n });\n }\n }\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value);\n } finally {\n endBatch();\n }\n return true;\n }\n // If original descriptor becomes relevant, move this to annotation directly\n ;\n _proto.defineObservableProperty_ = function defineObservableProperty_(key, value, enhancer, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n });\n if (!change) {\n return null;\n }\n value = change.newValue;\n }\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n var observable = new ObservableValue(value, enhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + key.toString() : \"ObservableObject.key\", false);\n this.values_.set(key, observable);\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_);\n } finally {\n endBatch();\n }\n return true;\n }\n // If original descriptor becomes relevant, move this to annotation directly\n ;\n _proto.defineComputedProperty_ = function defineComputedProperty_(key, options, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n });\n if (!change) {\n return null;\n }\n }\n options.name || (options.name = process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + key.toString() : \"ObservableObject.key\");\n options.context = this.proxy_ || this.target_;\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n this.values_.set(key, new ComputedValue(options));\n // Notify\n this.notifyPropertyAddition_(key, undefined);\n } finally {\n endBatch();\n }\n return true;\n }\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */;\n _proto.delete_ = function delete_(key, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n // No such prop\n if (!hasProp(this.target_, key)) {\n return true;\n }\n // Intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n });\n // Cancelled\n if (!change) {\n return null;\n }\n }\n // Delete\n try {\n var _this$pendingKeys_, _this$pendingKeys_$ge;\n startBatch();\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var observable = this.values_.get(key);\n // Value needed for spies/listeners\n var value = undefined;\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n var _getDescriptor;\n value = (_getDescriptor = getDescriptor(this.target_, key)) == null ? void 0 : _getDescriptor.value;\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) {\n return false;\n }\n } else {\n delete this.target_[key];\n }\n // Allow re-annotating this field\n if (process.env.NODE_ENV !== \"production\") {\n delete this.appliedAnnotations_[key];\n }\n // Clear observable\n if (observable) {\n this.values_[\"delete\"](key);\n // for computed, value is undefined\n if (observable instanceof ObservableValue) {\n value = observable.value_;\n }\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable);\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n (_this$pendingKeys_ = this.pendingKeys_) == null ? void 0 : (_this$pendingKeys_$ge = _this$pendingKeys_.get(key)) == null ? void 0 : _this$pendingKeys_$ge.set(key in this.target_);\n // Notify spies/listeners\n if (notify || notifySpy) {\n var _change2 = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n };\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change2);\n }\n if (notify) {\n notifyListeners(this, _change2);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n } finally {\n endBatch();\n }\n return true;\n }\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */;\n _proto.observe_ = function observe_(callback, fireImmediately) {\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support the fire immediately property for observable objects.\");\n }\n return registerListener(this, callback);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.notifyPropertyAddition_ = function notifyPropertyAddition_(key, value) {\n var _this$pendingKeys_2, _this$pendingKeys_2$g;\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n if (notify || notifySpy) {\n var change = notify || notifySpy ? {\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n (_this$pendingKeys_2 = this.pendingKeys_) == null ? void 0 : (_this$pendingKeys_2$g = _this$pendingKeys_2.get(key)) == null ? void 0 : _this$pendingKeys_2$g.set(true);\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n };\n _proto.ownKeys_ = function ownKeys_() {\n this.keysAtom_.reportObserved();\n return ownKeys(this.target_);\n };\n _proto.keys_ = function keys_() {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved();\n return Object.keys(this.target_);\n };\n return ObservableObjectAdministration;\n}();\nfunction asObservableObject(target, options) {\n var _options$name;\n if (process.env.NODE_ENV !== \"production\" && options && isObservableObject(target)) {\n die(\"Options can't be provided for already observable objects.\");\n }\n if (hasProp(target, $mobx)) {\n if (process.env.NODE_ENV !== \"production\" && !(getAdministration(target) instanceof ObservableObjectAdministration)) {\n die(\"Cannot convert '\" + getDebugName(target) + \"' into observable object:\" + \"\\nThe target is already observable of different type.\" + \"\\nExtending builtins is not supported.\");\n }\n return target;\n }\n if (process.env.NODE_ENV !== \"production\" && !Object.isExtensible(target)) {\n die(\"Cannot make the designated object observable; it is not extensible\");\n }\n var name = (_options$name = options == null ? void 0 : options.name) != null ? _options$name : process.env.NODE_ENV !== \"production\" ? (isPlainObject(target) ? \"ObservableObject\" : target.constructor.name) + \"@\" + getNextId() : \"ObservableObject\";\n var adm = new ObservableObjectAdministration(target, new Map(), String(name), getAnnotationFromOptions(options));\n addHiddenProp(target, $mobx, adm);\n return target;\n}\nvar isObservableObjectAdministration = /*#__PURE__*/createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction getCachedObservablePropDescriptor(key) {\n return descriptorCache[key] || (descriptorCache[key] = {\n get: function get() {\n return this[$mobx].getObservablePropValue_(key);\n },\n set: function set(value) {\n return this[$mobx].setObservablePropValue_(key, value);\n }\n });\n}\nfunction isObservableObject(thing) {\n if (isObject(thing)) {\n return isObservableObjectAdministration(thing[$mobx]);\n }\n return false;\n}\nfunction recordAnnotationApplied(adm, annotation, key) {\n var _adm$target_$storedAn;\n if (process.env.NODE_ENV !== \"production\") {\n adm.appliedAnnotations_[key] = annotation;\n }\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n (_adm$target_$storedAn = adm.target_[storedAnnotationsSymbol]) == null ? true : delete _adm$target_$storedAn[key];\n}\nfunction assertAnnotable(adm, annotation, key) {\n // Valid annotation\n if (process.env.NODE_ENV !== \"production\" && !isAnnotation(annotation)) {\n die(\"Cannot annotate '\" + adm.name_ + \".\" + key.toString() + \"': Invalid annotation.\");\n }\n /*\n // Configurable, not sealed, not frozen\n // Possibly not needed, just a little better error then the one thrown by engine.\n // Cases where this would be useful the most (subclass field initializer) are not interceptable by this.\n if (__DEV__) {\n const configurable = getDescriptor(adm.target_, key)?.configurable\n const frozen = Object.isFrozen(adm.target_)\n const sealed = Object.isSealed(adm.target_)\n if (!configurable || frozen || sealed) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const requestedAnnotationType = annotation.annotationType_\n let error = `Cannot apply '${requestedAnnotationType}' to '${fieldName}':`\n if (frozen) {\n error += `\\nObject is frozen.`\n }\n if (sealed) {\n error += `\\nObject is sealed.`\n }\n if (!configurable) {\n error += `\\nproperty is not configurable.`\n // Mention only if caused by us to avoid confusion\n if (hasProp(adm.appliedAnnotations!, key)) {\n error += `\\nTo prevent accidental re-definition of a field by a subclass, `\n error += `all annotated fields of non-plain objects (classes) are not configurable.`\n }\n }\n die(error)\n }\n }\n */\n // Not annotated\n if (process.env.NODE_ENV !== \"production\" && !isOverride(annotation) && hasProp(adm.appliedAnnotations_, key)) {\n var fieldName = adm.name_ + \".\" + key.toString();\n var currentAnnotationType = adm.appliedAnnotations_[key].annotationType_;\n var requestedAnnotationType = annotation.annotationType_;\n die(\"Cannot apply '\" + requestedAnnotationType + \"' to '\" + fieldName + \"':\" + (\"\\nThe field is already annotated with '\" + currentAnnotationType + \"'.\") + \"\\nRe-annotating fields is not allowed.\" + \"\\nUse 'override' annotation for methods overridden by subclass.\");\n }\n}\n\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nvar ENTRY_0 = /*#__PURE__*/createArrayEntryDescriptor(0);\nvar safariPrototypeSetterInheritanceBug = /*#__PURE__*/function () {\n var v = false;\n var p = {};\n Object.defineProperty(p, \"0\", {\n set: function set() {\n v = true;\n }\n });\n /*#__PURE__*/Object.create(p)[\"0\"] = 1;\n return v === false;\n}();\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */\nvar OBSERVABLE_ARRAY_BUFFER_SIZE = 0;\n// Typescript workaround to make sure ObservableArray extends Array\nvar StubArray = function StubArray() {};\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(ctor.prototype, proto);\n } else if (ctor.prototype.__proto__ !== undefined) {\n ctor.prototype.__proto__ = proto;\n } else {\n ctor.prototype = proto;\n }\n}\ninherit(StubArray, Array.prototype);\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\nvar LegacyObservableArray = /*#__PURE__*/function (_StubArray, _Symbol$toStringTag, _Symbol$iterator) {\n _inheritsLoose(LegacyObservableArray, _StubArray);\n function LegacyObservableArray(initialValues, enhancer, name, owned) {\n var _this;\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n if (owned === void 0) {\n owned = false;\n }\n _this = _StubArray.call(this) || this;\n initObservable(function () {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, true);\n adm.proxy_ = _assertThisInitialized(_this);\n addHiddenFinalProp(_assertThisInitialized(_this), $mobx, adm);\n if (initialValues && initialValues.length) {\n // @ts-ignore\n _this.spliceWithArray(0, 0, initialValues);\n }\n if (safariPrototypeSetterInheritanceBug) {\n // Seems that Safari won't use numeric prototype setter untill any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(_assertThisInitialized(_this), \"0\", ENTRY_0);\n }\n });\n return _this;\n }\n var _proto = LegacyObservableArray.prototype;\n _proto.concat = function concat() {\n this[$mobx].atom_.reportObserved();\n for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) {\n arrays[_key] = arguments[_key];\n }\n return Array.prototype.concat.apply(this.slice(),\n //@ts-ignore\n arrays.map(function (a) {\n return isObservableArray(a) ? a.slice() : a;\n }));\n };\n _proto[_Symbol$iterator] = function () {\n var self = this;\n var nextIndex = 0;\n return makeIterable({\n next: function next() {\n return nextIndex < self.length ? {\n value: self[nextIndex++],\n done: false\n } : {\n done: true,\n value: undefined\n };\n }\n });\n };\n _createClass(LegacyObservableArray, [{\n key: \"length\",\n get: function get() {\n return this[$mobx].getArrayLength_();\n },\n set: function set(newLength) {\n this[$mobx].setArrayLength_(newLength);\n }\n }, {\n key: _Symbol$toStringTag,\n get: function get() {\n return \"Array\";\n }\n }]);\n return LegacyObservableArray;\n}(StubArray, Symbol.toStringTag, Symbol.iterator);\nObject.entries(arrayExtensions).forEach(function (_ref) {\n var prop = _ref[0],\n fn = _ref[1];\n if (prop !== \"concat\") {\n addHiddenProp(LegacyObservableArray.prototype, prop, fn);\n }\n});\nfunction createArrayEntryDescriptor(index) {\n return {\n enumerable: false,\n configurable: true,\n get: function get() {\n return this[$mobx].get_(index);\n },\n set: function set(value) {\n this[$mobx].set_(index, value);\n }\n };\n}\nfunction createArrayBufferItem(index) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index));\n}\nfunction reserveArrayBuffer(max) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for (var index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++) {\n createArrayBufferItem(index);\n }\n OBSERVABLE_ARRAY_BUFFER_SIZE = max;\n }\n}\nreserveArrayBuffer(1000);\nfunction createLegacyArray(initialValues, enhancer, name) {\n return new LegacyObservableArray(initialValues, enhancer, name);\n}\n\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) {\n die(23);\n }\n return thing[$mobx].atom_;\n }\n if (isObservableSet(thing)) {\n return thing.atom_;\n }\n if (isObservableMap(thing)) {\n if (property === undefined) {\n return thing.keysAtom_;\n }\n var observable = thing.data_.get(property) || thing.hasMap_.get(property);\n if (!observable) {\n die(25, property, getDebugName(thing));\n }\n return observable;\n }\n if (isObservableObject(thing)) {\n if (!property) {\n return die(26);\n }\n var _observable = thing[$mobx].values_.get(property);\n if (!_observable) {\n die(27, property, getDebugName(thing));\n }\n return _observable;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx];\n }\n }\n die(28);\n}\nfunction getAdministration(thing, property) {\n if (!thing) {\n die(29);\n }\n if (property !== undefined) {\n return getAdministration(getAtom(thing, property));\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n if (isObservableMap(thing) || isObservableSet(thing)) {\n return thing;\n }\n if (thing[$mobx]) {\n return thing[$mobx];\n }\n die(24, thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined) {\n named = getAtom(thing, property);\n } else if (isAction(thing)) {\n return thing.name;\n } else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) {\n named = getAdministration(thing);\n } else {\n // valid for arrays as well\n named = getAtom(thing);\n }\n return named.name_;\n}\n/**\n * Helper function for initializing observable structures, it applies:\n * 1. allowStateChanges so we don't violate enforceActions.\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\n * 3. batch to avoid state version updates\n */\nfunction initObservable(cb) {\n var derivation = untrackedStart();\n var allowStateChanges = allowStateChangesStart(true);\n startBatch();\n try {\n return cb();\n } finally {\n endBatch();\n allowStateChangesEnd(allowStateChanges);\n untrackedEnd(derivation);\n }\n}\n\nvar toString = objectPrototype.toString;\nfunction deepEqual(a, b, depth) {\n if (depth === void 0) {\n depth = -1;\n }\n return eq(a, b, depth);\n}\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, depth, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) {\n return a !== 0 || 1 / a === 1 / b;\n }\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) {\n return false;\n }\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) {\n return b !== b;\n }\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") {\n return false;\n }\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) {\n return false;\n }\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b;\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) {\n return +b !== +b;\n }\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case \"[object Symbol]\":\n return typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b);\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++;\n }\n break;\n }\n // Unwrap any wrapped objects.\n a = unwrap(a);\n b = unwrap(b);\n var areArrays = className === \"[object Array]\";\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") {\n return false;\n }\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor,\n bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && isFunction(bCtor) && bCtor instanceof bCtor) && \"constructor\" in a && \"constructor\" in b) {\n return false;\n }\n }\n if (depth === 0) {\n return false;\n } else if (depth < 0) {\n depth = -1;\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) {\n return bStack[length] === b;\n }\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) {\n return false;\n }\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) {\n return false;\n }\n }\n } else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) {\n return false;\n }\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) {\n return false;\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\nfunction unwrap(a) {\n if (isObservableArray(a)) {\n return a.slice();\n }\n if (isES6Map(a) || isObservableMap(a)) {\n return Array.from(a.entries());\n }\n if (isES6Set(a) || isObservableSet(a)) {\n return Array.from(a.entries());\n }\n return a;\n}\n\nfunction makeIterable(iterator) {\n iterator[Symbol.iterator] = getSelf;\n return iterator;\n}\nfunction getSelf() {\n return this;\n}\n\nfunction isAnnotation(thing) {\n return (\n // Can be function\n thing instanceof Object && typeof thing.annotationType_ === \"string\" && isFunction(thing.make_) && isFunction(thing.extend_)\n );\n}\n\n/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get a global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */\n[\"Symbol\", \"Map\", \"Set\"].forEach(function (m) {\n var g = getGlobal();\n if (typeof g[m] === \"undefined\") {\n die(\"MobX requires global '\" + m + \"' to be available or polyfilled\");\n }\n});\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy: spy,\n extras: {\n getDebugName: getDebugName\n },\n $mobx: $mobx\n });\n}\n\nexport { $mobx, FlowCancellationError, ObservableMap, ObservableSet, Reaction, allowStateChanges as _allowStateChanges, runInAction as _allowStateChangesInsideComputed, allowStateReadsEnd as _allowStateReadsEnd, allowStateReadsStart as _allowStateReadsStart, autoAction as _autoAction, _endAction, getAdministration as _getAdministration, getGlobalState as _getGlobalState, interceptReads as _interceptReads, isComputingDerivation as _isComputingDerivation, resetGlobalState as _resetGlobalState, _startAction, action, autorun, comparer, computed, configure, createAtom, apiDefineProperty as defineProperty, entries, extendObservable, flow, flowResult, get, getAtom, getDebugName, getDependencyTree, getObserverTree, has, intercept, isAction, isObservableValue as isBoxedObservable, isComputed, isComputedProp, isFlow, isFlowCancellationError, isObservable, isObservableArray, isObservableMap, isObservableObject, isObservableProp, isObservableSet, keys, makeAutoObservable, makeObservable, observable, observe, onBecomeObserved, onBecomeUnobserved, onReactionError, override, apiOwnKeys as ownKeys, reaction, remove, runInAction, set, spy, toJS, trace, transaction, untracked, values, when };\n//# sourceMappingURL=mobx.esm.js.map\n","const niceErrors = {\n 0: `Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,\n 1(annotationType, key: PropertyKey) {\n return `Cannot apply '${annotationType}' to '${key.toString()}': Field not found.`\n },\n /*\n 2(prop) {\n return `invalid decorator for '${prop.toString()}'`\n },\n 3(prop) {\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\n },\n 4(prop) {\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\n },\n */\n 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: `Invalid annotation`,\n 13: `Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: `Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,\n 16: `Modification exception: the internal structure of an observable array was changed.`,\n 17(index, length) {\n return `[mobx.array] Index out of bounds, ${index} is larger than ${length}`\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name\n },\n 20(other) {\n return \"Cannot initialize map from \" + other\n },\n 21(dataStructure) {\n return `Cannot convert to map from '${dataStructure}'`\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24(thing) {\n return \"Cannot obtain administration from \" + thing\n },\n 25(property, name) {\n return `the entry '${property}' does not exist in the observable map '${name}'`\n },\n 26: \"please specify a property\",\n 27(property, name) {\n return `no observable property '${property.toString()}' found on the observable object '${name}'`\n },\n 28(thing) {\n return \"Cannot obtain atom from \" + thing\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32(name, derivation) {\n return `Cycle detected in computation ${name}: ${derivation}`\n },\n 33(name) {\n return `The setter of computed value '${name}' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`\n },\n 34(name) {\n return `[ComputedValue '${name}'] It is not possible to assign a new value to a computed value.`\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37(method) {\n return `[mobx] \\`observableArray.${method}()\\` mutates the array in-place, which is not allowed inside a derivation. Use \\`array.slice().${method}()\\` instead`\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n} as const\n\nconst errors: typeof niceErrors = __DEV__ ? niceErrors : ({} as any)\n\nexport function die(error: string | keyof typeof errors, ...args: any[]): never {\n if (__DEV__) {\n let e: any = typeof error === \"string\" ? error : errors[error]\n if (typeof e === \"function\") e = e.apply(null, args as any)\n throw new Error(`[MobX] ${e}`)\n }\n throw new Error(\n typeof error === \"number\"\n ? `[MobX] minified error nr: ${error}${\n args.length ? \" \" + args.map(String).join(\",\") : \"\"\n }. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`\n : `[MobX] ${error}`\n )\n}\n","declare const window: any\ndeclare const self: any\n\nconst mockGlobal = {}\n\nexport function getGlobal() {\n if (typeof globalThis !== \"undefined\") {\n return globalThis\n }\n if (typeof window !== \"undefined\") {\n return window\n }\n if (typeof global !== \"undefined\") {\n return global\n }\n if (typeof self !== \"undefined\") {\n return self\n }\n return mockGlobal\n}\n","import { globalState, die } from \"../internal\"\n\n// We shorten anything used > 5 times\nexport const assign = Object.assign\nexport const getDescriptor = Object.getOwnPropertyDescriptor\nexport const defineProperty = Object.defineProperty\nexport const objectPrototype = Object.prototype\n\nexport const EMPTY_ARRAY = []\nObject.freeze(EMPTY_ARRAY)\n\nexport const EMPTY_OBJECT = {}\nObject.freeze(EMPTY_OBJECT)\n\nexport interface Lambda {\n (): void\n name?: string\n}\n\nconst hasProxy = typeof Proxy !== \"undefined\"\nconst plainObjectString = Object.toString()\n\nexport function assertProxies() {\n if (!hasProxy) {\n die(\n __DEV__\n ? \"`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`\"\n : \"Proxy not available\"\n )\n }\n}\n\nexport function warnAboutProxyRequirement(msg: string) {\n if (__DEV__ && globalState.verifyProxies) {\n die(\n \"MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to \" +\n msg\n )\n }\n}\n\nexport function getNextId() {\n return ++globalState.mobxGuid\n}\n\n/**\n * Makes sure that the provided function is invoked at most once.\n */\nexport function once(func: Lambda): Lambda {\n let invoked = false\n return function () {\n if (invoked) {\n return\n }\n invoked = true\n return (func as any).apply(this, arguments)\n }\n}\n\nexport const noop = () => {}\n\nexport function isFunction(fn: any): fn is Function {\n return typeof fn === \"function\"\n}\n\nexport function isString(value: any): value is string {\n return typeof value === \"string\"\n}\n\nexport function isStringish(value: any): value is string | number | symbol {\n const t = typeof value\n switch (t) {\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true\n }\n return false\n}\n\nexport function isObject(value: any): value is Object {\n return value !== null && typeof value === \"object\"\n}\n\nexport function isPlainObject(value: any) {\n if (!isObject(value)) {\n return false\n }\n const proto = Object.getPrototypeOf(value)\n if (proto == null) {\n return true\n }\n const protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n return (\n typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString\n )\n}\n\n// https://stackoverflow.com/a/37865170\nexport function isGenerator(obj: any): boolean {\n const constructor = obj?.constructor\n if (!constructor) {\n return false\n }\n if (\n \"GeneratorFunction\" === constructor.name ||\n \"GeneratorFunction\" === constructor.displayName\n ) {\n return true\n }\n return false\n}\n\nexport function addHiddenProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value\n })\n}\n\nexport function addHiddenFinalProp(object: any, propName: PropertyKey, value: any) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value\n })\n}\n\nexport function createInstanceofPredicate(\n name: string,\n theClass: new (...args: any[]) => T\n): (x: any) => x is T {\n const propName = \"isMobX\" + name\n theClass.prototype[propName] = true\n return function (x) {\n return isObject(x) && x[propName] === true\n } as any\n}\n\nexport function isES6Map(thing: any): thing is Map {\n return thing instanceof Map\n}\n\nexport function isES6Set(thing: any): thing is Set {\n return thing instanceof Set\n}\n\nconst hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\"\n\n/**\n * Returns the following: own enumerable keys and symbols.\n */\nexport function getPlainObjectKeys(object: any) {\n const keys = Object.keys(object)\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) {\n return keys\n }\n const symbols = Object.getOwnPropertySymbols(object)\n if (!symbols.length) {\n return keys\n }\n return [...keys, ...symbols.filter(s => objectPrototype.propertyIsEnumerable.call(object, s))]\n}\n\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nexport const ownKeys: (target: any) => Array =\n typeof Reflect !== \"undefined\" && Reflect.ownKeys\n ? Reflect.ownKeys\n : hasGetOwnPropertySymbols\n ? obj => Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj) as any)\n : /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport function stringifyKey(key: any): string {\n if (typeof key === \"string\") {\n return key\n }\n if (typeof key === \"symbol\") {\n return key.toString()\n }\n return new String(key).toString()\n}\n\nexport function toPrimitive(value: any) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value\n}\n\nexport function hasProp(target: Object, prop: PropertyKey): boolean {\n return objectPrototype.hasOwnProperty.call(target, prop)\n}\n\n// From Immer utils\nexport const getOwnPropertyDescriptors =\n Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(target: any) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n const res: any = {}\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(key => {\n res[key] = getDescriptor(target, key)\n })\n return res\n }\n","import { Annotation, addHiddenProp, AnnotationsMap, hasProp, die, isOverride } from \"../internal\"\n\nimport type { Decorator } from \"../types/decorator_fills\"\n\nexport const storedAnnotationsSymbol = Symbol(\"mobx-stored-annotations\")\n\n/**\n * Creates a function that acts as\n * - decorator\n * - annotation object\n */\nexport function createDecoratorAnnotation(\n annotation: Annotation\n): PropertyDecorator & Annotation & D {\n function decorator(target, property) {\n if (is20223Decorator(property)) {\n return annotation.decorate_20223_(target, property)\n } else {\n storeAnnotation(target, property, annotation)\n }\n }\n return Object.assign(decorator, annotation) as any\n}\n\n/**\n * Stores annotation to prototype,\n * so it can be inspected later by `makeObservable` called from constructor\n */\nexport function storeAnnotation(prototype: any, key: PropertyKey, annotation: Annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) {\n addHiddenProp(prototype, storedAnnotationsSymbol, {\n // Inherit annotations\n ...prototype[storedAnnotationsSymbol]\n })\n }\n // @override must override something\n if (__DEV__ && isOverride(annotation) && !hasProp(prototype[storedAnnotationsSymbol], key)) {\n const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`\n die(\n `'${fieldName}' is decorated with 'override', ` +\n `but no such decorated member was found on prototype.`\n )\n }\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key)\n\n // Ignore override\n if (!isOverride(annotation)) {\n prototype[storedAnnotationsSymbol][key] = annotation\n }\n}\n\nfunction assertNotDecorated(prototype: object, annotation: Annotation, key: PropertyKey) {\n if (__DEV__ && !isOverride(annotation) && hasProp(prototype[storedAnnotationsSymbol], key)) {\n const fieldName = `${prototype.constructor.name}.prototype.${key.toString()}`\n const currentAnnotationType = prototype[storedAnnotationsSymbol][key].annotationType_\n const requestedAnnotationType = annotation.annotationType_\n die(\n `Cannot apply '@${requestedAnnotationType}' to '${fieldName}':` +\n `\\nThe field is already decorated with '@${currentAnnotationType}'.` +\n `\\nRe-decorating fields is not allowed.` +\n `\\nUse '@override' decorator for methods overridden by subclass.`\n )\n }\n}\n\n/**\n * Collects annotations from prototypes and stores them on target (instance)\n */\nexport function collectStoredAnnotations(target): AnnotationsMap {\n if (!hasProp(target, storedAnnotationsSymbol)) {\n // if (__DEV__ && !target[storedAnnotationsSymbol]) {\n // die(\n // `No annotations were passed to makeObservable, but no decorated members have been found either`\n // )\n // }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, { ...target[storedAnnotationsSymbol] })\n }\n return target[storedAnnotationsSymbol]\n}\n\nexport function is20223Decorator(context): context is DecoratorContext {\n return typeof context == \"object\" && typeof context[\"kind\"] == \"string\"\n}\n\nexport function assert20223DecoratorType(\n context: DecoratorContext,\n types: DecoratorContext[\"kind\"][]\n) {\n if (__DEV__ && !types.includes(context.kind)) {\n die(\n `The decorator applied to '${String(context.name)}' cannot be used on a ${\n context.kind\n } element`\n )\n }\n}\n","import {\n IDerivationState_,\n IObservable,\n IDerivation,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n noop,\n onBecomeObserved,\n onBecomeUnobserved,\n propagateChanged,\n reportObserved,\n startBatch,\n Lambda\n} from \"../internal\"\n\nexport const $mobx = Symbol(\"mobx administration\")\n\nexport interface IAtom extends IObservable {\n reportObserved(): boolean\n reportChanged(): void\n}\n\nexport class Atom implements IAtom {\n isPendingUnobservation_ = false // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n isBeingObserved_ = false\n observers_ = new Set()\n\n diffValue_ = 0\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.NOT_TRACKING_\n /**\n * Create a new atom. For debugging purposes it is recommended to give it a name.\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\n */\n constructor(public name_ = __DEV__ ? \"Atom@\" + getNextId() : \"Atom\") {}\n\n // onBecomeObservedListeners\n public onBOL: Set | undefined\n // onBecomeUnobservedListeners\n public onBUOL: Set | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\n }\n\n /**\n * Invoke this method to notify mobx that your atom has been used somehow.\n * Returns true if there is currently a reactive context.\n */\n public reportObserved(): boolean {\n return reportObserved(this)\n }\n\n /**\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\n */\n public reportChanged() {\n startBatch()\n propagateChanged(this)\n endBatch()\n }\n\n toString() {\n return this.name_\n }\n}\n\nexport const isAtom = createInstanceofPredicate(\"Atom\", Atom)\n\nexport function createAtom(\n name: string,\n onBecomeObservedHandler: () => void = noop,\n onBecomeUnobservedHandler: () => void = noop\n): IAtom {\n const atom = new Atom(name)\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler)\n }\n\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler)\n }\n return atom\n}\n","import { deepEqual } from \"../internal\"\n\nexport interface IEqualsComparer {\n (a: T, b: T): boolean\n}\n\nfunction identityComparer(a: any, b: any): boolean {\n return a === b\n}\n\nfunction structuralComparer(a: any, b: any): boolean {\n return deepEqual(a, b)\n}\n\nfunction shallowComparer(a: any, b: any): boolean {\n return deepEqual(a, b, 1)\n}\n\nfunction defaultComparer(a: any, b: any): boolean {\n if (Object.is) {\n return Object.is(a, b)\n }\n\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b\n}\n\nexport const comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n default: defaultComparer,\n shallow: shallowComparer\n}\n","import {\n deepEqual,\n isES6Map,\n isES6Set,\n isObservable,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n isPlainObject,\n observable,\n die,\n isAction,\n autoAction,\n flow,\n isFlow,\n isGenerator\n} from \"../internal\"\n\nexport interface IEnhancer {\n (newValue: T, oldValue: T | undefined, name: string): T\n}\n\nexport function deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) {\n return v\n }\n\n // something that can be converted and mutated?\n if (Array.isArray(v)) {\n return observable.array(v, { name })\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, { name })\n }\n if (isES6Map(v)) {\n return observable.map(v, { name })\n }\n if (isES6Set(v)) {\n return observable.set(v, { name })\n }\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) {\n return flow(v)\n } else {\n return autoAction(name, v)\n }\n }\n return v\n}\n\nexport function shallowEnhancer(v, _, name): any {\n if (v === undefined || v === null) {\n return v\n }\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) {\n return v\n }\n if (Array.isArray(v)) {\n return observable.array(v, { name, deep: false })\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, { name, deep: false })\n }\n if (isES6Map(v)) {\n return observable.map(v, { name, deep: false })\n }\n if (isES6Set(v)) {\n return observable.set(v, { name, deep: false })\n }\n\n if (__DEV__) {\n die(\n \"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\"\n )\n }\n}\n\nexport function referenceEnhancer(newValue?) {\n // never turn into an observable\n return newValue\n}\n\nexport function refStructEnhancer(v, oldValue): any {\n if (__DEV__ && isObservable(v)) {\n die(`observable.struct should not be used with observable values`)\n }\n if (deepEqual(v, oldValue)) {\n return oldValue\n }\n return v\n}\n","import {\n die,\n Annotation,\n hasProp,\n createDecoratorAnnotation,\n ObservableObjectAdministration,\n MakeResult\n} from \"../internal\"\n\nimport type { ClassMethodDecorator } from \"./decorator_fills\"\n\nconst OVERRIDE = \"override\"\n\nexport const override: Annotation & PropertyDecorator & ClassMethodDecorator =\n createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_,\n extend_,\n decorate_20223_\n })\n\nexport function isOverride(annotation: Annotation): boolean {\n return annotation.annotationType_ === OVERRIDE\n}\n\nfunction make_(this: Annotation, adm: ObservableObjectAdministration, key): MakeResult {\n // Must not be plain object\n if (__DEV__ && adm.isPlainObject_) {\n die(\n `Cannot apply '${this.annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${this.annotationType_}' cannot be used on plain objects.`\n )\n }\n // Must override something\n if (__DEV__ && !hasProp(adm.appliedAnnotations_!, key)) {\n die(\n `'${adm.name_}.${key.toString()}' is annotated with '${this.annotationType_}', ` +\n `but no such annotated member was found on prototype.`\n )\n }\n return MakeResult.Cancel\n}\n\nfunction extend_(this: Annotation, adm, key, descriptor, proxyTrap): boolean {\n die(`'${this.annotationType_}' can only be used with 'makeObservable'`)\n}\n\nfunction decorate_20223_(this: Annotation, desc, context: DecoratorContext) {\n console.warn(`'${this.annotationType_}' cannot be used with decorators - this is a no-op`)\n}\n","import {\n ObservableObjectAdministration,\n createAction,\n isAction,\n defineProperty,\n die,\n isFunction,\n Annotation,\n globalState,\n MakeResult,\n assert20223DecoratorType,\n storeAnnotation\n} from \"../internal\"\n\nexport function createActionAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // bound\n if (this.options_?.bound) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Break\n }\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // prototype\n if (isAction(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return MakeResult.Break\n }\n const actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false)\n defineProperty(source, key, actionDescriptor)\n return MakeResult.Continue\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n const actionDescriptor = createActionDescriptor(adm, this, key, descriptor)\n return adm.defineProperty_(key, actionDescriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, mthd, context: DecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"method\", \"field\"])\n }\n const { kind, name, addInitializer } = context\n const ann = this\n\n const _createAction = m =>\n createAction(ann.options_?.name ?? name!.toString(), m, ann.options_?.autoAction ?? false)\n\n // Backwards/Legacy behavior, expects makeObservable(this)\n if (kind == \"field\") {\n addInitializer(function () {\n storeAnnotation(this, name, ann)\n })\n return\n }\n\n if (kind == \"method\") {\n if (!isAction(mthd)) {\n mthd = _createAction(mthd)\n }\n\n if (this.options_?.bound) {\n addInitializer(function () {\n const self = this as any\n const bound = self[name].bind(self)\n bound.isMobxAction = true\n self[name] = bound\n })\n }\n\n return mthd\n }\n\n die(\n `Cannot apply '${ann.annotationType_}' to '${String(name)}' (kind: ${kind}):` +\n `\\n'${ann.annotationType_}' can only be used on properties with a function value.`\n )\n}\n\nfunction assertActionDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { value }: PropertyDescriptor\n) {\n if (__DEV__ && !isFunction(value)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on properties with a function value.`\n )\n }\n}\n\nexport function createActionDescriptor(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n // provides ability to disable safeDescriptors for prototypes\n safeDescriptors: boolean = globalState.safeDescriptors\n) {\n assertActionDescriptor(adm, annotation, key, descriptor)\n let { value } = descriptor\n if (annotation.options_?.bound) {\n value = value.bind(adm.proxy_ ?? adm.target_)\n }\n return {\n value: createAction(\n annotation.options_?.name ?? key.toString(),\n value,\n annotation.options_?.autoAction ?? false,\n // https://github.com/mobxjs/mobx/discussions/3140\n annotation.options_?.bound ? adm.proxy_ ?? adm.target_ : undefined\n ),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n }\n}\n","import {\n ObservableObjectAdministration,\n Annotation,\n defineProperty,\n die,\n flow,\n isFlow,\n isFunction,\n globalState,\n MakeResult,\n hasProp,\n assert20223DecoratorType\n} from \"../internal\"\n\nexport function createFlowAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // prototype\n // bound - must annotate protos to support super.flow()\n if (this.options_?.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) {\n return MakeResult.Cancel\n }\n }\n if (isFlow(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return MakeResult.Break\n }\n const flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false)\n defineProperty(source, key, flowDescriptor)\n return MakeResult.Continue\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n const flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, this.options_?.bound)\n return adm.defineProperty_(key, flowDescriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, mthd, context: ClassMethodDecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"method\"])\n }\n const { name, addInitializer } = context\n\n if (!isFlow(mthd)) {\n mthd = flow(mthd)\n }\n\n if (this.options_?.bound) {\n addInitializer(function () {\n const self = this as any\n const bound = self[name].bind(self)\n bound.isMobXFlow = true\n self[name] = bound\n })\n }\n\n return mthd\n}\n\nfunction assertFlowDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { value }: PropertyDescriptor\n) {\n if (__DEV__ && !isFunction(value)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on properties with a generator function value.`\n )\n }\n}\n\nfunction createFlowDescriptor(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n bound: boolean,\n // provides ability to disable safeDescriptors for prototypes\n safeDescriptors: boolean = globalState.safeDescriptors\n): PropertyDescriptor {\n assertFlowDescriptor(adm, annotation, key, descriptor)\n let { value } = descriptor\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) {\n value = flow(value)\n }\n if (bound) {\n // We do not keep original function around, so we bind the existing flow\n value = value.bind(adm.proxy_ ?? adm.target_)\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true\n }\n return {\n value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n }\n}\n","import {\n ObservableObjectAdministration,\n die,\n Annotation,\n MakeResult,\n assert20223DecoratorType,\n $mobx,\n asObservableObject,\n ComputedValue\n} from \"../internal\"\n\nexport function createComputedAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): MakeResult {\n return this.extend_(adm, key, descriptor, false) === null ? MakeResult.Cancel : MakeResult.Break\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n assertComputedDescriptor(adm, this, key, descriptor)\n return adm.defineComputedProperty_(\n key,\n {\n ...this.options_,\n get: descriptor.get,\n set: descriptor.set\n },\n proxyTrap\n )\n}\n\nfunction decorate_20223_(this: Annotation, get, context: ClassGetterDecoratorContext) {\n if (__DEV__) {\n assert20223DecoratorType(context, [\"getter\"])\n }\n const ann = this\n const { name: key, addInitializer } = context\n\n addInitializer(function () {\n const adm: ObservableObjectAdministration = asObservableObject(this)[$mobx]\n const options = {\n ...ann.options_,\n get,\n context: this\n }\n options.name ||= __DEV__\n ? `${adm.name_}.${key.toString()}`\n : `ObservableObject.${key.toString()}`\n adm.values_.set(key, new ComputedValue(options))\n })\n\n return function () {\n return this[$mobx].getObservablePropValue_(key)\n }\n}\n\nfunction assertComputedDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n { get }: PropertyDescriptor\n) {\n if (__DEV__ && !get) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' can only be used on getter(+setter) properties.`\n )\n }\n}\n","import {\n ObservableObjectAdministration,\n deepEnhancer,\n die,\n Annotation,\n MakeResult,\n assert20223DecoratorType,\n ObservableValue,\n asObservableObject,\n $mobx\n} from \"../internal\"\n\nexport function createObservableAnnotation(name: string, options?: object): Annotation {\n return {\n annotationType_: name,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n): MakeResult {\n return this.extend_(adm, key, descriptor, false) === null ? MakeResult.Cancel : MakeResult.Break\n}\n\nfunction extend_(\n this: Annotation,\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n assertObservableDescriptor(adm, this, key, descriptor)\n return adm.defineObservableProperty_(\n key,\n descriptor.value,\n this.options_?.enhancer ?? deepEnhancer,\n proxyTrap\n )\n}\n\nfunction decorate_20223_(\n this: Annotation,\n desc,\n context: ClassAccessorDecoratorContext | ClassFieldDecoratorContext\n) {\n if (__DEV__) {\n if (context.kind === \"field\") {\n throw die(\n `Please use \\`@observable accessor ${String(\n context.name\n )}\\` instead of \\`@observable ${String(context.name)}\\``\n )\n }\n assert20223DecoratorType(context, [\"accessor\"])\n }\n\n const ann = this\n const { kind, name } = context\n\n // The laziness here is not ideal... It's a workaround to how 2022.3 Decorators are implemented:\n // `addInitializer` callbacks are executed _before_ any accessors are defined (instead of the ideal-for-us right after each).\n // This means that, if we were to do our stuff in an `addInitializer`, we'd attempt to read a private slot\n // before it has been initialized. The runtime doesn't like that and throws a `Cannot read private member\n // from an object whose class did not declare it` error.\n // TODO: it seems that this will not be required anymore in the final version of the spec\n // See TODO: link\n const initializedObjects = new WeakSet()\n\n function initializeObservable(target, value) {\n const adm: ObservableObjectAdministration = asObservableObject(target)[$mobx]\n const observable = new ObservableValue(\n value,\n ann.options_?.enhancer ?? deepEnhancer,\n __DEV__ ? `${adm.name_}.${name.toString()}` : `ObservableObject.${name.toString()}`,\n false\n )\n adm.values_.set(name, observable)\n initializedObjects.add(target)\n }\n\n if (kind == \"accessor\") {\n return {\n get() {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, desc.get.call(this))\n }\n return this[$mobx].getObservablePropValue_(name)\n },\n set(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value)\n }\n return this[$mobx].setObservablePropValue_(name, value)\n },\n init(value) {\n if (!initializedObjects.has(this)) {\n initializeObservable(this, value)\n }\n return value\n }\n }\n }\n\n return\n}\n\nfunction assertObservableDescriptor(\n adm: ObservableObjectAdministration,\n { annotationType_ }: Annotation,\n key: PropertyKey,\n descriptor: PropertyDescriptor\n) {\n if (__DEV__ && !(\"value\" in descriptor)) {\n die(\n `Cannot apply '${annotationType_}' to '${adm.name_}.${key.toString()}':` +\n `\\n'${annotationType_}' cannot be used on getter/setter properties`\n )\n }\n}\n","import {\n ObservableObjectAdministration,\n observable,\n Annotation,\n defineProperty,\n createAction,\n globalState,\n flow,\n computed,\n autoAction,\n isGenerator,\n MakeResult,\n die\n} from \"../internal\"\n\nconst AUTO = \"true\"\n\nexport const autoAnnotation: Annotation = createAutoAnnotation()\n\nexport function createAutoAnnotation(options?: object): Annotation {\n return {\n annotationType_: AUTO,\n options_: options,\n make_,\n extend_,\n decorate_20223_\n }\n}\n\nfunction make_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n): MakeResult {\n // getter -> computed\n if (descriptor.get) {\n return computed.make_(adm, key, descriptor, source)\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n const set = createAction(key.toString(), descriptor.set) as (v: any) => void\n // own\n if (source === adm.target_) {\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set\n }) === null\n ? MakeResult.Cancel\n : MakeResult.Continue\n }\n // proto\n defineProperty(source, key, {\n configurable: true,\n set\n })\n return MakeResult.Continue\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n if (isGenerator(descriptor.value)) {\n const flowAnnotation = this.options_?.autoBind ? flow.bound : flow\n return flowAnnotation.make_(adm, key, descriptor, source)\n }\n const actionAnnotation = this.options_?.autoBind ? autoAction.bound : autoAction\n return actionAnnotation.make_(adm, key, descriptor, source)\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n let observableAnnotation = this.options_?.deep === false ? observable.ref : observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && this.options_?.autoBind) {\n descriptor.value = descriptor.value.bind(adm.proxy_ ?? adm.target_)\n }\n return observableAnnotation.make_(adm, key, descriptor, source)\n}\n\nfunction extend_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n): boolean | null {\n // getter -> computed\n if (descriptor.get) {\n return computed.extend_(adm, key, descriptor, proxyTrap)\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(\n key,\n {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set) as (v: any) => void\n },\n proxyTrap\n )\n }\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && this.options_?.autoBind) {\n descriptor.value = descriptor.value.bind(adm.proxy_ ?? adm.target_)\n }\n let observableAnnotation = this.options_?.deep === false ? observable.ref : observable\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap)\n}\n\nfunction decorate_20223_(this: Annotation, desc, context: ClassGetterDecoratorContext) {\n die(`'${this.annotationType_}' cannot be used as a decorator`)\n}\n","import {\n IEnhancer,\n IEqualsComparer,\n IObservableArray,\n IObservableMapInitialValues,\n IObservableSetInitialValues,\n IObservableValue,\n ObservableMap,\n ObservableSet,\n ObservableValue,\n asDynamicObservableObject,\n createObservableArray,\n deepEnhancer,\n extendObservable,\n isES6Map,\n isES6Set,\n isObservable,\n isPlainObject,\n referenceEnhancer,\n Annotation,\n shallowEnhancer,\n refStructEnhancer,\n AnnotationsMap,\n asObservableObject,\n storeAnnotation,\n createDecoratorAnnotation,\n createLegacyArray,\n globalState,\n assign,\n isStringish,\n createObservableAnnotation,\n createAutoAnnotation,\n is20223Decorator,\n initObservable\n} from \"../internal\"\n\nimport type { ClassAccessorDecorator, ClassFieldDecorator } from \"../types/decorator_fills\"\n\nexport const OBSERVABLE = \"observable\"\nexport const OBSERVABLE_REF = \"observable.ref\"\nexport const OBSERVABLE_SHALLOW = \"observable.shallow\"\nexport const OBSERVABLE_STRUCT = \"observable.struct\"\n\nexport type CreateObservableOptions = {\n name?: string\n equals?: IEqualsComparer\n deep?: boolean\n defaultDecorator?: Annotation\n proxy?: boolean\n autoBind?: boolean\n}\n\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nexport const defaultCreateObservableOptions: CreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n}\nObject.freeze(defaultCreateObservableOptions)\n\nexport function asCreateObservableOptions(thing: any): CreateObservableOptions {\n return thing || defaultCreateObservableOptions\n}\n\nconst observableAnnotation = createObservableAnnotation(OBSERVABLE)\nconst observableRefAnnotation = createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n})\nconst observableShallowAnnotation = createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n})\nconst observableStructAnnotation = createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n})\nconst observableDecoratorAnnotation =\n createDecoratorAnnotation(observableAnnotation)\n\nexport function getEnhancerFromOptions(options: CreateObservableOptions): IEnhancer {\n return options.deep === true\n ? deepEnhancer\n : options.deep === false\n ? referenceEnhancer\n : getEnhancerFromAnnotation(options.defaultDecorator)\n}\n\nexport function getAnnotationFromOptions(\n options?: CreateObservableOptions\n): Annotation | undefined {\n return options ? options.defaultDecorator ?? createAutoAnnotation(options) : undefined\n}\n\nexport function getEnhancerFromAnnotation(annotation?: Annotation): IEnhancer {\n return !annotation ? deepEnhancer : annotation.options_?.enhancer ?? deepEnhancer\n}\n\n/**\n * Turns an object, array or function into a reactive structure.\n * @param v the value which should become observable.\n */\nfunction createObservable(v: any, arg2?: any, arg3?: any) {\n // @observable someProp; (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return observableAnnotation.decorate_20223_(v, arg2)\n }\n\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation)\n return\n }\n\n // already observable - ignore\n if (isObservable(v)) {\n return v\n }\n\n // plain object\n if (isPlainObject(v)) {\n return observable.object(v, arg2, arg3)\n }\n\n // Array\n if (Array.isArray(v)) {\n return observable.array(v, arg2)\n }\n\n // Map\n if (isES6Map(v)) {\n return observable.map(v, arg2)\n }\n\n // Set\n if (isES6Set(v)) {\n return observable.set(v, arg2)\n }\n\n // other object - ignore\n if (typeof v === \"object\" && v !== null) {\n return v\n }\n\n // anything else\n return observable.box(v, arg2)\n}\nassign(createObservable, observableDecoratorAnnotation)\n\nexport interface IObservableValueFactory {\n (value: T, options?: CreateObservableOptions): IObservableValue\n (value?: T, options?: CreateObservableOptions): IObservableValue\n}\n\nexport interface IObservableFactory\n extends Annotation,\n PropertyDecorator,\n ClassAccessorDecorator,\n ClassFieldDecorator {\n // TODO: remove ClassFieldDecorator, this is only temporarily support for legacy decorators\n (value: T[], options?: CreateObservableOptions): IObservableArray\n (value: Set, options?: CreateObservableOptions): ObservableSet\n (value: Map, options?: CreateObservableOptions): ObservableMap\n (\n value: T,\n decorators?: AnnotationsMap,\n options?: CreateObservableOptions\n ): T\n\n box: IObservableValueFactory\n array: (initialValues?: T[], options?: CreateObservableOptions) => IObservableArray\n set: (\n initialValues?: IObservableSetInitialValues,\n options?: CreateObservableOptions\n ) => ObservableSet\n map: (\n initialValues?: IObservableMapInitialValues,\n options?: CreateObservableOptions\n ) => ObservableMap\n object: (\n props: T,\n decorators?: AnnotationsMap,\n options?: CreateObservableOptions\n ) => T\n\n /**\n * Decorator that creates an observable that only observes the references, but doesn't try to turn the assigned value into an observable.ts.\n */\n ref: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n /**\n * Decorator that creates an observable converts its value (objects, maps or arrays) into a shallow observable structure\n */\n shallow: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n deep: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n struct: Annotation & PropertyDecorator & ClassAccessorDecorator & ClassFieldDecorator\n}\n\nconst observableFactories: IObservableFactory = {\n box(value: T, options?: CreateObservableOptions): IObservableValue {\n const o = asCreateObservableOptions(options)\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals)\n },\n array(initialValues?: T[], options?: CreateObservableOptions): IObservableArray {\n const o = asCreateObservableOptions(options)\n return (\n globalState.useProxies === false || o.proxy === false\n ? createLegacyArray\n : createObservableArray\n )(initialValues, getEnhancerFromOptions(o), o.name)\n },\n map(\n initialValues?: IObservableMapInitialValues,\n options?: CreateObservableOptions\n ): ObservableMap {\n const o = asCreateObservableOptions(options)\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name)\n },\n set(\n initialValues?: IObservableSetInitialValues,\n options?: CreateObservableOptions\n ): ObservableSet {\n const o = asCreateObservableOptions(options)\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name)\n },\n object(\n props: T,\n decorators?: AnnotationsMap,\n options?: CreateObservableOptions\n ): T {\n return initObservable(() =>\n extendObservable(\n globalState.useProxies === false || options?.proxy === false\n ? asObservableObject({}, options)\n : asDynamicObservableObject({}, options),\n props,\n decorators\n )\n )\n },\n ref: createDecoratorAnnotation(observableRefAnnotation),\n shallow: createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: createDecoratorAnnotation(observableStructAnnotation)\n} as any\n\n// eslint-disable-next-line\nexport var observable: IObservableFactory = assign(createObservable, observableFactories)\n","import {\n ComputedValue,\n IComputedValueOptions,\n Annotation,\n storeAnnotation,\n createDecoratorAnnotation,\n isStringish,\n isPlainObject,\n isFunction,\n die,\n IComputedValue,\n createComputedAnnotation,\n comparer,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassGetterDecorator } from \"../types/decorator_fills\"\n\nexport const COMPUTED = \"computed\"\nexport const COMPUTED_STRUCT = \"computed.struct\"\n\nexport interface IComputedFactory extends Annotation, PropertyDecorator, ClassGetterDecorator {\n // @computed(opts)\n (options: IComputedValueOptions): Annotation & PropertyDecorator & ClassGetterDecorator\n // computed(fn, opts)\n (func: () => T, options?: IComputedValueOptions): IComputedValue\n\n struct: Annotation & PropertyDecorator & ClassGetterDecorator\n}\n\nconst computedAnnotation = createComputedAnnotation(COMPUTED)\nconst computedStructAnnotation = createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n})\n\n/**\n * Decorator for class properties: @computed get value() { return expr; }.\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\n */\nexport const computed: IComputedFactory = function computed(arg1, arg2) {\n if (is20223Decorator(arg2)) {\n // @computed (2022.3 Decorators)\n return computedAnnotation.decorate_20223_(arg1, arg2)\n }\n if (isStringish(arg2)) {\n // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation)\n }\n if (isPlainObject(arg1)) {\n // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1))\n }\n\n // computed(expr, options?)\n if (__DEV__) {\n if (!isFunction(arg1)) {\n die(\"First argument to `computed` should be an expression.\")\n }\n if (isFunction(arg2)) {\n die(\n \"A setter as second argument is no longer supported, use `{ set: fn }` option instead\"\n )\n }\n }\n const opts: IComputedValueOptions = isPlainObject(arg2) ? arg2 : {}\n opts.get = arg1\n opts.name ||= arg1.name || \"\" /* for generated name */\n\n return new ComputedValue(opts)\n} as any\n\nObject.assign(computed, computedAnnotation)\n\ncomputed.struct = createDecoratorAnnotation(computedStructAnnotation)\n","import {\n IDerivation,\n endBatch,\n globalState,\n isSpyEnabled,\n spyReportEnd,\n spyReportStart,\n startBatch,\n untrackedEnd,\n untrackedStart,\n isFunction,\n allowStateReadsStart,\n allowStateReadsEnd,\n ACTION,\n EMPTY_ARRAY,\n die,\n getDescriptor,\n defineProperty\n} from \"../internal\"\n\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nlet currentActionId = 0\nlet nextActionId = 1\nconst isFunctionNameConfigurable = getDescriptor(() => {}, \"name\")?.configurable ?? false\n\n// we can safely recycle this object\nconst tmpNameDescriptor: PropertyDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n}\n\nexport function createAction(\n actionName: string,\n fn: Function,\n autoAction: boolean = false,\n ref?: Object\n): Function {\n if (__DEV__) {\n if (!isFunction(fn)) {\n die(\"`action` can only be invoked on functions\")\n }\n if (typeof actionName !== \"string\" || !actionName) {\n die(`actions should have valid names, got: '${actionName}'`)\n }\n }\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments)\n }\n res.isMobxAction = true\n res.toString = () => fn.toString()\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName\n defineProperty(res, \"name\", tmpNameDescriptor)\n }\n return res\n}\n\nexport function executeAction(\n actionName: string,\n canRunAsDerivation: boolean,\n fn: Function,\n scope?: any,\n args?: IArguments\n) {\n const runInfo = _startAction(actionName, canRunAsDerivation, scope, args)\n try {\n return fn.apply(scope, args)\n } catch (err) {\n runInfo.error_ = err\n throw err\n } finally {\n _endAction(runInfo)\n }\n}\n\nexport interface IActionRunInfo {\n prevDerivation_: IDerivation | null\n prevAllowStateChanges_: boolean\n prevAllowStateReads_: boolean\n notifySpy_: boolean\n startTime_: number\n error_?: any\n parentActionId_: number\n actionId_: number\n runAsAction_?: boolean\n}\n\nexport function _startAction(\n actionName: string,\n canRunAsDerivation: boolean, // true for autoAction\n scope: any,\n args?: IArguments\n): IActionRunInfo {\n const notifySpy_ = __DEV__ && isSpyEnabled() && !!actionName\n let startTime_: number = 0\n if (__DEV__ && notifySpy_) {\n startTime_ = Date.now()\n const flattenedArgs = args ? Array.from(args) : EMPTY_ARRAY\n spyReportStart({\n type: ACTION,\n name: actionName,\n object: scope,\n arguments: flattenedArgs\n })\n }\n const prevDerivation_ = globalState.trackingDerivation\n const runAsAction = !canRunAsDerivation || !prevDerivation_\n startBatch()\n let prevAllowStateChanges_ = globalState.allowStateChanges // by default preserve previous allow\n if (runAsAction) {\n untrackedStart()\n prevAllowStateChanges_ = allowStateChangesStart(true)\n }\n const prevAllowStateReads_ = allowStateReadsStart(true)\n const runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_,\n prevAllowStateChanges_,\n prevAllowStateReads_,\n notifySpy_,\n startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n }\n currentActionId = runInfo.actionId_\n return runInfo\n}\n\nexport function _endAction(runInfo: IActionRunInfo) {\n if (currentActionId !== runInfo.actionId_) {\n die(30)\n }\n currentActionId = runInfo.parentActionId_\n\n if (runInfo.error_ !== undefined) {\n globalState.suppressReactionErrors = true\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges_)\n allowStateReadsEnd(runInfo.prevAllowStateReads_)\n endBatch()\n if (runInfo.runAsAction_) {\n untrackedEnd(runInfo.prevDerivation_)\n }\n if (__DEV__ && runInfo.notifySpy_) {\n spyReportEnd({ time: Date.now() - runInfo.startTime_ })\n }\n globalState.suppressReactionErrors = false\n}\n\nexport function allowStateChanges(allowStateChanges: boolean, func: () => T): T {\n const prev = allowStateChangesStart(allowStateChanges)\n try {\n return func()\n } finally {\n allowStateChangesEnd(prev)\n }\n}\n\nexport function allowStateChangesStart(allowStateChanges: boolean) {\n const prev = globalState.allowStateChanges\n globalState.allowStateChanges = allowStateChanges\n return prev\n}\n\nexport function allowStateChangesEnd(prev: boolean) {\n globalState.allowStateChanges = prev\n}\n","import {\n Atom,\n IEnhancer,\n IInterceptable,\n IEqualsComparer,\n IInterceptor,\n IListenable,\n Lambda,\n checkIfStateModificationsAreAllowed,\n comparer,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReport,\n spyReportEnd,\n spyReportStart,\n toPrimitive,\n globalState,\n IUNCHANGED,\n UPDATE\n} from \"../internal\"\n\nexport interface IValueWillChange {\n object: IObservableValue\n type: \"update\"\n newValue: T\n}\n\nexport type IValueDidChange = {\n type: \"update\"\n observableKind: \"value\"\n object: IObservableValue\n debugObjectName: string\n newValue: T\n oldValue: T | undefined\n}\nexport type IBoxDidChange =\n | {\n type: \"create\"\n observableKind: \"value\"\n object: IObservableValue\n debugObjectName: string\n newValue: T\n }\n | IValueDidChange\n\nexport interface IObservableValue {\n get(): T\n set(value: T): void\n}\n\nconst CREATE = \"create\"\n\nexport class ObservableValue\n extends Atom\n implements IObservableValue, IInterceptable>, IListenable\n{\n hasUnreportedChange_ = false\n interceptors_\n changeListeners_\n value_\n dehancer: any\n\n constructor(\n value: T,\n public enhancer: IEnhancer,\n public name_ = __DEV__ ? \"ObservableValue@\" + getNextId() : \"ObservableValue\",\n notifySpy = true,\n private equals: IEqualsComparer = comparer.default\n ) {\n super(name_)\n this.value_ = enhancer(value, undefined, name_)\n if (__DEV__ && notifySpy && isSpyEnabled()) {\n // only notify spy if this is a stand-alone observable\n spyReport({\n type: CREATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue: \"\" + this.value_\n })\n }\n }\n\n private dehanceValue(value: T): T {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n public set(newValue: T) {\n const oldValue = this.value_\n newValue = this.prepareNewValue_(newValue) as any\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n if (__DEV__ && notifySpy) {\n spyReportStart({\n type: UPDATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue,\n oldValue\n })\n }\n this.setNewValue_(newValue)\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n }\n\n private prepareNewValue_(newValue): T | IUNCHANGED {\n checkIfStateModificationsAreAllowed(this)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n object: this,\n type: UPDATE,\n newValue\n })\n if (!change) {\n return globalState.UNCHANGED\n }\n newValue = change.newValue\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_)\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue\n }\n\n setNewValue_(newValue: T) {\n const oldValue = this.value_\n this.value_ = newValue\n this.reportChanged()\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue,\n oldValue\n })\n }\n }\n\n public get(): T {\n this.reportObserved()\n return this.dehanceValue(this.value_)\n }\n\n intercept_(handler: IInterceptor>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n observe_(listener: (change: IValueDidChange) => void, fireImmediately?: boolean): Lambda {\n if (fireImmediately) {\n listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n })\n }\n return registerListener(this, listener)\n }\n\n raw() {\n // used by MST ot get undehanced value\n return this.value_\n }\n\n toJSON() {\n return this.get()\n }\n\n toString() {\n return `${this.name_}[${this.value_}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isObservableValue = createInstanceofPredicate(\"ObservableValue\", ObservableValue) as (\n x: any\n) => x is IObservableValue\n","import {\n CaughtException,\n IDerivation,\n IDerivationState_,\n IEqualsComparer,\n IObservable,\n Lambda,\n TraceMode,\n autorun,\n clearObserving,\n comparer,\n createAction,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n propagateChangeConfirmed,\n propagateMaybeChanged,\n reportObserved,\n shouldCompute,\n spyReport,\n startBatch,\n toPrimitive,\n trackDerivedFunction,\n untrackedEnd,\n untrackedStart,\n UPDATE,\n die,\n allowStateChangesStart,\n allowStateChangesEnd\n} from \"../internal\"\n\nexport interface IComputedValue {\n get(): T\n set(value: T): void\n}\n\nexport interface IComputedValueOptions {\n get?: () => T\n set?: (value: T) => void\n name?: string\n equals?: IEqualsComparer\n context?: any\n requiresReaction?: boolean\n keepAlive?: boolean\n}\n\nexport type IComputedDidChange = {\n type: \"update\"\n observableKind: \"computed\"\n object: unknown\n debugObjectName: string\n newValue: T\n oldValue: T | undefined\n}\n\n/**\n * A node in the state dependency root that observes other nodes, and can be observed itself.\n *\n * ComputedValue will remember the result of the computation for the duration of the batch, or\n * while being observed.\n *\n * During this time it will recompute only when one of its direct dependencies changed,\n * but only when it is being accessed with `ComputedValue.get()`.\n *\n * Implementation description:\n * 1. First time it's being accessed it will compute and remember result\n * give back remembered result until 2. happens\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\n * 3. When it's being accessed, recompute if any shallow dependency changed.\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\n * go to step 2. either way\n *\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\n */\nexport class ComputedValue implements IObservable, IComputedValue, IDerivation {\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_ = null // during tracking it's an array with new observed observers\n isBeingObserved_ = false\n isPendingUnobservation_: boolean = false\n observers_ = new Set()\n diffValue_ = 0\n runId_ = 0\n lastAccessedBy_ = 0\n lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n unboundDepsCount_ = 0\n protected value_: T | undefined | CaughtException = new CaughtException(null)\n name_: string\n triggeredBy_?: string\n isComputing_: boolean = false // to check for cycles\n isRunningSetter_: boolean = false\n derivation: () => T // N.B: unminified as it is used by MST\n setter_?: (value: T) => void\n isTracing_: TraceMode = TraceMode.NONE\n scope_: Object | undefined\n private equals_: IEqualsComparer\n private requiresReaction_: boolean | undefined\n keepAlive_: boolean\n\n /**\n * Create a new computed value based on a function expression.\n *\n * The `name` property is for debug purposes only.\n *\n * The `equals` property specifies the comparer function to use to determine if a newly produced\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\n * Structural comparison can be convenient if you always produce a new aggregated object and\n * don't want to notify observers if it is structurally the same.\n * This is useful for working with vectors, mouse coordinates etc.\n */\n constructor(options: IComputedValueOptions) {\n if (!options.get) {\n die(31)\n }\n this.derivation = options.get!\n this.name_ = options.name || (__DEV__ ? \"ComputedValue@\" + getNextId() : \"ComputedValue\")\n if (options.set) {\n this.setter_ = createAction(\n __DEV__ ? this.name_ + \"-setter\" : \"ComputedValue-setter\",\n options.set\n ) as any\n }\n this.equals_ =\n options.equals ||\n ((options as any).compareStructural || (options as any).struct\n ? comparer.structural\n : comparer.default)\n this.scope_ = options.context\n this.requiresReaction_ = options.requiresReaction\n this.keepAlive_ = !!options.keepAlive\n }\n\n onBecomeStale_() {\n propagateMaybeChanged(this)\n }\n\n public onBOL: Set | undefined\n public onBUOL: Set | undefined\n\n public onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(listener => listener())\n }\n }\n\n public onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(listener => listener())\n }\n }\n\n /**\n * Returns the current value of this computed value.\n * Will evaluate its computation first if needed.\n */\n public get(): T {\n if (this.isComputing_) {\n die(32, this.name_, this.derivation)\n }\n if (\n globalState.inBatch === 0 &&\n // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 &&\n !this.keepAlive_\n ) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_()\n startBatch() // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false)\n endBatch()\n }\n } else {\n reportObserved(this)\n if (shouldCompute(this)) {\n let prevTrackingContext = globalState.trackingContext\n if (this.keepAlive_ && !prevTrackingContext) {\n globalState.trackingContext = this\n }\n if (this.trackAndCompute()) {\n propagateChangeConfirmed(this)\n }\n globalState.trackingContext = prevTrackingContext\n }\n }\n const result = this.value_!\n\n if (isCaughtException(result)) {\n throw result.cause\n }\n return result\n }\n\n public set(value: T) {\n if (this.setter_) {\n if (this.isRunningSetter_) {\n die(33, this.name_)\n }\n this.isRunningSetter_ = true\n try {\n this.setter_.call(this.scope_, value)\n } finally {\n this.isRunningSetter_ = false\n }\n } else {\n die(34, this.name_)\n }\n }\n\n trackAndCompute(): boolean {\n // N.B: unminified as it is used by MST\n const oldValue = this.value_\n const wasSuspended =\n /* see #1208 */ this.dependenciesState_ === IDerivationState_.NOT_TRACKING_\n const newValue = this.computeValue_(true)\n\n const changed =\n wasSuspended ||\n isCaughtException(oldValue) ||\n isCaughtException(newValue) ||\n !this.equals_(oldValue, newValue)\n\n if (changed) {\n this.value_ = newValue\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n object: this.scope_,\n type: \"update\",\n oldValue,\n newValue\n } as IComputedDidChange)\n }\n }\n\n return changed\n }\n\n computeValue_(track: boolean) {\n this.isComputing_ = true\n // don't allow state changes during computation\n const prev = allowStateChangesStart(false)\n let res: T | CaughtException\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope_)\n } else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope_)\n } else {\n try {\n res = this.derivation.call(this.scope_)\n } catch (e) {\n res = new CaughtException(e)\n }\n }\n }\n allowStateChangesEnd(prev)\n this.isComputing_ = false\n return res\n }\n\n suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this)\n this.value_ = undefined // don't hold on to computed value!\n if (__DEV__ && this.isTracing_ !== TraceMode.NONE) {\n console.log(\n `[mobx.trace] Computed value '${this.name_}' was suspended and it will recompute on the next access.`\n )\n }\n }\n }\n\n observe_(listener: (change: IComputedDidChange) => void, fireImmediately?: boolean): Lambda {\n let firstTime = true\n let prevValue: T | undefined = undefined\n return autorun(() => {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n let newValue = this.get()\n if (!firstTime || fireImmediately) {\n const prevU = untrackedStart()\n listener({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n newValue,\n oldValue: prevValue\n })\n untrackedEnd(prevU)\n }\n firstTime = false\n prevValue = newValue\n })\n }\n\n warnAboutUntrackedRead_() {\n if (!__DEV__) {\n return\n }\n if (this.isTracing_ !== TraceMode.NONE) {\n console.log(\n `[mobx.trace] Computed value '${this.name_}' is being read outside a reactive context. Doing a full recompute.`\n )\n }\n if (\n typeof this.requiresReaction_ === \"boolean\"\n ? this.requiresReaction_\n : globalState.computedRequiresReaction\n ) {\n console.warn(\n `[mobx] Computed value '${this.name_}' is being read outside a reactive context. Doing a full recompute.`\n )\n }\n }\n\n toString() {\n return `${this.name_}[${this.derivation.toString()}]`\n }\n\n valueOf(): T {\n return toPrimitive(this.get())\n }\n\n [Symbol.toPrimitive]() {\n return this.valueOf()\n }\n}\n\nexport const isComputedValue = createInstanceofPredicate(\"ComputedValue\", ComputedValue)\n","import {\n IAtom,\n IDepTreeNode,\n IObservable,\n addObserver,\n globalState,\n isComputedValue,\n removeObserver\n} from \"../internal\"\n\nexport enum IDerivationState_ {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n NOT_TRACKING_ = -1,\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n UP_TO_DATE_ = 0,\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n POSSIBLY_STALE_ = 1,\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n STALE_ = 2\n}\n\nexport enum TraceMode {\n NONE,\n LOG,\n BREAK\n}\n\n/**\n * A derivation is everything that can be derived from the state (all the atoms) in a pure manner.\n * See https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n */\nexport interface IDerivation extends IDepTreeNode {\n observing_: IObservable[]\n newObserving_: null | IObservable[]\n dependenciesState_: IDerivationState_\n /**\n * Id of the current run of a derivation. Each time the derivation is tracked\n * this number is increased by one. This number is globally unique\n */\n runId_: number\n /**\n * amount of dependencies used by the derivation in this run, which has not been bound yet.\n */\n unboundDepsCount_: number\n onBecomeStale_(): void\n isTracing_: TraceMode\n\n /**\n * warn if the derivation has no dependencies after creation/update\n */\n requiresObservable_?: boolean\n}\n\nexport class CaughtException {\n constructor(public cause: any) {\n // Empty\n }\n}\n\nexport function isCaughtException(e: any): e is CaughtException {\n return e instanceof CaughtException\n}\n\n/**\n * Finds out whether any dependency of the derivation has actually changed.\n * If dependenciesState is 1 then it will recalculate dependencies,\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\n *\n * By iterating over the dependencies in the same order that they were reported and\n * stopping on the first change, all the recalculations are only called for ComputedValues\n * that will be tracked by derivation. That is because we assume that if the first x\n * dependencies of the derivation doesn't change then the derivation should run the same way\n * up until accessing x-th dependency.\n */\nexport function shouldCompute(derivation: IDerivation): boolean {\n switch (derivation.dependenciesState_) {\n case IDerivationState_.UP_TO_DATE_:\n return false\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true\n case IDerivationState_.POSSIBLY_STALE_: {\n // state propagation can occur outside of action/reactive context #2195\n const prevAllowStateReads = allowStateReadsStart(true)\n const prevUntracked = untrackedStart() // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n const obs = derivation.observing_,\n l = obs.length\n for (let i = 0; i < l; i++) {\n const obj = obs[i]\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get()\n } else {\n try {\n obj.get()\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return true\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if ((derivation.dependenciesState_ as any) === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return true\n }\n }\n }\n changeDependenciesStateTo0(derivation)\n untrackedEnd(prevUntracked)\n allowStateReadsEnd(prevAllowStateReads)\n return false\n }\n }\n}\n\nexport function isComputingDerivation() {\n return globalState.trackingDerivation !== null // filter out actions inside computations\n}\n\nexport function checkIfStateModificationsAreAllowed(atom: IAtom) {\n if (!__DEV__) {\n return\n }\n const hasObservers = atom.observers_.size > 0\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (\n !globalState.allowStateChanges &&\n (hasObservers || globalState.enforceActions === \"always\")\n ) {\n console.warn(\n \"[MobX] \" +\n (globalState.enforceActions\n ? \"Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: \"\n : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: \") +\n atom.name_\n )\n }\n}\n\nexport function checkIfStateReadsAreAllowed(observable: IObservable) {\n if (__DEV__ && !globalState.allowStateReads && globalState.observableRequiresReaction) {\n console.warn(\n `[mobx] Observable '${observable.name_}' being read outside a reactive context.`\n )\n }\n}\n\n/**\n * Executes the provided function `f` and tracks which observables are being accessed.\n * The tracking information is stored on the `derivation` object and the derivation is registered\n * as observer of any of the accessed observables.\n */\nexport function trackDerivedFunction(derivation: IDerivation, f: () => T, context: any) {\n const prevAllowStateReads = allowStateReadsStart(true)\n // pre allocate array allocation + room for variation in deps\n // array will be trimmed by bindDependencies\n changeDependenciesStateTo0(derivation)\n derivation.newObserving_ = new Array(derivation.observing_.length + 100)\n derivation.unboundDepsCount_ = 0\n derivation.runId_ = ++globalState.runId\n const prevTracking = globalState.trackingDerivation\n globalState.trackingDerivation = derivation\n globalState.inBatch++\n let result\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context)\n } else {\n try {\n result = f.call(context)\n } catch (e) {\n result = new CaughtException(e)\n }\n }\n globalState.inBatch--\n globalState.trackingDerivation = prevTracking\n bindDependencies(derivation)\n\n warnAboutDerivationWithoutDependencies(derivation)\n allowStateReadsEnd(prevAllowStateReads)\n return result\n}\n\nfunction warnAboutDerivationWithoutDependencies(derivation: IDerivation) {\n if (!__DEV__) {\n return\n }\n\n if (derivation.observing_.length !== 0) {\n return\n }\n\n if (\n typeof derivation.requiresObservable_ === \"boolean\"\n ? derivation.requiresObservable_\n : globalState.reactionRequiresObservable\n ) {\n console.warn(\n `[mobx] Derivation '${derivation.name_}' is created/updated without reading any observable value.`\n )\n }\n}\n\n/**\n * diffs newObserving with observing.\n * update observing to be newObserving with unique observables\n * notify observers that become observed/unobserved\n */\nfunction bindDependencies(derivation: IDerivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n const prevObserving = derivation.observing_\n const observing = (derivation.observing_ = derivation.newObserving_!)\n let lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_\n\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n let i0 = 0,\n l = derivation.unboundDepsCount_\n for (let i = 0; i < l; i++) {\n const dep = observing[i]\n if (dep.diffValue_ === 0) {\n dep.diffValue_ = 1\n if (i0 !== i) {\n observing[i0] = dep\n }\n i0++\n }\n\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if ((dep as any as IDerivation).dependenciesState_ > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = (dep as any as IDerivation).dependenciesState_\n }\n }\n observing.length = i0\n\n derivation.newObserving_ = null // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length\n while (l--) {\n const dep = prevObserving[l]\n if (dep.diffValue_ === 0) {\n removeObserver(dep, derivation)\n }\n dep.diffValue_ = 0\n }\n\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n const dep = observing[i0]\n if (dep.diffValue_ === 1) {\n dep.diffValue_ = 0\n addObserver(dep, derivation)\n }\n }\n\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState\n derivation.onBecomeStale_()\n }\n}\n\nexport function clearObserving(derivation: IDerivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n const obs = derivation.observing_\n derivation.observing_ = []\n let i = obs.length\n while (i--) {\n removeObserver(obs[i], derivation)\n }\n\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_\n}\n\nexport function untracked(action: () => T): T {\n const prev = untrackedStart()\n try {\n return action()\n } finally {\n untrackedEnd(prev)\n }\n}\n\nexport function untrackedStart(): IDerivation | null {\n const prev = globalState.trackingDerivation\n globalState.trackingDerivation = null\n return prev\n}\n\nexport function untrackedEnd(prev: IDerivation | null) {\n globalState.trackingDerivation = prev\n}\n\nexport function allowStateReadsStart(allowStateReads: boolean) {\n const prev = globalState.allowStateReads\n globalState.allowStateReads = allowStateReads\n return prev\n}\n\nexport function allowStateReadsEnd(prev: boolean) {\n globalState.allowStateReads = prev\n}\n\n/**\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\n *\n */\nexport function changeDependenciesStateTo0(derivation: IDerivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n return\n }\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_\n\n const obs = derivation.observing_\n let i = obs.length\n while (i--) {\n obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n }\n}\n","import { IDerivation, IObservable, Reaction, die, getGlobal } from \"../internal\"\nimport { ComputedValue } from \"./computedvalue\"\n\n/**\n * These values will persist if global state is reset\n */\nconst persistentKeys: (keyof MobXGlobals)[] = [\n \"mobxGuid\",\n \"spyListeners\",\n \"enforceActions\",\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"allowStateReads\",\n \"disableErrorBoundaries\",\n \"runId\",\n \"UNCHANGED\",\n \"useProxies\"\n]\n\nexport type IUNCHANGED = {}\n\nexport class MobXGlobals {\n /**\n * MobXGlobals version.\n * MobX compatiblity with other versions loaded in memory as long as this version matches.\n * It indicates that the global state still stores similar information\n *\n * N.B: this version is unrelated to the package version of MobX, and is only the version of the\n * internal state storage of MobX, and can be the same across many different package versions\n */\n version = 6\n\n /**\n * globally unique token to signal unchanged\n */\n UNCHANGED: IUNCHANGED = {}\n\n /**\n * Currently running derivation\n */\n trackingDerivation: IDerivation | null = null\n\n /**\n * Currently running reaction. This determines if we currently have a reactive context.\n * (Tracking derivation is also set for temporal tracking of computed values inside actions,\n * but trackingReaction can only be set by a form of Reaction)\n */\n trackingContext: Reaction | ComputedValue | null = null\n\n /**\n * Each time a derivation is tracked, it is assigned a unique run-id\n */\n runId = 0\n\n /**\n * 'guid' for general purpose. Will be persisted amongst resets.\n */\n mobxGuid = 0\n\n /**\n * Are we in a batch block? (and how many of them)\n */\n inBatch: number = 0\n\n /**\n * Observables that don't have observers anymore, and are about to be\n * suspended, unless somebody else accesses it in the same batch\n *\n * @type {IObservable[]}\n */\n pendingUnobservations: IObservable[] = []\n\n /**\n * List of scheduled, not yet executed, reactions.\n */\n pendingReactions: Reaction[] = []\n\n /**\n * Are we currently processing reactions?\n */\n isRunningReactions = false\n\n /**\n * Is it allowed to change observables at this point?\n * In general, MobX doesn't allow that when running computations and React.render.\n * To ensure that those functions stay pure.\n */\n allowStateChanges = false\n\n /**\n * Is it allowed to read observables at this point?\n * Used to hold the state needed for `observableRequiresReaction`\n */\n allowStateReads = true\n\n /**\n * If strict mode is enabled, state changes are by default not allowed\n */\n enforceActions: boolean | \"always\" = true\n\n /**\n * Spy callbacks\n */\n spyListeners: { (change: any): void }[] = []\n\n /**\n * Globally attached error handlers that react specifically to errors in reactions\n */\n globalReactionErrorHandlers: ((error: any, derivation: IDerivation) => void)[] = []\n\n /**\n * Warn if computed values are accessed outside a reactive context\n */\n computedRequiresReaction = false\n\n /**\n * (Experimental)\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable = false\n\n /**\n * (Experimental)\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction = false\n\n /*\n * Don't catch and rethrow exceptions. This is useful for inspecting the state of\n * the stack when an exception occurs while debugging.\n */\n disableErrorBoundaries = false\n\n /*\n * If true, we are already handling an exception in an action. Any errors in reactions should be suppressed, as\n * they are not the cause, see: https://github.com/mobxjs/mobx/issues/1836\n */\n suppressReactionErrors = false\n\n useProxies = true\n /*\n * print warnings about code that would fail if proxies weren't available\n */\n verifyProxies = false\n\n /**\n * False forces all object's descriptors to\n * writable: true\n * configurable: true\n */\n safeDescriptors = true\n}\n\nlet canMergeGlobalState = true\nlet isolateCalled = false\n\nexport let globalState: MobXGlobals = (function () {\n let global = getGlobal()\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals) {\n canMergeGlobalState = false\n }\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version) {\n canMergeGlobalState = false\n }\n\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(() => {\n if (!isolateCalled) {\n die(35)\n }\n }, 1)\n return new MobXGlobals()\n } else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1\n if (!global.__mobxGlobals.UNCHANGED) {\n global.__mobxGlobals.UNCHANGED = {}\n } // make merge backward compatible\n return global.__mobxGlobals\n } else {\n global.__mobxInstanceCount = 1\n return (global.__mobxGlobals = new MobXGlobals())\n }\n})()\n\nexport function isolateGlobalState() {\n if (\n globalState.pendingReactions.length ||\n globalState.inBatch ||\n globalState.isRunningReactions\n ) {\n die(36)\n }\n isolateCalled = true\n if (canMergeGlobalState) {\n let global = getGlobal()\n if (--global.__mobxInstanceCount === 0) {\n global.__mobxGlobals = undefined\n }\n globalState = new MobXGlobals()\n }\n}\n\nexport function getGlobalState(): any {\n return globalState\n}\n\n/**\n * For testing purposes only; this will break the internal state of existing observables,\n * but can be used to get back at a stable state after throwing errors\n */\nexport function resetGlobalState() {\n const defaultGlobals = new MobXGlobals()\n for (let key in defaultGlobals) {\n if (persistentKeys.indexOf(key as any) === -1) {\n globalState[key] = defaultGlobals[key]\n }\n }\n globalState.allowStateChanges = !globalState.enforceActions\n}\n","import {\n Lambda,\n ComputedValue,\n IDependencyTree,\n IDerivation,\n IDerivationState_,\n TraceMode,\n getDependencyTree,\n globalState,\n runReactions,\n checkIfStateReadsAreAllowed\n} from \"../internal\"\n\nexport interface IDepTreeNode {\n name_: string\n observing_?: IObservable[]\n}\n\nexport interface IObservable extends IDepTreeNode {\n diffValue_: number\n /**\n * Id of the derivation *run* that last accessed this observable.\n * If this id equals the *run* id of the current derivation,\n * the dependency is already established\n */\n lastAccessedBy_: number\n isBeingObserved_: boolean\n\n lowestObserverState_: IDerivationState_ // Used to avoid redundant propagations\n isPendingUnobservation_: boolean // Used to push itself to global.pendingUnobservations at most once per batch.\n\n observers_: Set\n\n onBUO(): void\n onBO(): void\n\n onBUOL: Set | undefined\n onBOL: Set | undefined\n}\n\nexport function hasObservers(observable: IObservable): boolean {\n return observable.observers_ && observable.observers_.size > 0\n}\n\nexport function getObservers(observable: IObservable): Set {\n return observable.observers_\n}\n\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nexport function addObserver(observable: IObservable, node: IDerivation) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n\n observable.observers_.add(node)\n if (observable.lowestObserverState_ > node.dependenciesState_) {\n observable.lowestObserverState_ = node.dependenciesState_\n }\n\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\n\nexport function removeObserver(observable: IObservable, node: IDerivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_.delete(node)\n if (observable.observers_.size === 0) {\n // deleting last observer\n queueForUnobservation(observable)\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\n\nexport function queueForUnobservation(observable: IObservable) {\n if (observable.isPendingUnobservation_ === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation_ = true\n globalState.pendingUnobservations.push(observable)\n }\n}\n\n/**\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\n * Avoids unnecessary recalculations.\n */\nexport function startBatch() {\n globalState.inBatch++\n}\n\nexport function endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions()\n // the batch is actually about to finish, all unobserving should happen here.\n const list = globalState.pendingUnobservations\n for (let i = 0; i < list.length; i++) {\n const observable = list[i]\n observable.isPendingUnobservation_ = false\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved_) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved_ = false\n observable.onBUO()\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_()\n }\n }\n }\n globalState.pendingUnobservations = []\n }\n}\n\nexport function reportObserved(observable: IObservable): boolean {\n checkIfStateReadsAreAllowed(observable)\n\n const derivation = globalState.trackingDerivation\n if (derivation !== null) {\n /**\n * Simple optimization, give each derivation run an unique id (runId)\n * Check if last time this observable was accessed the same runId is used\n * if this is the case, the relation is already known\n */\n if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_![derivation.unboundDepsCount_++] = observable\n if (!observable.isBeingObserved_ && globalState.trackingContext) {\n observable.isBeingObserved_ = true\n observable.onBO()\n }\n }\n return observable.isBeingObserved_\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable)\n }\n\n return false\n}\n\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n\n/**\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\n * It will propagate changes to observers from previous run\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\n * Hopefully self reruning autoruns aren't a feature people should depend on\n * Also most basic use cases should be ok\n */\n\n// Called by Atom when its value changes\nexport function propagateChanged(observable: IObservable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n if (__DEV__ && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable)\n }\n d.onBecomeStale_()\n }\n d.dependenciesState_ = IDerivationState_.STALE_\n })\n // invariantLOS(observable, \"changed end\");\n}\n\n// Called by ComputedValue when it recalculate and its value changed\nexport function propagateChangeConfirmed(observable: IObservable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) {\n d.dependenciesState_ = IDerivationState_.STALE_\n if (__DEV__ && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable)\n }\n } else if (\n d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n ) {\n observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_\n }\n })\n // invariantLOS(observable, \"confirmed end\");\n}\n\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nexport function propagateMaybeChanged(observable: IObservable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) {\n return\n }\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_\n\n observable.observers_.forEach(d => {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_\n d.onBecomeStale_()\n }\n })\n // invariantLOS(observable, \"maybe end\");\n}\n\nfunction logTraceInfo(derivation: IDerivation, observable: IObservable) {\n console.log(\n `[mobx.trace] '${derivation.name_}' is invalidated due to a change in: '${observable.name_}'`\n )\n if (derivation.isTracing_ === TraceMode.BREAK) {\n const lines = []\n printDepTree(getDependencyTree(derivation), lines, 1)\n\n // prettier-ignore\n new Function(\n`debugger;\n/*\nTracing '${derivation.name_}'\n\nYou are entering this break point because derivation '${derivation.name_}' is being traced and '${observable.name_}' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n${derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\"}\n\nThe dependencies for this derivation are:\n\n${lines.join(\"\\n\")}\n*/\n `)()\n }\n}\n\nfunction printDepTree(tree: IDependencyTree, lines: string[], depth: number) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\")\n return\n }\n lines.push(`${\"\\t\".repeat(depth - 1)}${tree.name}`)\n if (tree.dependencies) {\n tree.dependencies.forEach(child => printDepTree(child, lines, depth + 1))\n }\n}\n","import {\n $mobx,\n IDerivation,\n IDerivationState_,\n IObservable,\n Lambda,\n TraceMode,\n clearObserving,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n globalState,\n isCaughtException,\n isSpyEnabled,\n shouldCompute,\n spyReport,\n spyReportEnd,\n spyReportStart,\n startBatch,\n trace,\n trackDerivedFunction, GenericAbortSignal\n} from \"../internal\"\n\n/**\n * Reactions are a special kind of derivations. Several things distinguishes them from normal reactive computations\n *\n * 1) They will always run, whether they are used by other computations or not.\n * This means that they are very suitable for triggering side effects like logging, updating the DOM and making network requests.\n * 2) They are not observable themselves\n * 3) They will always run after any 'normal' derivations\n * 4) They are allowed to change the state and thereby triggering themselves again, as long as they make sure the state propagates to a stable state in a reasonable amount of iterations.\n *\n * The state machine of a Reaction is as follows:\n *\n * 1) after creating, the reaction should be started by calling `runReaction` or by scheduling it (see also `autorun`)\n * 2) the `onInvalidate` handler should somehow result in a call to `this.track(someFunction)`\n * 3) all observables accessed in `someFunction` will be observed by this reaction.\n * 4) as soon as some of the dependencies has changed the Reaction will be rescheduled for another run (after the current mutation or transaction). `isScheduled` will yield true once a dependency is stale and during this period\n * 5) `onInvalidate` will be called, and we are back at step 1.\n *\n */\n\nexport interface IReactionPublic {\n dispose(): void\n trace(enterBreakPoint?: boolean): void\n}\n\nexport interface IReactionDisposer {\n (): void\n $mobx: Reaction\n}\n\nexport class Reaction implements IDerivation, IReactionPublic {\n observing_: IObservable[] = [] // nodes we are looking at. Our value depends on these nodes\n newObserving_: IObservable[] = []\n dependenciesState_ = IDerivationState_.NOT_TRACKING_\n diffValue_ = 0\n runId_ = 0\n unboundDepsCount_ = 0\n isDisposed_ = false\n isScheduled_ = false\n isTrackPending_ = false\n isRunning_ = false\n isTracing_: TraceMode = TraceMode.NONE\n\n constructor(\n public name_: string = __DEV__ ? \"Reaction@\" + getNextId() : \"Reaction\",\n private onInvalidate_: () => void,\n private errorHandler_?: (error: any, derivation: IDerivation) => void,\n public requiresObservable_?\n ) {}\n\n onBecomeStale_() {\n this.schedule_()\n }\n\n schedule_() {\n if (!this.isScheduled_) {\n this.isScheduled_ = true\n globalState.pendingReactions.push(this)\n runReactions()\n }\n }\n\n isScheduled() {\n return this.isScheduled_\n }\n\n /**\n * internal, use schedule() if you intend to kick off a reaction\n */\n runReaction_() {\n if (!this.isDisposed_) {\n startBatch()\n this.isScheduled_ = false\n const prev = globalState.trackingContext\n globalState.trackingContext = this\n if (shouldCompute(this)) {\n this.isTrackPending_ = true\n\n try {\n this.onInvalidate_()\n if (__DEV__ && this.isTrackPending_ && isSpyEnabled()) {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name_,\n type: \"scheduled-reaction\"\n })\n }\n } catch (e) {\n this.reportExceptionInDerivation_(e)\n }\n }\n globalState.trackingContext = prev\n endBatch()\n }\n }\n\n track(fn: () => void) {\n if (this.isDisposed_) {\n return\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n startBatch()\n const notify = isSpyEnabled()\n let startTime\n if (__DEV__ && notify) {\n startTime = Date.now()\n spyReportStart({\n name: this.name_,\n type: \"reaction\"\n })\n }\n this.isRunning_ = true\n const prevReaction = globalState.trackingContext // reactions could create reactions...\n globalState.trackingContext = this\n const result = trackDerivedFunction(this, fn, undefined)\n globalState.trackingContext = prevReaction\n this.isRunning_ = false\n this.isTrackPending_ = false\n if (this.isDisposed_) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this)\n }\n if (isCaughtException(result)) {\n this.reportExceptionInDerivation_(result.cause)\n }\n if (__DEV__ && notify) {\n spyReportEnd({\n time: Date.now() - startTime\n })\n }\n endBatch()\n }\n\n reportExceptionInDerivation_(error: any) {\n if (this.errorHandler_) {\n this.errorHandler_(error, this)\n return\n }\n\n if (globalState.disableErrorBoundaries) {\n throw error\n }\n\n const message = __DEV__\n ? `[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '${this}'`\n : `[mobx] uncaught error in '${this}'`\n if (!globalState.suppressReactionErrors) {\n console.error(message, error)\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n } else if (__DEV__) { console.warn(`[mobx] (error in reaction '${this.name_}' suppressed, fix error of causing action below)`) } // prettier-ignore\n\n if (__DEV__ && isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name_,\n message,\n error: \"\" + error\n })\n }\n\n globalState.globalReactionErrorHandlers.forEach(f => f(error, this))\n }\n\n dispose() {\n if (!this.isDisposed_) {\n this.isDisposed_ = true\n if (!this.isRunning_) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch()\n clearObserving(this)\n endBatch()\n }\n }\n }\n\n getDisposer_(abortSignal?: GenericAbortSignal): IReactionDisposer {\n const dispose = (() => {\n this.dispose()\n abortSignal?.removeEventListener?.(\"abort\", dispose)\n }) as IReactionDisposer\n abortSignal?.addEventListener?.(\"abort\", dispose)\n dispose[$mobx] = this\n\n return dispose\n }\n\n toString() {\n return `Reaction[${this.name_}]`\n }\n\n trace(enterBreakPoint: boolean = false) {\n trace(this, enterBreakPoint)\n }\n}\n\nexport function onReactionError(handler: (error: any, derivation: IDerivation) => void): Lambda {\n globalState.globalReactionErrorHandlers.push(handler)\n return () => {\n const idx = globalState.globalReactionErrorHandlers.indexOf(handler)\n if (idx >= 0) {\n globalState.globalReactionErrorHandlers.splice(idx, 1)\n }\n }\n}\n\n/**\n * Magic number alert!\n * Defines within how many times a reaction is allowed to re-trigger itself\n * until it is assumed that this is gonna be a never ending loop...\n */\nconst MAX_REACTION_ITERATIONS = 100\n\nlet reactionScheduler: (fn: () => void) => void = f => f()\n\nexport function runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) {\n return\n }\n reactionScheduler(runReactionsHelper)\n}\n\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true\n const allReactions = globalState.pendingReactions\n let iterations = 0\n\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(\n __DEV__\n ? `Reaction doesn't converge to a stable state after ${MAX_REACTION_ITERATIONS} iterations.` +\n ` Probably there is a cycle in the reactive function: ${allReactions[0]}`\n : `[mobx] cycle in reaction: ${allReactions[0]}`\n )\n allReactions.splice(0) // clear reactions\n }\n let remainingReactions = allReactions.splice(0)\n for (let i = 0, l = remainingReactions.length; i < l; i++) {\n remainingReactions[i].runReaction_()\n }\n }\n globalState.isRunningReactions = false\n}\n\nexport const isReaction = createInstanceofPredicate(\"Reaction\", Reaction)\n\nexport function setReactionScheduler(fn: (f: () => void) => void) {\n const baseScheduler = reactionScheduler\n reactionScheduler = f => fn(() => baseScheduler(f))\n}\n","import { IComputedDidChange } from \"./computedvalue\"\nimport { IValueDidChange, IBoxDidChange } from \"./../types/observablevalue\"\nimport { IObjectDidChange } from \"./../types/observableobject\"\nimport { IArrayDidChange } from \"./../types/observablearray\"\nimport { Lambda, globalState, once, ISetDidChange, IMapDidChange } from \"../internal\"\n\nexport function isSpyEnabled() {\n return __DEV__ && !!globalState.spyListeners.length\n}\n\nexport type PureSpyEvent =\n | { type: \"action\"; name: string; object: unknown; arguments: unknown[] }\n | { type: \"scheduled-reaction\"; name: string }\n | { type: \"reaction\"; name: string }\n | { type: \"error\"; name: string; message: string; error: string }\n | IComputedDidChange\n | IObjectDidChange\n | IArrayDidChange\n | IMapDidChange\n | ISetDidChange\n | IValueDidChange\n | IBoxDidChange\n | { type: \"report-end\"; spyReportEnd: true; time?: number }\n\ntype SpyEvent = PureSpyEvent & { spyReportStart?: true }\n\nexport function spyReport(event: SpyEvent) {\n if (!__DEV__) {\n return\n } // dead code elimination can do the rest\n if (!globalState.spyListeners.length) {\n return\n }\n const listeners = globalState.spyListeners\n for (let i = 0, l = listeners.length; i < l; i++) {\n listeners[i](event)\n }\n}\n\nexport function spyReportStart(event: PureSpyEvent) {\n if (!__DEV__) {\n return\n }\n const change = { ...event, spyReportStart: true as const }\n spyReport(change)\n}\n\nconst END_EVENT: SpyEvent = { type: \"report-end\", spyReportEnd: true }\n\nexport function spyReportEnd(change?: { time?: number }) {\n if (!__DEV__) {\n return\n }\n if (change) {\n spyReport({ ...change, type: \"report-end\", spyReportEnd: true })\n } else {\n spyReport(END_EVENT)\n }\n}\n\nexport function spy(listener: (change: SpyEvent) => void): Lambda {\n if (!__DEV__) {\n console.warn(`[mobx.spy] Is a no-op in production builds`)\n return function () {}\n } else {\n globalState.spyListeners.push(listener)\n return once(() => {\n globalState.spyListeners = globalState.spyListeners.filter(l => l !== listener)\n })\n }\n}\n","import {\n createAction,\n executeAction,\n Annotation,\n storeAnnotation,\n die,\n isFunction,\n isStringish,\n createDecoratorAnnotation,\n createActionAnnotation,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassFieldDecorator, ClassMethodDecorator } from \"../types/decorator_fills\"\n\nexport const ACTION = \"action\"\nexport const ACTION_BOUND = \"action.bound\"\nexport const AUTOACTION = \"autoAction\"\nexport const AUTOACTION_BOUND = \"autoAction.bound\"\n\nconst DEFAULT_ACTION_NAME = \"\"\n\nconst actionAnnotation = createActionAnnotation(ACTION)\nconst actionBoundAnnotation = createActionAnnotation(ACTION_BOUND, {\n bound: true\n})\nconst autoActionAnnotation = createActionAnnotation(AUTOACTION, {\n autoAction: true\n})\nconst autoActionBoundAnnotation = createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n})\n\nexport interface IActionFactory\n extends Annotation,\n PropertyDecorator,\n ClassMethodDecorator,\n ClassFieldDecorator {\n // nameless actions\n (fn: T): T\n // named actions\n (name: string, fn: T): T\n\n // named decorator\n (customName: string): PropertyDecorator &\n Annotation &\n ClassMethodDecorator &\n ClassFieldDecorator\n\n // decorator (name no longer supported)\n bound: Annotation & PropertyDecorator & ClassMethodDecorator & ClassFieldDecorator\n}\n\nfunction createActionFactory(autoAction: boolean): IActionFactory {\n const res: IActionFactory = function action(arg1, arg2?): any {\n // action(fn() {})\n if (isFunction(arg1)) {\n return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction)\n }\n // action(\"name\", fn() {})\n if (isFunction(arg2)) {\n return createAction(arg1, arg2, autoAction)\n }\n // @action (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return (autoAction ? autoActionAnnotation : actionAnnotation).decorate_20223_(\n arg1,\n arg2\n )\n }\n // @action\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation)\n }\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) {\n return createDecoratorAnnotation(\n createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction\n })\n )\n }\n\n if (__DEV__) {\n die(\"Invalid arguments for `action`\")\n }\n } as IActionFactory\n return res\n}\n\nexport const action: IActionFactory = createActionFactory(false)\nObject.assign(action, actionAnnotation)\nexport const autoAction: IActionFactory = createActionFactory(true)\nObject.assign(autoAction, autoActionAnnotation)\n\naction.bound = createDecoratorAnnotation(actionBoundAnnotation)\nautoAction.bound = createDecoratorAnnotation(autoActionBoundAnnotation)\n\nexport function runInAction(fn: () => T): T {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined)\n}\n\nexport function isAction(thing: any) {\n return isFunction(thing) && thing.isMobxAction === true\n}\n","import {\n EMPTY_OBJECT,\n IEqualsComparer,\n IReactionDisposer,\n IReactionPublic,\n Lambda,\n Reaction,\n action,\n comparer,\n getNextId,\n isAction,\n isFunction,\n isPlainObject,\n die,\n allowStateChanges,\n GenericAbortSignal\n} from \"../internal\"\n\nexport interface IAutorunOptions {\n delay?: number\n name?: string\n /**\n * Experimental.\n * Warns if the view doesn't track observables\n */\n requiresObservable?: boolean\n scheduler?: (callback: () => void) => any\n onError?: (error: any) => void\n signal?: GenericAbortSignal\n}\n\n/**\n * Creates a named reactive view and keeps it alive, so that the view is always\n * updated if one of the dependencies changes, even when the view is not further used by something else.\n * @param view The reactive view\n * @returns disposer function, which can be used to stop the view from being updated in the future.\n */\nexport function autorun(\n view: (r: IReactionPublic) => any,\n opts: IAutorunOptions = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(view)) {\n die(\"Autorun expects a function as first argument\")\n }\n if (isAction(view)) {\n die(\"Autorun does not accept actions since actions are untrackable\")\n }\n }\n\n const name: string =\n opts?.name ?? (__DEV__ ? (view as any).name || \"Autorun@\" + getNextId() : \"Autorun\")\n const runSync = !opts.scheduler && !opts.delay\n let reaction: Reaction\n\n if (runSync) {\n // normal autorun\n reaction = new Reaction(\n name,\n function (this: Reaction) {\n this.track(reactionRunner)\n },\n opts.onError,\n opts.requiresObservable\n )\n } else {\n const scheduler = createSchedulerFromOptions(opts)\n // debounced autorun\n let isScheduled = false\n\n reaction = new Reaction(\n name,\n () => {\n if (!isScheduled) {\n isScheduled = true\n scheduler(() => {\n isScheduled = false\n if (!reaction.isDisposed_) {\n reaction.track(reactionRunner)\n }\n })\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n }\n\n function reactionRunner() {\n view(reaction)\n }\n\n if(!opts?.signal?.aborted) {\n reaction.schedule_()\n }\n return reaction.getDisposer_(opts?.signal)\n}\n\nexport type IReactionOptions = IAutorunOptions & {\n fireImmediately?: FireImmediately\n equals?: IEqualsComparer\n}\n\nconst run = (f: Lambda) => f()\n\nfunction createSchedulerFromOptions(opts: IAutorunOptions) {\n return opts.scheduler\n ? opts.scheduler\n : opts.delay\n ? (f: Lambda) => setTimeout(f, opts.delay!)\n : run\n}\n\nexport function reaction(\n expression: (r: IReactionPublic) => T,\n effect: (\n arg: T,\n prev: FireImmediately extends true ? T | undefined : T,\n r: IReactionPublic\n ) => void,\n opts: IReactionOptions = EMPTY_OBJECT\n): IReactionDisposer {\n if (__DEV__) {\n if (!isFunction(expression) || !isFunction(effect)) {\n die(\"First and second argument to reaction should be functions\")\n }\n if (!isPlainObject(opts)) {\n die(\"Third argument of reactions should be an object\")\n }\n }\n const name = opts.name ?? (__DEV__ ? \"Reaction@\" + getNextId() : \"Reaction\")\n const effectAction = action(\n name,\n opts.onError ? wrapErrorHandler(opts.onError, effect) : effect\n )\n const runSync = !opts.scheduler && !opts.delay\n const scheduler = createSchedulerFromOptions(opts)\n\n let firstTime = true\n let isScheduled = false\n let value: T\n let oldValue: T | undefined\n\n const equals: IEqualsComparer = (opts as any).compareStructural\n ? comparer.structural\n : opts.equals || comparer.default\n\n const r = new Reaction(\n name,\n () => {\n if (firstTime || runSync) {\n reactionRunner()\n } else if (!isScheduled) {\n isScheduled = true\n scheduler!(reactionRunner)\n }\n },\n opts.onError,\n opts.requiresObservable\n )\n\n function reactionRunner() {\n isScheduled = false\n if (r.isDisposed_) {\n return\n }\n let changed: boolean = false\n r.track(() => {\n const nextValue = allowStateChanges(false, () => expression(r))\n changed = firstTime || !equals(value, nextValue)\n oldValue = value\n value = nextValue\n })\n\n // This casting is nesessary as TS cannot infer proper type in current funciton implementation\n type OldValue = FireImmediately extends true ? T | undefined : T\n if (firstTime && opts.fireImmediately!) {\n effectAction(value, oldValue as OldValue, r)\n } else if (!firstTime && changed) {\n effectAction(value, oldValue as OldValue, r)\n }\n firstTime = false\n }\n\n if(!opts?.signal?.aborted) {\n r.schedule_()\n }\n return r.getDisposer_(opts?.signal)\n}\n\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments)\n } catch (e) {\n errorHandler.call(this, e)\n }\n }\n}\n","import {\n IComputedValue,\n IObservable,\n IObservableArray,\n Lambda,\n ObservableMap,\n getAtom,\n ObservableSet,\n isFunction,\n IObservableValue\n} from \"../internal\"\n\nconst ON_BECOME_OBSERVED = \"onBO\"\nconst ON_BECOME_UNOBSERVED = \"onBUO\"\n\nexport function onBecomeObserved(\n value:\n | IObservable\n | IComputedValue\n | IObservableArray\n | ObservableMap\n | ObservableSet\n | IObservableValue,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved(\n value: ObservableMap | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeObserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3)\n}\n\nexport function onBecomeUnobserved(\n value:\n | IObservable\n | IComputedValue\n | IObservableArray\n | ObservableMap\n | ObservableSet\n | IObservableValue,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved(\n value: ObservableMap | Object,\n property: K,\n listener: Lambda\n): Lambda\nexport function onBecomeUnobserved(thing, arg2, arg3?): Lambda {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3)\n}\n\nfunction interceptHook(hook: \"onBO\" | \"onBUO\", thing, arg2, arg3) {\n const atom: IObservable =\n typeof arg3 === \"function\" ? getAtom(thing, arg2) : (getAtom(thing) as any)\n const cb = isFunction(arg3) ? arg3 : arg2\n const listenersKey = `${hook}L` as \"onBOL\" | \"onBUOL\"\n\n if (atom[listenersKey]) {\n atom[listenersKey]!.add(cb)\n } else {\n atom[listenersKey] = new Set([cb])\n }\n\n return function () {\n const hookListeners = atom[listenersKey]\n if (hookListeners) {\n hookListeners.delete(cb)\n if (hookListeners.size === 0) {\n delete atom[listenersKey]\n }\n }\n }\n}\n","import { globalState, isolateGlobalState, setReactionScheduler } from \"../internal\"\n\nconst NEVER = \"never\"\nconst ALWAYS = \"always\"\nconst OBSERVED = \"observed\"\n// const IF_AVAILABLE = \"ifavailable\"\n\nexport function configure(options: {\n enforceActions?: \"never\" | \"always\" | \"observed\"\n computedRequiresReaction?: boolean\n /**\n * Warn if you try to create to derivation / reactive context without accessing any observable.\n */\n reactionRequiresObservable?: boolean\n /**\n * Warn if observables are accessed outside a reactive context\n */\n observableRequiresReaction?: boolean\n isolateGlobalState?: boolean\n disableErrorBoundaries?: boolean\n safeDescriptors?: boolean\n reactionScheduler?: (f: () => void) => void\n useProxies?: \"always\" | \"never\" | \"ifavailable\"\n}): void {\n if (options.isolateGlobalState === true) {\n isolateGlobalState()\n }\n const { useProxies, enforceActions } = options\n if (useProxies !== undefined) {\n globalState.useProxies =\n useProxies === ALWAYS\n ? true\n : useProxies === NEVER\n ? false\n : typeof Proxy !== \"undefined\"\n }\n if (useProxies === \"ifavailable\") {\n globalState.verifyProxies = true\n }\n if (enforceActions !== undefined) {\n const ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED\n globalState.enforceActions = ea\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true\n }\n ;[\n \"computedRequiresReaction\",\n \"reactionRequiresObservable\",\n \"observableRequiresReaction\",\n \"disableErrorBoundaries\",\n \"safeDescriptors\"\n ].forEach(key => {\n if (key in options) {\n globalState[key] = !!options[key]\n }\n })\n globalState.allowStateReads = !globalState.observableRequiresReaction\n if (__DEV__ && globalState.disableErrorBoundaries === true) {\n console.warn(\n \"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\"\n )\n }\n if (options.reactionScheduler) {\n setReactionScheduler(options.reactionScheduler)\n }\n}\n","import {\n CreateObservableOptions,\n isObservableMap,\n AnnotationsMap,\n asObservableObject,\n isPlainObject,\n ObservableObjectAdministration,\n isObservable,\n die,\n getOwnPropertyDescriptors,\n $mobx,\n ownKeys,\n initObservable\n} from \"../internal\"\n\nexport function extendObservable(\n target: A,\n properties: B,\n annotations?: AnnotationsMap,\n options?: CreateObservableOptions\n): A & B {\n if (__DEV__) {\n if (arguments.length > 4) {\n die(\"'extendObservable' expected 2-4 arguments\")\n }\n if (typeof target !== \"object\") {\n die(\"'extendObservable' expects an object as first argument\")\n }\n if (isObservableMap(target)) {\n die(\"'extendObservable' should not be used on maps, use map.merge instead\")\n }\n if (!isPlainObject(properties)) {\n die(`'extendObservable' only accepts plain objects as second argument`)\n }\n if (isObservable(properties) || isObservable(annotations)) {\n die(`Extending an object with another observable (object) is not supported`)\n }\n }\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n const descriptors = getOwnPropertyDescriptors(properties)\n\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n ownKeys(descriptors).forEach(key => {\n adm.extend_(\n key,\n descriptors[key as any],\n // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true\n )\n })\n })\n\n return target as any\n}\n","import { IDepTreeNode, getAtom, getObservers, hasObservers } from \"../internal\"\n\nexport interface IDependencyTree {\n name: string\n dependencies?: IDependencyTree[]\n}\n\nexport interface IObserverTree {\n name: string\n observers?: IObserverTree[]\n}\n\nexport function getDependencyTree(thing: any, property?: string): IDependencyTree {\n return nodeToDependencyTree(getAtom(thing, property))\n}\n\nfunction nodeToDependencyTree(node: IDepTreeNode): IDependencyTree {\n const result: IDependencyTree = {\n name: node.name_\n }\n if (node.observing_ && node.observing_.length > 0) {\n result.dependencies = unique(node.observing_).map(nodeToDependencyTree)\n }\n return result\n}\n\nexport function getObserverTree(thing: any, property?: string): IObserverTree {\n return nodeToObserverTree(getAtom(thing, property))\n}\n\nfunction nodeToObserverTree(node: IDepTreeNode): IObserverTree {\n const result: IObserverTree = {\n name: node.name_\n }\n if (hasObservers(node as any)) {\n result.observers = Array.from(getObservers(node as any)).map(nodeToObserverTree)\n }\n return result\n}\n\nfunction unique(list: T[]): T[] {\n return Array.from(new Set(list))\n}\n","import {\n action,\n noop,\n die,\n isFunction,\n Annotation,\n isStringish,\n storeAnnotation,\n createFlowAnnotation,\n createDecoratorAnnotation,\n is20223Decorator\n} from \"../internal\"\n\nimport type { ClassMethodDecorator } from \"../types/decorator_fills\"\n\nexport const FLOW = \"flow\"\n\nlet generatorId = 0\n\nexport function FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\"\n}\nFlowCancellationError.prototype = Object.create(Error.prototype)\n\nexport function isFlowCancellationError(error: Error) {\n return error instanceof FlowCancellationError\n}\n\nexport type CancellablePromise = Promise & { cancel(): void }\n\ninterface Flow extends Annotation, PropertyDecorator, ClassMethodDecorator {\n (\n generator: (...args: Args) => Generator | AsyncGenerator\n ): (...args: Args) => CancellablePromise\n bound: Annotation & PropertyDecorator & ClassMethodDecorator\n}\n\nconst flowAnnotation = createFlowAnnotation(\"flow\")\nconst flowBoundAnnotation = createFlowAnnotation(\"flow.bound\", { bound: true })\n\nexport const flow: Flow = Object.assign(\n function flow(arg1, arg2?) {\n // @flow (2022.3 Decorators)\n if (is20223Decorator(arg2)) {\n return flowAnnotation.decorate_20223_(arg1, arg2)\n }\n // @flow\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, flowAnnotation)\n }\n // flow(fn)\n if (__DEV__ && arguments.length !== 1) {\n die(`Flow expects single argument with generator function`)\n }\n const generator = arg1\n const name = generator.name || \"\"\n\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n const res = function () {\n const ctx = this\n const args = arguments\n const runId = ++generatorId\n const gen = action(`${name} - runid: ${runId} - init`, generator).apply(ctx, args)\n let rejector: (error: any) => void\n let pendingPromise: CancellablePromise | undefined = undefined\n\n const promise = new Promise(function (resolve, reject) {\n let stepId = 0\n rejector = reject\n\n function onFulfilled(res: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.next\n ).call(gen, res)\n } catch (e) {\n return reject(e)\n }\n\n next(ret)\n }\n\n function onRejected(err: any) {\n pendingPromise = undefined\n let ret\n try {\n ret = action(\n `${name} - runid: ${runId} - yield ${stepId++}`,\n gen.throw!\n ).call(gen, err)\n } catch (e) {\n return reject(e)\n }\n next(ret)\n }\n\n function next(ret: any) {\n if (isFunction(ret?.then)) {\n // an async iterator\n ret.then(next, reject)\n return\n }\n if (ret.done) {\n return resolve(ret.value)\n }\n pendingPromise = Promise.resolve(ret.value) as any\n return pendingPromise!.then(onFulfilled, onRejected)\n }\n\n onFulfilled(undefined) // kick off the process\n }) as any\n\n promise.cancel = action(`${name} - runid: ${runId} - cancel`, function () {\n try {\n if (pendingPromise) {\n cancelPromise(pendingPromise)\n }\n // Finally block can return (or yield) stuff..\n const res = gen.return!(undefined as any)\n // eat anything that promise would do, it's cancelled!\n const yieldedPromise = Promise.resolve(res.value)\n yieldedPromise.then(noop, noop)\n cancelPromise(yieldedPromise) // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError())\n } catch (e) {\n rejector(e) // there could be a throwing finally block\n }\n })\n return promise\n }\n res.isMobXFlow = true\n return res\n } as any,\n flowAnnotation\n)\n\nflow.bound = createDecoratorAnnotation(flowBoundAnnotation)\n\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) {\n promise.cancel()\n }\n}\n\nexport function flowResult(\n result: T\n): T extends Generator\n ? CancellablePromise\n : T extends CancellablePromise\n ? T\n : never {\n return result as any // just tricking TypeScript :)\n}\n\nexport function isFlow(fn: any): boolean {\n return fn?.isMobXFlow === true\n}\n","import {\n IObservableArray,\n IObservableValue,\n Lambda,\n ObservableMap,\n getAdministration,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isObservableValue,\n ObservableSet,\n die,\n isStringish\n} from \"../internal\"\n\nexport type ReadInterceptor = (value: any) => T\n\n/** Experimental feature right now, tested indirectly via Mobx-State-Tree */\nexport function interceptReads(value: IObservableValue, handler: ReadInterceptor): Lambda\nexport function interceptReads(\n observableArray: IObservableArray,\n handler: ReadInterceptor\n): Lambda\nexport function interceptReads(\n observableMap: ObservableMap,\n handler: ReadInterceptor\n): Lambda\nexport function interceptReads(\n observableSet: ObservableSet,\n handler: ReadInterceptor\n): Lambda\nexport function interceptReads(\n object: Object,\n property: string,\n handler: ReadInterceptor\n): Lambda\nexport function interceptReads(thing, propOrHandler?, handler?): Lambda {\n let target\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing)\n } else if (isObservableObject(thing)) {\n if (__DEV__ && !isStringish(propOrHandler)) {\n return die(\n `InterceptReads can only be used with a specific property, not with an object in general`\n )\n }\n target = getAdministration(thing, propOrHandler)\n } else if (__DEV__) {\n return die(`Expected observable map, object or array as first array`)\n }\n if (__DEV__ && target.dehancer !== undefined) {\n return die(`An intercept reader was already established`)\n }\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler\n return () => {\n target.dehancer = undefined\n }\n}\n","import {\n IArrayWillChange,\n IArrayWillSplice,\n IInterceptor,\n IMapWillChange,\n IObjectWillChange,\n IObservableArray,\n IObservableValue,\n IValueWillChange,\n Lambda,\n ObservableMap,\n getAdministration,\n ObservableSet,\n ISetWillChange,\n isFunction\n} from \"../internal\"\n\nexport function intercept(\n value: IObservableValue,\n handler: IInterceptor>\n): Lambda\nexport function intercept(\n observableArray: IObservableArray | Array,\n handler: IInterceptor | IArrayWillSplice>\n): Lambda\nexport function intercept(\n observableMap: ObservableMap | Map,\n handler: IInterceptor>\n): Lambda\nexport function intercept(\n observableSet: ObservableSet | Set,\n handler: IInterceptor>\n): Lambda\nexport function intercept(\n observableMap: ObservableMap | Map,\n property: K,\n handler: IInterceptor>\n): Lambda\nexport function intercept(object: object, handler: IInterceptor): Lambda\nexport function intercept(\n object: T,\n property: K,\n handler: IInterceptor>\n): Lambda\nexport function intercept(thing, propOrHandler?, handler?): Lambda {\n if (isFunction(handler)) {\n return interceptProperty(thing, propOrHandler, handler)\n } else {\n return interceptInterceptable(thing, propOrHandler)\n }\n}\n\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler)\n}\n\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler)\n}\n","import { $mobx, getAtom, isComputedValue, isObservableObject, die, isStringish } from \"../internal\"\n\nexport function _isComputed(value, property?: PropertyKey): boolean {\n if (property === undefined) {\n return isComputedValue(value)\n }\n if (isObservableObject(value) === false) {\n return false\n }\n if (!value[$mobx].values_.has(property)) {\n return false\n }\n const atom = getAtom(value, property)\n return isComputedValue(atom)\n}\n\nexport function isComputed(value: any): boolean {\n if (__DEV__ && arguments.length > 1) {\n return die(\n `isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`\n )\n }\n return _isComputed(value)\n}\n\nexport function isComputedProp(value: any, propName: PropertyKey): boolean {\n if (__DEV__ && !isStringish(propName)) {\n return die(`isComputed expected a property name as second argument`)\n }\n return _isComputed(value, propName)\n}\n","import {\n $mobx,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n die,\n isStringish\n} from \"../internal\"\n\nfunction _isObservable(value, property?: PropertyKey): boolean {\n if (!value) {\n return false\n }\n if (property !== undefined) {\n if (__DEV__ && (isObservableMap(value) || isObservableArray(value))) {\n return die(\n \"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\"\n )\n }\n if (isObservableObject(value)) {\n return value[$mobx].values_.has(property)\n }\n return false\n }\n // For first check, see #701\n return (\n isObservableObject(value) ||\n !!value[$mobx] ||\n isAtom(value) ||\n isReaction(value) ||\n isComputedValue(value)\n )\n}\n\nexport function isObservable(value: any): boolean {\n if (__DEV__ && arguments.length !== 1) {\n die(\n `isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`\n )\n }\n return _isObservable(value)\n}\n\nexport function isObservableProp(value: any, propName: PropertyKey): boolean {\n if (__DEV__ && !isStringish(propName)) {\n return die(`expected a property name as second argument`)\n }\n return _isObservable(value, propName)\n}\n","import {\n $mobx,\n IIsObservableObject,\n IObservableArray,\n ObservableMap,\n ObservableSet,\n ObservableObjectAdministration,\n endBatch,\n isObservableArray,\n isObservableMap,\n isObservableSet,\n isObservableObject,\n startBatch,\n die\n} from \"../internal\"\n\nexport function keys(map: ObservableMap): ReadonlyArray\nexport function keys(ar: IObservableArray): ReadonlyArray\nexport function keys(set: ObservableSet): ReadonlyArray\nexport function keys(obj: T): ReadonlyArray\nexport function keys(obj: any): any {\n if (isObservableObject(obj)) {\n return (\n (obj as any as IIsObservableObject)[$mobx] as ObservableObjectAdministration\n ).keys_()\n }\n if (isObservableMap(obj) || isObservableSet(obj)) {\n return Array.from(obj.keys())\n }\n if (isObservableArray(obj)) {\n return obj.map((_, index) => index)\n }\n die(5)\n}\n\nexport function values(map: ObservableMap): ReadonlyArray\nexport function values(set: ObservableSet): ReadonlyArray\nexport function values(ar: IObservableArray): ReadonlyArray\nexport function values(obj: T): ReadonlyArray\nexport function values(obj: any): string[] {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => obj[key])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => obj.get(key))\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values())\n }\n if (isObservableArray(obj)) {\n return obj.slice()\n }\n die(6)\n}\n\nexport function entries(map: ObservableMap): ReadonlyArray<[K, T]>\nexport function entries(set: ObservableSet): ReadonlyArray<[T, T]>\nexport function entries(ar: IObservableArray): ReadonlyArray<[number, T]>\nexport function entries(\n obj: T\n): ReadonlyArray<[string, T extends object ? T[keyof T] : any]>\nexport function entries(obj: any): any {\n if (isObservableObject(obj)) {\n return keys(obj).map(key => [key, obj[key]])\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(key => [key, obj.get(key)])\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries())\n }\n if (isObservableArray(obj)) {\n return obj.map((key, index) => [index, key])\n }\n die(7)\n}\n\nexport function set(obj: ObservableMap, values: { [key: string]: V })\nexport function set(obj: ObservableMap, key: K, value: V)\nexport function set(obj: ObservableSet, value: T)\nexport function set(obj: IObservableArray, index: number, value: T)\nexport function set(obj: T, values: { [key: string]: any })\nexport function set(obj: T, key: PropertyKey, value: any)\nexport function set(obj: any, key: any, value?: any): void {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch()\n const values = key\n try {\n for (let key in values) {\n set(obj, key, values[key])\n }\n } finally {\n endBatch()\n }\n return\n }\n if (isObservableObject(obj)) {\n ;(obj as any as IIsObservableObject)[$mobx].set_(key, value)\n } else if (isObservableMap(obj)) {\n obj.set(key, value)\n } else if (isObservableSet(obj)) {\n obj.add(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10)\n }\n if (key < 0) {\n die(`Invalid index: '${key}'`)\n }\n startBatch()\n if (key >= obj.length) {\n obj.length = key + 1\n }\n obj[key] = value\n endBatch()\n } else {\n die(8)\n }\n}\n\nexport function remove(obj: ObservableMap, key: K)\nexport function remove(obj: ObservableSet, key: T)\nexport function remove(obj: IObservableArray, index: number)\nexport function remove(obj: T, key: string)\nexport function remove(obj: any, key: any): void {\n if (isObservableObject(obj)) {\n ;(obj as any as IIsObservableObject)[$mobx].delete_(key)\n } else if (isObservableMap(obj)) {\n obj.delete(key)\n } else if (isObservableSet(obj)) {\n obj.delete(key)\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10)\n }\n obj.splice(key, 1)\n } else {\n die(9)\n }\n}\n\nexport function has(obj: ObservableMap, key: K): boolean\nexport function has(obj: ObservableSet, key: T): boolean\nexport function has(obj: IObservableArray, index: number): boolean\nexport function has(obj: T, key: string): boolean\nexport function has(obj: any, key: any): boolean {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].has_(key)\n } else if (isObservableMap(obj)) {\n return obj.has(key)\n } else if (isObservableSet(obj)) {\n return obj.has(key)\n } else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length\n }\n die(10)\n}\n\nexport function get(obj: ObservableMap, key: K): V | undefined\nexport function get(obj: IObservableArray, index: number): T | undefined\nexport function get(obj: T, key: string): any\nexport function get(obj: any, key: any): any {\n if (!has(obj, key)) {\n return undefined\n }\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].get_(key)\n } else if (isObservableMap(obj)) {\n return obj.get(key)\n } else if (isObservableArray(obj)) {\n return obj[key]\n }\n die(11)\n}\n\nexport function apiDefineProperty(obj: Object, key: PropertyKey, descriptor: PropertyDescriptor) {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].defineProperty_(key, descriptor)\n }\n die(39)\n}\n\nexport function apiOwnKeys(obj: Object) {\n if (isObservableObject(obj)) {\n return (obj as any as IIsObservableObject)[$mobx].ownKeys_()\n }\n die(38)\n}\n","import {\n IArrayDidChange,\n IComputedValue,\n IMapDidChange,\n IObjectDidChange,\n IObservableArray,\n IObservableValue,\n IValueDidChange,\n Lambda,\n ObservableMap,\n getAdministration,\n ObservableSet,\n ISetDidChange,\n isFunction\n} from \"../internal\"\n\nexport function observe(\n value: IObservableValue | IComputedValue,\n listener: (change: IValueDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n observableArray: IObservableArray | Array,\n listener: (change: IArrayDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n // ObservableSet/ObservableMap are required despite they implement Set/Map: https://github.com/mobxjs/mobx/pull/3180#discussion_r746542929\n observableSet: ObservableSet | Set,\n listener: (change: ISetDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n observableMap: ObservableMap | Map,\n listener: (change: IMapDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n observableMap: ObservableMap | Map,\n property: K,\n listener: (change: IValueDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n object: Object,\n listener: (change: IObjectDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(\n object: T,\n property: K,\n listener: (change: IValueDidChange) => void,\n fireImmediately?: boolean\n): Lambda\nexport function observe(thing, propOrCb?, cbOrFire?, fireImmediately?): Lambda {\n if (isFunction(cbOrFire)) {\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately)\n } else {\n return observeObservable(thing, propOrCb, cbOrFire)\n }\n}\n\nfunction observeObservable(thing, listener, fireImmediately: boolean) {\n return getAdministration(thing).observe_(listener, fireImmediately)\n}\n\nfunction observeObservableProperty(thing, property, listener, fireImmediately: boolean) {\n return getAdministration(thing, property).observe_(listener, fireImmediately)\n}\n","import {\n isObservable,\n isObservableArray,\n isObservableValue,\n isObservableMap,\n isObservableSet,\n isComputedValue,\n die,\n apiOwnKeys,\n objectPrototype\n} from \"../internal\"\n\nfunction cache(map: Map, key: K, value: V): V {\n map.set(key, value)\n return value\n}\n\nfunction toJSHelper(source, __alreadySeen: Map) {\n if (\n source == null ||\n typeof source !== \"object\" ||\n source instanceof Date ||\n !isObservable(source)\n ) {\n return source\n }\n\n if (isObservableValue(source) || isComputedValue(source)) {\n return toJSHelper(source.get(), __alreadySeen)\n }\n if (__alreadySeen.has(source)) {\n return __alreadySeen.get(source)\n }\n if (isObservableArray(source)) {\n const res = cache(__alreadySeen, source, new Array(source.length))\n source.forEach((value, idx) => {\n res[idx] = toJSHelper(value, __alreadySeen)\n })\n return res\n }\n if (isObservableSet(source)) {\n const res = cache(__alreadySeen, source, new Set())\n source.forEach(value => {\n res.add(toJSHelper(value, __alreadySeen))\n })\n return res\n }\n if (isObservableMap(source)) {\n const res = cache(__alreadySeen, source, new Map())\n source.forEach((value, key) => {\n res.set(key, toJSHelper(value, __alreadySeen))\n })\n return res\n } else {\n // must be observable object\n const res = cache(__alreadySeen, source, {})\n apiOwnKeys(source).forEach((key: any) => {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) {\n res[key] = toJSHelper(source[key], __alreadySeen)\n }\n })\n return res\n }\n}\n\n/**\n * Recursively converts an observable to it's non-observable native counterpart.\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\n * Computed and other non-enumerable properties are completely ignored.\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\n */\nexport function toJS(source: T, options?: any): T {\n if (__DEV__ && options) {\n die(\"toJS no longer supports options\")\n }\n return toJSHelper(source, new Map())\n}\n","import { TraceMode, die, getAtom, globalState } from \"../internal\"\n\nexport function trace(thing?: any, prop?: string, enterBreakPoint?: boolean): void\nexport function trace(thing?: any, enterBreakPoint?: boolean): void\nexport function trace(enterBreakPoint?: boolean): void\nexport function trace(...args: any[]): void {\n if (!__DEV__) {\n return\n }\n let enterBreakPoint = false\n if (typeof args[args.length - 1] === \"boolean\") {\n enterBreakPoint = args.pop()\n }\n const derivation = getAtomFromArgs(args)\n if (!derivation) {\n return die(\n `'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`\n )\n }\n if (derivation.isTracing_ === TraceMode.NONE) {\n console.log(`[mobx.trace] '${derivation.name_}' tracing enabled`)\n }\n derivation.isTracing_ = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG\n}\n\nfunction getAtomFromArgs(args): any {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation\n case 1:\n return getAtom(args[0])\n case 2:\n return getAtom(args[0], args[1])\n }\n}\n","import { endBatch, startBatch } from \"../internal\"\n\n/**\n * During a transaction no views are updated until the end of the transaction.\n * The transaction will be run synchronously nonetheless.\n *\n * @param action a function that updates some reactive state\n * @returns any value that was returned by the 'action' parameter.\n */\nexport function transaction(action: () => T, thisArg = undefined): T {\n startBatch()\n try {\n return action.apply(thisArg)\n } finally {\n endBatch()\n }\n}\n","import {\n $mobx,\n IReactionDisposer,\n Lambda,\n autorun,\n createAction,\n getNextId,\n die,\n allowStateChanges,\n GenericAbortSignal\n} from \"../internal\"\n\nexport interface IWhenOptions {\n name?: string\n timeout?: number\n onError?: (error: any) => void\n signal?: GenericAbortSignal\n}\n\nexport function when(\n predicate: () => boolean,\n opts?: IWhenOptions\n): Promise & { cancel(): void }\nexport function when(\n predicate: () => boolean,\n effect: Lambda,\n opts?: IWhenOptions\n): IReactionDisposer\nexport function when(predicate: any, arg1?: any, arg2?: any): any {\n if (arguments.length === 1 || (arg1 && typeof arg1 === \"object\")) {\n return whenPromise(predicate, arg1)\n }\n return _when(predicate, arg1, arg2 || {})\n}\n\nfunction _when(predicate: () => boolean, effect: Lambda, opts: IWhenOptions): IReactionDisposer {\n let timeoutHandle: any\n if (typeof opts.timeout === \"number\") {\n const error = new Error(\"WHEN_TIMEOUT\")\n timeoutHandle = setTimeout(() => {\n if (!disposer[$mobx].isDisposed_) {\n disposer()\n if (opts.onError) {\n opts.onError(error)\n } else {\n throw error\n }\n }\n }, opts.timeout)\n }\n\n opts.name = __DEV__ ? opts.name || \"When@\" + getNextId() : \"When\"\n const effectAction = createAction(\n __DEV__ ? opts.name + \"-effect\" : \"When-effect\",\n effect as Function\n )\n // eslint-disable-next-line\n var disposer = autorun(r => {\n // predicate should not change state\n let cond = allowStateChanges(false, predicate)\n if (cond) {\n r.dispose()\n if (timeoutHandle) {\n clearTimeout(timeoutHandle)\n }\n effectAction()\n }\n }, opts)\n return disposer\n}\n\nfunction whenPromise(\n predicate: () => boolean,\n opts?: IWhenOptions\n): Promise & { cancel(): void } {\n if (__DEV__ && opts && opts.onError) {\n return die(`the options 'onError' and 'promise' cannot be combined`)\n }\n if (opts?.signal?.aborted) {\n return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), { cancel: () => null })\n }\n let cancel\n let abort\n const res = new Promise((resolve, reject) => {\n let disposer = _when(predicate, resolve as Lambda, { ...opts, onError: reject })\n cancel = () => {\n disposer()\n reject(new Error(\"WHEN_CANCELLED\"))\n }\n abort = () => {\n disposer()\n reject(new Error(\"WHEN_ABORTED\"))\n }\n opts?.signal?.addEventListener?.(\"abort\", abort)\n }).finally(() => opts?.signal?.removeEventListener?.(\"abort\", abort))\n ;(res as any).cancel = cancel\n return res as any\n}\n","import {\n $mobx,\n IIsObservableObject,\n ObservableObjectAdministration,\n warnAboutProxyRequirement,\n assertProxies,\n die,\n isStringish,\n globalState,\n CreateObservableOptions,\n asObservableObject\n} from \"../internal\"\n\nfunction getAdm(target): ObservableObjectAdministration {\n return target[$mobx]\n}\n\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nconst objectProxyTraps: ProxyHandler = {\n has(target: IIsObservableObject, name: PropertyKey): boolean {\n if (__DEV__ && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\n \"detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.\"\n )\n }\n return getAdm(target).has_(name)\n },\n get(target: IIsObservableObject, name: PropertyKey): any {\n return getAdm(target).get_(name)\n },\n set(target: IIsObservableObject, name: PropertyKey, value: any): boolean {\n if (!isStringish(name)) {\n return false\n }\n if (__DEV__ && !getAdm(target).values_.has(name)) {\n warnAboutProxyRequirement(\n \"add a new observable property through direct assignment. Use 'set' from 'mobx' instead.\"\n )\n }\n // null (intercepted) -> true (success)\n return getAdm(target).set_(name, value, true) ?? true\n },\n deleteProperty(target: IIsObservableObject, name: PropertyKey): boolean {\n if (__DEV__) {\n warnAboutProxyRequirement(\n \"delete properties from an observable object. Use 'remove' from 'mobx' instead.\"\n )\n }\n if (!isStringish(name)) {\n return false\n }\n // null (intercepted) -> true (success)\n return getAdm(target).delete_(name, true) ?? true\n },\n defineProperty(\n target: IIsObservableObject,\n name: PropertyKey,\n descriptor: PropertyDescriptor\n ): boolean {\n if (__DEV__) {\n warnAboutProxyRequirement(\n \"define property on an observable object. Use 'defineProperty' from 'mobx' instead.\"\n )\n }\n // null (intercepted) -> true (success)\n return getAdm(target).defineProperty_(name, descriptor) ?? true\n },\n ownKeys(target: IIsObservableObject): ArrayLike {\n if (__DEV__ && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\n \"iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.\"\n )\n }\n return getAdm(target).ownKeys_()\n },\n preventExtensions(target) {\n die(13)\n }\n}\n\nexport function asDynamicObservableObject(\n target: any,\n options?: CreateObservableOptions\n): IIsObservableObject {\n assertProxies()\n target = asObservableObject(target, options)\n return (target[$mobx].proxy_ ??= new Proxy(target, objectProxyTraps))\n}\n","import { Lambda, once, untrackedEnd, untrackedStart, die } from \"../internal\"\n\nexport type IInterceptor = (change: T) => T | null\n\nexport interface IInterceptable {\n interceptors_: IInterceptor[] | undefined\n}\n\nexport function hasInterceptors(interceptable: IInterceptable) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0\n}\n\nexport function registerInterceptor(\n interceptable: IInterceptable,\n handler: IInterceptor\n): Lambda {\n const interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = [])\n interceptors.push(handler)\n return once(() => {\n const idx = interceptors.indexOf(handler)\n if (idx !== -1) {\n interceptors.splice(idx, 1)\n }\n })\n}\n\nexport function interceptChange(\n interceptable: IInterceptable,\n change: T | null\n): T | null {\n const prevU = untrackedStart()\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n const interceptors = [...(interceptable.interceptors_ || [])]\n for (let i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change)\n if (change && !(change as any).type) {\n die(14)\n }\n if (!change) {\n break\n }\n }\n return change\n } finally {\n untrackedEnd(prevU)\n }\n}\n","import { Lambda, once, untrackedEnd, untrackedStart } from \"../internal\"\n\nexport interface IListenable {\n changeListeners_: Function[] | undefined\n}\n\nexport function hasListeners(listenable: IListenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0\n}\n\nexport function registerListener(listenable: IListenable, handler: Function): Lambda {\n const listeners = listenable.changeListeners_ || (listenable.changeListeners_ = [])\n listeners.push(handler)\n return once(() => {\n const idx = listeners.indexOf(handler)\n if (idx !== -1) {\n listeners.splice(idx, 1)\n }\n })\n}\n\nexport function notifyListeners(listenable: IListenable, change: T) {\n const prevU = untrackedStart()\n let listeners = listenable.changeListeners_\n if (!listeners) {\n return\n }\n listeners = listeners.slice()\n for (let i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change)\n }\n untrackedEnd(prevU)\n}\n","import {\n $mobx,\n asObservableObject,\n AnnotationsMap,\n CreateObservableOptions,\n ObservableObjectAdministration,\n collectStoredAnnotations,\n isPlainObject,\n isObservableObject,\n die,\n ownKeys,\n extendObservable,\n addHiddenProp,\n storedAnnotationsSymbol,\n initObservable\n} from \"../internal\"\n\n// Hack based on https://github.com/Microsoft/TypeScript/issues/14829#issuecomment-322267089\n// We need this, because otherwise, AdditionalKeys is going to be inferred to be any\n// set of superfluous keys. But, we rather want to get a compile error unless AdditionalKeys is\n// _explicity_ passed as generic argument\n// Fixes: https://github.com/mobxjs/mobx/issues/2325#issuecomment-691070022\ntype NoInfer = [T][T extends any ? 0 : never]\n\ntype MakeObservableOptions = Omit\n\nexport function makeObservable(\n target: T,\n annotations?: AnnotationsMap>,\n options?: MakeObservableOptions\n): T {\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n if (__DEV__ && annotations && target[storedAnnotationsSymbol]) {\n die(\n `makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`\n )\n }\n // Default to decorators\n annotations ??= collectStoredAnnotations(target)\n\n // Annotate\n ownKeys(annotations).forEach(key => adm.make_(key, annotations![key]))\n })\n return target\n}\n\n// proto[keysSymbol] = new Set()\nconst keysSymbol = Symbol(\"mobx-keys\")\n\nexport function makeAutoObservable(\n target: T,\n overrides?: AnnotationsMap>,\n options?: MakeObservableOptions\n): T {\n if (__DEV__) {\n if (!isPlainObject(target) && !isPlainObject(Object.getPrototypeOf(target))) {\n die(`'makeAutoObservable' can only be used for classes that don't have a superclass`)\n }\n if (isObservableObject(target)) {\n die(`makeAutoObservable can only be used on objects not already made observable`)\n }\n }\n\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) {\n return extendObservable(target, target, overrides, options)\n }\n\n initObservable(() => {\n const adm: ObservableObjectAdministration = asObservableObject(target, options)[$mobx]\n\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n const proto = Object.getPrototypeOf(target)\n const keys = new Set([...ownKeys(target), ...ownKeys(proto)])\n keys.delete(\"constructor\")\n keys.delete($mobx)\n addHiddenProp(proto, keysSymbol, keys)\n }\n\n target[keysSymbol].forEach(key =>\n adm.make_(\n key,\n // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true\n )\n )\n })\n\n return target\n}\n","import {\n $mobx,\n Atom,\n EMPTY_ARRAY,\n IAtom,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n addHiddenFinalProp,\n checkIfStateModificationsAreAllowed,\n createInstanceofPredicate,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isSpyEnabled,\n notifyListeners,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n assertProxies,\n reserveArrayBuffer,\n hasProp,\n die,\n globalState,\n initObservable\n} from \"../internal\"\n\nconst SPLICE = \"splice\"\nexport const UPDATE = \"update\"\nexport const MAX_SPLICE_SIZE = 10000 // See e.g. https://github.com/mobxjs/mobx/issues/859\n\nexport interface IObservableArray extends Array {\n spliceWithArray(index: number, deleteCount?: number, newItems?: T[]): T[]\n clear(): T[]\n replace(newItems: T[]): T[]\n remove(value: T): boolean\n toJSON(): T[]\n}\n\ninterface IArrayBaseChange {\n object: IObservableArray\n observableKind: \"array\"\n debugObjectName: string\n index: number\n}\n\nexport type IArrayDidChange = IArrayUpdate | IArraySplice\n\nexport interface IArrayUpdate extends IArrayBaseChange {\n type: \"update\"\n newValue: T\n oldValue: T\n}\n\nexport interface IArraySplice extends IArrayBaseChange {\n type: \"splice\"\n added: T[]\n addedCount: number\n removed: T[]\n removedCount: number\n}\n\nexport interface IArrayWillChange {\n object: IObservableArray\n index: number\n type: \"update\"\n newValue: T\n}\n\nexport interface IArrayWillSplice {\n object: IObservableArray\n index: number\n type: \"splice\"\n added: T[]\n removedCount: number\n}\n\nconst arrayTraps = {\n get(target, name) {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === $mobx) {\n return adm\n }\n if (name === \"length\") {\n return adm.getArrayLength_()\n }\n if (typeof name === \"string\" && !isNaN(name as any)) {\n return adm.get_(parseInt(name))\n }\n if (hasProp(arrayExtensions, name)) {\n return arrayExtensions[name]\n }\n return target[name]\n },\n set(target, name, value): boolean {\n const adm: ObservableArrayAdministration = target[$mobx]\n if (name === \"length\") {\n adm.setArrayLength_(value)\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value\n } else {\n // numeric string\n adm.set_(parseInt(name), value)\n }\n return true\n },\n preventExtensions() {\n die(15)\n }\n}\n\nexport class ObservableArrayAdministration\n implements IInterceptable | IArrayWillSplice>, IListenable\n{\n atom_: IAtom\n readonly values_: any[] = [] // this is the prop that gets proxied, so can't replace it!\n interceptors_\n changeListeners_\n enhancer_: (newV: any, oldV: any | undefined) => any\n dehancer: any\n proxy_!: IObservableArray\n lastKnownLength_ = 0\n\n constructor(\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n enhancer: IEnhancer,\n public owned_: boolean,\n public legacyMode_: boolean\n ) {\n this.atom_ = new Atom(name)\n this.enhancer_ = (newV, oldV) =>\n enhancer(newV, oldV, __DEV__ ? name + \"[..]\" : \"ObservableArray[..]\")\n }\n\n dehanceValue_(value: any): any {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n dehanceValues_(values: any[]): any[] {\n if (this.dehancer !== undefined && values.length > 0) {\n return values.map(this.dehancer) as any\n }\n return values\n }\n\n intercept_(handler: IInterceptor | IArrayWillSplice>): Lambda {\n return registerInterceptor | IArrayWillSplice>(this, handler)\n }\n\n observe_(\n listener: (changeData: IArrayDidChange) => void,\n fireImmediately = false\n ): Lambda {\n if (fireImmediately) {\n listener(>{\n observableKind: \"array\",\n object: this.proxy_ as any,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n })\n }\n return registerListener(this, listener)\n }\n\n getArrayLength_(): number {\n this.atom_.reportObserved()\n return this.values_.length\n }\n\n setArrayLength_(newLength: number) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) {\n die(\"Out of range: \" + newLength)\n }\n let currentLength = this.values_.length\n if (newLength === currentLength) {\n return\n } else if (newLength > currentLength) {\n const newItems = new Array(newLength - currentLength)\n for (let i = 0; i < newLength - currentLength; i++) {\n newItems[i] = undefined\n } // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems)\n } else {\n this.spliceWithArray_(newLength, currentLength - newLength)\n }\n }\n\n updateArrayLength_(oldLength: number, delta: number) {\n if (oldLength !== this.lastKnownLength_) {\n die(16)\n }\n this.lastKnownLength_ += delta\n if (this.legacyMode_ && delta > 0) {\n reserveArrayBuffer(oldLength + delta + 1)\n }\n }\n\n spliceWithArray_(index: number, deleteCount?: number, newItems?: any[]): any[] {\n checkIfStateModificationsAreAllowed(this.atom_)\n const length = this.values_.length\n\n if (index === undefined) {\n index = 0\n } else if (index > length) {\n index = length\n } else if (index < 0) {\n index = Math.max(0, length + index)\n }\n\n if (arguments.length === 1) {\n deleteCount = length - index\n } else if (deleteCount === undefined || deleteCount === null) {\n deleteCount = 0\n } else {\n deleteCount = Math.max(0, Math.min(deleteCount, length - index))\n }\n\n if (newItems === undefined) {\n newItems = EMPTY_ARRAY\n }\n\n if (hasInterceptors(this)) {\n const change = interceptChange>(this as any, {\n object: this.proxy_ as any,\n type: SPLICE,\n index,\n removedCount: deleteCount,\n added: newItems\n })\n if (!change) {\n return EMPTY_ARRAY\n }\n deleteCount = change.removedCount\n newItems = change.added\n }\n\n newItems =\n newItems.length === 0 ? newItems : newItems.map(v => this.enhancer_(v, undefined))\n if (this.legacyMode_ || __DEV__) {\n const lengthDelta = newItems.length - deleteCount\n this.updateArrayLength_(length, lengthDelta) // checks if internal array wasn't modified\n }\n const res = this.spliceItemsIntoValues_(index, deleteCount, newItems)\n\n if (deleteCount !== 0 || newItems.length !== 0) {\n this.notifyArraySplice_(index, newItems, res)\n }\n return this.dehanceValues_(res)\n }\n\n spliceItemsIntoValues_(index: number, deleteCount: number, newItems: any[]): any[] {\n if (newItems.length < MAX_SPLICE_SIZE) {\n return this.values_.splice(index, deleteCount, ...newItems)\n } else {\n // The items removed by the splice\n const res = this.values_.slice(index, index + deleteCount)\n // The items that that should remain at the end of the array\n let oldItems = this.values_.slice(index + deleteCount)\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount\n for (let i = 0; i < newItems.length; i++) {\n this.values_[index + i] = newItems[i]\n }\n for (let i = 0; i < oldItems.length; i++) {\n this.values_[index + newItems.length + i] = oldItems[i]\n }\n return res\n }\n }\n\n notifyArrayChildUpdate_(index: number, newValue: any, oldValue: any) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArrayDidChange | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index,\n newValue,\n oldValue\n } as const)\n : null\n\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n this.atom_.reportChanged()\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n notifyArraySplice_(index: number, added: any[], removed: any[]) {\n const notifySpy = !this.owned_ && isSpyEnabled()\n const notify = hasListeners(this)\n const change: IArraySplice | null =\n notify || notifySpy\n ? ({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index,\n removed,\n added,\n removedCount: removed.length,\n addedCount: added.length\n } as const)\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n this.atom_.reportChanged()\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n get_(index: number): any | undefined {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(\n __DEV__\n ? `[mobx.array] Attempt to read an array index (${index}) that is out of bounds (${this.values_.length}). Please check length first. Out of bound indices will not be tracked by MobX`\n : `[mobx] Out of bounds read: ${index}`\n )\n return undefined\n }\n this.atom_.reportObserved()\n return this.dehanceValue_(this.values_[index])\n }\n\n set_(index: number, newValue: any) {\n const values = this.values_\n if (this.legacyMode_ && index > values.length) {\n // out of bounds\n die(17, index, values.length)\n }\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_)\n const oldValue = values[index]\n if (hasInterceptors(this)) {\n const change = interceptChange>(this as any, {\n type: UPDATE,\n object: this.proxy_ as any, // since \"this\" is the real array we need to pass its proxy\n index,\n newValue\n })\n if (!change) {\n return\n }\n newValue = change.newValue\n }\n newValue = this.enhancer_(newValue, oldValue)\n const changed = newValue !== oldValue\n if (changed) {\n values[index] = newValue\n this.notifyArrayChildUpdate_(index, newValue, oldValue)\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n const newItems = new Array(index + 1 - values.length)\n for (let i = 0; i < newItems.length - 1; i++) {\n newItems[i] = undefined\n } // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue\n this.spliceWithArray_(values.length, 0, newItems)\n }\n }\n}\n\nexport function createObservableArray(\n initialValues: T[] | undefined,\n enhancer: IEnhancer,\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n owned = false\n): IObservableArray {\n assertProxies()\n return initObservable(() => {\n const adm = new ObservableArrayAdministration(name, enhancer, owned, false)\n addHiddenFinalProp(adm.values_, $mobx, adm)\n const proxy = new Proxy(adm.values_, arrayTraps) as any\n adm.proxy_ = proxy\n if (initialValues && initialValues.length) {\n adm.spliceWithArray_(0, 0, initialValues)\n }\n return proxy\n })\n}\n\n// eslint-disable-next-line\nexport var arrayExtensions = {\n clear(): any[] {\n return this.splice(0)\n },\n\n replace(newItems: any[]) {\n const adm: ObservableArrayAdministration = this[$mobx]\n return adm.spliceWithArray_(0, adm.values_.length, newItems)\n },\n\n // Used by JSON.stringify\n toJSON(): any[] {\n return this.slice()\n },\n\n /*\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\n * since these functions alter the inner structure of the array, the have side effects.\n * Because the have side effects, they should not be used in computed function,\n * and for that reason the do not call dependencyState.notifyObserved\n */\n splice(index: number, deleteCount?: number, ...newItems: any[]): any[] {\n const adm: ObservableArrayAdministration = this[$mobx]\n switch (arguments.length) {\n case 0:\n return []\n case 1:\n return adm.spliceWithArray_(index)\n case 2:\n return adm.spliceWithArray_(index, deleteCount)\n }\n return adm.spliceWithArray_(index, deleteCount, newItems)\n },\n\n spliceWithArray(index: number, deleteCount?: number, newItems?: any[]): any[] {\n return (this[$mobx] as ObservableArrayAdministration).spliceWithArray_(\n index,\n deleteCount,\n newItems\n )\n },\n\n push(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(adm.values_.length, 0, items)\n return adm.values_.length\n },\n\n pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0]\n },\n\n shift() {\n return this.splice(0, 1)[0]\n },\n\n unshift(...items: any[]): number {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.spliceWithArray_(0, 0, items)\n return adm.values_.length\n },\n\n reverse(): any[] {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) {\n die(37, \"reverse\")\n }\n this.replace(this.slice().reverse())\n return this\n },\n\n sort(): any[] {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) {\n die(37, \"sort\")\n }\n const copy = this.slice()\n copy.sort.apply(copy, arguments)\n this.replace(copy)\n return this\n },\n\n remove(value: any): boolean {\n const adm: ObservableArrayAdministration = this[$mobx]\n const idx = adm.dehanceValues_(adm.values_).indexOf(value)\n if (idx > -1) {\n this.splice(idx, 1)\n return true\n }\n return false\n }\n}\n\n/**\n * Wrap function from prototype\n * Without this, everything works as well, but this works\n * faster as everything works on unproxied values\n */\naddArrayExtension(\"at\", simpleFunc)\naddArrayExtension(\"concat\", simpleFunc)\naddArrayExtension(\"flat\", simpleFunc)\naddArrayExtension(\"includes\", simpleFunc)\naddArrayExtension(\"indexOf\", simpleFunc)\naddArrayExtension(\"join\", simpleFunc)\naddArrayExtension(\"lastIndexOf\", simpleFunc)\naddArrayExtension(\"slice\", simpleFunc)\naddArrayExtension(\"toString\", simpleFunc)\naddArrayExtension(\"toLocaleString\", simpleFunc)\naddArrayExtension(\"toSorted\", simpleFunc)\naddArrayExtension(\"toSpliced\", simpleFunc)\naddArrayExtension(\"with\", simpleFunc)\n// map\naddArrayExtension(\"every\", mapLikeFunc)\naddArrayExtension(\"filter\", mapLikeFunc)\naddArrayExtension(\"find\", mapLikeFunc)\naddArrayExtension(\"findIndex\", mapLikeFunc)\naddArrayExtension(\"findLast\", mapLikeFunc)\naddArrayExtension(\"findLastIndex\", mapLikeFunc)\naddArrayExtension(\"flatMap\", mapLikeFunc)\naddArrayExtension(\"forEach\", mapLikeFunc)\naddArrayExtension(\"map\", mapLikeFunc)\naddArrayExtension(\"some\", mapLikeFunc)\naddArrayExtension(\"toReversed\", mapLikeFunc)\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc)\naddArrayExtension(\"reduceRight\", reduceLikeFunc)\n\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") {\n arrayExtensions[funcName] = funcFactory(funcName)\n }\n}\n\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\n// Make sure callbacks recieve correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function (callback, thisArg) {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n return dehancedValues[funcName]((element, index) => {\n return callback.call(thisArg, element, index, this)\n })\n }\n}\n\n// Make sure callbacks recieve correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function () {\n const adm: ObservableArrayAdministration = this[$mobx]\n adm.atom_.reportObserved()\n const dehancedValues = adm.dehanceValues_(adm.values_)\n // #2432 - reduce behavior depends on arguments.length\n const callback = arguments[0]\n arguments[0] = (accumulator, currentValue, index) => {\n return callback(accumulator, currentValue, index, this)\n }\n return dehancedValues[funcName].apply(dehancedValues, arguments)\n }\n}\n\nconst isObservableArrayAdministration = createInstanceofPredicate(\n \"ObservableArrayAdministration\",\n ObservableArrayAdministration\n)\n\nexport function isObservableArray(thing): thing is IObservableArray {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx])\n}\n","import {\n $mobx,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n Lambda,\n ObservableValue,\n checkIfStateModificationsAreAllowed,\n createAtom,\n createInstanceofPredicate,\n deepEnhancer,\n getNextId,\n getPlainObjectKeys,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isES6Map,\n isPlainObject,\n isSpyEnabled,\n makeIterable,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n stringifyKey,\n transaction,\n untracked,\n onBecomeUnobserved,\n globalState,\n die,\n isFunction,\n UPDATE,\n IAtom,\n PureSpyEvent,\n initObservable\n} from \"../internal\"\n\nexport interface IKeyValueMap {\n [key: string]: V\n}\n\nexport type IMapEntry = [K, V]\nexport type IReadonlyMapEntry = readonly [K, V]\nexport type IMapEntries = IMapEntry[]\nexport type IReadonlyMapEntries = IReadonlyMapEntry[]\n\nexport type IMapDidChange = { observableKind: \"map\"; debugObjectName: string } & (\n | {\n object: ObservableMap\n name: K // actual the key or index, but this is based on the ancient .observe proposal for consistency\n type: \"update\"\n newValue: V\n oldValue: V\n }\n | {\n object: ObservableMap\n name: K\n type: \"add\"\n newValue: V\n }\n | {\n object: ObservableMap\n name: K\n type: \"delete\"\n oldValue: V\n }\n)\n\nexport interface IMapWillChange {\n object: ObservableMap\n type: \"update\" | \"add\" | \"delete\"\n name: K\n newValue?: V\n}\n\nconst ObservableMapMarker = {}\n\nexport const ADD = \"add\"\nexport const DELETE = \"delete\"\n\nexport type IObservableMapInitialValues =\n | IMapEntries\n | IReadonlyMapEntries\n | IKeyValueMap\n | Map\n\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\nexport class ObservableMap\n implements Map, IInterceptable>, IListenable\n{\n [$mobx] = ObservableMapMarker\n data_!: Map>\n hasMap_!: Map> // hasMap, not hashMap >-).\n keysAtom_!: IAtom\n interceptors_\n changeListeners_\n dehancer: any\n\n constructor(\n initialData?: IObservableMapInitialValues,\n public enhancer_: IEnhancer = deepEnhancer,\n public name_ = __DEV__ ? \"ObservableMap@\" + getNextId() : \"ObservableMap\"\n ) {\n if (!isFunction(Map)) {\n die(18)\n }\n initObservable(() => {\n this.keysAtom_ = createAtom(__DEV__ ? `${this.name_}.keys()` : \"ObservableMap.keys()\")\n this.data_ = new Map()\n this.hasMap_ = new Map()\n if (initialData) {\n this.merge(initialData)\n }\n })\n }\n\n private has_(key: K): boolean {\n return this.data_.has(key)\n }\n\n has(key: K): boolean {\n if (!globalState.trackingDerivation) {\n return this.has_(key)\n }\n\n let entry = this.hasMap_.get(key)\n if (!entry) {\n const newEntry = (entry = new ObservableValue(\n this.has_(key),\n referenceEnhancer,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}?` : \"ObservableMap.key?\",\n false\n ))\n this.hasMap_.set(key, newEntry)\n onBecomeUnobserved(newEntry, () => this.hasMap_.delete(key))\n }\n\n return entry.get()\n }\n\n set(key: K, value: V) {\n const hasKey = this.has_(key)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n })\n if (!change) {\n return this\n }\n value = change.newValue!\n }\n if (hasKey) {\n this.updateValue_(key, value)\n } else {\n this.addValue_(key, value)\n }\n return this\n }\n\n delete(key: K): boolean {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: DELETE,\n object: this,\n name: key\n })\n if (!change) {\n return false\n }\n }\n if (this.has_(key)) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: (this.data_.get(key)).value_,\n name: key\n }\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n transaction(() => {\n this.keysAtom_.reportChanged()\n this.hasMap_.get(key)?.setNewValue_(false)\n const observable = this.data_.get(key)!\n observable.setNewValue_(undefined as any)\n this.data_.delete(key)\n })\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n return true\n }\n return false\n }\n\n private updateValue_(key: K, newValue: V | undefined) {\n const observable = this.data_.get(key)!\n newValue = (observable as any).prepareNewValue_(newValue) as V\n if (newValue !== globalState.UNCHANGED) {\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n observable.setNewValue_(newValue as V)\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n }\n\n private addValue_(key: K, newValue: V) {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n transaction(() => {\n const observable = new ObservableValue(\n newValue,\n this.enhancer_,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}` : \"ObservableMap.key\",\n false\n )\n this.data_.set(key, observable)\n newValue = (observable as any).value_ // value might have been changed\n this.hasMap_.get(key)?.setNewValue_(true)\n this.keysAtom_.reportChanged()\n })\n const notifySpy = isSpyEnabled()\n const notify = hasListeners(this)\n const change: IMapDidChange | null =\n notify || notifySpy\n ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue\n }\n : null\n if (__DEV__ && notifySpy) {\n spyReportStart(change! as PureSpyEvent)\n } // TODO fix type\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n get(key: K): V | undefined {\n if (this.has(key)) {\n return this.dehanceValue_(this.data_.get(key)!.get())\n }\n return this.dehanceValue_(undefined)\n }\n\n private dehanceValue_(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n keys(): IterableIterator {\n this.keysAtom_.reportObserved()\n return this.data_.keys()\n }\n\n values(): IterableIterator {\n const self = this\n const keys = this.keys()\n return makeIterable({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : self.get(value)\n }\n }\n })\n }\n\n entries(): IterableIterator> {\n const self = this\n const keys = this.keys()\n return makeIterable({\n next() {\n const { done, value } = keys.next()\n return {\n done,\n value: done ? (undefined as any) : ([value, self.get(value)!] as [K, V])\n }\n }\n })\n }\n\n [Symbol.iterator]() {\n return this.entries()\n }\n\n forEach(callback: (value: V, key: K, object: Map) => void, thisArg?) {\n for (const [key, value] of this) {\n callback.call(thisArg, value, key, this)\n }\n }\n\n /** Merge another object into this object, returns this. */\n merge(other?: IObservableMapInitialValues): ObservableMap {\n if (isObservableMap(other)) {\n other = new Map(other)\n }\n transaction(() => {\n if (isPlainObject(other)) {\n getPlainObjectKeys(other).forEach((key: any) =>\n this.set(key as K, (other as IKeyValueMap)[key])\n )\n } else if (Array.isArray(other)) {\n other.forEach(([key, value]) => this.set(key, value))\n } else if (isES6Map(other)) {\n if (other.constructor !== Map) {\n die(19, other)\n }\n other.forEach((value, key) => this.set(key, value))\n } else if (other !== null && other !== undefined) {\n die(20, other)\n }\n })\n return this\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const key of this.keys()) {\n this.delete(key)\n }\n })\n })\n }\n\n replace(values: IObservableMapInitialValues): ObservableMap {\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(() => {\n // Convert to map so we can do quick key lookups\n const replacementMap = convertToMap(values)\n const orderedData = new Map()\n // Used for optimization\n let keysReportChangedCalled = false\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (const key of this.data_.keys()) {\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n const deleted = this.delete(key)\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n } else {\n // Delete prevented by interceptor\n const value = this.data_.get(key)\n orderedData.set(key, value)\n }\n }\n }\n // Merge entries\n for (const [key, value] of replacementMap.entries()) {\n // We will want to know whether a new key is added\n const keyExisted = this.data_.has(key)\n // Add or update value\n this.set(key, value)\n // The addition could have been prevent by interceptor\n if (this.data_.has(key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n const value = this.data_.get(key)\n orderedData.set(key, value)\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true\n }\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (this.data_.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n this.keysAtom_.reportChanged()\n } else {\n const iter1 = this.data_.keys()\n const iter2 = orderedData.keys()\n let next1 = iter1.next()\n let next2 = iter2.next()\n while (!next1.done) {\n if (next1.value !== next2.value) {\n this.keysAtom_.reportChanged()\n break\n }\n next1 = iter1.next()\n next2 = iter2.next()\n }\n }\n }\n // Use correctly ordered map\n this.data_ = orderedData\n })\n return this\n }\n\n get size(): number {\n this.keysAtom_.reportObserved()\n return this.data_.size\n }\n\n toString(): string {\n return \"[object ObservableMap]\"\n }\n\n toJSON(): [K, V][] {\n return Array.from(this)\n }\n\n get [Symbol.toStringTag]() {\n return \"Map\"\n }\n\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n observe_(listener: (changes: IMapDidChange) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with maps.\")\n }\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor>): Lambda {\n return registerInterceptor(this, handler)\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableMap = createInstanceofPredicate(\"ObservableMap\", ObservableMap) as (\n thing: any\n) => thing is ObservableMap\n\nfunction convertToMap(dataStructure: any): Map {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure\n } else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure)\n } else if (isPlainObject(dataStructure)) {\n const map = new Map()\n for (const key in dataStructure) {\n map.set(key, dataStructure[key])\n }\n return map\n } else {\n return die(21, dataStructure)\n }\n}\n","import {\n $mobx,\n createAtom,\n deepEnhancer,\n getNextId,\n IEnhancer,\n isSpyEnabled,\n hasListeners,\n IListenable,\n registerListener,\n Lambda,\n spyReportStart,\n notifyListeners,\n spyReportEnd,\n createInstanceofPredicate,\n hasInterceptors,\n interceptChange,\n IInterceptable,\n IInterceptor,\n registerInterceptor,\n checkIfStateModificationsAreAllowed,\n untracked,\n makeIterable,\n transaction,\n isES6Set,\n IAtom,\n DELETE,\n ADD,\n die,\n isFunction,\n initObservable\n} from \"../internal\"\n\nconst ObservableSetMarker = {}\n\nexport type IObservableSetInitialValues = Set | readonly T[]\n\nexport type ISetDidChange =\n | {\n object: ObservableSet\n observableKind: \"set\"\n debugObjectName: string\n type: \"add\"\n newValue: T\n }\n | {\n object: ObservableSet\n observableKind: \"set\"\n debugObjectName: string\n type: \"delete\"\n oldValue: T\n }\n\nexport type ISetWillChange =\n | {\n type: \"delete\"\n object: ObservableSet\n oldValue: T\n }\n | {\n type: \"add\"\n object: ObservableSet\n newValue: T\n }\n\nexport class ObservableSet implements Set, IInterceptable, IListenable {\n [$mobx] = ObservableSetMarker\n private data_: Set = new Set()\n atom_!: IAtom\n changeListeners_\n interceptors_\n dehancer: any\n enhancer_: (newV: any, oldV: any | undefined) => any\n\n constructor(\n initialData?: IObservableSetInitialValues,\n enhancer: IEnhancer = deepEnhancer,\n public name_ = __DEV__ ? \"ObservableSet@\" + getNextId() : \"ObservableSet\"\n ) {\n if (!isFunction(Set)) {\n die(22)\n }\n this.enhancer_ = (newV, oldV) => enhancer(newV, oldV, name_)\n initObservable(() => {\n this.atom_ = createAtom(this.name_)\n if (initialData) {\n this.replace(initialData)\n }\n })\n }\n\n private dehanceValue_(value: X): X {\n if (this.dehancer !== undefined) {\n return this.dehancer(value)\n }\n return value\n }\n\n clear() {\n transaction(() => {\n untracked(() => {\n for (const value of this.data_.values()) {\n this.delete(value)\n }\n })\n })\n }\n\n forEach(callbackFn: (value: T, value2: T, set: Set) => void, thisArg?: any) {\n for (const value of this) {\n callbackFn.call(thisArg, value, value, this)\n }\n }\n\n get size() {\n this.atom_.reportObserved()\n return this.data_.size\n }\n\n add(value: T) {\n checkIfStateModificationsAreAllowed(this.atom_)\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: ADD,\n object: this,\n newValue: value\n })\n if (!change) {\n return this\n }\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n if (!this.has(value)) {\n transaction(() => {\n this.data_.add(this.enhancer_(value, undefined))\n this.atom_.reportChanged()\n })\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? >{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n }\n : null\n if (notifySpy && __DEV__) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (notifySpy && __DEV__) {\n spyReportEnd()\n }\n }\n\n return this\n }\n\n delete(value: T) {\n if (hasInterceptors(this)) {\n const change = interceptChange>(this, {\n type: DELETE,\n object: this,\n oldValue: value\n })\n if (!change) {\n return false\n }\n }\n if (this.has(value)) {\n const notifySpy = __DEV__ && isSpyEnabled()\n const notify = hasListeners(this)\n const change =\n notify || notifySpy\n ? >{\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n }\n : null\n\n if (notifySpy && __DEV__) {\n spyReportStart(change!)\n }\n transaction(() => {\n this.atom_.reportChanged()\n this.data_.delete(value)\n })\n if (notify) {\n notifyListeners(this, change)\n }\n if (notifySpy && __DEV__) {\n spyReportEnd()\n }\n return true\n }\n return false\n }\n\n has(value: T) {\n this.atom_.reportObserved()\n return this.data_.has(this.dehanceValue_(value))\n }\n\n entries() {\n let nextIndex = 0\n const keys = Array.from(this.keys())\n const values = Array.from(this.values())\n return makeIterable<[T, T]>({\n next() {\n const index = nextIndex\n nextIndex += 1\n return index < values.length\n ? { value: [keys[index], values[index]], done: false }\n : { done: true }\n }\n } as any)\n }\n\n keys(): IterableIterator {\n return this.values()\n }\n\n values(): IterableIterator {\n this.atom_.reportObserved()\n const self = this\n let nextIndex = 0\n const observableValues = Array.from(this.data_.values())\n return makeIterable({\n next() {\n return nextIndex < observableValues.length\n ? { value: self.dehanceValue_(observableValues[nextIndex++]), done: false }\n : { done: true }\n }\n } as any)\n }\n\n replace(other: ObservableSet | IObservableSetInitialValues): ObservableSet {\n if (isObservableSet(other)) {\n other = new Set(other)\n }\n\n transaction(() => {\n if (Array.isArray(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (isES6Set(other)) {\n this.clear()\n other.forEach(value => this.add(value))\n } else if (other !== null && other !== undefined) {\n die(\"Cannot initialize set from \" + other)\n }\n })\n\n return this\n }\n observe_(listener: (changes: ISetDidChange) => void, fireImmediately?: boolean): Lambda {\n // ... 'fireImmediately' could also be true?\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with sets.\")\n }\n return registerListener(this, listener)\n }\n\n intercept_(handler: IInterceptor>): Lambda {\n return registerInterceptor(this, handler)\n }\n\n toJSON(): T[] {\n return Array.from(this)\n }\n\n toString(): string {\n return \"[object ObservableSet]\"\n }\n\n [Symbol.iterator]() {\n return this.values()\n }\n\n get [Symbol.toStringTag]() {\n return \"Set\"\n }\n}\n\n// eslint-disable-next-line\nexport var isObservableSet = createInstanceofPredicate(\"ObservableSet\", ObservableSet) as (\n thing: any\n) => thing is ObservableSet\n","import {\n CreateObservableOptions,\n getAnnotationFromOptions,\n propagateChanged,\n isAnnotation,\n $mobx,\n Atom,\n Annotation,\n ComputedValue,\n IAtom,\n IComputedValueOptions,\n IEnhancer,\n IInterceptable,\n IListenable,\n Lambda,\n ObservableValue,\n addHiddenProp,\n createInstanceofPredicate,\n endBatch,\n getNextId,\n hasInterceptors,\n hasListeners,\n interceptChange,\n isObject,\n isPlainObject,\n isSpyEnabled,\n notifyListeners,\n referenceEnhancer,\n registerInterceptor,\n registerListener,\n spyReportEnd,\n spyReportStart,\n startBatch,\n stringifyKey,\n globalState,\n ADD,\n UPDATE,\n die,\n hasProp,\n getDescriptor,\n storedAnnotationsSymbol,\n ownKeys,\n isOverride,\n defineProperty,\n autoAnnotation,\n getAdministration,\n getDebugName,\n objectPrototype,\n MakeResult,\n checkIfStateModificationsAreAllowed\n} from \"../internal\"\n\nconst descriptorCache = Object.create(null)\n\nexport type IObjectDidChange = {\n observableKind: \"object\"\n name: PropertyKey\n object: T\n debugObjectName: string\n} & (\n | {\n type: \"add\"\n newValue: any\n }\n | {\n type: \"update\"\n oldValue: any\n newValue: any\n }\n | {\n type: \"remove\"\n oldValue: any\n }\n)\n\nexport type IObjectWillChange =\n | {\n object: T\n type: \"update\" | \"add\"\n name: PropertyKey\n newValue: any\n }\n | {\n object: T\n type: \"remove\"\n name: PropertyKey\n }\n\nconst REMOVE = \"remove\"\n\nexport class ObservableObjectAdministration\n implements IInterceptable, IListenable\n{\n keysAtom_: IAtom\n changeListeners_\n interceptors_\n proxy_: any\n isPlainObject_: boolean\n appliedAnnotations_?: object\n private pendingKeys_: undefined | Map>\n\n constructor(\n public target_: any,\n public values_ = new Map | ComputedValue>(),\n public name_: string,\n // Used anytime annotation is not explicitely provided\n public defaultAnnotation_: Annotation = autoAnnotation\n ) {\n this.keysAtom_ = new Atom(__DEV__ ? `${this.name_}.keys` : \"ObservableObject.keys\")\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_)\n if (__DEV__ && !isAnnotation(this.defaultAnnotation_)) {\n die(`defaultAnnotation must be valid annotation`)\n }\n if (__DEV__) {\n // Prepare structure for tracking which fields were already annotated\n this.appliedAnnotations_ = {}\n }\n }\n\n getObservablePropValue_(key: PropertyKey): any {\n return this.values_.get(key)!.get()\n }\n\n setObservablePropValue_(key: PropertyKey, newValue): boolean | null {\n const observable = this.values_.get(key)\n if (observable instanceof ComputedValue) {\n observable.set(newValue)\n return true\n }\n\n // intercept\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue\n })\n if (!change) {\n return null\n }\n newValue = (change as any).newValue\n }\n newValue = (observable as any).prepareNewValue_(newValue)\n\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: (observable as any).value_,\n name: key,\n newValue\n }\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n ;(observable as ObservableValue).setNewValue_(newValue)\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n return true\n }\n\n get_(key: PropertyKey): any {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) {\n // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key)\n }\n return this.target_[key]\n }\n\n /**\n * @param {PropertyKey} key\n * @param {any} value\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n set_(key: PropertyKey, value: any, proxyTrap: boolean = false): boolean | null {\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) {\n // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value)\n } else if (proxyTrap) {\n // Non-observable - proxy\n return Reflect.set(this.target_, key, value)\n } else {\n // Non-observable\n this.target_[key] = value\n return true\n }\n } else {\n // New prop\n return this.extend_(\n key,\n { value, enumerable: true, writable: true, configurable: true },\n this.defaultAnnotation_,\n proxyTrap\n )\n }\n }\n\n // Trap for \"in\"\n has_(key: PropertyKey): boolean {\n if (!globalState.trackingDerivation) {\n // Skip key subscription outside derivation\n return key in this.target_\n }\n this.pendingKeys_ ||= new Map()\n let entry = this.pendingKeys_.get(key)\n if (!entry) {\n entry = new ObservableValue(\n key in this.target_,\n referenceEnhancer,\n __DEV__ ? `${this.name_}.${stringifyKey(key)}?` : \"ObservableObject.key?\",\n false\n )\n this.pendingKeys_.set(key, entry)\n }\n return entry.get()\n }\n\n /**\n * @param {PropertyKey} key\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\n */\n make_(key: PropertyKey, annotation: Annotation | boolean): void {\n if (annotation === true) {\n annotation = this.defaultAnnotation_\n }\n if (annotation === false) {\n return\n }\n assertAnnotable(this, annotation, key)\n if (!(key in this.target_)) {\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if (this.target_[storedAnnotationsSymbol]?.[key]) {\n return // will be annotated by subclass constructor\n } else {\n die(1, annotation.annotationType_, `${this.name_}.${key.toString()}`)\n }\n }\n let source = this.target_\n while (source && source !== objectPrototype) {\n const descriptor = getDescriptor(source, key)\n if (descriptor) {\n const outcome = annotation.make_(this, key, descriptor, source)\n if (outcome === MakeResult.Cancel) {\n return\n }\n if (outcome === MakeResult.Break) {\n break\n }\n }\n source = Object.getPrototypeOf(source)\n }\n recordAnnotationApplied(this, annotation, key)\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n extend_(\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n annotation: Annotation | boolean,\n proxyTrap: boolean = false\n ): boolean | null {\n if (annotation === true) {\n annotation = this.defaultAnnotation_\n }\n if (annotation === false) {\n return this.defineProperty_(key, descriptor, proxyTrap)\n }\n assertAnnotable(this, annotation, key)\n const outcome = annotation.extend_(this, key, descriptor, proxyTrap)\n if (outcome) {\n recordAnnotationApplied(this, annotation, key)\n }\n return outcome\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n defineProperty_(\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n })\n if (!change) {\n return null\n }\n const { newValue } = change as any\n if (descriptor.value !== newValue) {\n descriptor = {\n ...descriptor,\n value: newValue\n }\n }\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value)\n } finally {\n endBatch()\n }\n return true\n }\n\n // If original descriptor becomes relevant, move this to annotation directly\n defineObservableProperty_(\n key: PropertyKey,\n value: any,\n enhancer: IEnhancer,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n })\n if (!change) {\n return null\n }\n value = (change as any).newValue\n }\n\n const cachedDescriptor = getCachedObservablePropDescriptor(key)\n const descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n const observable = new ObservableValue(\n value,\n enhancer,\n __DEV__ ? `${this.name_}.${key.toString()}` : \"ObservableObject.key\",\n false\n )\n\n this.values_.set(key, observable)\n\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_)\n } finally {\n endBatch()\n }\n return true\n }\n\n // If original descriptor becomes relevant, move this to annotation directly\n defineComputedProperty_(\n key: PropertyKey,\n options: IComputedValueOptions,\n proxyTrap: boolean = false\n ): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n try {\n startBatch()\n\n // Delete\n const deleteOutcome = this.delete_(key)\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome\n }\n\n // ADD interceptor\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n })\n if (!change) {\n return null\n }\n }\n options.name ||= __DEV__ ? `${this.name_}.${key.toString()}` : \"ObservableObject.key\"\n options.context = this.proxy_ || this.target_\n const cachedDescriptor = getCachedObservablePropDescriptor(key)\n const descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n }\n\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false\n }\n } else {\n defineProperty(this.target_, key, descriptor)\n }\n\n this.values_.set(key, new ComputedValue(options))\n\n // Notify\n this.notifyPropertyAddition_(key, undefined)\n } finally {\n endBatch()\n }\n return true\n }\n\n /**\n * @param {PropertyKey} key\n * @param {PropertyDescriptor} descriptor\n * @param {boolean} proxyTrap whether it's called from proxy trap\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\n */\n delete_(key: PropertyKey, proxyTrap: boolean = false): boolean | null {\n checkIfStateModificationsAreAllowed(this.keysAtom_)\n // No such prop\n if (!hasProp(this.target_, key)) {\n return true\n }\n\n // Intercept\n if (hasInterceptors(this)) {\n const change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n })\n // Cancelled\n if (!change) {\n return null\n }\n }\n\n // Delete\n try {\n startBatch()\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n const observable = this.values_.get(key)\n // Value needed for spies/listeners\n let value = undefined\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n value = getDescriptor(this.target_, key)?.value\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) {\n return false\n }\n } else {\n delete this.target_[key]\n }\n // Allow re-annotating this field\n if (__DEV__) {\n delete this.appliedAnnotations_![key]\n }\n // Clear observable\n if (observable) {\n this.values_.delete(key)\n // for computed, value is undefined\n if (observable instanceof ObservableValue) {\n value = observable.value_\n }\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable)\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged()\n\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n this.pendingKeys_?.get(key)?.set(key in this.target_)\n\n // Notify spies/listeners\n if (notify || notifySpy) {\n const change: IObjectDidChange = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n }\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n } finally {\n endBatch()\n }\n return true\n }\n\n /**\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\n * for callback details\n */\n observe_(callback: (changes: IObjectDidChange) => void, fireImmediately?: boolean): Lambda {\n if (__DEV__ && fireImmediately === true) {\n die(\"`observe` doesn't support the fire immediately property for observable objects.\")\n }\n return registerListener(this, callback)\n }\n\n intercept_(handler): Lambda {\n return registerInterceptor(this, handler)\n }\n\n notifyPropertyAddition_(key: PropertyKey, value: any) {\n const notify = hasListeners(this)\n const notifySpy = __DEV__ && isSpyEnabled()\n if (notify || notifySpy) {\n const change: IObjectDidChange | null =\n notify || notifySpy\n ? ({\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } as const)\n : null\n\n if (__DEV__ && notifySpy) {\n spyReportStart(change!)\n }\n if (notify) {\n notifyListeners(this, change)\n }\n if (__DEV__ && notifySpy) {\n spyReportEnd()\n }\n }\n\n this.pendingKeys_?.get(key)?.set(true)\n\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged()\n }\n\n ownKeys_(): ArrayLike {\n this.keysAtom_.reportObserved()\n return ownKeys(this.target_)\n }\n\n keys_(): PropertyKey[] {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved()\n return Object.keys(this.target_)\n }\n}\n\nexport interface IIsObservableObject {\n $mobx: ObservableObjectAdministration\n}\n\nexport function asObservableObject(\n target: any,\n options?: CreateObservableOptions\n): IIsObservableObject {\n if (__DEV__ && options && isObservableObject(target)) {\n die(`Options can't be provided for already observable objects.`)\n }\n\n if (hasProp(target, $mobx)) {\n if (__DEV__ && !(getAdministration(target) instanceof ObservableObjectAdministration)) {\n die(\n `Cannot convert '${getDebugName(target)}' into observable object:` +\n `\\nThe target is already observable of different type.` +\n `\\nExtending builtins is not supported.`\n )\n }\n return target\n }\n\n if (__DEV__ && !Object.isExtensible(target)) {\n die(\"Cannot make the designated object observable; it is not extensible\")\n }\n\n const name =\n options?.name ??\n (__DEV__\n ? `${\n isPlainObject(target) ? \"ObservableObject\" : target.constructor.name\n }@${getNextId()}`\n : \"ObservableObject\")\n\n const adm = new ObservableObjectAdministration(\n target,\n new Map(),\n String(name),\n getAnnotationFromOptions(options)\n )\n\n addHiddenProp(target, $mobx, adm)\n\n return target\n}\n\nconst isObservableObjectAdministration = createInstanceofPredicate(\n \"ObservableObjectAdministration\",\n ObservableObjectAdministration\n)\n\nfunction getCachedObservablePropDescriptor(key) {\n return (\n descriptorCache[key] ||\n (descriptorCache[key] = {\n get() {\n return this[$mobx].getObservablePropValue_(key)\n },\n set(value) {\n return this[$mobx].setObservablePropValue_(key, value)\n }\n })\n )\n}\n\nexport function isObservableObject(thing: any): boolean {\n if (isObject(thing)) {\n return isObservableObjectAdministration((thing as any)[$mobx])\n }\n return false\n}\n\nexport function recordAnnotationApplied(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey\n) {\n if (__DEV__) {\n adm.appliedAnnotations_![key] = annotation\n }\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n delete adm.target_[storedAnnotationsSymbol]?.[key]\n}\n\nfunction assertAnnotable(\n adm: ObservableObjectAdministration,\n annotation: Annotation,\n key: PropertyKey\n) {\n // Valid annotation\n if (__DEV__ && !isAnnotation(annotation)) {\n die(`Cannot annotate '${adm.name_}.${key.toString()}': Invalid annotation.`)\n }\n\n /*\n // Configurable, not sealed, not frozen\n // Possibly not needed, just a little better error then the one thrown by engine.\n // Cases where this would be useful the most (subclass field initializer) are not interceptable by this.\n if (__DEV__) {\n const configurable = getDescriptor(adm.target_, key)?.configurable\n const frozen = Object.isFrozen(adm.target_)\n const sealed = Object.isSealed(adm.target_)\n if (!configurable || frozen || sealed) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const requestedAnnotationType = annotation.annotationType_\n let error = `Cannot apply '${requestedAnnotationType}' to '${fieldName}':`\n if (frozen) {\n error += `\\nObject is frozen.`\n }\n if (sealed) {\n error += `\\nObject is sealed.`\n }\n if (!configurable) {\n error += `\\nproperty is not configurable.`\n // Mention only if caused by us to avoid confusion\n if (hasProp(adm.appliedAnnotations!, key)) {\n error += `\\nTo prevent accidental re-definition of a field by a subclass, `\n error += `all annotated fields of non-plain objects (classes) are not configurable.`\n }\n }\n die(error)\n }\n }\n */\n\n // Not annotated\n if (__DEV__ && !isOverride(annotation) && hasProp(adm.appliedAnnotations_!, key)) {\n const fieldName = `${adm.name_}.${key.toString()}`\n const currentAnnotationType = adm.appliedAnnotations_![key].annotationType_\n const requestedAnnotationType = annotation.annotationType_\n die(\n `Cannot apply '${requestedAnnotationType}' to '${fieldName}':` +\n `\\nThe field is already annotated with '${currentAnnotationType}'.` +\n `\\nRe-annotating fields is not allowed.` +\n `\\nUse 'override' annotation for methods overridden by subclass.`\n )\n }\n}\n","import {\n getNextId,\n addHiddenFinalProp,\n makeIterable,\n addHiddenProp,\n ObservableArrayAdministration,\n $mobx,\n arrayExtensions,\n IEnhancer,\n isObservableArray,\n IObservableArray,\n defineProperty,\n initObservable\n} from \"../internal\"\n\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nconst ENTRY_0 = createArrayEntryDescriptor(0)\n\nconst safariPrototypeSetterInheritanceBug = (() => {\n let v = false\n const p = {}\n Object.defineProperty(p, \"0\", {\n set: () => {\n v = true\n }\n })\n Object.create(p)[\"0\"] = 1\n return v === false\n})()\n\n/**\n * This array buffer contains two lists of properties, so that all arrays\n * can recycle their property definitions, which significantly improves performance of creating\n * properties on the fly.\n */\nlet OBSERVABLE_ARRAY_BUFFER_SIZE = 0\n\n// Typescript workaround to make sure ObservableArray extends Array\nclass StubArray {}\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(ctor.prototype, proto)\n } else if (ctor.prototype.__proto__ !== undefined) {\n ctor.prototype.__proto__ = proto\n } else {\n ctor.prototype = proto\n }\n}\ninherit(StubArray, Array.prototype)\n\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\n\nexport class LegacyObservableArray extends StubArray {\n constructor(\n initialValues: T[] | undefined,\n enhancer: IEnhancer,\n name = __DEV__ ? \"ObservableArray@\" + getNextId() : \"ObservableArray\",\n owned = false\n ) {\n super()\n initObservable(() => {\n const adm = new ObservableArrayAdministration(name, enhancer, owned, true)\n adm.proxy_ = this as any\n addHiddenFinalProp(this, $mobx, adm)\n\n if (initialValues && initialValues.length) {\n // @ts-ignore\n this.spliceWithArray(0, 0, initialValues)\n }\n\n if (safariPrototypeSetterInheritanceBug) {\n // Seems that Safari won't use numeric prototype setter untill any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(this, \"0\", ENTRY_0)\n }\n })\n }\n\n concat(...arrays: T[][]): T[] {\n ;(this[$mobx] as ObservableArrayAdministration).atom_.reportObserved()\n return Array.prototype.concat.apply(\n (this as any).slice(),\n //@ts-ignore\n arrays.map(a => (isObservableArray(a) ? a.slice() : a))\n )\n }\n\n get length(): number {\n return (this[$mobx] as ObservableArrayAdministration).getArrayLength_()\n }\n\n set length(newLength: number) {\n ;(this[$mobx] as ObservableArrayAdministration).setArrayLength_(newLength)\n }\n\n get [Symbol.toStringTag]() {\n return \"Array\"\n }\n\n [Symbol.iterator]() {\n const self = this\n let nextIndex = 0\n return makeIterable({\n next() {\n return nextIndex < self.length\n ? { value: self[nextIndex++], done: false }\n : { done: true, value: undefined }\n }\n })\n }\n}\n\nObject.entries(arrayExtensions).forEach(([prop, fn]) => {\n if (prop !== \"concat\") {\n addHiddenProp(LegacyObservableArray.prototype, prop, fn)\n }\n})\n\nfunction createArrayEntryDescriptor(index: number) {\n return {\n enumerable: false,\n configurable: true,\n get: function () {\n return this[$mobx].get_(index)\n },\n set: function (value) {\n this[$mobx].set_(index, value)\n }\n }\n}\n\nfunction createArrayBufferItem(index: number) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index))\n}\n\nexport function reserveArrayBuffer(max: number) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for (let index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++) {\n createArrayBufferItem(index)\n }\n OBSERVABLE_ARRAY_BUFFER_SIZE = max\n }\n}\n\nreserveArrayBuffer(1000)\n\nexport function createLegacyArray(\n initialValues: T[] | undefined,\n enhancer: IEnhancer,\n name?: string\n): IObservableArray {\n return new LegacyObservableArray(initialValues, enhancer, name) as any\n}\n","import { isAction } from \"../api/action\"\nimport {\n $mobx,\n IDepTreeNode,\n isAtom,\n isComputedValue,\n isObservableArray,\n isObservableMap,\n isObservableObject,\n isReaction,\n isObservableSet,\n die,\n isFunction,\n allowStateChangesStart,\n untrackedStart,\n allowStateChangesEnd,\n untrackedEnd,\n startBatch,\n endBatch\n} from \"../internal\"\n\nexport function getAtom(thing: any, property?: PropertyKey): IDepTreeNode {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) {\n die(23)\n }\n return (thing as any)[$mobx].atom_\n }\n if (isObservableSet(thing)) {\n return thing.atom_\n }\n if (isObservableMap(thing)) {\n if (property === undefined) {\n return thing.keysAtom_\n }\n const observable = thing.data_.get(property) || thing.hasMap_.get(property)\n if (!observable) {\n die(25, property, getDebugName(thing))\n }\n return observable\n }\n if (property && !thing[$mobx]) {\n thing[property]\n } // See #1072\n if (isObservableObject(thing)) {\n if (!property) {\n return die(26)\n }\n const observable = (thing as any)[$mobx].values_.get(property)\n if (!observable) {\n die(27, property, getDebugName(thing))\n }\n return observable\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing\n }\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx]\n }\n }\n die(28)\n}\n\nexport function getAdministration(thing: any, property?: string) {\n if (!thing) {\n die(29)\n }\n if (property !== undefined) {\n return getAdministration(getAtom(thing, property))\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing\n }\n if (isObservableMap(thing) || isObservableSet(thing)) {\n return thing\n }\n if (thing[$mobx]) {\n return thing[$mobx]\n }\n die(24, thing)\n}\n\nexport function getDebugName(thing: any, property?: string): string {\n let named\n if (property !== undefined) {\n named = getAtom(thing, property)\n } else if (isAction(thing)) {\n return thing.name\n } else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) {\n named = getAdministration(thing)\n } else {\n // valid for arrays as well\n named = getAtom(thing)\n }\n return named.name_\n}\n\n/**\n * Helper function for initializing observable structures, it applies:\n * 1. allowStateChanges so we don't violate enforceActions.\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\n * 3. batch to avoid state version updates\n */\nexport function initObservable(cb: () => T): T {\n const derivation = untrackedStart()\n const allowStateChanges = allowStateChangesStart(true)\n startBatch()\n try {\n return cb()\n } finally {\n endBatch()\n allowStateChangesEnd(allowStateChanges)\n untrackedEnd(derivation)\n }\n}\n","import {\n isES6Map,\n isObservableArray,\n isObservableMap,\n isES6Set,\n isObservableSet,\n hasProp,\n isFunction,\n objectPrototype\n} from \"../internal\"\n\ndeclare const Symbol\nconst toString = objectPrototype.toString\n\nexport function deepEqual(a: any, b: any, depth: number = -1): boolean {\n return eq(a, b, depth)\n}\n\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a: any, b: any, depth: number, aStack?: any[], bStack?: any[]) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) {\n return a !== 0 || 1 / a === 1 / b\n }\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) {\n return false\n }\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) {\n return b !== b\n }\n // Exhaust primitive checks\n const type = typeof a\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") {\n return false\n }\n\n // Compare `[[Class]]` names.\n const className = toString.call(a)\n if (className !== toString.call(b)) {\n return false\n }\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) {\n return +b !== +b\n }\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b\n case \"[object Symbol]\":\n return (\n typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b)\n )\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++\n }\n break\n }\n // Unwrap any wrapped objects.\n a = unwrap(a)\n b = unwrap(b)\n\n const areArrays = className === \"[object Array]\"\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") {\n return false\n }\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n const aCtor = a.constructor,\n bCtor = b.constructor\n if (\n aCtor !== bCtor &&\n !(\n isFunction(aCtor) &&\n aCtor instanceof aCtor &&\n isFunction(bCtor) &&\n bCtor instanceof bCtor\n ) &&\n \"constructor\" in a &&\n \"constructor\" in b\n ) {\n return false\n }\n }\n\n if (depth === 0) {\n return false\n } else if (depth < 0) {\n depth = -1\n }\n\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || []\n bStack = bStack || []\n let length = aStack.length\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) {\n return bStack[length] === b\n }\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a)\n bStack.push(b)\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length\n if (length !== b.length) {\n return false\n }\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) {\n return false\n }\n }\n } else {\n // Deep compare objects.\n const keys = Object.keys(a)\n let key\n length = keys.length\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) {\n return false\n }\n while (length--) {\n // Deep compare each member\n key = keys[length]\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) {\n return false\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop()\n bStack.pop()\n return true\n}\n\nfunction unwrap(a: any) {\n if (isObservableArray(a)) {\n return a.slice()\n }\n if (isES6Map(a) || isObservableMap(a)) {\n return Array.from(a.entries())\n }\n if (isES6Set(a) || isObservableSet(a)) {\n return Array.from(a.entries())\n }\n return a\n}\n","export function makeIterable(iterator: Iterator): IterableIterator {\n iterator[Symbol.iterator] = getSelf\n return iterator as any\n}\n\nfunction getSelf() {\n return this\n}\n","import { ObservableObjectAdministration, isFunction } from \"../internal\"\n\nexport const enum MakeResult {\n Cancel,\n Break,\n Continue\n}\n\nexport type Annotation = {\n annotationType_: string\n make_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n source: object\n ): MakeResult\n extend_(\n adm: ObservableObjectAdministration,\n key: PropertyKey,\n descriptor: PropertyDescriptor,\n proxyTrap: boolean\n ): boolean | null\n decorate_20223_(value: any, context: DecoratorContext)\n options_?: any\n}\n\nexport type AnnotationMapEntry =\n | Annotation\n | true /* follow the default decorator, usually deep */\n | false /* don't decorate this property */\n\n// AdditionalFields can be used to declare additional keys that can be used, for example to be able to\n// declare annotations for private/ protected members, see #2339\nexport type AnnotationsMap = {\n [P in Exclude]?: AnnotationMapEntry\n} & Record\n\nexport function isAnnotation(thing: any) {\n return (\n // Can be function\n thing instanceof Object &&\n typeof thing.annotationType_ === \"string\" &&\n isFunction(thing.make_) &&\n isFunction(thing.extend_)\n )\n}\n\nexport function isAnnotationMapEntry(thing: any) {\n return typeof thing === \"boolean\" || isAnnotation(thing)\n}\n","/**\n * (c) Michel Weststrate 2015 - 2020\n * MIT Licensed\n *\n * Welcome to the mobx sources! To get a global overview of how MobX internally works,\n * this is a good place to start:\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\n *\n * Source folders:\n * ===============\n *\n * - api/ Most of the public static methods exposed by the module can be found here.\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\n * - utils/ Utility stuff.\n *\n */\nimport { die } from \"./errors\"\nimport { getGlobal } from \"./utils/global\"\n;[\"Symbol\", \"Map\", \"Set\"].forEach(m => {\n let g = getGlobal()\n if (typeof g[m] === \"undefined\") {\n die(`MobX requires global '${m}' to be available or polyfilled`)\n }\n})\n\nimport { spy, getDebugName, $mobx } from \"./internal\"\n\nexport {\n IObservable,\n IDepTreeNode,\n Reaction,\n IReactionPublic,\n IReactionDisposer,\n untracked,\n IAtom,\n createAtom,\n spy,\n IComputedValue,\n IEqualsComparer,\n comparer,\n IEnhancer,\n IInterceptable,\n IInterceptor,\n IListenable,\n IObjectWillChange,\n IObjectDidChange,\n isObservableObject,\n IValueDidChange,\n IValueWillChange,\n IObservableValue,\n isObservableValue as isBoxedObservable,\n IObservableArray,\n IArrayWillChange,\n IArrayWillSplice,\n IArraySplice,\n IArrayUpdate,\n IArrayDidChange,\n isObservableArray,\n IKeyValueMap,\n ObservableMap,\n IMapEntries,\n IMapEntry,\n IMapWillChange,\n IMapDidChange,\n isObservableMap,\n IObservableMapInitialValues,\n ObservableSet,\n isObservableSet,\n ISetDidChange,\n ISetWillChange,\n IObservableSetInitialValues,\n transaction,\n observable,\n IObservableFactory,\n CreateObservableOptions,\n computed,\n IComputedFactory,\n isObservable,\n isObservableProp,\n isComputed,\n isComputedProp,\n extendObservable,\n observe,\n intercept,\n autorun,\n IAutorunOptions,\n reaction,\n IReactionOptions,\n when,\n IWhenOptions,\n action,\n isAction,\n runInAction,\n IActionFactory,\n keys,\n values,\n entries,\n set,\n remove,\n has,\n get,\n apiOwnKeys as ownKeys,\n apiDefineProperty as defineProperty,\n configure,\n onBecomeObserved,\n onBecomeUnobserved,\n flow,\n isFlow,\n flowResult,\n FlowCancellationError,\n isFlowCancellationError,\n toJS,\n trace,\n IObserverTree,\n IDependencyTree,\n getDependencyTree,\n getObserverTree,\n resetGlobalState as _resetGlobalState,\n getGlobalState as _getGlobalState,\n getDebugName,\n getAtom,\n getAdministration as _getAdministration,\n allowStateChanges as _allowStateChanges,\n runInAction as _allowStateChangesInsideComputed, // This has become the default behavior in Mobx 6\n Lambda,\n $mobx,\n isComputingDerivation as _isComputingDerivation,\n onReactionError,\n interceptReads as _interceptReads,\n IComputedValueOptions,\n IActionRunInfo,\n _startAction,\n _endAction,\n allowStateReadsStart as _allowStateReadsStart,\n allowStateReadsEnd as _allowStateReadsEnd,\n makeObservable,\n makeAutoObservable,\n autoAction as _autoAction,\n AnnotationsMap,\n AnnotationMapEntry,\n override\n} from \"./internal\"\n\n// Devtools support\ndeclare const __MOBX_DEVTOOLS_GLOBAL_HOOK__: { injectMobx: (any) => void }\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy,\n extras: {\n getDebugName\n },\n $mobx\n })\n}\n","let load = require('./helpers/browser/esm-js-loader');\nmodule.exports = (load(\"6wRuB\")).then(() => parcelRequire('6cv5F'));","\"use strict\";\n\nfunction load(id) {\n // eslint-disable-next-line no-undef\n return __parcel__import__(require('../bundle-manifest').resolve(id));\n}\nmodule.exports = load;","\"use strict\";\n\nvar mapping = new Map();\nfunction register(baseUrl, manifest) {\n for (var i = 0; i < manifest.length - 1; i += 2) {\n mapping.set(manifest[i], {\n baseUrl: baseUrl,\n path: manifest[i + 1]\n });\n }\n}\nfunction resolve(id) {\n var resolved = mapping.get(id);\n if (resolved == null) {\n throw new Error('Could not resolve bundle with id ' + id);\n }\n return new URL(resolved.path, resolved.baseUrl).toString();\n}\nmodule.exports.register = register;\nmodule.exports.resolve = resolve;","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity]\n * The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n result[key] = [value];\n }\n});\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = groupBy;\n","import { auto } from 'browser-unhandled-rejection';\nimport { DOMRenderer } from 'dom-renderer';\nimport { configure } from 'mobx';\nimport { documentReady, serviceWorkerUpdate } from 'web-utility';\n\nimport { PageRouter } from './page';\n\nauto();\n\nconfigure({ enforceActions: 'never' });\n\nself.addEventListener('unhandledrejection', event => {\n const { message } = event.reason;\n\n if (!message) return;\n\n event.preventDefault();\n\n self.alert(message);\n});\n\nconst { serviceWorker } = window.navigator;\n\nif (process.env.NODE_ENV !== 'development')\n serviceWorker\n ?.register('sw.js')\n .then(serviceWorkerUpdate)\n .then(worker => {\n if (window.confirm('检测到新版本,是否立即启用?'))\n worker.postMessage({ type: 'SKIP_WAITING' });\n });\n\nserviceWorker?.addEventListener('controllerchange', () =>\n window.location.reload()\n);\n\ndocumentReady.then(() => new DOMRenderer().render());\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Fragment = exports.jsxs = exports.jsx = void 0;\nvar tslib_1 = require(\"tslib\");\nvar web_utility_1 = require(\"web-utility\");\nvar VDOM_1 = require(\"./dist/VDOM\");\n/**\n * @see {@link https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md}\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx}\n */\nfunction jsx(type, _a, key) {\n var _b;\n var ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = tslib_1.__rest(_a, [\"ref\", \"is\", \"style\", \"children\"]);\n if (typeof type === 'function' && (0, web_utility_1.isHTMLElementClass)(type))\n type = (0, web_utility_1.tagNameOf)(type);\n children = (_b = (children instanceof Array ? children.flat(Infinity) : [children])) === null || _b === void 0 ? void 0 : _b.map(function (node) {\n return node instanceof Object\n ? new VDOM_1.VNode(node)\n : node === 0 || node\n ? new VDOM_1.VNode({ text: node.toString() })\n : new VDOM_1.VNode({ text: '' });\n });\n var commonProps = { key: key, ref: ref, is: is, style: style, children: children };\n return typeof type === 'string'\n ? new VDOM_1.VNode(tslib_1.__assign(tslib_1.__assign({}, commonProps), { tagName: type, props: props }))\n : type(tslib_1.__assign(tslib_1.__assign({}, commonProps), props));\n}\nexports.jsx = jsx;\nexports.jsxs = jsx;\n/**\n * @see {@link https://babeljs.io/docs/babel-plugin-transform-react-jsx#react-automatic-runtime-1}\n */\nvar Fragment = function (_a) {\n var key = _a.key, ref = _a.ref, is = _a.is, style = _a.style, children = _a.children, props = tslib_1.__rest(_a, [\"key\", \"ref\", \"is\", \"style\", \"children\"]);\n return new VDOM_1.VNode({ key: key, ref: ref, is: is, props: props, style: style, children: children });\n};\nexports.Fragment = Fragment;\n","var OriginalPromise = Promise;\n\n/**\n * ES5 subclassing is used per:\n * https://github.com/rtsao/browser-unhandled-rejection/issues/1\n * https://kangax.github.io/compat-table/es6/#test-Promise_is_subclassable\n *\n * Adapted from: https://gist.github.com/domenic/8ed6048b187ee8f2ec75\n */\nvar InstrumentedPromise$1 = function Promise(resolver) {\n if (!(this instanceof InstrumentedPromise$1)) {\n throw new TypeError('Cannot call a class as a function');\n }\n var promise = new OriginalPromise(function (resolve, reject) {\n return resolver(resolve, function (arg) {\n OriginalPromise.resolve().then(function () {\n if (promise._hasDownstreams === undefined) {\n dispatchUnhandledRejectionEvent(promise, arg);\n }\n });\n return reject(arg);\n });\n });\n promise.__proto__ = InstrumentedPromise$1.prototype;\n return promise;\n};\n\nInstrumentedPromise$1.__proto__ = OriginalPromise;\nInstrumentedPromise$1.prototype.__proto__ = OriginalPromise.prototype;\n\nInstrumentedPromise$1.prototype.then = function then(onFulfilled, onRejected) {\n var next = OriginalPromise.prototype.then.call(this, onFulfilled, onRejected);\n this._hasDownstreams = true;\n return next;\n};\n\nfunction dispatchUnhandledRejectionEvent(promise, reason) {\n var event = document.createEvent('Event');\n /**\n * Note: these properties should not be enumerable, which is the default setting\n */\n Object.defineProperties(event, {\n promise: {\n value: promise,\n writable: false\n },\n reason: {\n value: reason,\n writable: false\n }\n });\n event.initEvent('unhandledrejection', // Define that the event name is 'unhandledrejection'\n false, // PromiseRejectionEvent is not bubbleable\n true // PromiseRejectionEvent is cancelable\n );\n window.dispatchEvent(event);\n}\n\nfunction needsPolyfill() {\n return typeof PromiseRejectionEvent === 'undefined';\n}\n\nfunction polyfill() {\n Promise = InstrumentedPromise$1;\n}\n\nfunction auto() {\n if (needsPolyfill()) {\n polyfill();\n }\n}\n\nexport { needsPolyfill, polyfill, auto };export default InstrumentedPromise$1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./VDOM\"), exports);\ntslib_1.__exportStar(require(\"./DOMRenderer\"), exports);\n","import { createRouter } from 'cell-router';\n\nimport WeChat_QRC from '../image/FCC-CDG-WeChat.png';\nimport { HomePage } from './Home';\nimport { CommunityPage } from './Community';\nimport { ActivityPage } from './Activity';\nimport { Page2017 } from './2017';\nimport { Page2018 } from './2018';\nimport { Code4City } from './2018-Code4City';\nimport { Page2019 } from './2019';\nimport { InvitationCard } from './2019/InvitationCard';\nimport { AccountPage } from './2019/PageAccount';\n\nconst { Route } = createRouter();\n\nexport const PageRouter = () => (\n
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n
    \n);\n","import \"urlpattern-polyfill\";\nimport {buildURLData as $dvphU$buildURLData, formToJSON as $dvphU$formToJSON, delegate as $dvphU$delegate, parseURLData as $dvphU$parseURLData, getVisibleText as $dvphU$getVisibleText, isXDomain as $dvphU$isXDomain, scrollTo as $dvphU$scrollTo} from \"web-utility\";\nimport {observable as $dvphU$observable, action as $dvphU$action, computed as $dvphU$computed} from \"mobx\";\nimport {jsx as $dvphU$jsx, Fragment as $dvphU$Fragment} from \"dom-renderer/jsx-runtime\";\nimport {component as $dvphU$component, observer as $dvphU$observer, AnimateCSS as $dvphU$AnimateCSS, attribute as $dvphU$attribute} from \"web-cell\";\n\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true, configurable: true});\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $3a2ee75a1759d0d8$exports = {};\n\n$parcel$defineInteropFlag($3a2ee75a1759d0d8$exports);\n\n$parcel$export($3a2ee75a1759d0d8$exports, \"History\", () => $3a2ee75a1759d0d8$export$84202caead5689ba);\n$parcel$export($3a2ee75a1759d0d8$exports, \"default\", () => $3a2ee75a1759d0d8$export$2e2bcd8739ae039);\n\n\n\nvar $3a2ee75a1759d0d8$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $3a2ee75a1759d0d8$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $3a2ee75a1759d0d8$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $3a2ee75a1759d0d8$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $3a2ee75a1759d0d8$var$_a, $3a2ee75a1759d0d8$var$_b;\nconst { location: $3a2ee75a1759d0d8$var$location, history: $3a2ee75a1759d0d8$var$history } = window;\nconst $3a2ee75a1759d0d8$var$baseURL = (($3a2ee75a1759d0d8$var$_a = document.querySelector(\"base\")) === null || $3a2ee75a1759d0d8$var$_a === void 0 ? void 0 : $3a2ee75a1759d0d8$var$_a.href) || $3a2ee75a1759d0d8$var$location.origin, $3a2ee75a1759d0d8$var$originalTitle = ($3a2ee75a1759d0d8$var$_b = document.querySelector(\"title\")) === null || $3a2ee75a1759d0d8$var$_b === void 0 ? void 0 : $3a2ee75a1759d0d8$var$_b.textContent.trim();\nlet $3a2ee75a1759d0d8$export$84202caead5689ba = (()=>{\n var _a, _History_path_accessor_storage, _History_oldPath_accessor_storage;\n let _instanceExtraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _oldPath_decorators;\n let _oldPath_initializers = [];\n let _push_decorators;\n return _a = class History {\n get path() {\n return $3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_path_accessor_storage, \"f\");\n }\n set path(value) {\n $3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_path_accessor_storage, value, \"f\");\n }\n get oldPath() {\n return $3a2ee75a1759d0d8$var$__classPrivateFieldGet(this, _History_oldPath_accessor_storage, \"f\");\n }\n set oldPath(value) {\n $3a2ee75a1759d0d8$var$__classPrivateFieldSet(this, _History_oldPath_accessor_storage, value, \"f\");\n }\n constructor(){\n _History_path_accessor_storage.set(this, ($3a2ee75a1759d0d8$var$__runInitializers(this, _instanceExtraInitializers), $3a2ee75a1759d0d8$var$__runInitializers(this, _path_initializers, void 0)));\n _History_oldPath_accessor_storage.set(this, $3a2ee75a1759d0d8$var$__runInitializers(this, _oldPath_initializers, void 0));\n Object.defineProperty(this, \"restore\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const { state: state } = $3a2ee75a1759d0d8$var$history;\n this.push();\n document.title = (state === null || state === void 0 ? void 0 : state.title) || this.titleOf() || $3a2ee75a1759d0d8$var$originalTitle || $3a2ee75a1759d0d8$var$location.href;\n }\n });\n Object.defineProperty(this, \"handleForm\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (event, form)=>{\n const { method: method, target: target } = form;\n if (method !== \"get\" || (target || \"_self\") !== \"_self\") return;\n event.preventDefault();\n const path = form.getAttribute(\"action\"), data = (0, $dvphU$buildURLData)((0, $dvphU$formToJSON)(form));\n this.push(`${path}?${data}`);\n }\n });\n this.restore();\n window.addEventListener(\"hashchange\", this.restore);\n window.addEventListener(\"popstate\", this.restore);\n document.addEventListener(\"click\", (0, $dvphU$delegate)(\"a[href], area[href]\", this.handleLink.bind(this)));\n document.addEventListener(\"submit\", (0, $dvphU$delegate)(\"form[action]\", this.handleForm));\n }\n push(path = $3a2ee75a1759d0d8$var$location.href) {\n path = path.replace($3a2ee75a1759d0d8$var$baseURL, \"\");\n if (path === this.path) return path;\n this.oldPath = this.path;\n return this.path = path;\n }\n static dataOf(path) {\n const [before, after] = path.split(\"#\");\n return (0, $dvphU$parseURLData)(after || before);\n }\n static match(pattern, path) {\n var _b;\n if (!path) return;\n const { pathname: pathname, hash: hash } = new URLPattern(pattern, $3a2ee75a1759d0d8$var$baseURL).exec(new URL(path.split(\"?\")[0], $3a2ee75a1759d0d8$var$baseURL)) || {};\n return (_b = hash || pathname) === null || _b === void 0 ? void 0 : _b.groups;\n }\n static getTitle(root) {\n return root.title || (0, $dvphU$getVisibleText)(root);\n }\n titleOf(path = this.path) {\n path = path.replace(/^\\//, \"\");\n if (path) for (const node of document.querySelectorAll(`a[href=\"${path}\"], area[href=\"${path}\"]`)){\n const title = _a.getTitle(node);\n if (title) return title;\n }\n }\n handleLink(event, link) {\n const path = link.getAttribute(\"href\");\n if ((link.target || \"_self\") !== \"_self\" || (0, $dvphU$isXDomain)(path)) return;\n event.preventDefault();\n if (path.startsWith(\"#\")) try {\n if (document.querySelector(path)) return (0, $dvphU$scrollTo)(path, event.currentTarget);\n } catch (_b) {}\n const title = _a.getTitle(link);\n $3a2ee75a1759d0d8$var$history.pushState({\n title: title\n }, document.title = title, path);\n this.push(path);\n }\n }, _History_path_accessor_storage = new WeakMap(), _History_oldPath_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _path_decorators = [\n (0, $dvphU$observable)\n ];\n _oldPath_decorators = [\n (0, $dvphU$observable)\n ];\n _push_decorators = [\n (0, $dvphU$action)\n ];\n $3a2ee75a1759d0d8$var$__esDecorate(_a, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _instanceExtraInitializers);\n $3a2ee75a1759d0d8$var$__esDecorate(_a, null, _oldPath_decorators, {\n kind: \"accessor\",\n name: \"oldPath\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"oldPath\" in obj,\n get: (obj)=>obj.oldPath,\n set: (obj, value)=>{\n obj.oldPath = value;\n }\n },\n metadata: _metadata\n }, _oldPath_initializers, _instanceExtraInitializers);\n $3a2ee75a1759d0d8$var$__esDecorate(_a, null, _push_decorators, {\n kind: \"method\",\n name: \"push\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"push\" in obj,\n get: (obj)=>obj.push\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\nvar $3a2ee75a1759d0d8$export$2e2bcd8739ae039 = new $3a2ee75a1759d0d8$export$84202caead5689ba();\n\n\nvar $0e8e8fd52ec9970a$exports = {};\n\n$parcel$export($0e8e8fd52ec9970a$exports, \"CellRoute\", () => $0e8e8fd52ec9970a$export$d6c529ca17cdd16f);\n\n\n\n\nvar $0e8e8fd52ec9970a$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $0e8e8fd52ec9970a$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $0e8e8fd52ec9970a$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $0e8e8fd52ec9970a$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $0e8e8fd52ec9970a$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $0e8e8fd52ec9970a$export$d6c529ca17cdd16f = (()=>{\n var _CellRoute_path_accessor_storage, _CellRoute_inAnimation_accessor_storage, _CellRoute_outAnimation_accessor_storage;\n let _classDecorators = [\n (0, $dvphU$component)({\n tagName: \"cell-route\"\n }),\n (0, $dvphU$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _path_decorators;\n let _path_initializers = [];\n let _inAnimation_decorators;\n let _inAnimation_initializers = [];\n let _outAnimation_decorators;\n let _outAnimation_initializers = [];\n let _get_matched_decorators;\n let _get_oldMatched_decorators;\n var CellRoute = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _CellRoute_path_accessor_storage.set(this, ($0e8e8fd52ec9970a$var$__runInitializers(this, _instanceExtraInitializers), $0e8e8fd52ec9970a$var$__runInitializers(this, _path_initializers, void 0)));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n _CellRoute_inAnimation_accessor_storage.set(this, $0e8e8fd52ec9970a$var$__runInitializers(this, _inAnimation_initializers, \"fadeIn\"));\n _CellRoute_outAnimation_accessor_storage.set(this, $0e8e8fd52ec9970a$var$__runInitializers(this, _outAnimation_initializers, \"fadeOut\"));\n Object.defineProperty(this, \"pageStyle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n width: \"100%\"\n }\n });\n }\n get path() {\n return $0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_path_accessor_storage, \"f\");\n }\n set path(value) {\n $0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_path_accessor_storage, value, \"f\");\n }\n get inAnimation() {\n return $0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_inAnimation_accessor_storage, \"f\");\n }\n set inAnimation(value) {\n $0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_inAnimation_accessor_storage, value, \"f\");\n }\n get outAnimation() {\n return $0e8e8fd52ec9970a$var$__classPrivateFieldGet(this, _CellRoute_outAnimation_accessor_storage, \"f\");\n }\n set outAnimation(value) {\n $0e8e8fd52ec9970a$var$__classPrivateFieldSet(this, _CellRoute_outAnimation_accessor_storage, value, \"f\");\n }\n get matched() {\n return (0, $3a2ee75a1759d0d8$export$84202caead5689ba).match(this.path, (0, $3a2ee75a1759d0d8$export$2e2bcd8739ae039).path);\n }\n get oldMatched() {\n return (0, $3a2ee75a1759d0d8$export$84202caead5689ba).match(this.path, (0, $3a2ee75a1759d0d8$export$2e2bcd8739ae039).oldPath);\n }\n connectedCallback() {\n if (getComputedStyle(this.parentElement).position === \"static\") this.parentElement.style.position = \"relative\";\n }\n render() {\n const { pageStyle: pageStyle, inAnimation: inAnimation, outAnimation: outAnimation, matched: matched, oldMatched: oldMatched } = this, Tag = this.component, { path: path, oldPath: oldPath } = (0, $3a2ee75a1759d0d8$export$2e2bcd8739ae039);\n return matched ? (0, $dvphU$jsx)((0, $dvphU$AnimateCSS), {\n type: inAnimation,\n component: (props)=>(0, $dvphU$jsx)(Tag, Object.assign({}, props, {\n style: pageStyle\n }, matched, (0, $3a2ee75a1759d0d8$export$84202caead5689ba).dataOf(path), {\n path: path,\n history: $3a2ee75a1759d0d8$export$2e2bcd8739ae039\n }))\n }) : oldMatched ? (0, $dvphU$jsx)((0, $dvphU$AnimateCSS), {\n type: outAnimation,\n component: (props)=>(0, $dvphU$jsx)(Tag, Object.assign({}, props, {\n style: pageStyle\n }, oldMatched, (0, $3a2ee75a1759d0d8$export$84202caead5689ba).dataOf(oldPath), {\n path: oldPath,\n history: (0, $3a2ee75a1759d0d8$export$2e2bcd8739ae039)\n }))\n }) : (0, $dvphU$jsx)((0, $dvphU$Fragment), {});\n }\n };\n _CellRoute_path_accessor_storage = new WeakMap();\n _CellRoute_inAnimation_accessor_storage = new WeakMap();\n _CellRoute_outAnimation_accessor_storage = new WeakMap();\n $0e8e8fd52ec9970a$var$__setFunctionName(_classThis, \"CellRoute\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _path_decorators = [\n (0, $dvphU$attribute),\n (0, $dvphU$observable)\n ];\n _inAnimation_decorators = [\n (0, $dvphU$attribute),\n (0, $dvphU$observable)\n ];\n _outAnimation_decorators = [\n (0, $dvphU$attribute),\n (0, $dvphU$observable)\n ];\n _get_matched_decorators = [\n (0, $dvphU$computed)\n ];\n _get_oldMatched_decorators = [\n (0, $dvphU$computed)\n ];\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _path_decorators, {\n kind: \"accessor\",\n name: \"path\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"path\" in obj,\n get: (obj)=>obj.path,\n set: (obj, value)=>{\n obj.path = value;\n }\n },\n metadata: _metadata\n }, _path_initializers, _instanceExtraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _inAnimation_decorators, {\n kind: \"accessor\",\n name: \"inAnimation\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"inAnimation\" in obj,\n get: (obj)=>obj.inAnimation,\n set: (obj, value)=>{\n obj.inAnimation = value;\n }\n },\n metadata: _metadata\n }, _inAnimation_initializers, _instanceExtraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _outAnimation_decorators, {\n kind: \"accessor\",\n name: \"outAnimation\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"outAnimation\" in obj,\n get: (obj)=>obj.outAnimation,\n set: (obj, value)=>{\n obj.outAnimation = value;\n }\n },\n metadata: _metadata\n }, _outAnimation_initializers, _instanceExtraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _get_matched_decorators, {\n kind: \"getter\",\n name: \"matched\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"matched\" in obj,\n get: (obj)=>obj.matched\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(_classThis, null, _get_oldMatched_decorators, {\n kind: \"getter\",\n name: \"oldMatched\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"oldMatched\" in obj,\n get: (obj)=>obj.oldMatched\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $0e8e8fd52ec9970a$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n CellRoute = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $0e8e8fd52ec9970a$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return CellRoute = _classThis;\n})();\n\n\nvar $3d03e8579c0b9ff1$exports = {};\n\n\nvar $7b488c9460f448a0$exports = {};\n\n$parcel$export($7b488c9460f448a0$exports, \"createRouter\", () => $7b488c9460f448a0$export$baddd0131ee8c05b);\n\n\nvar $7b488c9460f448a0$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nfunction $7b488c9460f448a0$export$baddd0131ee8c05b(_a = {}) {\n var { mode: mode = \"hash\" } = _a, scopeProps = $7b488c9460f448a0$var$__rest(_a, [\n \"mode\"\n ]);\n const prefix = mode === \"hash\" ? \"#\" : \"\";\n return {\n Route: (_a)=>{\n var { path: path } = _a, props = $7b488c9460f448a0$var$__rest(_a, [\n \"path\"\n ]);\n return (0, $dvphU$jsx)((0, $0e8e8fd52ec9970a$export$d6c529ca17cdd16f), Object.assign({}, props, scopeProps, {\n path: prefix + path\n }));\n },\n Link: (_a)=>{\n var { to: to, children: children } = _a, props = $7b488c9460f448a0$var$__rest(_a, [\n \"to\",\n \"children\"\n ]);\n return (0, $dvphU$jsx)(\"a\", Object.assign({}, props, {\n href: prefix + to,\n children: children\n }));\n },\n // @ts-ignore\n Form: (_a)=>{\n var { action: action, children: children } = _a, props = $7b488c9460f448a0$var$__rest(_a, [\n \"action\",\n \"children\"\n ]);\n return(// @ts-ignore\n (0, $dvphU$jsx)(\"form\", Object.assign({}, props, {\n action: prefix + action,\n children: children\n })));\n }\n };\n}\n\n\n\n\nexport {$3a2ee75a1759d0d8$export$84202caead5689ba as History, $0e8e8fd52ec9970a$export$d6c529ca17cdd16f as CellRoute, $7b488c9460f448a0$export$baddd0131ee8c05b as createRouter};\n//# sourceMappingURL=index.esm.js.map\n","export * from './History';\nexport * from './Router';\nexport * from './utility';\nexport * from './scope';\n","import 'urlpattern-polyfill';\nimport {\n getVisibleText,\n scrollTo,\n formToJSON,\n buildURLData,\n parseURLData,\n delegate,\n isXDomain\n} from 'web-utility';\nimport { observable, action } from 'mobx';\n\nconst { location, history } = window;\nconst baseURL = document.querySelector('base')?.href || location.origin,\n originalTitle = document.querySelector('title')?.textContent.trim();\n\nexport class History {\n @observable\n accessor path: string;\n\n @observable\n accessor oldPath: string;\n\n constructor() {\n this.restore();\n\n window.addEventListener('hashchange', this.restore);\n window.addEventListener('popstate', this.restore);\n\n document.addEventListener(\n 'click',\n delegate('a[href], area[href]', this.handleLink.bind(this))\n );\n document.addEventListener(\n 'submit',\n delegate('form[action]', this.handleForm)\n );\n }\n\n protected restore = () => {\n const { state } = history;\n\n this.push();\n\n document.title =\n state?.title || this.titleOf() || originalTitle || location.href;\n };\n\n @action\n push(path = location.href) {\n path = path.replace(baseURL, '');\n\n if (path === this.path) return path;\n\n this.oldPath = this.path;\n\n return (this.path = path);\n }\n\n static dataOf(path: string) {\n const [before, after] = path.split('#');\n\n return parseURLData(after || before);\n }\n\n static match(pattern: string, path?: string) {\n if (!path) return;\n\n const { pathname, hash } =\n new URLPattern(pattern, baseURL).exec(\n new URL(path.split('?')[0], baseURL)\n ) || {};\n\n return (hash || pathname)?.groups;\n }\n\n static getTitle(root: HTMLElement) {\n return root.title || getVisibleText(root);\n }\n\n titleOf(path = this.path) {\n path = path.replace(/^\\//, '');\n\n if (path)\n for (const node of document.querySelectorAll(\n `a[href=\"${path}\"], area[href=\"${path}\"]`\n )) {\n const title = History.getTitle(node);\n\n if (title) return title;\n }\n }\n\n handleLink(event: Event, link: HTMLAnchorElement) {\n const path = link.getAttribute('href');\n\n if ((link.target || '_self') !== '_self' || isXDomain(path)) return;\n\n event.preventDefault();\n\n if (path.startsWith('#'))\n try {\n if (document.querySelector(path))\n return scrollTo(path, event.currentTarget as Element);\n } catch {}\n\n const title = History.getTitle(link);\n\n history.pushState({ title }, (document.title = title), path);\n\n this.push(path);\n }\n\n handleForm = (event: Event, form: HTMLFormElement) => {\n const { method, target } = form;\n\n if (method !== 'get' || (target || '_self') !== '_self') return;\n\n event.preventDefault();\n\n const path = form.getAttribute('action'),\n data = buildURLData(formToJSON(form));\n\n this.push(`${path}?${data}`);\n };\n}\n\nexport default new History();\n","import { computed, observable } from 'mobx';\nimport {\n AnimateCSS,\n AnimationType,\n ClassComponent,\n FC,\n WebCell,\n WebCellProps,\n attribute,\n component,\n observer\n} from 'web-cell';\n\nimport history, { History } from './History';\nimport { IncludeText, PageProps } from './utility';\n\nexport interface CellRouteProps extends WebCellProps {\n path: string;\n component: FC | ClassComponent;\n inAnimation?: IncludeText;\n outAnimation?: IncludeText;\n}\n\nexport interface CellRoute extends WebCell {}\n\n@component({ tagName: 'cell-route' })\n@observer\nexport class CellRoute extends HTMLElement implements WebCell {\n declare props: CellRouteProps;\n\n @attribute\n @observable\n accessor path: string;\n\n component: CellRouteProps['component'];\n\n @attribute\n @observable\n accessor inAnimation: CellRouteProps['inAnimation'] = 'fadeIn';\n\n @attribute\n @observable\n accessor outAnimation: CellRouteProps['outAnimation'] = 'fadeOut';\n\n @computed\n get matched() {\n return History.match(this.path, history.path);\n }\n\n @computed\n get oldMatched() {\n return History.match(this.path, history.oldPath);\n }\n\n pageStyle: WebCellProps['style'] = {\n position: 'absolute',\n top: '0',\n left: '0',\n width: '100%'\n };\n\n connectedCallback() {\n if (getComputedStyle(this.parentElement).position === 'static')\n this.parentElement.style.position = 'relative';\n }\n\n render() {\n const { pageStyle, inAnimation, outAnimation, matched, oldMatched } =\n this,\n Tag = this.component,\n { path, oldPath } = history;\n\n return matched ? (\n (\n \n )}\n />\n ) : oldMatched ? (\n (\n \n )}\n />\n ) : (\n <>\n );\n }\n}\n","import { JsxProps } from 'dom-renderer';\n\nimport { History } from './History';\n\nexport type IncludeText = {\n [K in Raw]: K extends `${string}${Sub}${string}` ? K : never;\n}[Raw];\n\nexport interface PageProps extends JsxProps {\n path: string;\n history: History;\n [key: string]: any;\n}\n","import { JsxProps } from 'dom-renderer';\nimport { PropsWithChildren } from 'web-cell';\n\nimport { CellRoute, CellRouteProps } from './Router';\n\nexport interface RouterOptions\n extends Pick {\n mode?: 'hash' | 'history';\n}\n\nexport type LinkProps = PropsWithChildren<{ to: string }>;\n\nexport type FormProps = JsxProps;\n\nexport function createRouter({\n mode = 'hash',\n ...scopeProps\n}: RouterOptions = {}) {\n const prefix = mode === 'hash' ? '#' : '';\n\n return {\n Route: ({ path, ...props }: CellRouteProps) => (\n \n ),\n Link: ({ to, children, ...props }: LinkProps) => (\n \n {children}\n \n ),\n // @ts-ignore\n Form: ({ action, children, ...props }: FormProps) => (\n // @ts-ignore\n
    \n {children}\n
    \n )\n };\n}\n","import { URLPattern } from \"./dist/urlpattern.js\";\n\nexport { URLPattern };\n\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}\n","var k=class{type=3;name=\"\";prefix=\"\";value=\"\";suffix=\"\";modifier=3;constructor(t,r,n,o,c,l){this.type=t,this.name=r,this.prefix=n,this.value=o,this.suffix=c,this.modifier=l}hasCustomName(){return this.name!==\"\"&&typeof this.name!=\"number\"}},Pe=/[$_\\p{ID_Start}]/u,Se=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,M=\".*\";function ke(e,t){return(t?/^[\\x00-\\xFF]*$/:/^[\\x00-\\x7F]*$/).test(e)}function v(e,t=!1){let r=[],n=0;for(;n{if(la(\"OTHER_MODIFIER\")??a(\"ASTERISK\"),p=f=>{let u=a(f);if(u!==void 0)return u;let{type:d,index:T}=r[l];throw new TypeError(`Unexpected ${d} at ${T}, expected ${f}`)},O=()=>{let f=\"\",u;for(;u=a(\"CHAR\")??a(\"ESCAPED_CHAR\");)f+=u;return f},xe=f=>f,L=t.encodePart||xe,I=\"\",H=f=>{I+=f},$=()=>{I.length&&(o.push(new k(3,\"\",\"\",L(I),\"\",3)),I=\"\")},G=(f,u,d,T,Y)=>{let g=3;switch(Y){case\"?\":g=1;break;case\"*\":g=0;break;case\"+\":g=2;break}if(!u&&!d&&g===3){H(f);return}if($(),!u&&!d){if(!f)return;o.push(new k(3,\"\",\"\",L(f),\"\",g));return}let m;d?d===\"*\"?m=M:m=d:m=n;let R=2;m===n?(R=1,m=\"\"):m===M&&(R=0,m=\"\");let S;if(u?S=u:d&&(S=c++),i.has(S))throw new TypeError(`Duplicate name '${S}'.`);i.add(S),o.push(new k(R,S,L(f),m,L(T),g))};for(;l-1)}return l||(n+=`(?=${c}|${o})`),new RegExp(n,X(r))}var b={delimiter:\"\",prefixes:\"\",sensitive:!0,strict:!0},B={delimiter:\".\",prefixes:\"\",sensitive:!0,strict:!0},q={delimiter:\"/\",prefixes:\"/\",sensitive:!0,strict:!0};function J(e,t){return e.length?e[0]===\"/\"?!0:!t||e.length<2?!1:(e[0]==\"\\\\\"||e[0]==\"{\")&&e[1]==\"/\":!1}function Q(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function Ee(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}function W(e){return!e||e.length<2?!1:e[0]===\"[\"||(e[0]===\"\\\\\"||e[0]===\"{\")&&e[1]===\"[\"}var ee=[\"ftp\",\"file\",\"http\",\"https\",\"ws\",\"wss\"];function N(e){if(!e)return!0;for(let t of ee)if(e.test(t))return!0;return!1}function te(e,t){if(e=Q(e,\"#\"),t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):\"\"}function re(e,t){if(e=Q(e,\"?\"),t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.search=e,r.search?r.search.substring(1,r.search.length):\"\"}function ne(e,t){return t||e===\"\"?e:W(e)?j(e):z(e)}function se(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.password=e,r.password}function ie(e,t){if(t||e===\"\")return e;let r=new URL(\"https://example.com\");return r.username=e,r.username}function ae(e,t,r){if(r||e===\"\")return e;if(t&&!ee.includes(t))return new URL(`${t}:${e}`).pathname;let n=e[0]==\"/\";return e=new URL(n?e:\"/-\"+e,\"https://example.com\").pathname,n||(e=e.substring(2,e.length)),e}function oe(e,t,r){return _(t)===e&&(e=\"\"),r||e===\"\"?e:K(e)}function ce(e,t){return e=Ee(e,\":\"),t||e===\"\"?e:A(e)}function _(e){switch(e){case\"ws\":case\"http\":return\"80\";case\"wws\":case\"https\":return\"443\";case\"ftp\":return\"21\";default:return\"\"}}function A(e){if(e===\"\")return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(`Invalid protocol '${e}'.`)}function le(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.username=e,t.username}function he(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.password=e,t.password}function z(e){if(e===\"\")return e;if(/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(e))throw new TypeError(`Invalid hostname '${e}'`);let t=new URL(\"https://example.com\");return t.hostname=e,t.hostname}function j(e){if(e===\"\")return e;if(/[^0-9a-fA-F[\\]:]/g.test(e))throw new TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function K(e){if(e===\"\"||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(`Invalid port '${e}'.`)}function fe(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.pathname=e[0]!==\"/\"?\"/-\"+e:e,e[0]!==\"/\"?t.pathname.substring(2,t.pathname.length):t.pathname}function ue(e){return e===\"\"?e:new URL(`data:${e}`).pathname}function pe(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.search=e,t.search.substring(1,t.search.length)}function de(e){if(e===\"\")return e;let t=new URL(\"https://example.com\");return t.hash=e,t.hash.substring(1,t.hash.length)}var U=class{#i;#n=[];#t={};#e=0;#s=1;#u=0;#c=0;#p=0;#d=0;#g=!1;constructor(t){this.#i=t}get result(){return this.#t}parse(){for(this.#n=v(this.#i,!0);this.#e0)if(this.#T())this.#p-=1;else continue;if(this.#O()){this.#p+=1;continue}switch(this.#c){case 0:this.#S()&&(this.#t.username=\"\",this.#t.password=\"\",this.#t.hostname=\"\",this.#t.port=\"\",this.#t.pathname=\"\",this.#t.search=\"\",this.#t.hash=\"\",this.#f(1));break;case 1:if(this.#S()){this.#C();let t=7,r=1;this.#g&&(this.#t.pathname=\"/\"),this.#E()?(t=2,r=3):this.#g&&(t=2),this.#r(t,r)}break;case 2:this.#x()?this.#f(3):(this.#b()||this.#h()||this.#l())&&this.#f(5);break;case 3:this.#R()?this.#r(4,1):this.#x()&&this.#r(5,1);break;case 4:this.#x()&&this.#r(5,1);break;case 5:this.#A()?this.#d+=1:this.#w()&&(this.#d-=1),this.#y()&&!this.#d?this.#r(6,1):this.#b()?this.#r(7,0):this.#h()?this.#r(8,1):this.#l()&&this.#r(9,1);break;case 6:this.#b()?this.#r(7,0):this.#h()?this.#r(8,1):this.#l()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#l()&&this.#r(9,1);break;case 8:this.#l()&&this.#r(9,1);break;case 9:break;case 10:break}}}#r(t,r){switch(this.#c){case 0:break;case 1:this.#t.protocol=this.#o();break;case 2:break;case 3:this.#t.username=this.#o();break;case 4:this.#t.password=this.#o();break;case 5:this.#t.hostname=this.#o();break;case 6:this.#t.port=this.#o();break;case 7:this.#t.pathname=this.#o();break;case 8:this.#t.search=this.#o();break;case 9:this.#t.hash=this.#o();break;case 10:break}this.#k(t,r)}#k(t,r){this.#c=t,this.#u=this.#e+r,this.#e+=r,this.#s=0}#P(){this.#e=this.#u,this.#s=0}#f(t){this.#P(),this.#c=t}#m(t){return t<0&&(t=this.#n.length-t),t=0&&(e.pathname=P(n.pathname.substring(0,o+1),r)+e.pathname)}e.pathname=ae(e.pathname,e.protocol,r)}return typeof t.search==\"string\"&&(e.search=re(t.search,r)),typeof t.hash==\"string\"&&(e.hash=te(t.hash,r)),e}function C(e){return e.replace(/([+*?:{}()\\\\])/g,\"\\\\$1\")}function Re(e){return e.replace(/([.+*?^${}()[\\]|/\\\\])/g,\"\\\\$1\")}function ye(e,t){t.delimiter??=\"/#?\",t.prefixes??=\"./\",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith=\"\";let r=\".*\",n=`[^${Re(t.delimiter)}]+?`,o=/[$_\\u200C\\u200D\\p{ID_Continue}]/u,c=\"\";for(let l=0;l0?e[l-1]:null,p=l0?p.value[0]:\"\";a=o.test(O)}else a=!p.hasCustomName();if(!a&&!s.prefix.length&&h&&h.type===3){let O=h.value[h.value.length-1];a=t.prefixes.includes(O)}a&&(c+=\"{\"),c+=C(s.prefix),i&&(c+=`:${s.name}`),s.type===2?c+=`(${s.value})`:s.type===1?i||(c+=`(${n})`):s.type===0&&(!i&&(!h||h.type===3||h.modifier!==3||a||s.prefix!==\"\")?c+=\"*\":c+=`(${r})`),s.type===1&&i&&s.suffix.length&&o.test(s.suffix[0])&&(c+=\"\\\\\"),c+=C(s.suffix),a&&(c+=\"}\"),s.modifier!==3&&(c+=y(s.modifier))}return c}var me=class{#i;#n={};#t={};#e={};#s={};constructor(t={},r,n){try{let o;if(typeof r==\"string\"?o=r:n=r,typeof t==\"string\"){let i=new U(t);if(i.parse(),t=i.result,o===void 0&&typeof t.protocol!=\"string\")throw new TypeError(\"A base URL must be provided for a relative constructor string.\");t.baseURL=o}else{if(!t||typeof t!=\"object\")throw new TypeError(\"parameter 1 is not of type 'string' and cannot convert to dictionary.\");if(o)throw new TypeError(\"parameter 1 is not of type 'string'.\")}typeof n>\"u\"&&(n={ignoreCase:!1});let c={ignoreCase:n.ignoreCase===!0},l={pathname:E,protocol:E,username:E,password:E,hostname:E,port:E,search:E,hash:E};this.#i=w(l,t,!0),_(this.#i.protocol)===this.#i.port&&(this.#i.port=\"\");let s;for(s of V){if(!(s in this.#i))continue;let i={},a=this.#i[s];switch(this.#t[s]=[],s){case\"protocol\":Object.assign(i,b),i.encodePart=A;break;case\"username\":Object.assign(i,b),i.encodePart=le;break;case\"password\":Object.assign(i,b),i.encodePart=he;break;case\"hostname\":Object.assign(i,B),W(a)?i.encodePart=j:i.encodePart=z;break;case\"port\":Object.assign(i,b),i.encodePart=K;break;case\"pathname\":N(this.#n.protocol)?(Object.assign(i,q,c),i.encodePart=fe):(Object.assign(i,b,c),i.encodePart=ue);break;case\"search\":Object.assign(i,b,c),i.encodePart=pe;break;case\"hash\":Object.assign(i,b,c),i.encodePart=de;break}try{this.#s[s]=D(a,i),this.#n[s]=F(this.#s[s],this.#t[s],i),this.#e[s]=ye(this.#s[s],i)}catch{throw new TypeError(`invalid ${s} pattern '${this.#i[s]}'.`)}}}catch(o){throw new TypeError(`Failed to construct 'URLPattern': ${o.message}`)}}test(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return!1;try{typeof t==\"object\"?n=w(n,t,!1):n=w(n,ge(t,r),!1)}catch{return!1}let o;for(o of V)if(!this.#n[o].exec(n[o]))return!1;return!0}exec(t={},r){let n={pathname:\"\",protocol:\"\",username:\"\",password:\"\",hostname:\"\",port:\"\",search:\"\",hash:\"\"};if(typeof t!=\"string\"&&r)throw new TypeError(\"parameter 1 is not of type 'string'.\");if(typeof t>\"u\")return;try{typeof t==\"object\"?n=w(n,t,!1):n=w(n,ge(t,r),!1)}catch{return null}let o={};r?o.inputs=[t,r]:o.inputs=[t];let c;for(c of V){let l=this.#n[c].exec(n[c]);if(!l)return null;let s={};for(let[i,a]of this.#t[c].entries())if(typeof a==\"string\"||typeof a==\"number\"){let h=l[i+1];s[a]=h}o[c]={input:n[c]??\"\",groups:s}}return o}static compareComponent(t,r,n){let o=(i,a)=>{for(let h of[\"type\",\"modifier\",\"prefix\",\"value\",\"suffix\"]){if(i[h]{let h=0;for(;h{\n this.resolve = resolve;\n this.reject = reject;\n })\n });\n }\n}\nfunction $552a56cc5ff3f479$export$b06b4c21253e26e2(observable) {\n var _a;\n for (const key of Object.getOwnPropertySymbols(observable)){\n const store = (_a = observable[key]) === null || _a === void 0 ? void 0 : _a.values_;\n if (store instanceof Map) return Object.fromEntries(Array.from(store, ([key, { value_: value_ }])=>[\n key,\n value_\n ]));\n }\n}\nconst $552a56cc5ff3f479$export$4077c0dfbe9c3861 = (root, targetSelector)=>new Promise((resolve)=>{\n const ended = (0, $42h8L$delegate)(targetSelector, (event)=>{\n root.removeEventListener(\"animationend\", ended);\n root.removeEventListener(\"animationcancel\", ended);\n resolve(event);\n });\n root.addEventListener(\"animationend\", ended);\n root.addEventListener(\"animationcancel\", ended);\n });\n\n\nfunction $0c03e47eb1097734$var$wrapFunction(func) {\n return (props)=>{\n const tree = func(props), renderer = new (0, $42h8L$DOMRenderer)();\n const disposer = (0, $42h8L$autorun)(()=>{\n const newTree = func(props);\n if (tree.node) Object.assign(tree, renderer.patch(tree, newTree));\n });\n const { ref: ref } = tree;\n tree.ref = (node)=>{\n if (node) tree.node = node;\n else disposer();\n ref === null || ref === void 0 || ref(node);\n };\n return tree;\n };\n}\nconst $0c03e47eb1097734$var$reactionMap = new WeakMap();\nfunction $0c03e47eb1097734$var$wrapClass(Component) {\n class ObserverComponent extends Component {\n get props() {\n return (0, $552a56cc5ff3f479$export$b06b4c21253e26e2)(this);\n }\n constructor(){\n super();\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"boot\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const names = this.constructor[\"observedAttributes\"] || [], reactions = $0c03e47eb1097734$var$reactionMap.get(this) || [];\n this.disposers.push(...names.map((name)=>(0, $42h8L$autorun)(()=>this.syncPropAttr(name))), ...reactions.map(({ expression: expression, effect: effect })=>(0, $42h8L$reaction)((reaction)=>expression(this, reaction), effect.bind(this))));\n }\n });\n const { update: update } = Object.getPrototypeOf(this);\n this[\"update\"] = ()=>this.disposers.push((0, $42h8L$autorun)(()=>update.call(this)));\n Promise.resolve().then(this.boot);\n }\n disconnectedCallback() {\n var _a;\n for (const disposer of this.disposers)disposer();\n this.disposers.length = 0;\n (_a = super[\"disconnectedCallback\"]) === null || _a === void 0 || _a.call(this);\n }\n setAttribute(name, value) {\n const old = super.getAttribute(name), names = this.constructor[\"observedAttributes\"];\n super.setAttribute(name, value);\n if (names.includes(name)) this.attributeChangedCallback(name, old, value);\n }\n attributeChangedCallback(name, old, value) {\n var _a;\n this[(0, $42h8L$toCamelCase)(name)] = (0, $42h8L$parseJSON)(value);\n (_a = super[\"attributeChangedCallback\"]) === null || _a === void 0 || _a.call(this, name, old, value);\n }\n syncPropAttr(name) {\n var _a;\n var value = this[(0, $42h8L$toCamelCase)(name)];\n if (!(value != null) || value === false) return this.removeAttribute(name);\n value = value === true ? name : value;\n if (typeof value === \"object\") {\n value = (_a = value.toJSON) === null || _a === void 0 ? void 0 : _a.call(value);\n value = typeof value === \"object\" ? JSON.stringify(value) : value;\n }\n super.setAttribute(name, value);\n }\n }\n Object.defineProperty(ObserverComponent, \"observedAttributes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n return ObserverComponent;\n}\nfunction $0c03e47eb1097734$export$b6ae1bc530f4c149(func, _) {\n return (0, $42h8L$isHTMLElementClass)(func) ? $0c03e47eb1097734$var$wrapClass(func) : $0c03e47eb1097734$var$wrapFunction(func);\n}\nfunction $0c03e47eb1097734$export$af4b9a83f4b00434(_, { name: name, addInitializer: addInitializer }) {\n addInitializer(function() {\n const names = this.constructor[\"observedAttributes\"], attribute = (0, $42h8L$toHyphenCase)(name.toString());\n if (!names.includes(attribute)) names.push(attribute);\n });\n}\nfunction $0c03e47eb1097734$export$7203b476385689ae(expression) {\n return (effect, { addInitializer: addInitializer })=>addInitializer(function() {\n const reactions = $0c03e47eb1097734$var$reactionMap.get(this) || [];\n reactions.push({\n expression: expression,\n effect: effect\n });\n $0c03e47eb1097734$var$reactionMap.set(this, reactions);\n });\n}\n\n\n\nvar $317b1f21909c74b8$exports = {};\n\n$parcel$export($317b1f21909c74b8$exports, \"component\", function () { return $317b1f21909c74b8$export$d8556a2a8f973135; });\n$parcel$export($317b1f21909c74b8$exports, \"on\", function () { return $317b1f21909c74b8$export$af631764ddc44097; });\n\n\n\nconst $317b1f21909c74b8$var$eventMap = new WeakMap();\nfunction $317b1f21909c74b8$export$d8556a2a8f973135(meta) {\n return (Class, { addInitializer: addInitializer })=>{\n class RendererComponent extends Class {\n get root() {\n return this.internals.shadowRoot || this;\n }\n constructor(){\n super();\n Object.defineProperty(this, \"internals\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.attachInternals()\n });\n Object.defineProperty(this, \"renderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new (0, $42h8L$DOMRenderer)()\n });\n Object.defineProperty(this, \"mounted\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n if (meta.mode && !this.internals.shadowRoot) this.attachShadow(meta);\n }\n connectedCallback() {\n var _a, _b;\n const { mode: mode } = meta;\n const renderChildren = !(mode != null);\n const { root: root } = this, events = $317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, selector: selector, handler: handler } of events){\n if (renderChildren && /^:host/.test(selector)) console.warn(`[WebCell] DOM Event delegation of \"${selector}\" won't work if you don't invoke \"this.attachShadow()\" manually.`);\n root.addEventListener(type, handler);\n }\n (_a = super[\"connectedCallback\"]) === null || _a === void 0 || _a.call(this);\n if (this.mounted) return;\n this.update();\n this.mounted = true;\n (_b = this.mountedCallback) === null || _b === void 0 || _b.call(this);\n }\n update() {\n var _a, _b;\n const vNode = (_a = this.render) === null || _a === void 0 ? void 0 : _a.call(this);\n const content = (0, $42h8L$isEmpty)(vNode) ? meta.mode ? (0, $42h8L$jsx)(\"slot\", {}) : null : vNode;\n if (content != null) {\n this.renderer.render(content, this.root);\n (_b = this.updatedCallback) === null || _b === void 0 || _b.call(this);\n }\n }\n disconnectedCallback() {\n var _a;\n const { root: root } = this, events = $317b1f21909c74b8$var$eventMap.get(this) || [];\n for (const { type: type, handler: handler } of events)root.removeEventListener(type, handler);\n (_a = super[\"disconnectedCallback\"]) === null || _a === void 0 || _a.call(this);\n }\n emit(event, detail, { cancelable: cancelable, bubbles: bubbles, composed: composed } = {}) {\n return this.dispatchEvent(new CustomEvent(event, {\n detail: detail,\n cancelable: cancelable,\n bubbles: bubbles,\n composed: composed\n }));\n }\n toString() {\n return (0, $42h8L$stringifyDOM)(this.root);\n }\n }\n addInitializer(function() {\n var _a;\n (_a = globalThis.customElements) === null || _a === void 0 || _a.define(meta.tagName, this, meta);\n });\n return RendererComponent;\n };\n}\nfunction $317b1f21909c74b8$export$af631764ddc44097(type, selector) {\n return (method, { addInitializer: addInitializer })=>addInitializer(function() {\n const events = $317b1f21909c74b8$var$eventMap.get(this) || [], handler = (0, $42h8L$delegate)(selector, method.bind(this));\n events.push({\n type: type,\n selector: selector,\n handler: handler\n });\n $317b1f21909c74b8$var$eventMap.set(this, events);\n });\n}\n\n\nvar $29675797ddd6c4f7$exports = {};\n\n$parcel$export($29675797ddd6c4f7$exports, \"formField\", function () { return $29675797ddd6c4f7$export$2a668e8d088a0667; });\n\n\nvar $29675797ddd6c4f7$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $29675797ddd6c4f7$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $29675797ddd6c4f7$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $29675797ddd6c4f7$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nfunction $29675797ddd6c4f7$export$2a668e8d088a0667(Class, _) {\n let FormFieldComponent = (()=>{\n var _a, _FormFieldComponent_name_accessor_storage, _FormFieldComponent_value_accessor_storage, _FormFieldComponent_required_accessor_storage, _FormFieldComponent_disabled_accessor_storage, _FormFieldComponent_autofocus_accessor_storage;\n let _classSuper = Class;\n let _instanceExtraInitializers = [];\n let _setValue_decorators;\n let _name_decorators;\n let _name_initializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _autofocus_decorators;\n let _autofocus_initializers = [];\n return _a = class FormFieldComponent extends _classSuper {\n constructor(){\n super(...arguments);\n _FormFieldComponent_name_accessor_storage.set(this, ($29675797ddd6c4f7$var$__runInitializers(this, _instanceExtraInitializers), $29675797ddd6c4f7$var$__runInitializers(this, _name_initializers, void 0)));\n _FormFieldComponent_value_accessor_storage.set(this, $29675797ddd6c4f7$var$__runInitializers(this, _value_initializers, void 0));\n _FormFieldComponent_required_accessor_storage.set(this, $29675797ddd6c4f7$var$__runInitializers(this, _required_initializers, void 0));\n _FormFieldComponent_disabled_accessor_storage.set(this, $29675797ddd6c4f7$var$__runInitializers(this, _disabled_initializers, void 0));\n _FormFieldComponent_autofocus_accessor_storage.set(this, $29675797ddd6c4f7$var$__runInitializers(this, _autofocus_initializers, void 0));\n }\n setValue(value) {\n this.internals.setFormValue(value);\n }\n formDisabledCallback(disabled) {\n this.disabled = disabled;\n }\n get name() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_name_accessor_storage, \"f\");\n }\n set name(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_name_accessor_storage, value, \"f\");\n }\n get value() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_value_accessor_storage, \"f\");\n }\n set value(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_value_accessor_storage, value, \"f\");\n }\n get required() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_required_accessor_storage, \"f\");\n }\n set required(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_required_accessor_storage, value, \"f\");\n }\n get disabled() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_disabled_accessor_storage, \"f\");\n }\n set disabled(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_disabled_accessor_storage, value, \"f\");\n }\n get autofocus() {\n return $29675797ddd6c4f7$var$__classPrivateFieldGet(this, _FormFieldComponent_autofocus_accessor_storage, \"f\");\n }\n set autofocus(value) {\n $29675797ddd6c4f7$var$__classPrivateFieldSet(this, _FormFieldComponent_autofocus_accessor_storage, value, \"f\");\n }\n set defaultValue(raw) {\n var _b;\n this.setAttribute(\"value\", raw);\n (_b = this.value) !== null && _b !== void 0 ? _b : this.value = raw;\n }\n get defaultValue() {\n return this.getAttribute(\"value\");\n }\n get form() {\n return this.internals.form;\n }\n get validity() {\n return this.internals.validity;\n }\n get validationMessage() {\n return this.internals.validationMessage;\n }\n get willValidate() {\n return this.internals.willValidate;\n }\n checkValidity() {\n return this.internals.checkValidity();\n }\n reportValidity() {\n return this.internals.reportValidity();\n }\n }, _FormFieldComponent_name_accessor_storage = new WeakMap(), _FormFieldComponent_value_accessor_storage = new WeakMap(), _FormFieldComponent_required_accessor_storage = new WeakMap(), _FormFieldComponent_disabled_accessor_storage = new WeakMap(), _FormFieldComponent_autofocus_accessor_storage = new WeakMap(), (()=>{\n var _b;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;\n _setValue_decorators = [\n (0, $0c03e47eb1097734$export$7203b476385689ae)(({ value: value })=>value)\n ];\n _name_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _value_decorators = [\n (0, $42h8L$observable)\n ];\n _required_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _disabled_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _autofocus_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _setValue_decorators, {\n kind: \"method\",\n name: \"setValue\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"setValue\" in obj,\n get: (obj)=>obj.setValue\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _name_decorators, {\n kind: \"accessor\",\n name: \"name\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"name\" in obj,\n get: (obj)=>obj.name,\n set: (obj, value)=>{\n obj.name = value;\n }\n },\n metadata: _metadata\n }, _name_initializers, _instanceExtraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _value_decorators, {\n kind: \"accessor\",\n name: \"value\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"value\" in obj,\n get: (obj)=>obj.value,\n set: (obj, value)=>{\n obj.value = value;\n }\n },\n metadata: _metadata\n }, _value_initializers, _instanceExtraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _required_decorators, {\n kind: \"accessor\",\n name: \"required\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"required\" in obj,\n get: (obj)=>obj.required,\n set: (obj, value)=>{\n obj.required = value;\n }\n },\n metadata: _metadata\n }, _required_initializers, _instanceExtraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _disabled_decorators, {\n kind: \"accessor\",\n name: \"disabled\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"disabled\" in obj,\n get: (obj)=>obj.disabled,\n set: (obj, value)=>{\n obj.disabled = value;\n }\n },\n metadata: _metadata\n }, _disabled_initializers, _instanceExtraInitializers);\n $29675797ddd6c4f7$var$__esDecorate(_a, null, _autofocus_decorators, {\n kind: \"accessor\",\n name: \"autofocus\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"autofocus\" in obj,\n get: (obj)=>obj.autofocus,\n set: (obj, value)=>{\n obj.autofocus = value;\n }\n },\n metadata: _metadata\n }, _autofocus_initializers, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), Object.defineProperty(_a, \"formAssociated\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n }), _a;\n })();\n return FormFieldComponent;\n}\n\n\nvar $8acf79bd061a8fc3$exports = {};\n\n$parcel$export($8acf79bd061a8fc3$exports, \"AsyncCell\", function () { return $8acf79bd061a8fc3$export$854a54a999c89982; });\n$parcel$export($8acf79bd061a8fc3$exports, \"lazy\", function () { return $8acf79bd061a8fc3$export$488013bae63b21da; });\n\n\n\n\nvar $8acf79bd061a8fc3$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $8acf79bd061a8fc3$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $8acf79bd061a8fc3$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $8acf79bd061a8fc3$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $8acf79bd061a8fc3$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $8acf79bd061a8fc3$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nlet $8acf79bd061a8fc3$export$854a54a999c89982 = (()=>{\n var _AsyncCell_component_accessor_storage, _AsyncCell_delegatedProps_accessor_storage;\n let _classDecorators = [\n (0, $317b1f21909c74b8$export$d8556a2a8f973135)({\n tagName: \"async-cell\"\n }),\n (0, $0c03e47eb1097734$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _component_decorators;\n let _component_initializers = [];\n let _delegatedProps_decorators;\n let _delegatedProps_initializers = [];\n var AsyncCell = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"loader\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($8acf79bd061a8fc3$var$__runInitializers(this, _instanceExtraInitializers), void 0)\n });\n _AsyncCell_component_accessor_storage.set(this, $8acf79bd061a8fc3$var$__runInitializers(this, _component_initializers, void 0));\n _AsyncCell_delegatedProps_accessor_storage.set(this, $8acf79bd061a8fc3$var$__runInitializers(this, _delegatedProps_initializers, void 0));\n }\n get component() {\n return $8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_component_accessor_storage, \"f\");\n }\n set component(value) {\n $8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_component_accessor_storage, value, \"f\");\n }\n get delegatedProps() {\n return $8acf79bd061a8fc3$var$__classPrivateFieldGet(this, _AsyncCell_delegatedProps_accessor_storage, \"f\");\n }\n set delegatedProps(value) {\n $8acf79bd061a8fc3$var$__classPrivateFieldSet(this, _AsyncCell_delegatedProps_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.load();\n }\n async load() {\n this.component = undefined;\n const Tag = await this.loader();\n this.component = (_a)=>{\n var { children: children } = _a, props = $8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return (0, $42h8L$jsx)(Tag, Object.assign({}, props, {\n children: children\n }));\n };\n this.emit(\"load\", this.component);\n }\n render() {\n const { component: Tag, props: props, delegatedProps: delegatedProps } = this;\n const _a = Object.assign(Object.assign({}, props), delegatedProps), { children: children } = _a, data = $8acf79bd061a8fc3$var$__rest(_a, [\n \"children\"\n ]);\n return Tag && (0, $42h8L$jsx)(Tag, Object.assign({}, data, {\n children: children\n }));\n }\n };\n _AsyncCell_component_accessor_storage = new WeakMap();\n _AsyncCell_delegatedProps_accessor_storage = new WeakMap();\n $8acf79bd061a8fc3$var$__setFunctionName(_classThis, \"AsyncCell\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _component_decorators = [\n (0, $42h8L$observable)\n ];\n _delegatedProps_decorators = [\n (0, $42h8L$observable)\n ];\n $8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _component_decorators, {\n kind: \"accessor\",\n name: \"component\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"component\" in obj,\n get: (obj)=>obj.component,\n set: (obj, value)=>{\n obj.component = value;\n }\n },\n metadata: _metadata\n }, _component_initializers, _instanceExtraInitializers);\n $8acf79bd061a8fc3$var$__esDecorate(_classThis, null, _delegatedProps_decorators, {\n kind: \"accessor\",\n name: \"delegatedProps\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"delegatedProps\" in obj,\n get: (obj)=>obj.delegatedProps,\n set: (obj, value)=>{\n obj.delegatedProps = value;\n }\n },\n metadata: _metadata\n }, _delegatedProps_initializers, _instanceExtraInitializers);\n $8acf79bd061a8fc3$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AsyncCell = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $8acf79bd061a8fc3$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AsyncCell = _classThis;\n})();\nfunction $8acf79bd061a8fc3$export$488013bae63b21da(loader) {\n return (props)=>(0, $42h8L$jsx)($8acf79bd061a8fc3$export$854a54a999c89982, {\n delegatedProps: props,\n loader: async ()=>(await loader()).default\n });\n}\n\n\nvar $d4436c849e74ae70$exports = {};\n\n$parcel$export($d4436c849e74ae70$exports, \"AnimateCSS\", function () { return $d4436c849e74ae70$export$2e9a7bb10257a509; });\n\n\n\n\n\n\nvar $819b340f625a29f4$exports = {};\n\n\nvar $d4436c849e74ae70$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $d4436c849e74ae70$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $d4436c849e74ae70$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $d4436c849e74ae70$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $d4436c849e74ae70$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $d4436c849e74ae70$export$2e9a7bb10257a509 = (()=>{\n var _AnimateCSS_type_accessor_storage, _AnimateCSS_playing_accessor_storage;\n let _classDecorators = [\n (0, $317b1f21909c74b8$export$d8556a2a8f973135)({\n tagName: \"animation-css\"\n }),\n (0, $0c03e47eb1097734$export$b6ae1bc530f4c149)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _playing_decorators;\n let _playing_initializers = [];\n let _typeChanged_decorators;\n var AnimateCSS = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _AnimateCSS_type_accessor_storage.set(this, ($d4436c849e74ae70$var$__runInitializers(this, _instanceExtraInitializers), $d4436c849e74ae70$var$__runInitializers(this, _type_initializers, void 0)));\n _AnimateCSS_playing_accessor_storage.set(this, $d4436c849e74ae70$var$__runInitializers(this, _playing_initializers, false));\n Object.defineProperty(this, \"component\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n get type() {\n return $d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_type_accessor_storage, \"f\");\n }\n set type(value) {\n $d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_type_accessor_storage, value, \"f\");\n }\n get playing() {\n return $d4436c849e74ae70$var$__classPrivateFieldGet(this, _AnimateCSS_playing_accessor_storage, \"f\");\n }\n set playing(value) {\n $d4436c849e74ae70$var$__classPrivateFieldSet(this, _AnimateCSS_playing_accessor_storage, value, \"f\");\n }\n async connectedCallback() {\n await (0, $42h8L$importCSS)(\"https://unpkg.com/animate.css@4/animate.min.css\");\n this.typeChanged();\n }\n async typeChanged() {\n this.playing = true;\n await (0, $552a56cc5ff3f479$export$4077c0dfbe9c3861)(this, \".animate__animated\");\n this.playing = false;\n }\n render() {\n const { type: type, playing: playing, component: Tag } = this;\n return playing ? (0, $42h8L$jsx)(Tag, {\n className: `animate__animated animate__${type}`\n }) : type.includes(\"Out\") ? (0, $42h8L$jsx)((0, $42h8L$Fragment), {}) : (0, $42h8L$jsx)(Tag, {});\n }\n };\n _AnimateCSS_type_accessor_storage = new WeakMap();\n _AnimateCSS_playing_accessor_storage = new WeakMap();\n $d4436c849e74ae70$var$__setFunctionName(_classThis, \"AnimateCSS\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _type_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _playing_decorators = [\n (0, $0c03e47eb1097734$export$af4b9a83f4b00434),\n (0, $42h8L$observable)\n ];\n _typeChanged_decorators = [\n (0, $0c03e47eb1097734$export$7203b476385689ae)(({ type: type })=>type)\n ];\n $d4436c849e74ae70$var$__esDecorate(_classThis, null, _type_decorators, {\n kind: \"accessor\",\n name: \"type\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"type\" in obj,\n get: (obj)=>obj.type,\n set: (obj, value)=>{\n obj.type = value;\n }\n },\n metadata: _metadata\n }, _type_initializers, _instanceExtraInitializers);\n $d4436c849e74ae70$var$__esDecorate(_classThis, null, _playing_decorators, {\n kind: \"accessor\",\n name: \"playing\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"playing\" in obj,\n get: (obj)=>obj.playing,\n set: (obj, value)=>{\n obj.playing = value;\n }\n },\n metadata: _metadata\n }, _playing_initializers, _instanceExtraInitializers);\n $d4436c849e74ae70$var$__esDecorate(_classThis, null, _typeChanged_decorators, {\n kind: \"method\",\n name: \"typeChanged\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"typeChanged\" in obj,\n get: (obj)=>obj.typeChanged\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $d4436c849e74ae70$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n AnimateCSS = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $d4436c849e74ae70$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return AnimateCSS = _classThis;\n})();\n$parcel$exportWildcard($d4436c849e74ae70$exports, $819b340f625a29f4$exports);\n\n\n\n\nexport {$0c03e47eb1097734$export$b6ae1bc530f4c149 as observer, $0c03e47eb1097734$export$af4b9a83f4b00434 as attribute, $0c03e47eb1097734$export$7203b476385689ae as reaction, $552a56cc5ff3f479$export$c7e91f8aec23ae14 as Defer, $552a56cc5ff3f479$export$b06b4c21253e26e2 as getMobxData, $552a56cc5ff3f479$export$4077c0dfbe9c3861 as animated, $317b1f21909c74b8$export$d8556a2a8f973135 as component, $317b1f21909c74b8$export$af631764ddc44097 as on, $29675797ddd6c4f7$export$2a668e8d088a0667 as formField, $8acf79bd061a8fc3$export$854a54a999c89982 as AsyncCell, $8acf79bd061a8fc3$export$488013bae63b21da as lazy, $d4436c849e74ae70$export$2e9a7bb10257a509 as AnimateCSS};\n//# sourceMappingURL=index.esm.js.map\n","export * from './decorator';\nexport * from './utility';\nexport * from './WebCell';\nexport * from './WebField';\nexport * from './Async';\nexport * from './Animation';\n","import { DOMRenderer, DataObject, VNode, JsxChildren } from 'dom-renderer';\nimport {\n IReactionDisposer,\n IReactionPublic,\n autorun,\n reaction as watch\n} from 'mobx';\nimport {\n CustomElement,\n isHTMLElementClass,\n parseJSON,\n toCamelCase,\n toHyphenCase\n} from 'web-utility';\n\nimport { ClassComponent } from './WebCell';\nimport { getMobxData } from './utility';\n\nexport type PropsWithChildren

    = P & {\n children?: JsxChildren;\n};\nexport type FunctionComponent

    = (props: P) => VNode;\nexport type FC

    = FunctionComponent

    ;\n\nfunction wrapFunction

    (func: FC

    ) {\n return (props: P) => {\n const tree = func(props),\n renderer = new DOMRenderer();\n\n const disposer = autorun(() => {\n const newTree = func(props);\n\n if (tree.node) Object.assign(tree, renderer.patch(tree, newTree));\n });\n const { ref } = tree;\n\n tree.ref = node => {\n if (node) tree.node = node;\n else disposer();\n\n ref?.(node);\n };\n return tree;\n };\n}\n\ninterface ReactionItem {\n expression: ReactionExpression;\n effect: Function;\n}\nconst reactionMap = new WeakMap();\n\nfunction wrapClass(Component: T) {\n class ObserverComponent\n extends (Component as ClassComponent)\n implements CustomElement\n {\n static observedAttributes = [];\n\n protected disposers: IReactionDisposer[] = [];\n\n get props() {\n return getMobxData(this);\n }\n\n constructor() {\n super();\n\n const { update } = Object.getPrototypeOf(this);\n\n this['update'] = () =>\n this.disposers.push(autorun(() => update.call(this)));\n\n Promise.resolve().then(this.boot);\n }\n\n protected boot = () => {\n const names: string[] =\n this.constructor['observedAttributes'] || [],\n reactions = reactionMap.get(this) || [];\n\n this.disposers.push(\n ...names.map(name => autorun(() => this.syncPropAttr(name))),\n ...reactions.map(({ expression, effect }) =>\n watch(\n reaction => expression(this, reaction),\n effect.bind(this)\n )\n )\n );\n };\n\n disconnectedCallback() {\n for (const disposer of this.disposers) disposer();\n\n this.disposers.length = 0;\n\n super['disconnectedCallback']?.();\n }\n\n setAttribute(name: string, value: string) {\n const old = super.getAttribute(name),\n names: string[] = this.constructor['observedAttributes'];\n\n super.setAttribute(name, value);\n\n if (names.includes(name))\n this.attributeChangedCallback(name, old, value);\n }\n\n attributeChangedCallback(name: string, old: string, value: string) {\n this[toCamelCase(name)] = parseJSON(value);\n\n super['attributeChangedCallback']?.(name, old, value);\n }\n\n syncPropAttr(name: string) {\n var value = this[toCamelCase(name)];\n\n if (!(value != null) || value === false)\n return this.removeAttribute(name);\n\n value = value === true ? name : value;\n\n if (typeof value === 'object') {\n value = value.toJSON?.();\n\n value =\n typeof value === 'object' ? JSON.stringify(value) : value;\n }\n super.setAttribute(name, value);\n }\n }\n return ObserverComponent as unknown as T;\n}\n\nexport type WebCellComponent = FunctionComponent | ClassComponent;\n\n/**\n * `class` decorator of Web components for MobX\n */\nexport function observer(\n func: T,\n _: ClassDecoratorContext\n): T;\nexport function observer(func: T): T;\nexport function observer(\n func: T,\n _?: ClassDecoratorContext\n) {\n return isHTMLElementClass(func) ? wrapClass(func) : wrapFunction(func);\n}\n\n/**\n * `accessor` decorator of MobX `@observable` for HTML attributes\n */\nexport function attribute(\n _: ClassAccessorDecoratorTarget,\n { name, addInitializer }: ClassAccessorDecoratorContext\n) {\n addInitializer(function () {\n const names: string[] = this.constructor['observedAttributes'],\n attribute = toHyphenCase(name.toString());\n\n if (!names.includes(attribute)) names.push(attribute);\n });\n}\n\nexport type ReactionExpression = (\n data?: I,\n reaction?: IReactionPublic\n) => O;\n\nexport type ReactionEffect = (\n newValue: V,\n oldValue: V,\n reaction: IReactionPublic\n) => any;\n\n/**\n * Method decorator of MobX `reaction()`\n */\nexport function reaction(\n expression: ReactionExpression\n) {\n return (\n effect: ReactionEffect,\n { addInitializer }: ClassMethodDecoratorContext\n ) =>\n addInitializer(function () {\n const reactions = reactionMap.get(this) || [];\n\n reactions.push({ expression, effect });\n\n reactionMap.set(this, reactions);\n });\n}\n","import { DataObject } from 'dom-renderer';\nimport { ObservableValue } from 'mobx/dist/internal';\nimport { delegate } from 'web-utility';\n\nexport class Defer {\n resolve: (value: T | PromiseLike) => void;\n reject: (reason?: any) => void;\n\n promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n}\n\nexport function getMobxData(observable: T) {\n for (const key of Object.getOwnPropertySymbols(observable)) {\n const store = observable[key as keyof T]?.values_ as Map<\n string,\n ObservableValue\n >;\n if (store instanceof Map)\n return Object.fromEntries(\n Array.from(store, ([key, { value_ }]) => [key, value_])\n ) as T;\n }\n}\n\nexport const animated = (\n root: T,\n targetSelector: string\n) =>\n new Promise(resolve => {\n const ended = delegate(targetSelector, (event: AnimationEvent) => {\n root.removeEventListener('animationend', ended);\n root.removeEventListener('animationcancel', ended);\n resolve(event);\n });\n\n root.addEventListener('animationend', ended);\n root.addEventListener('animationcancel', ended);\n });\n","import { DOMRenderer, JsxProps, VNode } from 'dom-renderer';\nimport {\n CustomElement,\n DelegateEventHandler,\n delegate,\n isEmpty,\n stringifyDOM\n} from 'web-utility';\n\nexport interface ComponentMeta\n extends ElementDefinitionOptions,\n Partial {\n tagName: string;\n}\n\nexport type ClassComponent = CustomElementConstructor;\n\nexport type WebCellProps = JsxProps;\n\nexport interface WebCell

    extends CustomElement {\n props: P & WebCellProps;\n internals: ElementInternals;\n renderer: DOMRenderer;\n root: ParentNode;\n mounted: boolean;\n update: () => void;\n /**\n * Called at DOM tree updated\n */\n updatedCallback?: () => any;\n /**\n * Called at first time of DOM tree updated\n */\n mountedCallback?: () => any;\n emit: (event: string, detail?: any, option?: EventInit) => boolean;\n}\n\ninterface DelegatedEvent {\n type: keyof HTMLElementEventMap;\n selector: string;\n handler: EventListener;\n}\nconst eventMap = new WeakMap();\n\n/**\n * `class` decorator of Web components\n */\nexport function component(meta: ComponentMeta) {\n return (\n Class: T,\n { addInitializer }: ClassDecoratorContext\n ) => {\n class RendererComponent\n extends (Class as ClassComponent)\n implements WebCell\n {\n declare props: WebCellProps;\n\n internals = this.attachInternals();\n renderer = new DOMRenderer();\n\n get root(): ParentNode {\n return this.internals.shadowRoot || this;\n }\n mounted = false;\n declare mountedCallback?: () => any;\n\n constructor() {\n super();\n\n if (meta.mode && !this.internals.shadowRoot)\n this.attachShadow(meta as ShadowRootInit);\n }\n\n connectedCallback() {\n const { mode } = meta;\n const renderChildren = !(mode != null);\n\n const { root } = this,\n events = eventMap.get(this) || [];\n\n for (const { type, selector, handler } of events) {\n if (renderChildren && /^:host/.test(selector))\n console.warn(\n `[WebCell] DOM Event delegation of \"${selector}\" won't work if you don't invoke \"this.attachShadow()\" manually.`\n );\n root.addEventListener(type, handler);\n }\n\n super['connectedCallback']?.();\n\n if (this.mounted) return;\n\n this.update();\n\n this.mounted = true;\n this.mountedCallback?.();\n }\n\n declare render?: () => VNode;\n declare updatedCallback?: () => any;\n\n update() {\n const vNode = this.render?.();\n\n const content = isEmpty(vNode) ? (\n meta.mode ? (\n \n ) : null\n ) : (\n vNode\n );\n\n if (content != null) {\n this.renderer.render(content, this.root);\n this.updatedCallback?.();\n }\n }\n\n disconnectedCallback() {\n const { root } = this,\n events = eventMap.get(this) || [];\n\n for (const { type, handler } of events)\n root.removeEventListener(type, handler);\n\n super['disconnectedCallback']?.();\n }\n\n emit(\n event: string,\n detail?: any,\n { cancelable, bubbles, composed }: EventInit = {}\n ) {\n return this.dispatchEvent(\n new CustomEvent(event, {\n detail,\n cancelable,\n bubbles,\n composed\n })\n );\n }\n\n toString() {\n return stringifyDOM(this.root);\n }\n }\n\n addInitializer(function () {\n globalThis.customElements?.define(meta.tagName, this, meta);\n });\n return RendererComponent as unknown as T;\n };\n}\n\n/**\n * Method decorator of DOM Event delegation\n */\nexport function on(\n type: DelegatedEvent['type'],\n selector: string\n) {\n return (\n method: DelegateEventHandler,\n { addInitializer }: ClassMethodDecoratorContext\n ) =>\n addInitializer(function () {\n const events = eventMap.get(this) || [],\n handler = delegate(selector, method.bind(this));\n\n events.push({ type, selector, handler });\n\n eventMap.set(this, events);\n });\n}\n","import { observable } from 'mobx';\nimport { CustomFormElement, HTMLFieldProps } from 'web-utility';\n\nimport { ClassComponent, WebCell } from './WebCell';\nimport { attribute, reaction } from './decorator';\n\nexport interface WebField

    \n extends CustomFormElement,\n WebCell

    {}\n\n/**\n * `class` decorator of Form associated Web components\n */\nexport function formField(\n Class: T,\n _: ClassDecoratorContext\n) {\n class FormFieldComponent\n extends (Class as ClassComponent)\n implements CustomFormElement\n {\n /**\n * Defined in {@link component}\n */\n declare internals: ElementInternals;\n static formAssociated = true;\n\n @reaction(({ value }) => value)\n setValue(value: string) {\n this.internals.setFormValue(value);\n }\n\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n @attribute\n @observable\n accessor name: string;\n\n @observable\n accessor value: string;\n\n @attribute\n @observable\n accessor required: boolean;\n\n @attribute\n @observable\n accessor disabled: boolean;\n\n @attribute\n @observable\n accessor autofocus: boolean;\n\n set defaultValue(raw: string) {\n this.setAttribute('value', raw);\n\n this.value ??= raw;\n }\n\n get defaultValue() {\n return this.getAttribute('value');\n }\n\n get form() {\n return this.internals.form;\n }\n get validity() {\n return this.internals.validity;\n }\n get validationMessage() {\n return this.internals.validationMessage;\n }\n get willValidate() {\n return this.internals.willValidate;\n }\n checkValidity() {\n return this.internals.checkValidity();\n }\n reportValidity() {\n return this.internals.reportValidity();\n }\n }\n return FormFieldComponent as unknown as T;\n}\n","import { observable } from 'mobx';\n\nimport { ClassComponent, WebCell, WebCellProps, component } from './WebCell';\nimport {\n FC,\n FunctionComponent,\n PropsWithChildren,\n WebCellComponent,\n observer\n} from './decorator';\n\nexport type ComponentTag = string | WebCellComponent;\n\nexport interface AsyncCellProps {\n loader: () => Promise;\n delegatedProps?: WebCellProps;\n}\n\nexport interface AsyncCell extends WebCell {}\n\n@component({\n tagName: 'async-cell'\n})\n@observer\nexport class AsyncCell extends HTMLElement implements WebCell {\n loader: AsyncCellProps['loader'];\n\n @observable\n accessor component: FC;\n\n @observable\n accessor delegatedProps: AsyncCellProps['delegatedProps'];\n\n connectedCallback() {\n this.load();\n }\n\n protected async load() {\n this.component = undefined;\n\n const Tag = await this.loader();\n\n this.component = ({ children, ...props }) => (\n {children}\n );\n this.emit('load', this.component);\n }\n\n render() {\n const { component: Tag, props, delegatedProps } = this;\n const { children, ...data } = { ...props, ...delegatedProps };\n\n return Tag && {children};\n }\n}\n\ntype GetAsyncProps = T extends () => Promise<{\n default: FunctionComponent | ClassComponent;\n}>\n ? P\n : {};\n\nexport function lazy<\n T extends () => Promise<{ default: FunctionComponent | ClassComponent }>\n>(loader: T) {\n return (props: GetAsyncProps) => (\n (await loader()).default}\n />\n );\n}\n","import { observable } from 'mobx';\nimport { importCSS } from 'web-utility';\n\nimport { animated } from '../utility';\nimport { WebCell, WebCellProps, component } from '../WebCell';\nimport { FC, attribute, observer, reaction } from '../decorator';\nimport { AnimationType } from './type';\n\nexport * from './type';\n\nexport interface AnimateCSSProps {\n type: AnimationType;\n component: FC;\n}\n\nexport interface AnimateCSS extends WebCell {}\n\n@component({ tagName: 'animation-css' })\n@observer\nexport class AnimateCSS\n extends HTMLElement\n implements WebCell\n{\n @attribute\n @observable\n accessor type: AnimationType;\n\n @attribute\n @observable\n accessor playing = false;\n\n component: FC;\n\n async connectedCallback() {\n await importCSS('https://unpkg.com/animate.css@4/animate.min.css');\n\n this.typeChanged();\n }\n\n @reaction(({ type }) => type)\n async typeChanged() {\n this.playing = true;\n\n await animated(this, '.animate__animated');\n\n this.playing = false;\n }\n\n render() {\n const { type, playing, component: Tag } = this;\n\n return playing ? (\n \n ) : type.includes('Out') ? (\n <>\n ) : (\n \n );\n }\n}\n","export type PositionY = 'Top' | 'Bottom';\nexport type DirectionX = 'Left' | 'Right';\nexport type DirectionY = 'Up' | 'Down';\nexport type Direction = DirectionX | DirectionY;\nexport type AnimationMode = 'In' | 'Out';\n\nexport type AttentionSeekers =\n | 'bounce'\n | 'flash'\n | 'pulse'\n | 'rubberBand'\n | `shake${'X' | 'Y'}`\n | 'headShake'\n | 'swing'\n | 'tada'\n | 'wobble'\n | 'jello'\n | 'heartBeat';\nexport type BackEntrances = `backIn${Direction}`;\nexport type BackExits = `backOut${Direction}`;\nexport type BouncingEntrances = `bounceIn${'' | Direction}`;\nexport type BouncingExits = `bounceOut${'' | Direction}`;\nexport type FadingEntrances =\n | `fadeIn${'' | `${Direction}${'' | 'Big'}`}`\n | `fadeIn${PositionY}${DirectionX}`;\nexport type FadingExits = `fadeOut${\n | ''\n | `${Direction}${'' | 'Big'}`\n | `${PositionY}${DirectionX}`}`;\nexport type Flippers = `flip${'' | `${AnimationMode}${'X' | 'Y'}`}`;\nexport type Lightspeed = `lightSpeed${AnimationMode}${DirectionX}`;\nexport type RotatingEntrances = `rotateIn${'' | `${DirectionY}${DirectionX}`}`;\nexport type RotatingExits = `rotateOut${'' | `${DirectionY}${DirectionX}`}`;\nexport type Specials = 'hinge' | 'jackInTheBox' | `roll${'In' | 'Out'}`;\nexport type ZoomingEntrances = `zoomIn${'' | Direction}`;\nexport type ZoomingExits = `zoomOut${'' | Direction}`;\nexport type SlidingEntrances = `slideIn${Direction}`;\nexport type SlidingExits = `slideOut${Direction}`;\n\nexport type AnimationType =\n | AttentionSeekers\n | BackEntrances\n | BackExits\n | BouncingEntrances\n | BouncingExits\n | FadingEntrances\n | FadingExits\n | Flippers\n | Lightspeed\n | RotatingEntrances\n | RotatingExits\n | Specials\n | ZoomingEntrances\n | ZoomingExits\n | SlidingEntrances\n | SlidingExits;\n","module.exports = new __parcel__URL__(\"FCC-CDG-WeChat.70395ae7.png\").toString();","import {\n Button,\n Card,\n CardBody,\n CardImg,\n CardTitle,\n Jumbotron\n} from 'boot-cell';\nimport { PageProps } from 'cell-router';\nimport { FC, observer } from 'web-cell';\n\nimport { TopNavBar } from '../component/TopNavBar';\nimport { i18n } from '../i18n';\nimport * as style from './Home.module.less';\nimport { common_menu, summits } from './data';\n\nconst { t } = i18n;\n\nexport const HomePage: FC = observer(props => (\n

    \n \n\n \n \n 报名最新大会\n \n \n 回顾上次大会\n \n \n\n
    \n
    \n {summits.map(({ title, banner, date, URL }) => {\n const passed = new Date(date) < new Date();\n\n return (\n \n \n\n \n \n {title}\n \n\n
    \n \n {t(passed ? 'review' : 'register')}\n \n\n {date}\n
    \n
    \n
    \n );\n })}\n
    \n
    \n
    \n));\n","import {jsx as $QdH60$jsx, jsxs as $QdH60$jsxs, Fragment as $QdH60$Fragment} from \"dom-renderer/jsx-runtime\";\nimport $QdH60$classnames from \"classnames\";\nimport {uniqueID as $QdH60$uniqueID, delegate as $QdH60$delegate, formatDate as $QdH60$formatDate, Day as $QdH60$Day, splitArray as $QdH60$splitArray, changeMonth as $QdH60$changeMonth} from \"web-utility\";\nimport {observable as $QdH60$observable, computed as $QdH60$computed} from \"mobx\";\nimport {component as $QdH60$component, observer as $QdH60$observer, attribute as $QdH60$attribute, reaction as $QdH60$reaction, on as $QdH60$on} from \"web-cell\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $63d86f11b44ac799$exports = {};\n\n$parcel$export($63d86f11b44ac799$exports, \"Status\", function () { return $63d86f11b44ac799$export$96e9906d6d93a972; });\nvar $63d86f11b44ac799$export$96e9906d6d93a972;\n(function(Status) {\n Status[\"primary\"] = \"primary\";\n Status[\"secondary\"] = \"secondary\";\n Status[\"tertiary\"] = \"tertiary\";\n Status[\"success\"] = \"success\";\n Status[\"info\"] = \"info\";\n Status[\"warning\"] = \"warning\";\n Status[\"danger\"] = \"danger\";\n})($63d86f11b44ac799$export$96e9906d6d93a972 || ($63d86f11b44ac799$export$96e9906d6d93a972 = {}));\n\n\nvar $82c1668cb3555a4c$exports = {};\n\n$parcel$export($82c1668cb3555a4c$exports, \"Ratio\", function () { return $82c1668cb3555a4c$export$438ad6fc467f929b; });\n\n\nconst $82c1668cb3555a4c$export$438ad6fc467f929b = ({ aspectRatio: aspectRatio = \"1x1\", children: children })=>(0, $QdH60$jsx)(\"div\", {\n className: (0, $QdH60$classnames)(\"ratio\", typeof aspectRatio === \"string\" && `ratio-${aspectRatio}`),\n style: typeof aspectRatio === \"number\" ? {\n \"--bs-aspect-ratio\": `${aspectRatio * 100}%`\n } : undefined,\n children: children\n });\n\n\nvar $ec748a1bf5317e2c$exports = {};\n\n$parcel$export($ec748a1bf5317e2c$exports, \"Container\", function () { return $ec748a1bf5317e2c$export$42a852a2b6b56249; });\n\nvar $ec748a1bf5317e2c$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $ec748a1bf5317e2c$export$42a852a2b6b56249 = (_a)=>{\n var { className: className = \"\", fluid: fluid, children: children } = _a, props = $ec748a1bf5317e2c$var$__rest(_a, [\n \"className\",\n \"fluid\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `container${fluid === true ? \"-fluid\" : fluid ? `-${fluid}` : \"\"} ${className}`\n }, props, {\n children: children\n }));\n};\n\n\nvar $12e8838177819a56$exports = {};\n\n$parcel$export($12e8838177819a56$exports, \"Table\", function () { return $12e8838177819a56$export$54ec01a60f47d33d; });\n\n\nvar $12e8838177819a56$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $12e8838177819a56$export$54ec01a60f47d33d = (_a)=>{\n var { className: className, variant: variant, size: size, responsive: responsive, striped: striped, hover: hover, bordered: bordered, borderless: borderless, caption: caption, children: children } = _a, props = $12e8838177819a56$var$__rest(_a, [\n \"className\",\n \"variant\",\n \"size\",\n \"responsive\",\n \"striped\",\n \"hover\",\n \"bordered\",\n \"borderless\",\n \"caption\",\n \"children\"\n ]);\n const table = (0, $QdH60$jsx)(\"table\", Object.assign({\n className: (0, $QdH60$classnames)(\"table\", variant && `table-${variant}`, size && `table-${size}`, striped && `table-striped${striped === \"columns\" ? \"-columns\" : \"\"}`, hover && \"table-hover\", bordered && \"table-bordered\", borderless && \"table-borderless\", caption && `caption-${caption}`)\n }, props, {\n children: children\n }));\n return responsive ? (0, $QdH60$jsx)(\"div\", {\n className: `table-responsive${responsive === true ? \"\" : `-${responsive}`}`,\n children: table\n }) : table;\n};\n\n\nvar $e00f372973ff441d$exports = {};\n\n$parcel$export($e00f372973ff441d$exports, \"ScrollBoundary\", function () { return $e00f372973ff441d$export$d086fcc3bc3f366f; });\n\n\nfunction $e00f372973ff441d$var$touch(edge, onTouch) {\n return (node)=>node && new IntersectionObserver(([{ isIntersecting: isIntersecting }])=>isIntersecting && onTouch(edge)).observe(node);\n}\nconst $e00f372973ff441d$export$d086fcc3bc3f366f = ({ className: className, onTouch: onTouch, top: top, left: left, right: right, bottom: bottom, children: children })=>(0, $QdH60$jsxs)(\"div\", {\n className: (0, $QdH60$classnames)(\"position-relative\", className),\n children: [\n (0, $QdH60$jsx)(\"div\", {\n className: \"position-absolute top-0 left-0 w-100\",\n ref: $e00f372973ff441d$var$touch(\"top\", onTouch),\n children: top\n }),\n (0, $QdH60$jsx)(\"div\", {\n className: \"position-absolute top-0 left-0 h-100\",\n ref: $e00f372973ff441d$var$touch(\"left\", onTouch),\n children: left\n }),\n children,\n (0, $QdH60$jsx)(\"div\", {\n className: \"position-absolute top-0 right-0 h-100\",\n ref: $e00f372973ff441d$var$touch(\"right\", onTouch),\n children: right\n }),\n (0, $QdH60$jsx)(\"div\", {\n className: \"position-absolute top-100 left-0 w-100\",\n ref: $e00f372973ff441d$var$touch(\"bottom\", onTouch),\n children: bottom\n })\n ]\n });\n\n\nvar $6ced475b51e72106$exports = {};\n\n$parcel$export($6ced475b51e72106$exports, \"Jumbotron\", function () { return $6ced475b51e72106$export$97aba50a380f875b; });\n\n\n\nvar $6ced475b51e72106$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $6ced475b51e72106$export$97aba50a380f875b = (_a)=>{\n var { className: className, fluid: fluid, bg: bg = \"body-tertiary\", rounded: rounded = fluid ? 0 : 3, title: title, description: description, children: children } = _a, props = $6ced475b51e72106$var$__rest(_a, [\n \"className\",\n \"fluid\",\n \"bg\",\n \"rounded\",\n \"title\",\n \"description\",\n \"children\"\n ]);\n const content = (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"h1\", {\n className: \"display-4\",\n children: title\n }),\n (0, $QdH60$jsx)(\"p\", {\n className: \"lead\",\n children: description\n }),\n children && (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"hr\", {\n className: \"my-4\"\n }),\n children\n ]\n })\n ]\n });\n return (0, $QdH60$jsx)(\"header\", Object.assign({\n className: (0, $QdH60$classnames)(\"py-5\", !fluid && \"px-5\", bg && `bg-${bg}`, rounded && `rounded-${rounded}`, className)\n }, props, {\n children: fluid ? (0, $QdH60$jsx)((0, $ec748a1bf5317e2c$export$42a852a2b6b56249), {\n fluid: fluid,\n children: content\n }) : content\n }));\n};\n\n\nvar $639bcad300938914$exports = {};\n\n$parcel$export($639bcad300938914$exports, \"Card\", function () { return $639bcad300938914$export$60332b2344f7fe41; });\n$parcel$export($639bcad300938914$exports, \"CardBody\", function () { return $639bcad300938914$export$851de33184ecdac4; });\n$parcel$export($639bcad300938914$exports, \"CardHeader\", function () { return $639bcad300938914$export$5665775b26e26c5d; });\n$parcel$export($639bcad300938914$exports, \"CardFooter\", function () { return $639bcad300938914$export$e9897d434e0741ee; });\n$parcel$export($639bcad300938914$exports, \"CardTitle\", function () { return $639bcad300938914$export$474db65c3c394e1c; });\n$parcel$export($639bcad300938914$exports, \"CardImg\", function () { return $639bcad300938914$export$96c5f37208f78bd7; });\n\n\nvar $7c8ac8c53d1d99e6$exports = {};\n\n$parcel$export($7c8ac8c53d1d99e6$exports, \"Image\", function () { return $7c8ac8c53d1d99e6$export$3e431a229df88919; });\n\n\nvar $7c8ac8c53d1d99e6$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $7c8ac8c53d1d99e6$export$3e431a229df88919 = (_a)=>{\n var { className: className, fluid: fluid, rounded: rounded, roundedCircle: roundedCircle, thumbnail: thumbnail } = _a, props = $7c8ac8c53d1d99e6$var$__rest(_a, [\n \"className\",\n \"fluid\",\n \"rounded\",\n \"roundedCircle\",\n \"thumbnail\"\n ]);\n return (0, $QdH60$jsx)(\"img\", Object.assign({\n className: (0, $QdH60$classnames)(fluid && \"img-fluid\", thumbnail && `img-thumbnail`, {\n rounded: rounded\n }, roundedCircle && \"rounded-circle\", className)\n }, props));\n};\n\n\nvar $639bcad300938914$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $639bcad300938914$export$60332b2344f7fe41 = (_a)=>{\n var { className: className, bg: bg, text: text, border: border, body: body, children: children } = _a, props = $639bcad300938914$var$__rest(_a, [\n \"className\",\n \"bg\",\n \"text\",\n \"border\",\n \"body\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: (0, $QdH60$classnames)(\"card\", bg && `text-bg-${bg}`, text && `text-${text}`, border && `border-${border}`, className)\n }, props, {\n children: body ? (0, $QdH60$jsx)($639bcad300938914$export$851de33184ecdac4, {\n children: children\n }) : children\n }));\n};\nconst $639bcad300938914$export$5665775b26e26c5d = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `card-header ${className}`\n }, props, {\n children: children\n }));\n};\nconst $639bcad300938914$export$851de33184ecdac4 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `card-body ${className}`\n }, props, {\n children: children\n }));\n};\nconst $639bcad300938914$export$e9897d434e0741ee = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `card-footer ${className}`\n }, props, {\n children: children\n }));\n};\nconst $639bcad300938914$export$474db65c3c394e1c = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $639bcad300938914$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"h5\", Object.assign({\n className: `card-title ${className}`\n }, props, {\n children: children\n }));\n};\nconst $639bcad300938914$export$96c5f37208f78bd7 = (_a)=>{\n var { className: className = \"\", variant: variant } = _a, props = $639bcad300938914$var$__rest(_a, [\n \"className\",\n \"variant\"\n ]);\n return (0, $QdH60$jsx)((0, $7c8ac8c53d1d99e6$export$3e431a229df88919), Object.assign({\n className: `card-img${variant ? `-${variant}` : \"\"} ${className}`\n }, props));\n};\n\n\nvar $fa0fbbd8c76f290f$exports = {};\n\n$parcel$export($fa0fbbd8c76f290f$exports, \"FormGroup\", function () { return $fa0fbbd8c76f290f$export$2d00230e1e6f7fbc; });\n$parcel$export($fa0fbbd8c76f290f$exports, \"FormLabel\", function () { return $fa0fbbd8c76f290f$export$842aba50ed0ce9d7; });\n$parcel$export($fa0fbbd8c76f290f$exports, \"FloatingLabel\", function () { return $fa0fbbd8c76f290f$export$8522a2827ec13639; });\n$parcel$export($fa0fbbd8c76f290f$exports, \"InputGroup\", function () { return $fa0fbbd8c76f290f$export$6e5a9cd40e0c9b97; });\n$parcel$export($fa0fbbd8c76f290f$exports, \"InputGroupText\", function () { return $fa0fbbd8c76f290f$export$219ad5c362b47f2f; });\n$parcel$export($fa0fbbd8c76f290f$exports, \"FormControl\", function () { return $fa0fbbd8c76f290f$export$fe5d99d8691b3f62; });\n$parcel$export($fa0fbbd8c76f290f$exports, \"FormCheck\", function () { return $fa0fbbd8c76f290f$export$5cd9378d879de45f; });\n$parcel$export($fa0fbbd8c76f290f$exports, \"FormField\", function () { return $fa0fbbd8c76f290f$export$56e87bf42978147a; });\n\n\n\nvar $fa0fbbd8c76f290f$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $fa0fbbd8c76f290f$export$2d00230e1e6f7fbc = (_a)=>{\n var { children: children } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({}, props, {\n children: children\n }));\n};\nconst $fa0fbbd8c76f290f$export$842aba50ed0ce9d7 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"label\", Object.assign({\n className: `form-label ${className}`\n }, props, {\n children: children\n }));\n};\nconst $fa0fbbd8c76f290f$export$8522a2827ec13639 = (_a)=>{\n var { className: className = \"\", style: style, label: label, children: children } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"style\",\n \"label\",\n \"children\"\n ]);\n return (0, $QdH60$jsxs)(\"div\", {\n className: `form-floating ${className}`,\n style: style,\n children: [\n children,\n (0, $QdH60$jsx)(\"label\", Object.assign({}, props, {\n children: label\n }))\n ]\n });\n};\nconst $fa0fbbd8c76f290f$export$6e5a9cd40e0c9b97 = (_a)=>{\n var { className: className = \"\", size: size, children: children } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"size\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: (0, $QdH60$classnames)(\"input-group\", size && `input-group-${size}`, className)\n }, props, {\n children: children\n }));\n};\nconst $fa0fbbd8c76f290f$export$219ad5c362b47f2f = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"span\", Object.assign({\n className: `input-group-text ${className}`\n }, props, {\n children: children\n }));\n};\nconst $fa0fbbd8c76f290f$export$fe5d99d8691b3f62 = (_a)=>{\n var { as: Tag = \"input\", className: className = \"\", htmlSize: htmlSize, size: size, plaintext: plaintext } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"as\",\n \"className\",\n \"htmlSize\",\n \"size\",\n \"plaintext\"\n ]);\n return (0, $QdH60$jsx)(Tag, Object.assign({\n className: (0, $QdH60$classnames)(\"form-control\", size && `form-control-${size}`, props.readOnly && plaintext && `form-control-plaintext`, props.type === \"color\" && `form-control-color`, className)\n }, props, {\n size: htmlSize\n }));\n};\nconst $fa0fbbd8c76f290f$export$5cd9378d879de45f = (_a)=>{\n var { id: id = (0, $QdH60$uniqueID)(), className: className = \"\", style: style, title: title, type: type, inline: inline, reverse: reverse, label: label } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"id\",\n \"className\",\n \"style\",\n \"title\",\n \"type\",\n \"inline\",\n \"reverse\",\n \"label\"\n ]);\n return (0, $QdH60$jsxs)(\"div\", {\n className: (0, $QdH60$classnames)(label && \"form-check\", inline && \"form-check-inline\", reverse && \"form-check-reverse\", type === \"switch\" && \"form-switch\", className),\n style: style,\n children: [\n (0, $QdH60$jsx)(\"input\", Object.assign({\n className: \"form-check-input\",\n type: type === \"switch\" ? \"checkbox\" : type,\n role: type === \"switch\" ? \"switch\" : undefined,\n id: id\n }, props)),\n label && (0, $QdH60$jsx)(\"label\", {\n className: \"form-check-label\",\n htmlFor: id,\n title: title,\n children: label\n })\n ]\n });\n};\nconst $fa0fbbd8c76f290f$export$56e87bf42978147a = (_a)=>{\n var { className: className, label: label, labelFloat: labelFloat } = _a, props = $fa0fbbd8c76f290f$var$__rest(_a, [\n \"className\",\n \"label\",\n \"labelFloat\"\n ]);\n label || (label = props.title || props.placeholder);\n const field = (0, $QdH60$jsx)($fa0fbbd8c76f290f$export$fe5d99d8691b3f62, Object.assign({}, props));\n return labelFloat ? (0, $QdH60$jsx)($fa0fbbd8c76f290f$export$8522a2827ec13639, {\n className: className,\n label: label,\n children: field\n }) : (0, $QdH60$jsxs)($fa0fbbd8c76f290f$export$2d00230e1e6f7fbc, {\n className: className,\n children: [\n (0, $QdH60$jsx)($fa0fbbd8c76f290f$export$842aba50ed0ce9d7, {\n children: label\n }),\n field\n ]\n });\n};\n\n\nvar $7d7a0c28b15334fb$exports = {};\n\n$parcel$export($7d7a0c28b15334fb$exports, \"Button\", function () { return $7d7a0c28b15334fb$export$353f5b6fc5456de1; });\n$parcel$export($7d7a0c28b15334fb$exports, \"isButton\", function () { return $7d7a0c28b15334fb$export$35a0171ee384c875; });\n$parcel$export($7d7a0c28b15334fb$exports, \"IconButton\", function () { return $7d7a0c28b15334fb$export$c25acd513dcc8062; });\n$parcel$export($7d7a0c28b15334fb$exports, \"CloseButton\", function () { return $7d7a0c28b15334fb$export$de65de8213222d10; });\n\n\nvar $110adda30e872ed3$exports = {};\n\n$parcel$export($110adda30e872ed3$exports, \"Icon\", function () { return $110adda30e872ed3$export$f04a61298a47a40f; });\n$parcel$export($110adda30e872ed3$exports, \"BGIcon\", function () { return $110adda30e872ed3$export$af1945c3768d186c; });\n\n\nvar $110adda30e872ed3$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $110adda30e872ed3$export$f04a61298a47a40f = (_a)=>{\n var { className: className, style: style, color: color, name: name, size: size, children: children } = _a, rest = $110adda30e872ed3$var$__rest(_a, [\n \"className\",\n \"style\",\n \"color\",\n \"name\",\n \"size\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"i\", Object.assign({\n className: (0, $QdH60$classnames)(`bi-${name}`, color && `text-${color}`, className),\n style: Object.assign(Object.assign({}, style), {\n fontSize: size ? `${size}rem` : undefined\n })\n }, rest));\n};\nconst $110adda30e872ed3$export$af1945c3768d186c = (_a)=>{\n var { className: className = \"\", type: type = \"square\", color: color = \"primary\", children: children } = _a, props = $110adda30e872ed3$var$__rest(_a, [\n \"className\",\n \"type\",\n \"color\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"span\", Object.assign({\n className: (0, $QdH60$classnames)(\"d-inline-block\", \"p-3\", `bg-${color}`, `rounded${type === \"square\" ? \"\" : \"-circle\"}`, className)\n }, props, {\n children: (0, $QdH60$jsx)($110adda30e872ed3$export$f04a61298a47a40f, Object.assign({\n color: color === \"light\" ? \"dark\" : \"light\"\n }, props))\n }));\n};\n\n\nvar $7d7a0c28b15334fb$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $7d7a0c28b15334fb$export$353f5b6fc5456de1 = (_a)=>{\n var { className: className, href: href, variant: variant, size: size, active: active, children: children } = _a, props = $7d7a0c28b15334fb$var$__rest(_a, [\n \"className\",\n \"href\",\n \"variant\",\n \"size\",\n \"active\",\n \"children\"\n ]);\n const { disabled: disabled, tabIndex: tabIndex } = props, Class = (0, $QdH60$classnames)(\"btn\", variant && `btn-${variant}`, size && `btn-${size}`, className);\n return href ? (0, $QdH60$jsx)(\"a\", Object.assign({\n role: \"button\",\n className: (0, $QdH60$classnames)(Class, {\n disabled: disabled,\n active: active\n }),\n tabIndex: disabled ? -1 : tabIndex,\n ariaDisabled: disabled === null || disabled === void 0 ? void 0 : disabled.toString(),\n ariaPressed: active === null || active === void 0 ? void 0 : active.toString(),\n href: href\n }, props, {\n children: children\n })) : (0, $QdH60$jsx)(\"button\", Object.assign({\n className: Class\n }, props, {\n ariaPressed: active === null || active === void 0 ? void 0 : active.toString(),\n children: children\n }));\n};\nfunction $7d7a0c28b15334fb$export$35a0171ee384c875(node) {\n var _a;\n const { selector: selector, props: props } = node;\n return /^(a|input|button)/.test(selector) && ((_a = props === null || props === void 0 ? void 0 : props.className) === null || _a === void 0 ? void 0 : _a.btn);\n}\nconst $7d7a0c28b15334fb$export$c25acd513dcc8062 = (_a)=>{\n var { className: className, name: name } = _a, button = $7d7a0c28b15334fb$var$__rest(_a, [\n \"className\",\n \"name\"\n ]);\n return (0, $QdH60$jsx)($7d7a0c28b15334fb$export$353f5b6fc5456de1, Object.assign({\n className: (0, $QdH60$classnames)(\"p-1\", className),\n style: {\n lineHeight: \"0.8\"\n }\n }, button, {\n children: (0, $QdH60$jsx)((0, $110adda30e872ed3$export$f04a61298a47a40f), {\n name: name\n })\n }));\n};\nconst $7d7a0c28b15334fb$export$de65de8213222d10 = (_a)=>{\n var { className: className = \"\" } = _a, props = $7d7a0c28b15334fb$var$__rest(_a, [\n \"className\"\n ]);\n return (0, $QdH60$jsx)(\"button\", Object.assign({\n className: `btn-close ${className}`,\n type: \"button\",\n ariaLabel: \"Close\"\n }, props));\n};\n\n\nvar $c07b2ffa4e50bb77$exports = {};\n\n$parcel$export($c07b2ffa4e50bb77$exports, \"Badge\", function () { return $c07b2ffa4e50bb77$export$37acb3580601e69a; });\n\n\nvar $c07b2ffa4e50bb77$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $c07b2ffa4e50bb77$export$37acb3580601e69a = (_a)=>{\n var { className: className, bg: bg, text: text, pill: pill, href: href, children: children } = _a, rest = $c07b2ffa4e50bb77$var$__rest(_a, [\n \"className\",\n \"bg\",\n \"text\",\n \"pill\",\n \"href\",\n \"children\"\n ]);\n const Class = (0, $QdH60$classnames)(\"badge\", bg && `text-bg-${bg}`, text && `text-${text}`, pill && `rounded-pill`, href && \"text-decoration-none\", className);\n return href ? (0, $QdH60$jsx)(\"a\", Object.assign({}, rest, {\n className: Class,\n href: href,\n children: children\n })) : (0, $QdH60$jsx)(\"span\", Object.assign({}, rest, {\n className: Class,\n children: children\n }));\n};\n\n\nvar $3e256c6cbec492c2$exports = {};\n\n$parcel$export($3e256c6cbec492c2$exports, \"Spinner\", function () { return $3e256c6cbec492c2$export$7f7cbe89f1eacd2; });\n$parcel$export($3e256c6cbec492c2$exports, \"SpinnerBox\", function () { return $3e256c6cbec492c2$export$d4c790f923031725; });\n\n\nvar $3e256c6cbec492c2$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $3e256c6cbec492c2$export$7f7cbe89f1eacd2 = (_a)=>{\n var { className: className, variant: variant, size: size, animation: animation = \"border\", children: children = \"Loading...\" } = _a, props = $3e256c6cbec492c2$var$__rest(_a, [\n \"className\",\n \"variant\",\n \"size\",\n \"animation\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: (0, $QdH60$classnames)(`spinner-${animation}`, size && `spinner-${animation}-${size}`, variant && `text-${variant}`, className),\n role: \"status\"\n }, props, {\n children: (0, $QdH60$jsx)(\"span\", {\n className: \"visually-hidden\",\n children: children\n })\n }));\n};\nconst $3e256c6cbec492c2$export$d4c790f923031725 = (_a)=>{\n var { className: className = \"\", cover: cover, variant: variant, size: size, animation: animation, role: role, children: children } = _a, props = $3e256c6cbec492c2$var$__rest(_a, [\n \"className\",\n \"cover\",\n \"variant\",\n \"size\",\n \"animation\",\n \"role\",\n \"children\"\n ]);\n return (0, $QdH60$jsxs)(\"div\", Object.assign({\n className: `position-relative ${className}`\n }, props, {\n children: [\n children,\n cover && (0, $QdH60$jsx)(\"div\", {\n className: \"modal-backdrop show d-flex justify-content-center align-items-center\",\n children: (0, $QdH60$jsx)($3e256c6cbec492c2$export$7f7cbe89f1eacd2, {\n variant: variant,\n size: size,\n animation: animation,\n role: role,\n ariaHidden: \"true\"\n })\n })\n ]\n }));\n};\n\n\n\n\nvar $082bbd4855375d2b$exports = {};\n\n$parcel$export($082bbd4855375d2b$exports, \"Tooltip\", function () { return $082bbd4855375d2b$export$28c660c63b792dea; });\n$parcel$export($082bbd4855375d2b$exports, \"TooltipBox\", function () { return $082bbd4855375d2b$export$e4d8dc88bb9cc931; });\n\n\n\nvar $082bbd4855375d2b$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $082bbd4855375d2b$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $082bbd4855375d2b$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $082bbd4855375d2b$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $082bbd4855375d2b$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $082bbd4855375d2b$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $082bbd4855375d2b$export$28c660c63b792dea = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $082bbd4855375d2b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsxs)(\"div\", Object.assign({\n className: `tooltip bs-tooltip show position-absolute ${className}`,\n role: \"tooltip\"\n }, props, {\n children: [\n (0, $QdH60$jsx)(\"div\", {\n className: \"tooltip-arrow\"\n }),\n (0, $QdH60$jsx)(\"div\", {\n className: \"tooltip-inner\",\n children: children\n })\n ]\n }));\n};\nlet $082bbd4855375d2b$export$e4d8dc88bb9cc931 = (()=>{\n var _TooltipBox_show_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"tooltip-box\",\n mode: \"open\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _show_decorators;\n let _show_initializers = [];\n var TooltipBox = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"content\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($082bbd4855375d2b$var$__runInitializers(this, _instanceExtraInitializers), void 0)\n });\n _TooltipBox_show_accessor_storage.set(this, $082bbd4855375d2b$var$__runInitializers(this, _show_initializers, false));\n Object.defineProperty(this, \"handleToggle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>this.show = !this.show\n });\n }\n get show() {\n return $082bbd4855375d2b$var$__classPrivateFieldGet(this, _TooltipBox_show_accessor_storage, \"f\");\n }\n set show(value) {\n $082bbd4855375d2b$var$__classPrivateFieldSet(this, _TooltipBox_show_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.style.display = \"inline-block\";\n this.addEventListener(\"mouseenter\", this.handleToggle);\n this.addEventListener(\"mouseleave\", this.handleToggle);\n }\n disconnectedCallback() {\n this.removeEventListener(\"mouseenter\", this.handleToggle);\n this.removeEventListener(\"mouseleave\", this.handleToggle);\n }\n render() {\n const { content: content, show: show } = this;\n return (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n (0, $QdH60$jsx)(\"slot\", {}),\n show && (0, $QdH60$jsx)($082bbd4855375d2b$export$28c660c63b792dea, {\n children: content\n })\n ]\n });\n }\n };\n _TooltipBox_show_accessor_storage = new WeakMap();\n $082bbd4855375d2b$var$__setFunctionName(_classThis, \"TooltipBox\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _show_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n $082bbd4855375d2b$var$__esDecorate(_classThis, null, _show_decorators, {\n kind: \"accessor\",\n name: \"show\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"show\" in obj,\n get: (obj)=>obj.show,\n set: (obj, value)=>{\n obj.show = value;\n }\n },\n metadata: _metadata\n }, _show_initializers, _instanceExtraInitializers);\n $082bbd4855375d2b$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n TooltipBox = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $082bbd4855375d2b$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return TooltipBox = _classThis;\n})();\n\n\nvar $440350f38fb5346b$exports = {};\n\n$parcel$export($440350f38fb5346b$exports, \"Dropdown\", function () { return $440350f38fb5346b$export$931cbfb6bfb85fc; });\n$parcel$export($440350f38fb5346b$exports, \"DropdownToggle\", function () { return $440350f38fb5346b$export$8d5b7ffbb681f107; });\n$parcel$export($440350f38fb5346b$exports, \"DropdownMenu\", function () { return $440350f38fb5346b$export$e44a253a59704894; });\n$parcel$export($440350f38fb5346b$exports, \"DropdownItem\", function () { return $440350f38fb5346b$export$6648d5fa18559e7f; });\n$parcel$export($440350f38fb5346b$exports, \"DropdownButton\", function () { return $440350f38fb5346b$export$181f40ec41159e56; });\n\n\n\n\n\nvar $440350f38fb5346b$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $440350f38fb5346b$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $440350f38fb5346b$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $440350f38fb5346b$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $440350f38fb5346b$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $440350f38fb5346b$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $440350f38fb5346b$export$931cbfb6bfb85fc = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `dropdown ${className}`\n }, props, {\n children: children\n }));\n};\nconst $440350f38fb5346b$export$8d5b7ffbb681f107 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)((0, $7d7a0c28b15334fb$export$353f5b6fc5456de1), Object.assign({}, props, {\n className: `dropdown-toggle ${className}`,\n type: \"button\",\n children: children\n }));\n};\nconst $440350f38fb5346b$export$e44a253a59704894 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"nav\", Object.assign({\n className: `dropdown-menu ${className}`\n }, props, {\n children: children\n }));\n};\nconst $440350f38fb5346b$export$6648d5fa18559e7f = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $440350f38fb5346b$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"a\", Object.assign({\n className: `dropdown-item ${className}`\n }, props, {\n children: children\n }));\n};\nlet $440350f38fb5346b$export$181f40ec41159e56 = (()=>{\n var _DropdownButton_boxClass_accessor_storage, _DropdownButton_buttonClass_accessor_storage, _DropdownButton_variant_accessor_storage, _DropdownButton_size_accessor_storage, _DropdownButton_caption_accessor_storage, _DropdownButton_disabled_accessor_storage, _DropdownButton_show_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"dropdown-button\",\n mode: \"open\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _boxClass_decorators;\n let _boxClass_initializers = [];\n let _buttonClass_decorators;\n let _buttonClass_initializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _caption_decorators;\n let _caption_initializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _show_decorators;\n let _show_initializers = [];\n var DropdownButton = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _DropdownButton_boxClass_accessor_storage.set(this, ($440350f38fb5346b$var$__runInitializers(this, _instanceExtraInitializers), $440350f38fb5346b$var$__runInitializers(this, _boxClass_initializers, void 0)));\n _DropdownButton_buttonClass_accessor_storage.set(this, $440350f38fb5346b$var$__runInitializers(this, _buttonClass_initializers, void 0));\n _DropdownButton_variant_accessor_storage.set(this, $440350f38fb5346b$var$__runInitializers(this, _variant_initializers, void 0));\n _DropdownButton_size_accessor_storage.set(this, $440350f38fb5346b$var$__runInitializers(this, _size_initializers, void 0));\n _DropdownButton_caption_accessor_storage.set(this, $440350f38fb5346b$var$__runInitializers(this, _caption_initializers, void 0));\n _DropdownButton_disabled_accessor_storage.set(this, $440350f38fb5346b$var$__runInitializers(this, _disabled_initializers, false));\n _DropdownButton_show_accessor_storage.set(this, $440350f38fb5346b$var$__runInitializers(this, _show_initializers, false));\n }\n get boxClass() {\n return $440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_boxClass_accessor_storage, \"f\");\n }\n set boxClass(value) {\n $440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_boxClass_accessor_storage, value, \"f\");\n }\n get buttonClass() {\n return $440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_buttonClass_accessor_storage, \"f\");\n }\n set buttonClass(value) {\n $440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_buttonClass_accessor_storage, value, \"f\");\n }\n get variant() {\n return $440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_variant_accessor_storage, \"f\");\n }\n set variant(value) {\n $440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_variant_accessor_storage, value, \"f\");\n }\n get size() {\n return $440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_size_accessor_storage, \"f\");\n }\n set size(value) {\n $440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_size_accessor_storage, value, \"f\");\n }\n get caption() {\n return $440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_caption_accessor_storage, \"f\");\n }\n set caption(value) {\n $440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_caption_accessor_storage, value, \"f\");\n }\n get disabled() {\n return $440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_disabled_accessor_storage, \"f\");\n }\n set disabled(value) {\n $440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_disabled_accessor_storage, value, \"f\");\n }\n get show() {\n return $440350f38fb5346b$var$__classPrivateFieldGet(this, _DropdownButton_show_accessor_storage, \"f\");\n }\n set show(value) {\n $440350f38fb5346b$var$__classPrivateFieldSet(this, _DropdownButton_show_accessor_storage, value, \"f\");\n }\n renderContent() {\n const { boxClass: boxClass, buttonClass: buttonClass, variant: variant, size: size, caption: caption } = this, { disabled: disabled, show: show } = this;\n return (0, $QdH60$jsxs)($440350f38fb5346b$export$931cbfb6bfb85fc, {\n className: (0, $QdH60$classnames)(boxClass, {\n show: show\n }),\n children: [\n (0, $QdH60$jsx)($440350f38fb5346b$export$8d5b7ffbb681f107, {\n className: (0, $QdH60$classnames)(buttonClass, {\n show: show\n }),\n variant: variant,\n size: size,\n disabled: disabled,\n onClick: ()=>this.show = !show,\n children: caption\n }),\n (0, $QdH60$jsx)($440350f38fb5346b$export$e44a253a59704894, {\n className: (0, $QdH60$classnames)({\n show: show\n }),\n children: (0, $QdH60$jsx)(\"slot\", {})\n })\n ]\n });\n }\n render() {\n return (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n (0, $QdH60$jsx)(\"style\", {\n children: `:host {\n display: inline-block;\n }`\n }),\n this.renderContent()\n ]\n });\n }\n };\n _DropdownButton_boxClass_accessor_storage = new WeakMap();\n _DropdownButton_buttonClass_accessor_storage = new WeakMap();\n _DropdownButton_variant_accessor_storage = new WeakMap();\n _DropdownButton_size_accessor_storage = new WeakMap();\n _DropdownButton_caption_accessor_storage = new WeakMap();\n _DropdownButton_disabled_accessor_storage = new WeakMap();\n _DropdownButton_show_accessor_storage = new WeakMap();\n $440350f38fb5346b$var$__setFunctionName(_classThis, \"DropdownButton\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _boxClass_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _buttonClass_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _variant_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _size_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _caption_decorators = [\n (0, $QdH60$observable)\n ];\n _disabled_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _show_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n $440350f38fb5346b$var$__esDecorate(_classThis, null, _boxClass_decorators, {\n kind: \"accessor\",\n name: \"boxClass\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"boxClass\" in obj,\n get: (obj)=>obj.boxClass,\n set: (obj, value)=>{\n obj.boxClass = value;\n }\n },\n metadata: _metadata\n }, _boxClass_initializers, _instanceExtraInitializers);\n $440350f38fb5346b$var$__esDecorate(_classThis, null, _buttonClass_decorators, {\n kind: \"accessor\",\n name: \"buttonClass\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"buttonClass\" in obj,\n get: (obj)=>obj.buttonClass,\n set: (obj, value)=>{\n obj.buttonClass = value;\n }\n },\n metadata: _metadata\n }, _buttonClass_initializers, _instanceExtraInitializers);\n $440350f38fb5346b$var$__esDecorate(_classThis, null, _variant_decorators, {\n kind: \"accessor\",\n name: \"variant\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"variant\" in obj,\n get: (obj)=>obj.variant,\n set: (obj, value)=>{\n obj.variant = value;\n }\n },\n metadata: _metadata\n }, _variant_initializers, _instanceExtraInitializers);\n $440350f38fb5346b$var$__esDecorate(_classThis, null, _size_decorators, {\n kind: \"accessor\",\n name: \"size\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"size\" in obj,\n get: (obj)=>obj.size,\n set: (obj, value)=>{\n obj.size = value;\n }\n },\n metadata: _metadata\n }, _size_initializers, _instanceExtraInitializers);\n $440350f38fb5346b$var$__esDecorate(_classThis, null, _caption_decorators, {\n kind: \"accessor\",\n name: \"caption\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"caption\" in obj,\n get: (obj)=>obj.caption,\n set: (obj, value)=>{\n obj.caption = value;\n }\n },\n metadata: _metadata\n }, _caption_initializers, _instanceExtraInitializers);\n $440350f38fb5346b$var$__esDecorate(_classThis, null, _disabled_decorators, {\n kind: \"accessor\",\n name: \"disabled\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"disabled\" in obj,\n get: (obj)=>obj.disabled,\n set: (obj, value)=>{\n obj.disabled = value;\n }\n },\n metadata: _metadata\n }, _disabled_initializers, _instanceExtraInitializers);\n $440350f38fb5346b$var$__esDecorate(_classThis, null, _show_decorators, {\n kind: \"accessor\",\n name: \"show\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"show\" in obj,\n get: (obj)=>obj.show,\n set: (obj, value)=>{\n obj.show = value;\n }\n },\n metadata: _metadata\n }, _show_initializers, _instanceExtraInitializers);\n $440350f38fb5346b$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n DropdownButton = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $440350f38fb5346b$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return DropdownButton = _classThis;\n})();\n\n\nvar $cc1642db99a4f83c$exports = {};\n\n$parcel$export($cc1642db99a4f83c$exports, \"Collapse\", function () { return $cc1642db99a4f83c$export$78768a9af065a7b; });\n\n\nvar $cc1642db99a4f83c$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $cc1642db99a4f83c$export$78768a9af065a7b = (_a)=>{\n var { className: className, dimension: dimension = \"width\", in: show, children: children } = _a, props = $cc1642db99a4f83c$var$__rest(_a, [\n \"className\",\n \"dimension\",\n \"in\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: (0, $QdH60$classnames)(\"collapse\", {\n \"collapse-horizontal\": dimension === \"height\",\n show: show\n }, className)\n }, props, {\n children: children\n }));\n};\n\n\nvar $e565f84a9fc01dba$exports = {};\n\n$parcel$export($e565f84a9fc01dba$exports, \"AccordionItem\", function () { return $e565f84a9fc01dba$export$d99097c13d4dac9f; });\n$parcel$export($e565f84a9fc01dba$exports, \"AccordionHeader\", function () { return $e565f84a9fc01dba$export$5e3e5deaaf81ee41; });\n$parcel$export($e565f84a9fc01dba$exports, \"AccordionBody\", function () { return $e565f84a9fc01dba$export$4f68206c92b94e7b; });\n$parcel$export($e565f84a9fc01dba$exports, \"Accordion\", function () { return $e565f84a9fc01dba$export$a766cd26d0d69044; });\n\n\n\n\nvar $e565f84a9fc01dba$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $e565f84a9fc01dba$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $e565f84a9fc01dba$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $e565f84a9fc01dba$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $e565f84a9fc01dba$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $e565f84a9fc01dba$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $e565f84a9fc01dba$export$d99097c13d4dac9f = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $e565f84a9fc01dba$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `accordion-item ${className}`\n }, props, {\n children: children\n }));\n};\nconst $e565f84a9fc01dba$export$5e3e5deaaf81ee41 = (_a)=>{\n var { className: className = \"\", children: children, onClick: onClick } = _a, props = $e565f84a9fc01dba$var$__rest(_a, [\n \"className\",\n \"children\",\n \"onClick\"\n ]);\n return (0, $QdH60$jsx)(\"h2\", Object.assign({\n className: `accordion-header ${className}`\n }, props, {\n children: (0, $QdH60$jsx)(\"button\", {\n className: \"accordion-button\",\n type: \"button\",\n onClick: onClick,\n children: children\n })\n }));\n};\nconst $e565f84a9fc01dba$export$4f68206c92b94e7b = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $e565f84a9fc01dba$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)((0, $cc1642db99a4f83c$export$78768a9af065a7b), Object.assign({\n className: `accordion-collapse ${className}`\n }, props, {\n children: (0, $QdH60$jsx)(\"div\", {\n className: \"accordion-body\",\n children: children\n })\n }));\n};\nlet $e565f84a9fc01dba$export$a766cd26d0d69044 = (()=>{\n var _Accordion_flush_accessor_storage, _Accordion_alwaysOpen_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"accordion-box\",\n mode: \"open\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _flush_decorators;\n let _flush_initializers = [];\n let _alwaysOpen_decorators;\n let _alwaysOpen_initializers = [];\n let _handleFlush_decorators;\n let _handleClick_decorators;\n var Accordion = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _Accordion_flush_accessor_storage.set(this, ($e565f84a9fc01dba$var$__runInitializers(this, _instanceExtraInitializers), $e565f84a9fc01dba$var$__runInitializers(this, _flush_initializers, false)));\n _Accordion_alwaysOpen_accessor_storage.set(this, $e565f84a9fc01dba$var$__runInitializers(this, _alwaysOpen_initializers, false));\n }\n get flush() {\n return $e565f84a9fc01dba$var$__classPrivateFieldGet(this, _Accordion_flush_accessor_storage, \"f\");\n }\n set flush(value) {\n $e565f84a9fc01dba$var$__classPrivateFieldSet(this, _Accordion_flush_accessor_storage, value, \"f\");\n }\n get alwaysOpen() {\n return $e565f84a9fc01dba$var$__classPrivateFieldGet(this, _Accordion_alwaysOpen_accessor_storage, \"f\");\n }\n set alwaysOpen(value) {\n $e565f84a9fc01dba$var$__classPrivateFieldSet(this, _Accordion_alwaysOpen_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n this.classList.add(\"accordion\");\n }\n handleFlush(flush) {\n this.classList.toggle(\"accordion-flush\", flush);\n }\n handleClick(_, { nextElementSibling: currentCollapse }) {\n if (!this.alwaysOpen) {\n for (const collapse of this.querySelectorAll(\".accordion-collapse\"))if (collapse !== currentCollapse) {\n collapse.classList.remove(\"show\");\n collapse.previousElementSibling.querySelector(\"button\").ariaExpanded = \"false\";\n }\n }\n currentCollapse.classList.toggle(\"show\");\n currentCollapse.previousElementSibling.querySelector(\"button\").ariaExpanded = \"false\";\n }\n render() {\n return (0, $QdH60$jsx)(\"slot\", {});\n }\n };\n _Accordion_flush_accessor_storage = new WeakMap();\n _Accordion_alwaysOpen_accessor_storage = new WeakMap();\n $e565f84a9fc01dba$var$__setFunctionName(_classThis, \"Accordion\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _flush_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _alwaysOpen_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _handleFlush_decorators = [\n (0, $QdH60$reaction)(({ flush: flush })=>flush)\n ];\n _handleClick_decorators = [\n (0, $QdH60$on)(\"click\", \".accordion-header\")\n ];\n $e565f84a9fc01dba$var$__esDecorate(_classThis, null, _flush_decorators, {\n kind: \"accessor\",\n name: \"flush\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"flush\" in obj,\n get: (obj)=>obj.flush,\n set: (obj, value)=>{\n obj.flush = value;\n }\n },\n metadata: _metadata\n }, _flush_initializers, _instanceExtraInitializers);\n $e565f84a9fc01dba$var$__esDecorate(_classThis, null, _alwaysOpen_decorators, {\n kind: \"accessor\",\n name: \"alwaysOpen\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"alwaysOpen\" in obj,\n get: (obj)=>obj.alwaysOpen,\n set: (obj, value)=>{\n obj.alwaysOpen = value;\n }\n },\n metadata: _metadata\n }, _alwaysOpen_initializers, _instanceExtraInitializers);\n $e565f84a9fc01dba$var$__esDecorate(_classThis, null, _handleFlush_decorators, {\n kind: \"method\",\n name: \"handleFlush\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleFlush\" in obj,\n get: (obj)=>obj.handleFlush\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $e565f84a9fc01dba$var$__esDecorate(_classThis, null, _handleClick_decorators, {\n kind: \"method\",\n name: \"handleClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleClick\" in obj,\n get: (obj)=>obj.handleClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $e565f84a9fc01dba$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Accordion = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $e565f84a9fc01dba$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Accordion = _classThis;\n})();\n\n\nvar $429aa606bb648ce9$exports = {};\n\n$parcel$export($429aa606bb648ce9$exports, \"CarouselItem\", function () { return $429aa606bb648ce9$export$42c20acb2971398c; });\n$parcel$export($429aa606bb648ce9$exports, \"CarouselCaption\", function () { return $429aa606bb648ce9$export$a81c9b47f1cf1e63; });\n$parcel$export($429aa606bb648ce9$exports, \"Carousel\", function () { return $429aa606bb648ce9$export$144901db2ea8e967; });\n\n\n\nvar $429aa606bb648ce9$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $429aa606bb648ce9$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $429aa606bb648ce9$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $429aa606bb648ce9$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $429aa606bb648ce9$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $429aa606bb648ce9$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $429aa606bb648ce9$export$42c20acb2971398c = (_a)=>{\n var { className: className = \"\", interval: interval, children: children } = _a, props = $429aa606bb648ce9$var$__rest(_a, [\n \"className\",\n \"interval\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `carousel-item ${className}`\n }, props, {\n \"data-bs-interval\": interval,\n children: children\n }));\n};\nconst $429aa606bb648ce9$export$a81c9b47f1cf1e63 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $429aa606bb648ce9$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `carousel-caption ${className}`\n }, props, {\n children: children\n }));\n};\nlet $429aa606bb648ce9$export$144901db2ea8e967 = (()=>{\n var _Carousel_interval_accessor_storage, _Carousel_itemMeta_accessor_storage, _Carousel_currentIndex_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"carousel-box\",\n mode: \"open\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _interval_decorators;\n let _interval_initializers = [];\n let _itemMeta_decorators;\n let _itemMeta_initializers = [];\n let _currentIndex_decorators;\n let _currentIndex_initializers = [];\n let _handleButtonClick_decorators;\n let _handleButtonPress_decorators;\n let _handleIndicatorsButtonClick_decorators;\n let _handleIndicatorsButtonPress_decorators;\n let _handleActiveItem_decorators;\n var Carousel = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _Carousel_interval_accessor_storage.set(this, ($429aa606bb648ce9$var$__runInitializers(this, _instanceExtraInitializers), $429aa606bb648ce9$var$__runInitializers(this, _interval_initializers, void 0)));\n _Carousel_itemMeta_accessor_storage.set(this, $429aa606bb648ce9$var$__runInitializers(this, _itemMeta_initializers, []));\n _Carousel_currentIndex_accessor_storage.set(this, $429aa606bb648ce9$var$__runInitializers(this, _currentIndex_initializers, 0));\n Object.defineProperty(this, \"timer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n get interval() {\n return $429aa606bb648ce9$var$__classPrivateFieldGet(this, _Carousel_interval_accessor_storage, \"f\");\n }\n set interval(value) {\n $429aa606bb648ce9$var$__classPrivateFieldSet(this, _Carousel_interval_accessor_storage, value, \"f\");\n }\n get itemMeta() {\n return $429aa606bb648ce9$var$__classPrivateFieldGet(this, _Carousel_itemMeta_accessor_storage, \"f\");\n }\n set itemMeta(value) {\n $429aa606bb648ce9$var$__classPrivateFieldSet(this, _Carousel_itemMeta_accessor_storage, value, \"f\");\n }\n get currentIndex() {\n return $429aa606bb648ce9$var$__classPrivateFieldGet(this, _Carousel_currentIndex_accessor_storage, \"f\");\n }\n set currentIndex(value) {\n $429aa606bb648ce9$var$__classPrivateFieldSet(this, _Carousel_currentIndex_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n if (this.interval) this.timer || (this.timer = window.setInterval(()=>this.turnByOffset(1), this.interval));\n else this.handleActiveItem(this.currentIndex);\n }\n disconnectedCallback() {\n clearInterval(this.timer);\n }\n mountedCallback() {\n const items = [\n ...this.querySelectorAll(\".carousel-item\")\n ];\n if (this.itemMeta.length !== items.length) this.itemMeta = items.map((item)=>{\n var _a;\n return {\n caption: (((_a = item.querySelector(\".carousel-caption\")) === null || _a === void 0 ? void 0 : _a.textContent) || item.textContent).trim()\n };\n });\n }\n turnByOffset(delta) {\n this.currentIndex = (this.currentIndex + delta) % this.itemMeta.length;\n }\n handleButtonClick(_, { dataset: dataset }) {\n this.turnByOffset(dataset.bsSlide === \"next\" ? 1 : -1);\n }\n handleButtonPress({ key: key }, { dataset: dataset }) {\n if (key === \"Enter\") this.turnByOffset(dataset.bsSlide === \"next\" ? 1 : -1);\n }\n handleIndicatorsButtonClick(_, { dataset: dataset }) {\n this.currentIndex = +dataset.bsSlideTo;\n }\n handleIndicatorsButtonPress({ key: key }, { dataset: dataset }) {\n if (key === \"Enter\") this.currentIndex = +dataset.bsSlideTo;\n }\n handleActiveItem(currentIndex) {\n var _a;\n (_a = this.querySelector(\".carousel-item.active\")) === null || _a === void 0 || _a.classList.remove(\"active\");\n this.children[currentIndex].classList.add(\"active\");\n }\n renderContent() {\n const { itemMeta: itemMeta, currentIndex: currentIndex } = this;\n return (0, $QdH60$jsxs)(\"div\", {\n className: \"carousel\",\n children: [\n (0, $QdH60$jsx)(\"div\", {\n className: \"carousel-indicators\",\n children: itemMeta.map(({ caption: caption }, index)=>(0, $QdH60$jsx)(\"button\", {\n type: \"button\",\n ariaLabel: caption,\n \"data-bs-slide-to\": index,\n className: currentIndex === index ? \"active\" : \"\",\n ariaCurrent: currentIndex === index ? \"true\" : \"\"\n }))\n }),\n (0, $QdH60$jsx)(\"div\", {\n className: \"carousel-inner\",\n children: (0, $QdH60$jsx)(\"slot\", {})\n }),\n (0, $QdH60$jsxs)(\"button\", {\n type: \"button\",\n className: \"carousel-control-prev\",\n \"data-bs-slide\": \"prev\",\n children: [\n (0, $QdH60$jsx)(\"span\", {\n className: \"carousel-control-prev-icon\",\n ariaHidden: \"true\"\n }),\n (0, $QdH60$jsx)(\"span\", {\n className: \"visually-hidden\",\n children: \"-1\"\n })\n ]\n }),\n (0, $QdH60$jsxs)(\"button\", {\n type: \"button\",\n className: \"carousel-control-next\",\n \"data-bs-slide\": \"next\",\n children: [\n (0, $QdH60$jsx)(\"span\", {\n className: \"carousel-control-next-icon\",\n ariaHidden: \"true\"\n }),\n (0, $QdH60$jsx)(\"span\", {\n className: \"visually-hidden\",\n children: \"+1\"\n })\n ]\n })\n ]\n });\n }\n render() {\n return (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n this.renderContent()\n ]\n });\n }\n };\n _Carousel_interval_accessor_storage = new WeakMap();\n _Carousel_itemMeta_accessor_storage = new WeakMap();\n _Carousel_currentIndex_accessor_storage = new WeakMap();\n $429aa606bb648ce9$var$__setFunctionName(_classThis, \"Carousel\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _interval_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _itemMeta_decorators = [\n (0, $QdH60$observable)\n ];\n _currentIndex_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _handleButtonClick_decorators = [\n (0, $QdH60$on)(\"click\", \".carousel > button\")\n ];\n _handleButtonPress_decorators = [\n (0, $QdH60$on)(\"keyup\", \".carousel > button\")\n ];\n _handleIndicatorsButtonClick_decorators = [\n (0, $QdH60$on)(\"click\", \".carousel-indicators button\")\n ];\n _handleIndicatorsButtonPress_decorators = [\n (0, $QdH60$on)(\"keyup\", \".carousel-indicators button\")\n ];\n _handleActiveItem_decorators = [\n (0, $QdH60$reaction)(({ currentIndex: currentIndex })=>currentIndex)\n ];\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _interval_decorators, {\n kind: \"accessor\",\n name: \"interval\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"interval\" in obj,\n get: (obj)=>obj.interval,\n set: (obj, value)=>{\n obj.interval = value;\n }\n },\n metadata: _metadata\n }, _interval_initializers, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _itemMeta_decorators, {\n kind: \"accessor\",\n name: \"itemMeta\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"itemMeta\" in obj,\n get: (obj)=>obj.itemMeta,\n set: (obj, value)=>{\n obj.itemMeta = value;\n }\n },\n metadata: _metadata\n }, _itemMeta_initializers, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _currentIndex_decorators, {\n kind: \"accessor\",\n name: \"currentIndex\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentIndex\" in obj,\n get: (obj)=>obj.currentIndex,\n set: (obj, value)=>{\n obj.currentIndex = value;\n }\n },\n metadata: _metadata\n }, _currentIndex_initializers, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleButtonClick_decorators, {\n kind: \"method\",\n name: \"handleButtonClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleButtonClick\" in obj,\n get: (obj)=>obj.handleButtonClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleButtonPress_decorators, {\n kind: \"method\",\n name: \"handleButtonPress\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleButtonPress\" in obj,\n get: (obj)=>obj.handleButtonPress\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleIndicatorsButtonClick_decorators, {\n kind: \"method\",\n name: \"handleIndicatorsButtonClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleIndicatorsButtonClick\" in obj,\n get: (obj)=>obj.handleIndicatorsButtonClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleIndicatorsButtonPress_decorators, {\n kind: \"method\",\n name: \"handleIndicatorsButtonPress\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleIndicatorsButtonPress\" in obj,\n get: (obj)=>obj.handleIndicatorsButtonPress\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(_classThis, null, _handleActiveItem_decorators, {\n kind: \"method\",\n name: \"handleActiveItem\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleActiveItem\" in obj,\n get: (obj)=>obj.handleActiveItem\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $429aa606bb648ce9$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Carousel = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $429aa606bb648ce9$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Carousel = _classThis;\n})();\n\n\nvar $9d227ef33aa3b137$exports = {};\n\n$parcel$export($9d227ef33aa3b137$exports, \"NavLink\", function () { return $9d227ef33aa3b137$export$b0d92dbee9b5b60d; });\n$parcel$export($9d227ef33aa3b137$exports, \"NavDropdown\", function () { return $9d227ef33aa3b137$export$461cb598b7fcff7b; });\n$parcel$export($9d227ef33aa3b137$exports, \"Nav\", function () { return $9d227ef33aa3b137$export$39140c7d8b0ba7b3; });\n\n\n\nvar $9d227ef33aa3b137$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $9d227ef33aa3b137$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $9d227ef33aa3b137$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $9d227ef33aa3b137$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $9d227ef33aa3b137$export$b0d92dbee9b5b60d = (_a)=>{\n var { className: className = \"\", active: active, children: children } = _a, props = $9d227ef33aa3b137$var$__rest(_a, [\n \"className\",\n \"active\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"a\", Object.assign({\n className: `nav-link ${active ? \"active\" : \"\"} ${className}`\n }, props, {\n children: children\n }));\n};\nconst $9d227ef33aa3b137$export$461cb598b7fcff7b = (_a)=>{\n var { title: title, children: children } = _a, props = $9d227ef33aa3b137$var$__rest(_a, [\n \"title\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)((0, $440350f38fb5346b$export$181f40ec41159e56), Object.assign({\n boxClass: \"nav-item\",\n buttonClass: \"nav-link\",\n caption: title\n }, props, {\n children: children\n }));\n};\nlet $9d227ef33aa3b137$export$39140c7d8b0ba7b3 = (()=>{\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"bs-nav\",\n mode: \"open\"\n })\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n var Nav = _classThis = class extends _classSuper {\n connectedCallback() {\n var _a;\n const navBar = this.closest(\"offcanvas-navbar, .navbar\");\n if (!navBar) return this.classList.add(\"nav\");\n const expand = navBar.expand || ((_a = navBar.className.match(/navbar-expand(-(\\S+))?/)) === null || _a === void 0 ? void 0 : _a[2]);\n this.classList.add(\"navbar-nav\", \"align-items-center\", expand && \"flex-column\", expand && `flex-${expand}-row`);\n }\n render() {\n return (0, $QdH60$jsx)(\"slot\", {});\n }\n };\n $9d227ef33aa3b137$var$__setFunctionName(_classThis, \"Nav\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n $9d227ef33aa3b137$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Nav = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $9d227ef33aa3b137$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Nav = _classThis;\n})();\n\n\nvar $210b900be6078c4d$exports = {};\n\n$parcel$export($210b900be6078c4d$exports, \"NavbarBrand\", function () { return $210b900be6078c4d$export$2df9f3e5f6d355f6; });\n$parcel$export($210b900be6078c4d$exports, \"NavbarToggle\", function () { return $210b900be6078c4d$export$e018030c18c7f90a; });\n$parcel$export($210b900be6078c4d$exports, \"Navbar\", function () { return $210b900be6078c4d$export$42cfbb80f7861e77; });\n$parcel$export($210b900be6078c4d$exports, \"OffcanvasNavbar\", function () { return $210b900be6078c4d$export$d31319d8cbfdaf50; });\n\n\n\n\n\nvar $9e952469adea05cf$exports = {};\n\n$parcel$export($9e952469adea05cf$exports, \"OffcanvasTitle\", function () { return $9e952469adea05cf$export$1b33297d19c3da30; });\n$parcel$export($9e952469adea05cf$exports, \"OffcanvasHeader\", function () { return $9e952469adea05cf$export$b6c1518fb8dc5e75; });\n$parcel$export($9e952469adea05cf$exports, \"OffcanvasBody\", function () { return $9e952469adea05cf$export$c324d20ecc5b7dee; });\n$parcel$export($9e952469adea05cf$exports, \"Offcanvas\", function () { return $9e952469adea05cf$export$591ca0244c9dfcd4; });\n$parcel$export($9e952469adea05cf$exports, \"OffcanvasBox\", function () { return $9e952469adea05cf$export$1de07a2f4bdee270; });\n\n\n\n\nvar $9e952469adea05cf$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $9e952469adea05cf$export$1b33297d19c3da30 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"h5\", Object.assign({\n className: `offcanvas-title ${className}`\n }, props, {\n children: children\n }));\n};\nconst $9e952469adea05cf$export$b6c1518fb8dc5e75 = (_a)=>{\n var { className: className = \"\", closeButton: closeButton, children: children, onHide: onHide } = _a, props = $9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"closeButton\",\n \"children\",\n \"onHide\"\n ]);\n return (0, $QdH60$jsxs)(\"div\", Object.assign({\n className: `offcanvas-header ${className}`\n }, props, {\n children: [\n children,\n closeButton && (0, $QdH60$jsx)((0, $7d7a0c28b15334fb$export$de65de8213222d10), {\n onClick: onHide\n })\n ]\n }));\n};\nconst $9e952469adea05cf$export$c324d20ecc5b7dee = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"div\", Object.assign({\n className: `offcanvas-body ${className}`\n }, props, {\n children: children\n }));\n};\nconst $9e952469adea05cf$export$591ca0244c9dfcd4 = (_a)=>{\n var { className: className = \"\", style: style, backdrop: backdrop = true, show: show, onHide: onHide, children: children } = _a, props = $9e952469adea05cf$var$__rest(_a, [\n \"className\",\n \"style\",\n \"backdrop\",\n \"show\",\n \"onHide\",\n \"children\"\n ]);\n return (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"div\", Object.assign({\n className: (0, $QdH60$classnames)(\"offcanvas\", show ? \"offcanvas-end show\" : \"offcanvas-start\", className),\n style: Object.assign({\n maxWidth: \"75vw\"\n }, style),\n tabIndex: -1\n }, backdrop === \"static\" ? {\n \"data-bs-backdrop\": \"static\"\n } : {}, props, {\n children: children\n })),\n show && (0, $QdH60$jsx)(\"div\", {\n className: \"offcanvas-backdrop show\",\n onClick: onHide\n })\n ]\n });\n};\nconst $9e952469adea05cf$export$1de07a2f4bdee270 = (_a)=>{\n var { title: title, titleId: titleId = (0, $QdH60$uniqueID)(), closeButton: closeButton, onHide: onHide, children: children } = _a, props = $9e952469adea05cf$var$__rest(_a, [\n \"title\",\n \"titleId\",\n \"closeButton\",\n \"onHide\",\n \"children\"\n ]);\n return (0, $QdH60$jsxs)($9e952469adea05cf$export$591ca0244c9dfcd4, Object.assign({}, props, {\n onHide: onHide,\n \"aria-labelledby\": titleId,\n children: [\n (0, $QdH60$jsx)($9e952469adea05cf$export$b6c1518fb8dc5e75, {\n closeButton: closeButton,\n onHide: onHide,\n children: (0, $QdH60$jsx)($9e952469adea05cf$export$1b33297d19c3da30, {\n id: titleId,\n children: title\n })\n }),\n (0, $QdH60$jsx)($9e952469adea05cf$export$c324d20ecc5b7dee, {\n children: children\n })\n ]\n }));\n};\n\n\nvar $210b900be6078c4d$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $210b900be6078c4d$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $210b900be6078c4d$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $210b900be6078c4d$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $210b900be6078c4d$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $210b900be6078c4d$var$__rest = undefined && undefined.__rest || function(s, e) {\n var t = {};\n for(var p in s)if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") {\n for(var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nconst $210b900be6078c4d$export$2df9f3e5f6d355f6 = (_a)=>{\n var { className: className = \"\", children: children } = _a, props = $210b900be6078c4d$var$__rest(_a, [\n \"className\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"a\", Object.assign({\n className: `navbar-brand ${className}`\n }, props, {\n children: children\n }));\n};\nconst $210b900be6078c4d$export$e018030c18c7f90a = (_a)=>{\n var { className: className = \"\", type: type, children: children } = _a, props = $210b900be6078c4d$var$__rest(_a, [\n \"className\",\n \"type\",\n \"children\"\n ]);\n return (0, $QdH60$jsx)(\"button\", Object.assign({\n className: `navbar-toggler ${className}`,\n type: \"button\"\n }, props, {\n children: (0, $QdH60$jsx)(\"span\", {\n className: \"navbar-toggler-icon\"\n })\n }));\n};\nconst $210b900be6078c4d$export$42cfbb80f7861e77 = ({ variant: variant = \"light\", bg: bg = \"body-tertiary\", fixed: fixed, sticky: sticky, expand: expand, children: children })=>(0, $QdH60$jsx)(\"nav\", {\n className: `navbar bg-${bg} ${fixed ? `fixed-${fixed}` : \"\"} ${sticky ? `sticky-${sticky}` : \"\"} ${expand ? `navbar-expand${expand === true ? \"\" : `-${expand}`}` : \"\"}`,\n \"data-bs-theme\": variant,\n children: children\n });\nlet $210b900be6078c4d$export$d31319d8cbfdaf50 = (()=>{\n var _OffcanvasNavbar_variant_accessor_storage, _OffcanvasNavbar_bg_accessor_storage, _OffcanvasNavbar_expand_accessor_storage, _OffcanvasNavbar_fixed_accessor_storage, _OffcanvasNavbar_sticky_accessor_storage, _OffcanvasNavbar_fluid_accessor_storage, _OffcanvasNavbar_title_accessor_storage, _OffcanvasNavbar_brand_accessor_storage, _OffcanvasNavbar_open_accessor_storage, _OffcanvasNavbar_closeButton_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"offcanvas-navbar\",\n mode: \"open\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _bg_decorators;\n let _bg_initializers = [];\n let _expand_decorators;\n let _expand_initializers = [];\n let _fixed_decorators;\n let _fixed_initializers = [];\n let _sticky_decorators;\n let _sticky_initializers = [];\n let _fluid_decorators;\n let _fluid_initializers = [];\n let _title_decorators;\n let _title_initializers = [];\n let _brand_decorators;\n let _brand_initializers = [];\n let _open_decorators;\n let _open_initializers = [];\n let _closeButton_decorators;\n let _closeButton_initializers = [];\n var OffcanvasNavbar = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _OffcanvasNavbar_variant_accessor_storage.set(this, ($210b900be6078c4d$var$__runInitializers(this, _instanceExtraInitializers), $210b900be6078c4d$var$__runInitializers(this, _variant_initializers, void 0)));\n _OffcanvasNavbar_bg_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _bg_initializers, void 0));\n _OffcanvasNavbar_expand_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _expand_initializers, void 0));\n _OffcanvasNavbar_fixed_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _fixed_initializers, void 0));\n _OffcanvasNavbar_sticky_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _sticky_initializers, void 0));\n _OffcanvasNavbar_fluid_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _fluid_initializers, void 0));\n _OffcanvasNavbar_title_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _title_initializers, void 0));\n Object.defineProperty(this, \"titleId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0, $QdH60$uniqueID)()\n });\n _OffcanvasNavbar_brand_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _brand_initializers, void 0));\n Object.defineProperty(this, \"offcanvasId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0, $QdH60$uniqueID)()\n });\n _OffcanvasNavbar_open_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _open_initializers, false));\n _OffcanvasNavbar_closeButton_accessor_storage.set(this, $210b900be6078c4d$var$__runInitializers(this, _closeButton_initializers, true));\n Object.defineProperty(this, \"close\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (event)=>{\n if (event instanceof KeyboardEvent && ![\n \"Escape\",\n \"Enter\"\n ].includes(event.key)) return;\n this.open = false;\n }\n });\n Object.defineProperty(this, \"handleLink\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0, $QdH60$delegate)(\"a[href].nav-link\", this.close)\n });\n }\n get variant() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_variant_accessor_storage, \"f\");\n }\n set variant(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_variant_accessor_storage, value, \"f\");\n }\n get bg() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_bg_accessor_storage, \"f\");\n }\n set bg(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_bg_accessor_storage, value, \"f\");\n }\n get expand() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_expand_accessor_storage, \"f\");\n }\n set expand(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_expand_accessor_storage, value, \"f\");\n }\n get fixed() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_fixed_accessor_storage, \"f\");\n }\n set fixed(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_fixed_accessor_storage, value, \"f\");\n }\n get sticky() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_sticky_accessor_storage, \"f\");\n }\n set sticky(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_sticky_accessor_storage, value, \"f\");\n }\n get fluid() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_fluid_accessor_storage, \"f\");\n }\n set fluid(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_fluid_accessor_storage, value, \"f\");\n }\n get title() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_title_accessor_storage, \"f\");\n }\n set title(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_title_accessor_storage, value, \"f\");\n }\n get brand() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_brand_accessor_storage, \"f\");\n }\n set brand(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_brand_accessor_storage, value, \"f\");\n }\n get open() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_open_accessor_storage, \"f\");\n }\n set open(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_open_accessor_storage, value, \"f\");\n }\n get closeButton() {\n return $210b900be6078c4d$var$__classPrivateFieldGet(this, _OffcanvasNavbar_closeButton_accessor_storage, \"f\");\n }\n set closeButton(value) {\n $210b900be6078c4d$var$__classPrivateFieldSet(this, _OffcanvasNavbar_closeButton_accessor_storage, value, \"f\");\n }\n connectedCallback() {\n var _a;\n (_a = globalThis.addEventListener) === null || _a === void 0 || _a.call(globalThis, \"keyup\", this.close, true);\n this.addEventListener(\"click\", this.handleLink);\n }\n disconnectedCallback() {\n var _a;\n (_a = globalThis.removeEventListener) === null || _a === void 0 || _a.call(globalThis, \"keyup\", this.close, true);\n this.addEventListener(\"click\", this.handleLink);\n }\n renderContent() {\n const { variant: variant, bg: bg, expand: expand, fixed: fixed, sticky: sticky, fluid: fluid, brand: brand } = this, { title: title, titleId: titleId, offcanvasId: offcanvasId, open: open, closeButton: closeButton } = this;\n return (0, $QdH60$jsx)($210b900be6078c4d$export$42cfbb80f7861e77, {\n variant: variant,\n bg: bg,\n expand: expand,\n fixed: fixed,\n sticky: sticky,\n children: (0, $QdH60$jsxs)((0, $ec748a1bf5317e2c$export$42a852a2b6b56249), {\n fluid: fluid,\n children: [\n brand || title,\n (0, $QdH60$jsx)($210b900be6078c4d$export$e018030c18c7f90a, {\n \"aria-controls\": offcanvasId,\n ariaLabel: \"Toggle navigation\",\n onClick: ()=>this.open = true\n }),\n (0, $QdH60$jsxs)((0, $9e952469adea05cf$export$591ca0244c9dfcd4), {\n id: offcanvasId,\n \"aria-labelledby\": titleId,\n show: open,\n onHide: this.close,\n children: [\n (0, $QdH60$jsx)((0, $9e952469adea05cf$export$b6c1518fb8dc5e75), {\n closeButton: closeButton,\n onHide: ()=>this.open = false,\n children: (0, $QdH60$jsx)((0, $9e952469adea05cf$export$1b33297d19c3da30), {\n id: titleId,\n children: brand || title\n })\n }),\n (0, $QdH60$jsx)((0, $9e952469adea05cf$export$c324d20ecc5b7dee), {\n children: (0, $QdH60$jsx)(\"slot\", {})\n })\n ]\n })\n ]\n })\n });\n }\n render() {\n return (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n this.renderContent()\n ]\n });\n }\n };\n _OffcanvasNavbar_variant_accessor_storage = new WeakMap();\n _OffcanvasNavbar_bg_accessor_storage = new WeakMap();\n _OffcanvasNavbar_expand_accessor_storage = new WeakMap();\n _OffcanvasNavbar_fixed_accessor_storage = new WeakMap();\n _OffcanvasNavbar_sticky_accessor_storage = new WeakMap();\n _OffcanvasNavbar_fluid_accessor_storage = new WeakMap();\n _OffcanvasNavbar_title_accessor_storage = new WeakMap();\n _OffcanvasNavbar_brand_accessor_storage = new WeakMap();\n _OffcanvasNavbar_open_accessor_storage = new WeakMap();\n _OffcanvasNavbar_closeButton_accessor_storage = new WeakMap();\n $210b900be6078c4d$var$__setFunctionName(_classThis, \"OffcanvasNavbar\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _variant_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _bg_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _expand_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _fixed_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _sticky_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _fluid_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _title_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _brand_decorators = [\n (0, $QdH60$observable)\n ];\n _open_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _closeButton_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _variant_decorators, {\n kind: \"accessor\",\n name: \"variant\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"variant\" in obj,\n get: (obj)=>obj.variant,\n set: (obj, value)=>{\n obj.variant = value;\n }\n },\n metadata: _metadata\n }, _variant_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _bg_decorators, {\n kind: \"accessor\",\n name: \"bg\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"bg\" in obj,\n get: (obj)=>obj.bg,\n set: (obj, value)=>{\n obj.bg = value;\n }\n },\n metadata: _metadata\n }, _bg_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _expand_decorators, {\n kind: \"accessor\",\n name: \"expand\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"expand\" in obj,\n get: (obj)=>obj.expand,\n set: (obj, value)=>{\n obj.expand = value;\n }\n },\n metadata: _metadata\n }, _expand_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _fixed_decorators, {\n kind: \"accessor\",\n name: \"fixed\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"fixed\" in obj,\n get: (obj)=>obj.fixed,\n set: (obj, value)=>{\n obj.fixed = value;\n }\n },\n metadata: _metadata\n }, _fixed_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _sticky_decorators, {\n kind: \"accessor\",\n name: \"sticky\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"sticky\" in obj,\n get: (obj)=>obj.sticky,\n set: (obj, value)=>{\n obj.sticky = value;\n }\n },\n metadata: _metadata\n }, _sticky_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _fluid_decorators, {\n kind: \"accessor\",\n name: \"fluid\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"fluid\" in obj,\n get: (obj)=>obj.fluid,\n set: (obj, value)=>{\n obj.fluid = value;\n }\n },\n metadata: _metadata\n }, _fluid_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _title_decorators, {\n kind: \"accessor\",\n name: \"title\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"title\" in obj,\n get: (obj)=>obj.title,\n set: (obj, value)=>{\n obj.title = value;\n }\n },\n metadata: _metadata\n }, _title_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _brand_decorators, {\n kind: \"accessor\",\n name: \"brand\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"brand\" in obj,\n get: (obj)=>obj.brand,\n set: (obj, value)=>{\n obj.brand = value;\n }\n },\n metadata: _metadata\n }, _brand_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _open_decorators, {\n kind: \"accessor\",\n name: \"open\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"open\" in obj,\n get: (obj)=>obj.open,\n set: (obj, value)=>{\n obj.open = value;\n }\n },\n metadata: _metadata\n }, _open_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(_classThis, null, _closeButton_decorators, {\n kind: \"accessor\",\n name: \"closeButton\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"closeButton\" in obj,\n get: (obj)=>obj.closeButton,\n set: (obj, value)=>{\n obj.closeButton = value;\n }\n },\n metadata: _metadata\n }, _closeButton_initializers, _instanceExtraInitializers);\n $210b900be6078c4d$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n OffcanvasNavbar = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $210b900be6078c4d$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return OffcanvasNavbar = _classThis;\n})();\n\n\n\nvar $91ec7fc997378afa$exports = {};\n\n$parcel$export($91ec7fc997378afa$exports, \"Tab\", function () { return $91ec7fc997378afa$export$3e41faf802a29e71; });\n$parcel$export($91ec7fc997378afa$exports, \"Tabs\", function () { return $91ec7fc997378afa$export$b2539bed5023c21c; });\n\n\n\n\nvar $91ec7fc997378afa$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $91ec7fc997378afa$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $91ec7fc997378afa$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $91ec7fc997378afa$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $91ec7fc997378afa$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $91ec7fc997378afa$export$3e41faf802a29e71 = (()=>{\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"tab-pane\"\n })\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n var Tab = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n connectedCallback() {\n this.classList.add(\"tab-pane\");\n this.role = \"tabpanel\";\n }\n };\n $91ec7fc997378afa$var$__setFunctionName(_classThis, \"Tab\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n $91ec7fc997378afa$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Tab = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $91ec7fc997378afa$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Tab = _classThis;\n})();\nlet $91ec7fc997378afa$export$b2539bed5023c21c = (()=>{\n var _Tabs_tabMeta_accessor_storage, _Tabs_currentIndex_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"tabs-box\",\n mode: \"open\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _tabMeta_decorators;\n let _tabMeta_initializers = [];\n let _currentIndex_decorators;\n let _currentIndex_initializers = [];\n let _handleTabClick_decorators;\n let _turnPaneTo_decorators;\n var Tabs = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _Tabs_tabMeta_accessor_storage.set(this, ($91ec7fc997378afa$var$__runInitializers(this, _instanceExtraInitializers), $91ec7fc997378afa$var$__runInitializers(this, _tabMeta_initializers, [])));\n _Tabs_currentIndex_accessor_storage.set(this, $91ec7fc997378afa$var$__runInitializers(this, _currentIndex_initializers, 0));\n }\n get tabMeta() {\n return $91ec7fc997378afa$var$__classPrivateFieldGet(this, _Tabs_tabMeta_accessor_storage, \"f\");\n }\n set tabMeta(value) {\n $91ec7fc997378afa$var$__classPrivateFieldSet(this, _Tabs_tabMeta_accessor_storage, value, \"f\");\n }\n get currentIndex() {\n return $91ec7fc997378afa$var$__classPrivateFieldGet(this, _Tabs_currentIndex_accessor_storage, \"f\");\n }\n set currentIndex(value) {\n $91ec7fc997378afa$var$__classPrivateFieldSet(this, _Tabs_currentIndex_accessor_storage, value, \"f\");\n }\n mountedCallback() {\n const tabs = [\n ...this.querySelectorAll(\"tab-pane\")\n ];\n this.tabMeta = tabs.map((tab)=>{\n tab.hidden = true;\n return {\n caption: tab.caption\n };\n });\n this.turnPaneTo(this.currentIndex);\n }\n handleTabClick(event, { dataset: { index: index } }) {\n event.preventDefault();\n event.stopPropagation();\n this.currentIndex = +index;\n }\n turnPaneTo(index) {\n const previous = this.querySelector(\"tab-pane.active\");\n if (previous) {\n previous.hidden = true;\n previous.classList.remove(\"active\", \"show\");\n }\n const next = this.children[index];\n next.hidden = false;\n next.classList.add(\"active\", \"show\");\n }\n renderContent() {\n const { tabMeta: tabMeta, currentIndex: currentIndex } = this;\n return (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)((0, $9d227ef33aa3b137$export$39140c7d8b0ba7b3), {\n className: \"nav-tabs\",\n role: \"tablist\",\n children: tabMeta.map(({ caption: caption }, index)=>(0, $QdH60$jsx)((0, $9d227ef33aa3b137$export$b0d92dbee9b5b60d), {\n role: \"tab\",\n \"data-index\": index,\n className: currentIndex === index ? \"active\" : \"\",\n ariaSelected: `${currentIndex === index}`,\n children: caption\n }))\n }),\n (0, $QdH60$jsx)(\"div\", {\n className: \"tab-content\",\n children: (0, $QdH60$jsx)(\"slot\", {})\n })\n ]\n });\n }\n render() {\n return (0, $QdH60$jsxs)((0, $QdH60$Fragment), {\n children: [\n (0, $QdH60$jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"https://unpkg.com/bootstrap@5.3.2/dist/css/bootstrap.min.css\"\n }),\n this.renderContent()\n ]\n });\n }\n };\n _Tabs_tabMeta_accessor_storage = new WeakMap();\n _Tabs_currentIndex_accessor_storage = new WeakMap();\n $91ec7fc997378afa$var$__setFunctionName(_classThis, \"Tabs\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _tabMeta_decorators = [\n (0, $QdH60$observable)\n ];\n _currentIndex_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _handleTabClick_decorators = [\n (0, $QdH60$on)(\"click\", \".nav-tabs > .nav-link\")\n ];\n _turnPaneTo_decorators = [\n (0, $QdH60$reaction)(({ currentIndex: currentIndex })=>currentIndex)\n ];\n $91ec7fc997378afa$var$__esDecorate(_classThis, null, _tabMeta_decorators, {\n kind: \"accessor\",\n name: \"tabMeta\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"tabMeta\" in obj,\n get: (obj)=>obj.tabMeta,\n set: (obj, value)=>{\n obj.tabMeta = value;\n }\n },\n metadata: _metadata\n }, _tabMeta_initializers, _instanceExtraInitializers);\n $91ec7fc997378afa$var$__esDecorate(_classThis, null, _currentIndex_decorators, {\n kind: \"accessor\",\n name: \"currentIndex\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentIndex\" in obj,\n get: (obj)=>obj.currentIndex,\n set: (obj, value)=>{\n obj.currentIndex = value;\n }\n },\n metadata: _metadata\n }, _currentIndex_initializers, _instanceExtraInitializers);\n $91ec7fc997378afa$var$__esDecorate(_classThis, null, _handleTabClick_decorators, {\n kind: \"method\",\n name: \"handleTabClick\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"handleTabClick\" in obj,\n get: (obj)=>obj.handleTabClick\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $91ec7fc997378afa$var$__esDecorate(_classThis, null, _turnPaneTo_decorators, {\n kind: \"method\",\n name: \"turnPaneTo\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"turnPaneTo\" in obj,\n get: (obj)=>obj.turnPaneTo\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $91ec7fc997378afa$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n Tabs = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $91ec7fc997378afa$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return Tabs = _classThis;\n})();\n\n\nvar $1bbec1dcb4a4586e$exports = {};\n\n$parcel$export($1bbec1dcb4a4586e$exports, \"CountDown\", function () { return $1bbec1dcb4a4586e$export$ddd3857461e99bb8; });\n\n\n\n\nvar $1bbec1dcb4a4586e$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $1bbec1dcb4a4586e$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $1bbec1dcb4a4586e$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $1bbec1dcb4a4586e$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $1bbec1dcb4a4586e$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nconst $1bbec1dcb4a4586e$var$colors = Object.keys((0, $63d86f11b44ac799$export$96e9906d6d93a972)).filter((color)=>color !== \"tertiary\").slice(0, 4);\nlet $1bbec1dcb4a4586e$export$ddd3857461e99bb8 = (()=>{\n var _CountDown_endTime_accessor_storage, _CountDown_rest_accessor_storage, _CountDown_units_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"count-down\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _endTime_decorators;\n let _endTime_initializers = [];\n let _rest_decorators;\n let _rest_initializers = [];\n let _units_decorators;\n let _units_initializers = [];\n let _get_timeSections_decorators;\n var CountDown = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _CountDown_endTime_accessor_storage.set(this, ($1bbec1dcb4a4586e$var$__runInitializers(this, _instanceExtraInitializers), $1bbec1dcb4a4586e$var$__runInitializers(this, _endTime_initializers, Date.now())));\n _CountDown_rest_accessor_storage.set(this, $1bbec1dcb4a4586e$var$__runInitializers(this, _rest_initializers, 0));\n _CountDown_units_accessor_storage.set(this, $1bbec1dcb4a4586e$var$__runInitializers(this, _units_initializers, [\n {\n scale: 24,\n label: \"D\"\n },\n {\n scale: 60,\n label: \"h\"\n },\n {\n scale: 60,\n label: \"m\"\n },\n {\n scale: 1000,\n label: \"s\"\n }\n ]));\n Object.defineProperty(this, \"timer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"tick\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ()=>{\n const rest = this.endTime - Date.now();\n if (rest > 0) {\n this.rest = rest;\n if (!this.timer) this.timer = self.setInterval(this.tick, 1000);\n } else if (this.timer) clearInterval(this.timer);\n }\n });\n }\n get endTime() {\n return $1bbec1dcb4a4586e$var$__classPrivateFieldGet(this, _CountDown_endTime_accessor_storage, \"f\");\n }\n set endTime(value) {\n $1bbec1dcb4a4586e$var$__classPrivateFieldSet(this, _CountDown_endTime_accessor_storage, value, \"f\");\n }\n get rest() {\n return $1bbec1dcb4a4586e$var$__classPrivateFieldGet(this, _CountDown_rest_accessor_storage, \"f\");\n }\n set rest(value) {\n $1bbec1dcb4a4586e$var$__classPrivateFieldSet(this, _CountDown_rest_accessor_storage, value, \"f\");\n }\n get units() {\n return $1bbec1dcb4a4586e$var$__classPrivateFieldGet(this, _CountDown_units_accessor_storage, \"f\");\n }\n set units(value) {\n $1bbec1dcb4a4586e$var$__classPrivateFieldSet(this, _CountDown_units_accessor_storage, value, \"f\");\n }\n get timeSections() {\n var { rest: rest } = this;\n return this.units.reduce((list, { label: label }, index, units)=>{\n const scale = units.slice(index).map(({ scale: scale })=>scale).reduce((sum, scale)=>sum * scale, 1);\n const value = ~~(rest / scale);\n rest -= value * scale;\n list.push({\n value: value,\n label: label\n });\n return list;\n }, []);\n }\n mountedCallback() {\n if (typeof this.endTime !== \"number\") this.endTime = new Date(this.endTime).valueOf();\n this.tick();\n }\n disconnectedCallback() {\n clearInterval(this.timer);\n }\n render() {\n return (0, $QdH60$jsx)(\"ol\", {\n className: \"list-inline text-white\",\n children: this.timeSections.map(({ value: value, label: label }, index)=>(0, $QdH60$jsx)(\"li\", {\n className: `list-inline-item fs-1 bg-${$1bbec1dcb4a4586e$var$colors[index]} d-inline-flex align-items-center justify-content-center rounded-4`,\n style: {\n width: \"5.5rem\",\n height: \"5.5rem\"\n },\n children: (0, $QdH60$jsxs)(\"small\", {\n children: [\n (value + \"\").padStart(2, \"0\"),\n (0, $QdH60$jsx)(\"sub\", {\n children: label\n })\n ]\n })\n }, value))\n });\n }\n };\n _CountDown_endTime_accessor_storage = new WeakMap();\n _CountDown_rest_accessor_storage = new WeakMap();\n _CountDown_units_accessor_storage = new WeakMap();\n $1bbec1dcb4a4586e$var$__setFunctionName(_classThis, \"CountDown\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _endTime_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _rest_decorators = [\n (0, $QdH60$observable)\n ];\n _units_decorators = [\n (0, $QdH60$observable)\n ];\n _get_timeSections_decorators = [\n (0, $QdH60$computed)\n ];\n $1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _endTime_decorators, {\n kind: \"accessor\",\n name: \"endTime\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"endTime\" in obj,\n get: (obj)=>obj.endTime,\n set: (obj, value)=>{\n obj.endTime = value;\n }\n },\n metadata: _metadata\n }, _endTime_initializers, _instanceExtraInitializers);\n $1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _rest_decorators, {\n kind: \"accessor\",\n name: \"rest\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"rest\" in obj,\n get: (obj)=>obj.rest,\n set: (obj, value)=>{\n obj.rest = value;\n }\n },\n metadata: _metadata\n }, _rest_initializers, _instanceExtraInitializers);\n $1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _units_decorators, {\n kind: \"accessor\",\n name: \"units\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"units\" in obj,\n get: (obj)=>obj.units,\n set: (obj, value)=>{\n obj.units = value;\n }\n },\n metadata: _metadata\n }, _units_initializers, _instanceExtraInitializers);\n $1bbec1dcb4a4586e$var$__esDecorate(_classThis, null, _get_timeSections_decorators, {\n kind: \"getter\",\n name: \"timeSections\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"timeSections\" in obj,\n get: (obj)=>obj.timeSections\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $1bbec1dcb4a4586e$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n CountDown = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $1bbec1dcb4a4586e$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return CountDown = _classThis;\n})();\n\n\nvar $75a9c5b54bb907f9$exports = {};\n\n$parcel$export($75a9c5b54bb907f9$exports, \"MonthCalendar\", function () { return $75a9c5b54bb907f9$export$d7a7c85c0f5afc4a; });\n\n\n\n\n\n\n\n\nvar $75a9c5b54bb907f9$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $75a9c5b54bb907f9$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $75a9c5b54bb907f9$var$__setFunctionName = undefined && undefined.__setFunctionName || function(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n};\nvar $75a9c5b54bb907f9$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $75a9c5b54bb907f9$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $75a9c5b54bb907f9$export$d7a7c85c0f5afc4a = (()=>{\n var _MonthCalendar_variant_accessor_storage, _MonthCalendar_locale_accessor_storage, _MonthCalendar_value_accessor_storage, _MonthCalendar_currentDate_accessor_storage;\n let _classDecorators = [\n (0, $QdH60$component)({\n tagName: \"month-calendar\"\n }),\n (0, $QdH60$observer)\n ];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _get_weekFormatter_decorators;\n let _currentDate_decorators;\n let _currentDate_initializers = [];\n let _get_dateGrid_decorators;\n var MonthCalendar = _classThis = class extends _classSuper {\n constructor(){\n super(...arguments);\n _MonthCalendar_variant_accessor_storage.set(this, ($75a9c5b54bb907f9$var$__runInitializers(this, _instanceExtraInitializers), $75a9c5b54bb907f9$var$__runInitializers(this, _variant_initializers, \"primary\")));\n _MonthCalendar_locale_accessor_storage.set(this, $75a9c5b54bb907f9$var$__runInitializers(this, _locale_initializers, void 0));\n _MonthCalendar_value_accessor_storage.set(this, $75a9c5b54bb907f9$var$__runInitializers(this, _value_initializers, []));\n _MonthCalendar_currentDate_accessor_storage.set(this, $75a9c5b54bb907f9$var$__runInitializers(this, _currentDate_initializers, new Date()));\n Object.defineProperty(this, \"renderDate\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (date)=>{\n const { value: value } = this, dateText = (0, $QdH60$formatDate)(date, \"YYYY-MM-DD\");\n const list = value === null || value === void 0 ? void 0 : value.filter(({ date: date })=>(0, $QdH60$formatDate)(date, \"YYYY-MM-DD\") === dateText);\n return (0, $QdH60$jsxs)(\"td\", {\n className: (0, $QdH60$classnames)({\n \"opacity-50\": date.getMonth() !== this.currentDate.getMonth(),\n \"fw-bold\": dateText === (0, $QdH60$formatDate)(new Date(), \"YYYY-MM-DD\")\n }),\n children: [\n (0, $QdH60$jsx)(\"time\", {\n className: \"d-block\",\n dateTime: date.toJSON(),\n children: date.getDate()\n }),\n list === null || list === void 0 ? void 0 : list.map((item)=>typeof item.content === \"object\" ? item.content : (0, $QdH60$jsx)((0, $c07b2ffa4e50bb77$export$37acb3580601e69a), {\n className: \"d-inline-block text-decoration-none w-100 text-truncate\",\n href: item.link,\n onClick: ()=>this.emit(\"select\", item),\n children: item.content\n }))\n ]\n }, date + \"\");\n }\n });\n }\n get variant() {\n return $75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_variant_accessor_storage, \"f\");\n }\n set variant(value) {\n $75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_variant_accessor_storage, value, \"f\");\n }\n get locale() {\n return $75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_locale_accessor_storage, \"f\");\n }\n set locale(value) {\n $75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_locale_accessor_storage, value, \"f\");\n }\n get value() {\n return $75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_value_accessor_storage, \"f\");\n }\n set value(value) {\n $75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_value_accessor_storage, value, \"f\");\n }\n get weekFormatter() {\n var _a;\n const { locale: locale = (_a = globalThis.navigator) === null || _a === void 0 ? void 0 : _a.language } = this;\n return new Intl.DateTimeFormat(locale, {\n weekday: \"long\"\n });\n }\n get currentDate() {\n return $75a9c5b54bb907f9$var$__classPrivateFieldGet(this, _MonthCalendar_currentDate_accessor_storage, \"f\");\n }\n set currentDate(value) {\n $75a9c5b54bb907f9$var$__classPrivateFieldSet(this, _MonthCalendar_currentDate_accessor_storage, value, \"f\");\n }\n get dateGrid() {\n let startDate = new Date(this.currentDate);\n startDate.setDate(1);\n startDate = new Date(+startDate - startDate.getDay() * (0, $QdH60$Day));\n const dateList = Array.from(new Array(42), (_, index)=>new Date(+startDate + index * (0, $QdH60$Day)));\n return (0, $QdH60$splitArray)(dateList, 7);\n }\n changeMonth(delta) {\n this.currentDate = (0, $QdH60$changeMonth)(this.currentDate, delta);\n this.emit(\"change\", this.currentDate);\n }\n render() {\n const { style: style, variant: variant, weekFormatter: weekFormatter, currentDate: currentDate, dateGrid: dateGrid } = this;\n return (0, $QdH60$jsxs)((0, $12e8838177819a56$export$54ec01a60f47d33d), {\n style: Object.assign({\n tableLayout: \"fixed\"\n }, style),\n children: [\n (0, $QdH60$jsx)(\"caption\", {\n children: (0, $QdH60$jsxs)(\"div\", {\n className: \"d-flex justify-content-between align-items-center\",\n children: [\n (0, $QdH60$jsx)((0, $7d7a0c28b15334fb$export$353f5b6fc5456de1), {\n variant: variant,\n onClick: ()=>this.changeMonth(-1),\n children: \"<\"\n }),\n (0, $QdH60$formatDate)(currentDate, \"YYYY-MM\"),\n (0, $QdH60$jsx)((0, $7d7a0c28b15334fb$export$353f5b6fc5456de1), {\n variant: variant,\n onClick: ()=>this.changeMonth(1),\n children: \">\"\n })\n ]\n })\n }),\n (0, $QdH60$jsx)(\"thead\", {\n children: (0, $QdH60$jsx)(\"tr\", {\n children: dateGrid[0].map((date, index, { length: length })=>(0, $QdH60$jsx)(\"td\", {\n className: `bg-${variant} text-white`,\n style: {\n width: `calc(100% / ${length})`\n },\n children: weekFormatter.format(date)\n }, index))\n })\n }),\n (0, $QdH60$jsx)(\"tbody\", {\n children: dateGrid.map((days)=>(0, $QdH60$jsx)(\"tr\", {\n children: days.map(this.renderDate)\n }, days[0] + \"\"))\n })\n ]\n });\n }\n };\n _MonthCalendar_variant_accessor_storage = new WeakMap();\n _MonthCalendar_locale_accessor_storage = new WeakMap();\n _MonthCalendar_value_accessor_storage = new WeakMap();\n _MonthCalendar_currentDate_accessor_storage = new WeakMap();\n $75a9c5b54bb907f9$var$__setFunctionName(_classThis, \"MonthCalendar\");\n (()=>{\n var _a;\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create((_a = _classSuper[Symbol.metadata]) !== null && _a !== void 0 ? _a : null) : void 0;\n _variant_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _locale_decorators = [\n (0, $QdH60$attribute),\n (0, $QdH60$observable)\n ];\n _value_decorators = [\n (0, $QdH60$observable)\n ];\n _get_weekFormatter_decorators = [\n (0, $QdH60$computed)\n ];\n _currentDate_decorators = [\n (0, $QdH60$observable)\n ];\n _get_dateGrid_decorators = [\n (0, $QdH60$computed)\n ];\n $75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _variant_decorators, {\n kind: \"accessor\",\n name: \"variant\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"variant\" in obj,\n get: (obj)=>obj.variant,\n set: (obj, value)=>{\n obj.variant = value;\n }\n },\n metadata: _metadata\n }, _variant_initializers, _instanceExtraInitializers);\n $75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _locale_decorators, {\n kind: \"accessor\",\n name: \"locale\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"locale\" in obj,\n get: (obj)=>obj.locale,\n set: (obj, value)=>{\n obj.locale = value;\n }\n },\n metadata: _metadata\n }, _locale_initializers, _instanceExtraInitializers);\n $75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _value_decorators, {\n kind: \"accessor\",\n name: \"value\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"value\" in obj,\n get: (obj)=>obj.value,\n set: (obj, value)=>{\n obj.value = value;\n }\n },\n metadata: _metadata\n }, _value_initializers, _instanceExtraInitializers);\n $75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _get_weekFormatter_decorators, {\n kind: \"getter\",\n name: \"weekFormatter\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"weekFormatter\" in obj,\n get: (obj)=>obj.weekFormatter\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _currentDate_decorators, {\n kind: \"accessor\",\n name: \"currentDate\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentDate\" in obj,\n get: (obj)=>obj.currentDate,\n set: (obj, value)=>{\n obj.currentDate = value;\n }\n },\n metadata: _metadata\n }, _currentDate_initializers, _instanceExtraInitializers);\n $75a9c5b54bb907f9$var$__esDecorate(_classThis, null, _get_dateGrid_decorators, {\n kind: \"getter\",\n name: \"dateGrid\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"dateGrid\" in obj,\n get: (obj)=>obj.dateGrid\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $75a9c5b54bb907f9$var$__esDecorate(null, _classDescriptor = {\n value: _classThis\n }, _classDecorators, {\n kind: \"class\",\n name: _classThis.name,\n metadata: _metadata\n }, null, _classExtraInitializers);\n MonthCalendar = _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n $75a9c5b54bb907f9$var$__runInitializers(_classThis, _classExtraInitializers);\n })();\n return MonthCalendar = _classThis;\n})();\n\n\n\n\nexport {$63d86f11b44ac799$export$96e9906d6d93a972 as Status, $82c1668cb3555a4c$export$438ad6fc467f929b as Ratio, $ec748a1bf5317e2c$export$42a852a2b6b56249 as Container, $12e8838177819a56$export$54ec01a60f47d33d as Table, $e00f372973ff441d$export$d086fcc3bc3f366f as ScrollBoundary, $6ced475b51e72106$export$97aba50a380f875b as Jumbotron, $639bcad300938914$export$60332b2344f7fe41 as Card, $639bcad300938914$export$851de33184ecdac4 as CardBody, $639bcad300938914$export$5665775b26e26c5d as CardHeader, $639bcad300938914$export$e9897d434e0741ee as CardFooter, $639bcad300938914$export$474db65c3c394e1c as CardTitle, $639bcad300938914$export$96c5f37208f78bd7 as CardImg, $fa0fbbd8c76f290f$export$2d00230e1e6f7fbc as FormGroup, $fa0fbbd8c76f290f$export$842aba50ed0ce9d7 as FormLabel, $fa0fbbd8c76f290f$export$8522a2827ec13639 as FloatingLabel, $fa0fbbd8c76f290f$export$6e5a9cd40e0c9b97 as InputGroup, $fa0fbbd8c76f290f$export$219ad5c362b47f2f as InputGroupText, $fa0fbbd8c76f290f$export$fe5d99d8691b3f62 as FormControl, $fa0fbbd8c76f290f$export$5cd9378d879de45f as FormCheck, $fa0fbbd8c76f290f$export$56e87bf42978147a as FormField, $7d7a0c28b15334fb$export$353f5b6fc5456de1 as Button, $7d7a0c28b15334fb$export$35a0171ee384c875 as isButton, $7d7a0c28b15334fb$export$c25acd513dcc8062 as IconButton, $7d7a0c28b15334fb$export$de65de8213222d10 as CloseButton, $c07b2ffa4e50bb77$export$37acb3580601e69a as Badge, $3e256c6cbec492c2$export$7f7cbe89f1eacd2 as Spinner, $3e256c6cbec492c2$export$d4c790f923031725 as SpinnerBox, $110adda30e872ed3$export$f04a61298a47a40f as Icon, $110adda30e872ed3$export$af1945c3768d186c as BGIcon, $7c8ac8c53d1d99e6$export$3e431a229df88919 as Image, $082bbd4855375d2b$export$28c660c63b792dea as Tooltip, $082bbd4855375d2b$export$e4d8dc88bb9cc931 as TooltipBox, $440350f38fb5346b$export$931cbfb6bfb85fc as Dropdown, $440350f38fb5346b$export$8d5b7ffbb681f107 as DropdownToggle, $440350f38fb5346b$export$e44a253a59704894 as DropdownMenu, $440350f38fb5346b$export$6648d5fa18559e7f as DropdownItem, $440350f38fb5346b$export$181f40ec41159e56 as DropdownButton, $cc1642db99a4f83c$export$78768a9af065a7b as Collapse, $e565f84a9fc01dba$export$d99097c13d4dac9f as AccordionItem, $e565f84a9fc01dba$export$5e3e5deaaf81ee41 as AccordionHeader, $e565f84a9fc01dba$export$4f68206c92b94e7b as AccordionBody, $e565f84a9fc01dba$export$a766cd26d0d69044 as Accordion, $429aa606bb648ce9$export$42c20acb2971398c as CarouselItem, $429aa606bb648ce9$export$a81c9b47f1cf1e63 as CarouselCaption, $429aa606bb648ce9$export$144901db2ea8e967 as Carousel, $9d227ef33aa3b137$export$b0d92dbee9b5b60d as NavLink, $9d227ef33aa3b137$export$461cb598b7fcff7b as NavDropdown, $9d227ef33aa3b137$export$39140c7d8b0ba7b3 as Nav, $210b900be6078c4d$export$2df9f3e5f6d355f6 as NavbarBrand, $210b900be6078c4d$export$e018030c18c7f90a as NavbarToggle, $210b900be6078c4d$export$42cfbb80f7861e77 as Navbar, $210b900be6078c4d$export$d31319d8cbfdaf50 as OffcanvasNavbar, $9e952469adea05cf$export$1b33297d19c3da30 as OffcanvasTitle, $9e952469adea05cf$export$b6c1518fb8dc5e75 as OffcanvasHeader, $9e952469adea05cf$export$c324d20ecc5b7dee as OffcanvasBody, $9e952469adea05cf$export$591ca0244c9dfcd4 as Offcanvas, $9e952469adea05cf$export$1de07a2f4bdee270 as OffcanvasBox, $91ec7fc997378afa$export$3e41faf802a29e71 as Tab, $91ec7fc997378afa$export$b2539bed5023c21c as Tabs, $1bbec1dcb4a4586e$export$ddd3857461e99bb8 as CountDown, $75a9c5b54bb907f9$export$d7a7c85c0f5afc4a as MonthCalendar};\n//# sourceMappingURL=index.esm.js.map\n","export * from './type';\nexport * from './Ratio';\nexport * from './Grid';\nexport * from './Table';\nexport * from './ScrollBoundary';\nexport * from './Jumbotron';\nexport * from './Card';\nexport * from './Form';\nexport * from './Button';\nexport * from './Badge';\nexport * from './Spinner';\nexport * from './Icon';\nexport * from './Image';\nexport * from './Tooltip';\nexport * from './Dropdown';\nexport * from './Collapse';\nexport * from './Accordion';\nexport * from './Carousel';\nexport * from './Nav';\nexport * from './Navbar';\nexport * from './Offcanvas';\nexport * from './Tabs';\nexport * from './CountDown';\nexport * from './MonthCalendar';\n","type Subtle = `${T}${'' | '-subtle'}`;\n\nexport enum Status {\n primary = 'primary',\n secondary = 'secondary',\n tertiary = 'tertiary',\n success = 'success',\n info = 'info',\n warning = 'warning',\n danger = 'danger'\n}\n\nexport type Color = Exclude | 'light' | 'dark';\n\nexport type BackgroundColor =\n | Subtle\n | `body${'' | '-emphasis' | '-secondary' | '-tertiary'}`\n | 'black'\n | 'white'\n | 'transparent';\n\nexport type Size = 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n\nexport type PositionY = 'top' | 'bottom';\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nexport interface RatioProps extends WebCellProps {\n aspectRatio?: number | '1x1' | '4x3' | '16x9' | '21x9';\n}\n\nexport const Ratio: FC = ({ aspectRatio = '1x1', children }) => (\n \n {children}\n \n);\n","import { JsxProps } from 'dom-renderer';\nimport { FC } from 'web-cell';\n\nimport { Size } from './type';\n\nexport interface ContainerProps extends JsxProps {\n fluid?: boolean | Size;\n}\n\nexport const Container: FC = ({\n className = '',\n fluid,\n children,\n ...props\n}) => (\n \n {children}\n \n);\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nimport { Color, Size } from './type';\n\nexport interface TableProps extends WebCellProps {\n variant?: Color;\n size?: 'sm';\n responsive?: boolean | Size;\n striped?: boolean | 'columns';\n hover?: boolean;\n bordered?: boolean;\n borderless?: boolean;\n caption?: 'top';\n}\n\nexport const Table: FC = ({\n className,\n variant,\n size,\n responsive,\n striped,\n hover,\n bordered,\n borderless,\n caption,\n children,\n ...props\n}) => {\n const table = (\n \n {children}\n \n );\n\n return responsive ? (\n \n {table}\n \n ) : (\n table\n );\n};\n","import classNames from 'classnames';\nimport { JsxChildren } from 'dom-renderer';\nimport { FC, WebCellProps } from 'web-cell';\n\nexport type EdgePosition = 'top' | 'bottom' | 'left' | 'right';\n\nexport type TouchHandler = (edge: EdgePosition) => any;\n\nexport interface ScrollBoundaryProps\n extends WebCellProps,\n Partial> {\n onTouch: TouchHandler;\n}\n\nfunction touch(edge: EdgePosition, onTouch: TouchHandler) {\n return (node: HTMLElement | null) =>\n node &&\n new IntersectionObserver(\n ([{ isIntersecting }]) => isIntersecting && onTouch(edge)\n ).observe(node);\n}\n\nexport const ScrollBoundary: FC = ({\n className,\n onTouch,\n top,\n left,\n right,\n bottom,\n children\n}) => (\n
    \n \n {top}\n
    \n \n {left}\n \n\n {children}\n\n \n {right}\n \n \n {bottom}\n \n \n);\n","import classNames from 'classnames';\nimport { JsxChildren } from 'dom-renderer';\nimport { FC, WebCellProps } from 'web-cell';\n\nimport { BackgroundColor } from './type';\nimport { Container, ContainerProps } from './Grid';\n\nexport interface JumbotronProps\n extends Omit,\n Record<'title' | 'description', JsxChildren> {\n bg?: BackgroundColor;\n rounded?: 0 | 1 | 2 | 3 | 4 | 5;\n}\n\nexport const Jumbotron: FC = ({\n className,\n fluid,\n bg = 'body-tertiary',\n rounded = fluid ? 0 : 3,\n title,\n description,\n children,\n ...props\n}) => {\n const content = (\n <>\n

    {title}

    \n\n

    {description}

    \n\n {children && (\n <>\n
    \n {children}\n \n )}\n \n );\n\n return (\n \n {fluid ? {content} : content}\n \n );\n};\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nimport { Image, ImageProps } from './Image';\nimport { Color, PositionY } from './type';\n\nexport interface CardProps extends WebCellProps {\n bg?: Color;\n text?: Color | 'white' | 'muted';\n border?: Color;\n body?: boolean;\n}\n\nexport const Card: FC = ({\n className,\n bg,\n text,\n border,\n body,\n children,\n ...props\n}) => (\n \n {body ? {children} : children}\n \n);\n\nexport const CardHeader: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport const CardBody: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport const CardFooter: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport const CardTitle: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport interface CardImgProps extends ImageProps {\n variant?: PositionY;\n}\n\nexport const CardImg: FC = ({\n className = '',\n variant,\n ...props\n}) => (\n \n);\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nexport type ImageProps = WebCellProps &\n Partial<\n Record<'fluid' | 'rounded' | 'roundedCircle' | 'thumbnail', boolean>\n >;\n\nexport const Image: FC = ({\n className,\n fluid,\n rounded,\n roundedCircle,\n thumbnail,\n ...props\n}) => (\n \n);\n","import classNames from 'classnames';\nimport { VNode } from 'dom-renderer';\nimport { FC, WebCellProps } from 'web-cell';\nimport { uniqueID } from 'web-utility';\n\nexport type FormGroupProps = WebCellProps;\n\nexport const FormGroup: FC = ({ children, ...props }) => (\n
    {children}
    \n);\n\nexport type FormLabelProps = WebCellProps;\n\nexport const FormLabel: FC = ({\n className = '',\n children,\n ...props\n}) => (\n \n);\n\nexport interface FloatingLabelProps extends FormLabelProps {\n label: string;\n}\n\nexport const FloatingLabel: FC = ({\n className = '',\n style,\n label,\n children,\n ...props\n}) => (\n
    \n {children}\n \n
    \n);\n\nexport interface InputGroupProps extends WebCellProps {\n size?: 'sm' | 'lg';\n}\n\nexport const InputGroup: FC = ({\n className = '',\n size,\n children,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport const InputGroupText: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport type FormControlTag = 'input' | 'textarea' | 'select';\n\nexport type FormControlProps = WebCellProps &\n Omit & {\n as?: T;\n htmlSize?: number;\n size?: 'sm' | 'lg';\n plaintext?: boolean;\n };\n\nexport const FormControl = ({\n as: Tag = 'input' as T,\n className = '',\n htmlSize,\n size,\n plaintext,\n ...props\n}: FormControlProps) => (\n ).readOnly &&\n plaintext &&\n `form-control-plaintext`,\n (props as FormControlProps<'input'>).type === 'color' &&\n `form-control-color`,\n className\n )}\n {...props}\n size={htmlSize}\n />\n);\n\nexport interface FormCheckProps extends WebCellProps {\n type: 'radio' | 'checkbox' | 'switch';\n inline?: boolean;\n reverse?: boolean;\n label?: VNode;\n}\n\nexport const FormCheck: FC = ({\n id = uniqueID(),\n className = '',\n style,\n title,\n type,\n inline,\n reverse,\n label,\n ...props\n}) => (\n \n \n {label && (\n \n )}\n \n);\n\nexport type FormFieldProps = FormGroupProps &\n FormLabelProps &\n FormControlProps & {\n label?: string;\n labelFloat?: boolean;\n };\n\nexport const FormField = ({\n className,\n label,\n labelFloat,\n ...props\n}: FormFieldProps) => {\n label ||= props.title || (props as FormControlProps<'input'>).placeholder;\n\n const field = )} />;\n\n return labelFloat ? (\n {field}\n ) : (\n \n {label}\n {field}\n \n );\n};\n","import classNames from 'classnames';\nimport { JsxChildren, VNode } from 'dom-renderer';\nimport { FC, WebCellProps } from 'web-cell';\n\nimport { FormControlProps } from './Form';\nimport { Icon, IconProps } from './Icon';\nimport { Color } from './type';\n\nexport interface ButtonProps\n extends WebCellProps,\n Omit, 'type'>,\n Pick, 'size'> {\n variant?: Color | `outline-${Color}` | 'link';\n active?: boolean;\n}\n\nexport const Button: FC = ({\n className,\n href,\n variant,\n size,\n active,\n children,\n ...props\n}) => {\n const { disabled, tabIndex } = props,\n Class = classNames(\n 'btn',\n variant && `btn-${variant}`,\n size && `btn-${size}`,\n className\n );\n\n return href ? (\n \n {children}\n \n ) : (\n \n );\n};\n\nexport function isButton(node: JsxChildren): node is VNode {\n const { selector, props } = node as VNode;\n\n return /^(a|input|button)/.test(selector) && props?.className?.btn;\n}\n\nexport type IconButtonProps = IconProps & ButtonProps;\n\nexport const IconButton: FC = ({\n className,\n name,\n ...button\n}) => (\n \n \n \n);\n\nexport const CloseButton: FC> = ({\n className = '',\n ...props\n}) => (\n \n);\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nimport { Color } from './type';\n\nexport interface IconProps extends WebCellProps {\n name: string;\n color?: Color;\n size?: number;\n}\n\nexport const Icon: FC = ({\n className,\n style,\n color,\n name,\n size,\n children,\n ...rest\n}) => (\n \n);\n\nexport interface BGIconProps extends IconProps {\n type?: 'square' | 'circle';\n}\n\nexport const BGIcon: FC = ({\n className = '',\n type = 'square',\n color = 'primary',\n children,\n ...props\n}) => (\n \n \n \n);\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nimport { Color } from './type';\n\nexport interface BadgeProps extends WebCellProps {\n bg?: Color;\n text?: Color;\n pill?: boolean;\n}\n\nexport const Badge: FC = ({\n className,\n bg,\n text,\n pill,\n href,\n children,\n ...rest\n}) => {\n const Class = classNames(\n 'badge',\n bg && `text-bg-${bg}`,\n text && `text-${text}`,\n pill && `rounded-pill`,\n href && 'text-decoration-none',\n className\n );\n\n return href ? (\n \n {children}\n \n ) : (\n \n {children}\n \n );\n};\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nimport { Color } from './type';\n\nexport interface SpinnerProps extends WebCellProps {\n variant?: Color;\n size?: 'sm';\n animation?: 'border' | 'grow';\n}\n\nexport const Spinner: FC = ({\n className,\n variant,\n size,\n animation = 'border',\n children = 'Loading...',\n ...props\n}) => (\n \n {children}\n \n);\n\nexport interface SpinnerBoxProps extends SpinnerProps {\n cover?: boolean;\n}\n\nexport const SpinnerBox: FC = ({\n className = '',\n cover,\n variant,\n size,\n animation,\n role,\n children,\n ...props\n}) => (\n
    \n {children}\n\n {cover && (\n
    \n \n
    \n )}\n
    \n);\n","import { JsxChildren } from 'dom-renderer';\nimport { observable } from 'mobx';\nimport {\n FC,\n WebCell,\n WebCellProps,\n attribute,\n component,\n observer\n} from 'web-cell';\n\nexport const Tooltip: FC = ({\n className = '',\n children,\n ...props\n}) => (\n \n
    \n
    {children}
    \n
    \n);\n\nexport interface TooltipBoxProps extends WebCellProps {\n content: JsxChildren;\n}\n\nexport interface TooltipBox extends WebCell {}\n\n@component({\n tagName: 'tooltip-box',\n mode: 'open'\n})\n@observer\nexport class TooltipBox extends HTMLElement implements WebCell {\n declare props: TooltipBoxProps;\n\n content: JsxChildren;\n\n @attribute\n @observable\n accessor show = false;\n\n connectedCallback() {\n this.style.display = 'inline-block';\n\n this.addEventListener('mouseenter', this.handleToggle);\n this.addEventListener('mouseleave', this.handleToggle);\n }\n\n disconnectedCallback() {\n this.removeEventListener('mouseenter', this.handleToggle);\n this.removeEventListener('mouseleave', this.handleToggle);\n }\n\n handleToggle = () => (this.show = !this.show);\n\n render() {\n const { content, show } = this;\n\n return (\n <>\n \n \n\n {show && {content}}\n \n );\n }\n}\n","import classNames from 'classnames';\nimport { JsxChildren } from 'dom-renderer';\nimport { observable } from 'mobx';\nimport { FC, WebCellProps, attribute, component, observer } from 'web-cell';\n\nimport { Button, ButtonProps } from './Button';\n\nexport const Dropdown: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport const DropdownToggle: FC = ({\n className = '',\n children,\n ...props\n}) => (\n \n);\n\nexport const DropdownMenu: FC = ({\n className = '',\n children,\n ...props\n}) => (\n \n);\n\nexport const DropdownItem: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport interface DropdownButtonProps extends WebCellProps, ButtonProps {\n boxClass?: string;\n buttonClass?: string;\n caption: JsxChildren;\n}\n\n@component({\n tagName: 'dropdown-button',\n mode: 'open'\n})\n@observer\nexport class DropdownButton extends HTMLElement {\n declare props: DropdownButtonProps;\n\n @attribute\n @observable\n accessor boxClass: string;\n\n @attribute\n @observable\n accessor buttonClass: string;\n\n @attribute\n @observable\n accessor variant: ButtonProps['variant'];\n\n @attribute\n @observable\n accessor size: ButtonProps['size'];\n\n @observable\n accessor caption: JsxChildren;\n\n @attribute\n @observable\n accessor disabled = false;\n\n @attribute\n @observable\n accessor show = false;\n\n renderContent() {\n const { boxClass, buttonClass, variant, size, caption } = this,\n { disabled, show } = this;\n\n return (\n \n (this.show = !show)}\n >\n {caption}\n \n \n \n \n \n );\n }\n\n render() {\n return (\n <>\n \n \n {this.renderContent()}\n \n );\n }\n}\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\n\nexport interface CollapseProps extends WebCellProps {\n dimension?: 'width' | 'height';\n in?: boolean;\n}\n\nexport const Collapse: FC = ({\n className,\n dimension = 'width',\n in: show,\n children,\n ...props\n}) => (\n \n {children}\n \n);\n","import { observable } from 'mobx';\nimport {\n FC,\n WebCell,\n WebCellProps,\n attribute,\n component,\n observer,\n on,\n reaction\n} from 'web-cell';\n\nimport { CollapseProps, Collapse } from './Collapse';\n\nexport const AccordionItem: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport const AccordionHeader: FC> = ({\n className = '',\n children,\n onClick,\n ...props\n}) => (\n

    \n \n

    \n);\n\nexport const AccordionBody: FC = ({\n className = '',\n children,\n ...props\n}) => (\n \n
    {children}
    \n
    \n);\n\nexport interface AccordionProps {\n flush?: boolean;\n alwaysOpen?: boolean;\n}\n\nexport interface Accordion extends WebCell {}\n\n@component({\n tagName: 'accordion-box',\n mode: 'open'\n})\n@observer\nexport class Accordion extends HTMLElement implements WebCell {\n @attribute\n @observable\n accessor flush = false;\n\n @attribute\n @observable\n accessor alwaysOpen = false;\n\n connectedCallback() {\n this.classList.add('accordion');\n }\n\n @reaction(({ flush }) => flush)\n handleFlush(flush: boolean) {\n this.classList.toggle('accordion-flush', flush);\n }\n\n @on('click', '.accordion-header')\n handleClick(\n _,\n { nextElementSibling: currentCollapse }: HTMLHeadingElement\n ) {\n if (!this.alwaysOpen)\n for (const collapse of this.querySelectorAll(\n '.accordion-collapse'\n ))\n if (collapse !== currentCollapse) {\n collapse.classList.remove('show');\n collapse.previousElementSibling.querySelector(\n 'button'\n ).ariaExpanded = 'false';\n }\n currentCollapse.classList.toggle('show');\n currentCollapse.previousElementSibling.querySelector(\n 'button'\n ).ariaExpanded = 'false';\n }\n\n render() {\n return ;\n }\n}\n","import { observable } from 'mobx';\nimport {\n FC,\n WebCell,\n WebCellProps,\n attribute,\n component,\n observer,\n on,\n reaction\n} from 'web-cell';\n\nexport interface CarouselItemProps extends WebCellProps {\n interval?: number;\n}\n\nexport const CarouselItem: FC = ({\n className = '',\n interval,\n children,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport const CarouselCaption: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\ninterface ItemMeta {\n caption?: string;\n}\n\nexport interface CarouselProps {\n interval?: number;\n}\n\nexport interface Carousel extends WebCell {}\n\n@component({\n tagName: 'carousel-box',\n mode: 'open'\n})\n@observer\nexport class Carousel extends HTMLElement implements WebCell {\n @attribute\n @observable\n accessor interval: number | undefined;\n\n @observable\n accessor itemMeta: ItemMeta[] = [];\n\n @attribute\n @observable\n accessor currentIndex = 0;\n\n private timer: number;\n\n connectedCallback() {\n if (this.interval)\n this.timer ||= window.setInterval(\n () => this.turnByOffset(1),\n this.interval\n );\n else this.handleActiveItem(this.currentIndex);\n }\n\n disconnectedCallback() {\n clearInterval(this.timer);\n }\n\n mountedCallback() {\n const items = [...this.querySelectorAll('.carousel-item')];\n\n if (this.itemMeta.length !== items.length)\n this.itemMeta = items.map(item => ({\n caption: (\n item.querySelector('.carousel-caption')?.textContent ||\n item.textContent\n ).trim()\n }));\n }\n\n turnByOffset(delta: number) {\n this.currentIndex = (this.currentIndex + delta) % this.itemMeta.length;\n }\n\n @on('click', '.carousel > button')\n handleButtonClick(_: MouseEvent, { dataset }: HTMLButtonElement) {\n this.turnByOffset(dataset.bsSlide === 'next' ? 1 : -1);\n }\n\n @on('keyup', '.carousel > button')\n handleButtonPress({ key }: KeyboardEvent, { dataset }: HTMLButtonElement) {\n if (key === 'Enter')\n this.turnByOffset(dataset.bsSlide === 'next' ? 1 : -1);\n }\n\n @on('click', '.carousel-indicators button')\n handleIndicatorsButtonClick(_: MouseEvent, { dataset }: HTMLButtonElement) {\n this.currentIndex = +dataset.bsSlideTo;\n }\n\n @on('keyup', '.carousel-indicators button')\n handleIndicatorsButtonPress(\n { key }: KeyboardEvent,\n { dataset }: HTMLButtonElement\n ) {\n if (key === 'Enter') this.currentIndex = +dataset.bsSlideTo;\n }\n\n @reaction(({ currentIndex }) => currentIndex)\n handleActiveItem(currentIndex: number) {\n this.querySelector('.carousel-item.active')?.classList.remove('active');\n\n this.children[currentIndex].classList.add('active');\n }\n\n renderContent() {\n const { itemMeta, currentIndex } = this;\n\n return (\n
    \n
    \n {itemMeta.map(({ caption }, index) => (\n \n ))}\n
    \n
    \n \n
    \n \n \n -1\n \n \n \n +1\n \n
    \n );\n }\n\n render() {\n return (\n <>\n \n {this.renderContent()}\n \n );\n }\n}\n","import { JsxChildren } from 'dom-renderer';\nimport { FC, WebCell, WebCellProps, component } from 'web-cell';\n\nimport { ButtonProps } from './Button';\nimport { DropdownButton } from './Dropdown';\nimport { OffcanvasNavbar } from './Navbar';\n\nexport interface NavLinkProps extends WebCellProps {\n active?: boolean;\n}\n\nexport const NavLink: FC = ({\n className = '',\n active,\n children,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport interface NavDropdownProps\n extends Omit,\n Pick {\n title: JsxChildren;\n}\n\nexport const NavDropdown: FC = ({\n title,\n children,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport interface Nav extends WebCell {}\n\n@component({\n tagName: 'bs-nav',\n mode: 'open'\n})\nexport class Nav extends HTMLElement {\n declare props: WebCellProps;\n\n connectedCallback() {\n const navBar = this.closest(\n 'offcanvas-navbar, .navbar'\n );\n\n if (!navBar) return this.classList.add('nav');\n\n const expand =\n navBar.expand ||\n navBar.className.match(/navbar-expand(-(\\S+))?/)?.[2];\n\n this.classList.add(\n 'navbar-nav',\n 'align-items-center',\n expand && 'flex-column',\n expand && `flex-${expand}-row`\n );\n }\n\n render() {\n return ;\n }\n}\n","import { JsxChildren, JsxProps } from 'dom-renderer';\nimport { observable } from 'mobx';\nimport {\n FC,\n WebCell,\n WebCellProps,\n attribute,\n component,\n observer\n} from 'web-cell';\nimport { delegate, uniqueID } from 'web-utility';\n\nimport { Container, ContainerProps } from './Grid';\nimport {\n Offcanvas,\n OffcanvasBody,\n OffcanvasBoxProps,\n OffcanvasHeader,\n OffcanvasTitle\n} from './Offcanvas';\nimport { BackgroundColor, PositionY, Size } from './type';\n\nexport type NavbarBrandProps = JsxProps;\n\nexport const NavbarBrand: FC = ({\n className = '',\n children,\n ...props\n}) => (\n \n {children}\n \n);\n\nexport type NavbarToggleProps = JsxProps;\n\nexport const NavbarToggle: FC = ({\n className = '',\n type,\n children,\n ...props\n}) => (\n \n);\n\nexport interface NavbarProps extends WebCellProps {\n variant?: 'light' | 'dark';\n bg?: BackgroundColor;\n expand?: boolean | Size;\n fixed?: PositionY;\n sticky?: PositionY;\n}\n\nexport const Navbar: FC = ({\n variant = 'light',\n bg = 'body-tertiary',\n fixed,\n sticky,\n expand,\n children\n}) => (\n \n {children}\n \n);\n\nexport interface OffcanvasNavbarProps\n extends OffcanvasBoxProps,\n NavbarProps,\n ContainerProps {\n brand?: JsxChildren;\n}\n\nexport interface OffcanvasNavbar extends WebCell {}\n\n@component({\n tagName: 'offcanvas-navbar',\n mode: 'open'\n})\n@observer\nexport class OffcanvasNavbar extends HTMLElement implements WebCell {\n declare props: OffcanvasNavbarProps;\n\n @attribute\n @observable\n accessor variant: OffcanvasNavbarProps['variant'];\n\n @attribute\n @observable\n accessor bg: OffcanvasNavbarProps['bg'];\n\n @attribute\n @observable\n accessor expand: OffcanvasNavbarProps['expand'];\n\n @attribute\n @observable\n accessor fixed: OffcanvasNavbarProps['fixed'];\n\n @attribute\n @observable\n accessor sticky: OffcanvasNavbarProps['sticky'];\n\n @attribute\n @observable\n accessor fluid: ContainerProps['fluid'];\n\n @attribute\n @observable\n accessor title: string;\n\n titleId = uniqueID();\n\n @observable\n accessor brand: OffcanvasNavbarProps['brand'];\n\n offcanvasId = uniqueID();\n\n @attribute\n @observable\n accessor open = false;\n\n @attribute\n @observable\n accessor closeButton = true;\n\n connectedCallback() {\n globalThis.addEventListener?.('keyup', this.close, true);\n\n this.addEventListener('click', this.handleLink);\n }\n\n disconnectedCallback() {\n globalThis.removeEventListener?.('keyup', this.close, true);\n\n this.addEventListener('click', this.handleLink);\n }\n\n close = (event?: KeyboardEvent | MouseEvent) => {\n if (\n event instanceof KeyboardEvent &&\n !['Escape', 'Enter'].includes(event.key)\n )\n return;\n\n this.open = false;\n };\n\n handleLink = delegate('a[href].nav-link', this.close);\n\n renderContent() {\n const { variant, bg, expand, fixed, sticky, fluid, brand } = this,\n { title, titleId, offcanvasId, open, closeButton } = this;\n\n return (\n \n \n {brand || title}\n (this.open = true)}\n />\n \n (this.open = false)}\n >\n \n {brand || title}\n \n \n \n \n \n \n \n \n );\n }\n\n render() {\n return (\n <>\n \n {this.renderContent()}\n \n );\n }\n}\n","import classNames from 'classnames';\nimport { FC, WebCellProps } from 'web-cell';\nimport { uniqueID } from 'web-utility';\n\nimport { CloseButton } from './Button';\n\nexport const OffcanvasTitle: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport interface OffcanvasHeaderProps extends WebCellProps {\n closeButton?: boolean;\n onHide?: () => any;\n}\n\nexport const OffcanvasHeader: FC = ({\n className = '',\n closeButton,\n children,\n onHide,\n ...props\n}) => (\n
    \n {children}\n\n {closeButton && }\n
    \n);\n\nexport const OffcanvasBody: FC> = ({\n className = '',\n children,\n ...props\n}) => (\n
    \n {children}\n
    \n);\n\nexport interface OffcanvasProps\n extends Omit {\n backdrop?: boolean | 'static';\n show?: boolean;\n}\n\nexport const Offcanvas: FC = ({\n className = '',\n style,\n backdrop = true,\n show,\n onHide,\n children,\n ...props\n}) => (\n <>\n \n {children}\n \n\n {show &&
    }\n \n);\n\nexport interface OffcanvasBoxProps\n extends OffcanvasProps,\n OffcanvasHeaderProps {\n titleId?: string;\n}\n\nexport const OffcanvasBox: FC = ({\n title,\n titleId = uniqueID(),\n closeButton,\n onHide,\n children,\n ...props\n}) => (\n \n \n {title}\n \n {children}\n \n);\n","import { JsxChildren } from 'dom-renderer';\nimport { observable } from 'mobx';\nimport {\n WebCell,\n attribute,\n component,\n observer,\n on,\n reaction\n} from 'web-cell';\n\nimport { Nav, NavLink } from './Nav';\n\nexport interface TabProps {\n caption: JsxChildren;\n}\n\nexport interface Tab extends WebCell {}\n\n@component({ tagName: 'tab-pane' })\nexport class Tab extends HTMLElement implements WebCell {\n caption: JsxChildren;\n\n connectedCallback() {\n this.classList.add('tab-pane');\n this.role = 'tabpanel';\n }\n}\n\nexport interface Tabs extends WebCell {}\n\n@component({\n tagName: 'tabs-box',\n mode: 'open'\n})\n@observer\nexport class Tabs extends HTMLElement implements WebCell {\n @observable\n accessor tabMeta: TabProps[] = [];\n\n @attribute\n @observable\n accessor currentIndex = 0;\n\n mountedCallback() {\n const tabs = [...this.querySelectorAll('tab-pane')];\n\n this.tabMeta = tabs.map(tab => {\n tab.hidden = true;\n\n return { caption: tab.caption };\n });\n\n this.turnPaneTo(this.currentIndex);\n }\n\n @on('click', '.nav-tabs > .nav-link')\n handleTabClick(\n event: MouseEvent,\n { dataset: { index } }: HTMLAnchorElement\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n this.currentIndex = +index;\n }\n\n @reaction(({ currentIndex }) => currentIndex)\n turnPaneTo(index: number) {\n const previous = this.querySelector('tab-pane.active');\n\n if (previous) {\n previous.hidden = true;\n previous.classList.remove('active', 'show');\n }\n const next = this.children[index] as Tab;\n\n next.hidden = false;\n next.classList.add('active', 'show');\n }\n\n renderContent() {\n const { tabMeta, currentIndex } = this;\n\n return (\n <>\n \n
    \n \n
    \n \n );\n }\n\n render() {\n return (\n <>\n \n {this.renderContent()}\n \n );\n }\n}\n","import { computed, observable } from 'mobx';\nimport { WebCell, attribute, component, observer } from 'web-cell';\n\nimport { Status } from './type';\n\ninterface TimeUnit {\n scale: number;\n label: string;\n}\n\ninterface TimeSection {\n value: number;\n label: string;\n}\n\nconst colors = Object.keys(Status)\n .filter(color => color !== 'tertiary')\n .slice(0, 4);\n\nexport interface CountDownProps {\n endTime?: string | Date | number;\n}\n\nexport interface CountDown extends WebCell {}\n\n@component({ tagName: 'count-down' })\n@observer\nexport class CountDown extends HTMLElement implements WebCell {\n @attribute\n @observable\n accessor endTime: CountDownProps['endTime'] = Date.now();\n\n @observable\n accessor rest = 0;\n\n @observable\n accessor units: TimeUnit[] = [\n {\n scale: 24,\n label: 'D'\n },\n {\n scale: 60,\n label: 'h'\n },\n {\n scale: 60,\n label: 'm'\n },\n {\n scale: 1000,\n label: 's'\n }\n ];\n\n @computed\n get timeSections() {\n var { rest } = this;\n\n return this.units.reduce((list, { label }, index, units) => {\n const scale = units\n .slice(index)\n .map(({ scale }) => scale)\n .reduce((sum: number, scale: number) => sum * scale, 1);\n\n const value = ~~(rest / scale);\n\n rest -= value * scale;\n\n list.push({ value, label });\n\n return list;\n }, [] as TimeSection[]);\n }\n\n private timer: number;\n\n tick = () => {\n const rest = (this.endTime as number) - Date.now();\n\n if (rest > 0) {\n this.rest = rest;\n\n if (!this.timer) this.timer = self.setInterval(this.tick, 1000);\n } else if (this.timer) clearInterval(this.timer);\n };\n\n mountedCallback() {\n if (typeof this.endTime !== 'number')\n this.endTime = new Date(this.endTime).valueOf();\n\n this.tick();\n }\n\n disconnectedCallback() {\n clearInterval(this.timer);\n }\n\n render() {\n return (\n
      \n {this.timeSections.map(({ value, label }, index) => (\n \n \n {(value + '').padStart(2, '0')}\n {label}\n \n \n ))}\n
    \n );\n }\n}\n","import classNames from 'classnames';\nimport { JsxChildren } from 'dom-renderer';\nimport { computed, observable } from 'mobx';\nimport { WebCell, attribute, component, observer } from 'web-cell';\nimport {\n Day,\n TimeData,\n changeMonth,\n formatDate,\n splitArray\n} from 'web-utility';\n\nimport { Badge } from './Badge';\nimport { Button, ButtonProps } from './Button';\nimport { Table, TableProps } from './Table';\n\nexport interface DateData {\n date: TimeData;\n content: JsxChildren;\n link?: string;\n}\n\nexport interface MonthCalendarProps\n extends Omit,\n Pick {\n locale?: Navigator['language'];\n value?: DateData[];\n onSelect?: (event: CustomEvent) => any;\n onChange?: (event: CustomEvent) => any;\n}\n\nexport interface MonthCalendar extends WebCell {}\n\n@component({ tagName: 'month-calendar' })\n@observer\nexport class MonthCalendar\n extends HTMLElement\n implements WebCell\n{\n @attribute\n @observable\n accessor variant: MonthCalendarProps['variant'] = 'primary';\n\n @attribute\n @observable\n accessor locale: Navigator['language'];\n\n @observable\n accessor value: DateData[] = [];\n\n @computed\n get weekFormatter() {\n const { locale = globalThis.navigator?.language } = this;\n\n return new Intl.DateTimeFormat(locale, { weekday: 'long' });\n }\n\n @observable\n accessor currentDate = new Date();\n\n @computed\n get dateGrid() {\n let startDate = new Date(this.currentDate);\n startDate.setDate(1);\n startDate = new Date(+startDate - startDate.getDay() * Day);\n\n const dateList = Array.from(\n new Array(42),\n (_, index) => new Date(+startDate + index * Day)\n );\n return splitArray(dateList, 7);\n }\n\n changeMonth(delta: number) {\n this.currentDate = changeMonth(this.currentDate, delta);\n\n this.emit('change', this.currentDate);\n }\n\n renderDate = (date: Date) => {\n const { value } = this,\n dateText = formatDate(date, 'YYYY-MM-DD');\n const list = value?.filter(\n ({ date }) => formatDate(date, 'YYYY-MM-DD') === dateText\n );\n\n return (\n \n \n\n {list?.map(item =>\n typeof item.content === 'object' ? (\n item.content\n ) : (\n this.emit('select', item)}\n >\n {item.content}\n \n )\n )}\n \n );\n };\n\n render() {\n const { style, variant, weekFormatter, currentDate, dateGrid } = this;\n\n return (\n \n \n \n \n {dateGrid[0].map((date, index, { length }) => (\n \n {weekFormatter.format(date)}\n \n ))}\n \n \n \n {dateGrid.map(days => (\n {days.map(this.renderDate)}\n ))}\n \n
    \n
    \n this.changeMonth(-1)}\n >\n <\n \n\n {formatDate(currentDate, 'YYYY-MM')}\n\n this.changeMonth(1)}\n >\n >\n \n
    \n
    \n );\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { FC } from 'web-cell';\nimport {\n NavLink,\n NavLinkProps,\n OffcanvasNavbar,\n OffcanvasNavbarProps\n} from 'boot-cell';\n\nexport interface TopNavBarProps extends OffcanvasNavbarProps {\n menu?: NavLinkProps[];\n}\n\nconst OriginalURLPattern = /^(https?|#)/;\n\nexport const TopNavBar: FC = ({ menu, ...rest }) => (\n \n 成都 Web 开发者大会\n \n }\n {...rest}\n >\n {menu?.map(({ title, href, ...rest }) => (\n \n {title}\n \n ))}\n \n);\n","import { TranslationModel } from 'mobx-i18n';\n\nimport zhCN from './zh-CN';\n\nexport const i18n = new TranslationModel({\n 'zh-CN': zhCN,\n 'en-US': () => import('./en-US')\n});\n\nexport const LanguageName: Record<(typeof i18n)['currentLanguage'], string> = {\n 'zh-CN': '简体中文',\n 'en-US': 'English'\n};\n","import {reaction as $42h8L$reaction, observable as $42h8L$observable, computed as $42h8L$computed, action as $42h8L$action} from \"mobx\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\nvar $552a56cc5ff3f479$exports = {};\n\n$parcel$export($552a56cc5ff3f479$exports, \"isNumberLetter\", function () { return $552a56cc5ff3f479$export$df0b442c7f8df5c1; });\n$parcel$export($552a56cc5ff3f479$exports, \"textJoin\", function () { return $552a56cc5ff3f479$export$d977f7cd0cb45fe1; });\n$parcel$export($552a56cc5ff3f479$exports, \"parseCookie\", function () { return $552a56cc5ff3f479$export$d0eaf3e94be578f6; });\n$parcel$export($552a56cc5ff3f479$exports, \"setCookie\", function () { return $552a56cc5ff3f479$export$110700823644f4a6; });\n$parcel$export($552a56cc5ff3f479$exports, \"parseLanguageHeader\", function () { return $552a56cc5ff3f479$export$2557e81a557a81ea; });\nconst $552a56cc5ff3f479$export$df0b442c7f8df5c1 = (raw = \"\")=>new RegExp(\"\\\\p{N}\", \"u\").test(raw) || new RegExp(\"\\\\p{Ll}\", \"u\").test(raw.toLowerCase());\nconst $552a56cc5ff3f479$export$d977f7cd0cb45fe1 = (...parts)=>parts.map((raw, index)=>{\n var _a;\n const isNL = $552a56cc5ff3f479$export$df0b442c7f8df5c1(raw.slice(-1));\n if (index + 1 === parts.length) return raw;\n const diff = isNL !== $552a56cc5ff3f479$export$df0b442c7f8df5c1((_a = parts[index + 1]) === null || _a === void 0 ? void 0 : _a.trim()[0]);\n return raw + (diff || isNL ? \" \" : \"\");\n }).join(\"\");\nconst $552a56cc5ff3f479$export$d0eaf3e94be578f6 = (value = globalThis.document.cookie)=>value ? Object.fromEntries(value.split(/;\\s*/).map((item)=>item.split(\"=\"))) : {};\nfunction $552a56cc5ff3f479$export$110700823644f4a6(key, value, attributes = {}) {\n const data = `${key}=${value}`, option = Object.entries(attributes).map(([key, value])=>typeof value === \"boolean\" ? value ? key : \"\" : `${key}=${value}`).filter(Boolean).join(\"; \");\n document.cookie = `${data}; expires=${new Date(0)}`;\n return document.cookie = `${data}; ${option}`;\n}\nconst $552a56cc5ff3f479$export$2557e81a557a81ea = (value)=>value.split(\",\").map((language)=>{\n const [name, quantity = \"\"] = language.split(\";\");\n const [_, value = \"1\"] = quantity.split(\"=\");\n return [\n name.trim(),\n +value\n ];\n }).sort(([_, a], [__, b])=>b - a).map(([name])=>name);\n\n\nvar $53eb72fe5615c114$var$__runInitializers = undefined && undefined.__runInitializers || function(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for(var i = 0; i < initializers.length; i++)value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n return useValue ? value : void 0;\n};\nvar $53eb72fe5615c114$var$__esDecorate = undefined && undefined.__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for(var i = decorators.length - 1; i >= 0; i--){\n var context = {};\n for(var p in contextIn)context[p] = p === \"access\" ? {} : contextIn[p];\n for(var p in contextIn.access)context.access[p] = contextIn.access[p];\n context.addInitializer = function(f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\nvar $53eb72fe5615c114$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $53eb72fe5615c114$var$__classPrivateFieldGet = undefined && undefined.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $53eb72fe5615c114$var$__classPrivateFieldSet = undefined && undefined.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nlet $53eb72fe5615c114$export$d91823dfc159395b = (()=>{\n var _a, _TranslationModel_loading_accessor_storage, _TranslationModel_currentLanguage_accessor_storage, _TranslationModel_currentMap_accessor_storage;\n let _instanceExtraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _currentLanguage_decorators;\n let _currentLanguage_initializers = [];\n let _currentMap_decorators;\n let _currentMap_initializers = [];\n let _get_defaultMap_decorators;\n let _changeLanguage_decorators;\n return _a = class TranslationModel {\n get loading() {\n return $53eb72fe5615c114$var$__classPrivateFieldGet(this, _TranslationModel_loading_accessor_storage, \"f\");\n }\n set loading(value) {\n $53eb72fe5615c114$var$__classPrivateFieldSet(this, _TranslationModel_loading_accessor_storage, value, \"f\");\n }\n get currentLanguage() {\n return $53eb72fe5615c114$var$__classPrivateFieldGet(this, _TranslationModel_currentLanguage_accessor_storage, \"f\");\n }\n set currentLanguage(value) {\n $53eb72fe5615c114$var$__classPrivateFieldSet(this, _TranslationModel_currentLanguage_accessor_storage, value, \"f\");\n }\n get currentMap() {\n return $53eb72fe5615c114$var$__classPrivateFieldGet(this, _TranslationModel_currentMap_accessor_storage, \"f\");\n }\n set currentMap(value) {\n $53eb72fe5615c114$var$__classPrivateFieldSet(this, _TranslationModel_currentMap_accessor_storage, value, \"f\");\n }\n get defaultMap() {\n return this.configuration[this.defaultLanguage];\n }\n constructor(configuration){\n Object.defineProperty(this, \"configuration\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: ($53eb72fe5615c114$var$__runInitializers(this, _instanceExtraInitializers), configuration)\n });\n _TranslationModel_loading_accessor_storage.set(this, $53eb72fe5615c114$var$__runInitializers(this, _loading_initializers, false));\n Object.defineProperty(this, \"defaultLanguage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n _TranslationModel_currentLanguage_accessor_storage.set(this, $53eb72fe5615c114$var$__runInitializers(this, _currentLanguage_initializers, \"\"));\n _TranslationModel_currentMap_accessor_storage.set(this, $53eb72fe5615c114$var$__runInitializers(this, _currentMap_initializers, {}));\n Object.defineProperty(this, \"t\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.textOf.bind(this)\n });\n for(const name in configuration)if (typeof configuration[name] !== \"function\") this.defaultLanguage = name;\n if (!this.defaultLanguage) throw ReferenceError(\"One static language map is required\");\n if (!globalThis.window) return;\n const languages = [\n (0, $552a56cc5ff3f479$export$d0eaf3e94be578f6)().language,\n ...navigator.languages || [\n this.defaultLanguage\n ]\n ].filter(Boolean);\n this.loadLanguages(languages);\n window.addEventListener(\"languagechange\", ()=>this.changeLanguage(navigator.language));\n }\n onLanguageChange(handler) {\n (0, $42h8L$reaction)(()=>this.currentLanguage, (currentLanguage, lastLanguage)=>{\n if (lastLanguage) handler.call(this, currentLanguage);\n });\n }\n setLanguage(name) {\n var _b;\n this.currentLanguage = name;\n if ((_b = globalThis.document) === null || _b === void 0 ? void 0 : _b.documentElement) (0, $552a56cc5ff3f479$export$110700823644f4a6)(\"language\", document.documentElement.lang = name, {\n path: \"/\"\n });\n }\n changeLanguage(name) {\n return $53eb72fe5615c114$var$__awaiter(this, void 0, void 0, function*() {\n const language = this.configuration[name];\n if (typeof language !== \"function\") {\n this.setLanguage(name);\n return this.currentMap = language;\n }\n this.loading = true;\n const { default: map } = yield language();\n this.loading = false;\n this.setLanguage(name);\n return this.currentMap = this.configuration[name] = map;\n });\n }\n loadLanguages(names) {\n return $53eb72fe5615c114$var$__awaiter(this, void 0, void 0, function*() {\n const languages = Object.keys(this.configuration).sort(({ length: a }, { length: b })=>b - a);\n for (const name of names){\n const language = languages.includes(name) ? name : languages.find((language)=>name.startsWith(language) || language.startsWith(name));\n if (language) try {\n return yield this.changeLanguage(language);\n } catch (_b) {}\n }\n return this.changeLanguage(this.defaultLanguage);\n });\n }\n textOf(key, data) {\n const value = this.currentMap[key] || this.defaultMap[key];\n if (typeof value !== \"function\") return value;\n if (!data) throw ReferenceError(\"Input data is required for Translation Resolver\");\n return value(data);\n }\n }, _TranslationModel_loading_accessor_storage = new WeakMap(), _TranslationModel_currentLanguage_accessor_storage = new WeakMap(), _TranslationModel_currentMap_accessor_storage = new WeakMap(), (()=>{\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _loading_decorators = [\n (0, $42h8L$observable)\n ];\n _currentLanguage_decorators = [\n (0, $42h8L$observable)\n ];\n _currentMap_decorators = [\n (0, $42h8L$observable)\n ];\n _get_defaultMap_decorators = [\n (0, $42h8L$computed)\n ];\n _changeLanguage_decorators = [\n (0, $42h8L$action)\n ];\n $53eb72fe5615c114$var$__esDecorate(_a, null, _loading_decorators, {\n kind: \"accessor\",\n name: \"loading\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"loading\" in obj,\n get: (obj)=>obj.loading,\n set: (obj, value)=>{\n obj.loading = value;\n }\n },\n metadata: _metadata\n }, _loading_initializers, _instanceExtraInitializers);\n $53eb72fe5615c114$var$__esDecorate(_a, null, _currentLanguage_decorators, {\n kind: \"accessor\",\n name: \"currentLanguage\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentLanguage\" in obj,\n get: (obj)=>obj.currentLanguage,\n set: (obj, value)=>{\n obj.currentLanguage = value;\n }\n },\n metadata: _metadata\n }, _currentLanguage_initializers, _instanceExtraInitializers);\n $53eb72fe5615c114$var$__esDecorate(_a, null, _currentMap_decorators, {\n kind: \"accessor\",\n name: \"currentMap\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"currentMap\" in obj,\n get: (obj)=>obj.currentMap,\n set: (obj, value)=>{\n obj.currentMap = value;\n }\n },\n metadata: _metadata\n }, _currentMap_initializers, _instanceExtraInitializers);\n $53eb72fe5615c114$var$__esDecorate(_a, null, _get_defaultMap_decorators, {\n kind: \"getter\",\n name: \"defaultMap\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"defaultMap\" in obj,\n get: (obj)=>obj.defaultMap\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n $53eb72fe5615c114$var$__esDecorate(_a, null, _changeLanguage_decorators, {\n kind: \"method\",\n name: \"changeLanguage\",\n static: false,\n private: false,\n access: {\n has: (obj)=>\"changeLanguage\" in obj,\n get: (obj)=>obj.changeLanguage\n },\n metadata: _metadata\n }, null, _instanceExtraInitializers);\n if (_metadata) Object.defineProperty(_a, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n })(), _a;\n})();\n\n\nexport {$53eb72fe5615c114$export$d91823dfc159395b as TranslationModel, $552a56cc5ff3f479$export$df0b442c7f8df5c1 as isNumberLetter, $552a56cc5ff3f479$export$d977f7cd0cb45fe1 as textJoin, $552a56cc5ff3f479$export$d0eaf3e94be578f6 as parseCookie, $552a56cc5ff3f479$export$110700823644f4a6 as setCookie, $552a56cc5ff3f479$export$2557e81a557a81ea as parseLanguageHeader};\n//# sourceMappingURL=index.esm.js.map\n","import { action, computed, observable, reaction } from 'mobx';\n\nimport { parseCookie, setCookie } from './utility';\n\nexport * from './utility';\n\nexport type TranslationResolver = any> = (\n data: T\n) => string;\n\nexport type TranslationResolverData = T extends TranslationResolver\n ? Parameters[0]\n : never;\n\nexport type TranslationMap = {\n [key in T]: string | TranslationResolver;\n};\n\nexport type TranslationConfiguration<\n N extends string,\n K extends string\n> = Record<\n N,\n TranslationMap | (() => Promise<{ default: TranslationMap }>)\n>;\n\nexport class TranslationModel {\n @observable\n accessor loading = false;\n\n defaultLanguage: Name;\n\n @observable\n accessor currentLanguage = '' as Name;\n\n @observable\n accessor currentMap = {} as TranslationMap;\n\n @computed\n get defaultMap() {\n return this.configuration[this.defaultLanguage] as TranslationMap;\n }\n\n constructor(public configuration: TranslationConfiguration) {\n for (const name in configuration)\n if (typeof configuration[name] !== 'function')\n this.defaultLanguage = name;\n\n if (!this.defaultLanguage)\n throw ReferenceError('One static language map is required');\n\n if (!globalThis.window) return;\n\n const languages = [\n parseCookie().language,\n ...(navigator.languages || [this.defaultLanguage])\n ].filter(Boolean);\n\n this.loadLanguages(languages);\n\n window.addEventListener('languagechange', () =>\n this.changeLanguage(navigator.language as Name)\n );\n }\n\n onLanguageChange(handler: (language: Name) => any) {\n reaction(\n () => this.currentLanguage,\n (currentLanguage, lastLanguage) => {\n if (lastLanguage) handler.call(this, currentLanguage);\n }\n );\n }\n\n protected setLanguage(name: Name) {\n this.currentLanguage = name;\n\n if (globalThis.document?.documentElement)\n setCookie('language', (document.documentElement.lang = name), {\n path: '/'\n });\n }\n\n @action\n async changeLanguage(name: Name) {\n const language = this.configuration[name];\n\n if (typeof language !== 'function') {\n this.setLanguage(name);\n\n return (this.currentMap = language as TranslationMap);\n }\n this.loading = true;\n\n const { default: map } = await language();\n\n this.loading = false;\n\n this.setLanguage(name);\n\n return (this.currentMap = this.configuration[name] = map);\n }\n\n async loadLanguages(names: string[]) {\n const languages = Object.keys(this.configuration).sort(\n ({ length: a }, { length: b }) => b - a\n );\n\n for (const name of names) {\n const language = languages.includes(name)\n ? name\n : languages.find(\n language =>\n name.startsWith(language) || language.startsWith(name)\n );\n if (language)\n try {\n return await this.changeLanguage(language as Name);\n } catch {}\n }\n return this.changeLanguage(this.defaultLanguage);\n }\n\n textOf(\n key: K,\n data?: TranslationResolverData[K]>\n ): string {\n const value = this.currentMap[key] || this.defaultMap[key];\n\n if (typeof value !== 'function') return value;\n\n if (!data)\n throw ReferenceError(\n 'Input data is required for Translation Resolver'\n );\n return value(data);\n }\n\n t = this.textOf.bind(this) as TranslationModel['textOf'];\n}\n","export const isNumberLetter = (raw = '') =>\n new RegExp('\\\\p{N}', 'u').test(raw) ||\n new RegExp('\\\\p{Ll}', 'u').test(raw.toLowerCase());\n\nexport const textJoin = (...parts: string[]) =>\n parts\n .map((raw, index) => {\n const isNL = isNumberLetter(raw.slice(-1));\n\n if (index + 1 === parts.length) return raw;\n\n const diff = isNL !== isNumberLetter(parts[index + 1]?.trim()[0]);\n\n return raw + (diff || isNL ? ' ' : '');\n })\n .join('');\n\nexport const parseCookie = >(\n value = globalThis.document.cookie\n): T =>\n value\n ? Object.fromEntries(value.split(/;\\s*/).map(item => item.split('=')))\n : {};\n\nexport interface CookieAttribute {\n domain?: string;\n path?: string;\n expires?: Date;\n 'max-age'?: number;\n samesite?: 'lax' | 'strict' | 'none';\n secure?: boolean;\n partitioned?: boolean;\n}\n\nexport function setCookie(\n key: string,\n value: string,\n attributes: CookieAttribute = {}\n) {\n const data = `${key}=${value}`,\n option = Object.entries(attributes)\n .map(([key, value]) =>\n typeof value === 'boolean'\n ? value\n ? key\n : ''\n : `${key}=${value}`\n )\n .filter(Boolean)\n .join('; ');\n\n document.cookie = `${data}; expires=${new Date(0)}`;\n\n return (document.cookie = `${data}; ${option}`);\n}\n\nexport const parseLanguageHeader = (value: string) =>\n value\n .split(',')\n .map(language => {\n const [name, quantity = ''] = language.split(';');\n const [_, value = '1'] = quantity.split('=');\n\n return [name.trim(), +value] as const;\n })\n .sort(([_, a], [__, b]) => b - a)\n .map(([name]) => name);\n","export default {\n review: '回顾',\n register: '注册'\n} as const;\n",".card {\n min-width: 20rem;\n max-width: 20rem;\n @media (max-width: 991px) {\n min-width: 100%;\n max-width: 100%;\n }\n transition: 0.25s;\n &:hover {\n transform: scale(1.1);\n }\n img {\n height: 15rem;\n @media (min-width: 992px) and (max-width: 1200px) {\n height: 12rem;\n }\n @media (max-width: 991px) {\n height: auto;\n }\n }\n}\n","import WeChat_QRC from '../image/FCC-CDG-WeChat.png';\nimport { wechatLogo as banner_2017 } from './2017/image';\nimport gallery_Code4City from './2018-Code4City/image/gallery';\nimport banner_2018_React from './2018-React/React-ChengDu.jpg';\nimport { FCC_CDC, poster as banner_2018 } from './2018/image';\nimport banner_2019 from './2019/data/banner.jpg';\n\nexport const common_menu = [\n { title: '主办方简介', href: 'community' },\n { title: '全国 IT 活动', href: 'activity' }\n];\n\nexport const summits = [\n {\n title: 'COSCon’20(中国开源年会)成都分会场',\n date: '2020-10-24',\n URL: 'https://fcc-cd.dev/activity/conference/coscon-2020-chengdu/',\n banner: 'https://ows.blob.core.chinacloudapi.cn/files/assets/COS_Con_20_abaa9e2a66.png'\n },\n {\n title: '2019 成都 Web 全栈大会',\n date: '2019-11-16',\n URL: '2019/',\n banner: banner_2019\n },\n {\n title: '2018 成都 Web 前端大会',\n date: '2018-11-10',\n URL: '2018/',\n banner: banner_2018\n },\n {\n title: '2018 重庆 Web 前端大会',\n date: '2018-08-18',\n URL: 'https://fcc-cd.dev/activity/conference/web-fe-conf-chongqing-2018/',\n banner: 'http://wimg.huodongxing.com/logo/201807/9450206156400/123133704540930_v2.jpg@!wmlogo'\n },\n {\n title: '2018 成都 React 技术大会',\n date: '2018-03-31',\n URL: 'https://ppt.baomitu.com/conference/60',\n banner: banner_2018_React\n },\n {\n title: '新耀杯 Code for City 黑客马拉松',\n date: '2018-01-20',\n URL: '2018/Code4City/',\n banner: gallery_Code4City[0]\n },\n {\n title: '2017 成都 Web 前端大会',\n date: '2017-11-19',\n URL: '2017/',\n banner: banner_2017\n }\n].sort(({ date: A }, { date: B }) => +new Date(B) - +new Date(A));\n\nconst { date: first } = summits.slice(-1)[0],\n { date: last } = summits[0];\n\nconst years = Math.ceil(+last.slice(0, 4) - +first.slice(0, 4)) + 1;\n\nexport const features = [\n {\n title: '秉持 freeCodeCamp 国际社区精神',\n summary:\n 'freeCodeCamp.org 全球最大的开源编程学习平台(GitHub 星标前十),旨在成为计算机教育界的维基百科',\n logo: 'https://github.com/freeCodeCamp.png'\n },\n {\n title: '引领 freeCodeCamp 中文社区潮流',\n summary:\n '第一个制定日常活动方针,第一个设计城市社区 logo、吉祥物,第一个举办黑客马拉松、技术大会,第一个试验开源线下运营',\n logo: 'https://github.com/freeCodeCamp-China.png'\n },\n {\n title: '成都最活跃的程序员社区',\n summary: `${years} 年连办 ${summits.length} 场技术干货大会,合办活动、中小分享会、动手训练营、线上直播不计其数`,\n logo: FCC_CDC\n },\n {\n title: '中文技术社区友军众多',\n summary:\n '开源社、开源工场、微软 MVP 社区、成都 Google 开发者社区、阿里云 ACE 成都同城会、成都 Linux 用户组、重庆前端社区……',\n logo: 'https://i0.wp.com/opensource.org/wp-content/uploads/2009/06/osi_symbol.png?w=628&ssl=1'\n },\n {\n title: '更多精彩,期待你的参与……',\n summary: '',\n logo: WeChat_QRC\n }\n];\n","import address from './address.jpeg';\nimport banner from './banner.jpeg';\nimport groupManager from './groupManager.jpeg';\nimport qrcode from './qrcode.jpeg';\nimport wechatLogo from './wechatLogo.jpeg';\nimport guests from './guests';\n\nexport { guests, address, banner, groupManager, qrcode, wechatLogo };\n","module.exports = new __parcel__URL__(\"address.2d45661a.jpeg\").toString();","module.exports = new __parcel__URL__(\"banner.d2590421.jpeg\").toString();","module.exports = new __parcel__URL__(\"groupManager.fe1f2f18.jpeg\").toString();","module.exports = new __parcel__URL__(\"qrcode.000ea267.jpeg\").toString();","module.exports = new __parcel__URL__(\"wechatLogo.0a5f129f.jpeg\").toString();","import guest0 from './guest0.jpeg';\nimport guest1 from './guest1.jpeg';\nimport guest2 from './guest2.jpeg';\nimport guest3 from './guest3.jpeg';\nimport guest4 from './guest4.jpeg';\nimport guest5 from './guest5.jpeg';\nimport guest6 from './guest6.jpeg';\nimport guest7 from './guest7.jpeg';\n\nexport default [guest0, guest1, guest2, guest3, guest4, guest5, guest6, guest7];\n","module.exports = new __parcel__URL__(\"guest0.4d4bc1b3.jpeg\").toString();","module.exports = new __parcel__URL__(\"guest1.2a8b98da.jpeg\").toString();","module.exports = new __parcel__URL__(\"guest2.00af3133.jpeg\").toString();","module.exports = new __parcel__URL__(\"guest3.5816bb0c.jpeg\").toString();","module.exports = new __parcel__URL__(\"guest4.34a81f15.jpeg\").toString();","module.exports = new __parcel__URL__(\"guest5.b6b6c69f.jpeg\").toString();","module.exports = new __parcel__URL__(\"guest6.1ee21076.jpeg\").toString();","module.exports = new __parcel__URL__(\"guest7.ea35a4b4.jpeg\").toString();","import photo_0 from './0.png';\nimport photo_1 from './1.jpg';\nimport photo_2 from './2.jpg';\nimport photo_3 from './3.jpg';\nimport photo_4 from './4.jpg';\nimport photo_5 from './5.jpg';\nimport photo_6 from './6.jpg';\nimport photo_7 from './7.jpg';\n\nexport default [\n photo_0,\n photo_1,\n photo_2,\n photo_3,\n photo_4,\n photo_5,\n photo_6,\n photo_7\n];\n","module.exports = new __parcel__URL__(\"0.54f08dac.png\").toString();","module.exports = new __parcel__URL__(\"1.8361e329.jpg\").toString();","module.exports = new __parcel__URL__(\"2.79b033bd.jpg\").toString();","module.exports = new __parcel__URL__(\"3.334bb513.jpg\").toString();","module.exports = new __parcel__URL__(\"4.ae5bc98e.jpg\").toString();","module.exports = new __parcel__URL__(\"5.b660aa49.jpg\").toString();","module.exports = new __parcel__URL__(\"6.60aeccfe.jpg\").toString();","module.exports = new __parcel__URL__(\"7.6b53a2b5.jpg\").toString();","module.exports = new __parcel__URL__(\"React-ChengDu.10342ab9.jpg\").toString();","export { default as poster } from './poster.png';\nexport { default as undraw_01 } from './undraw_01.png';\nexport { default as undraw_04 } from './undraw_04.png';\n\nexport const FCC_CDC = 'https://fcc-cd.dev/images/FCC-CDC-v1-0.png';\n","module.exports = new __parcel__URL__(\"poster.367bcd76.png\").toString();","module.exports = new __parcel__URL__(\"undraw_01.18599e8b.png\").toString();","module.exports = new __parcel__URL__(\"undraw_04.d9b38312.png\").toString();","module.exports = new __parcel__URL__(\"banner.c8e98b18.jpg\").toString();","import { FC } from 'web-cell';\nimport { Image } from 'boot-cell';\nimport { PageProps } from 'cell-router';\n\nimport { TopNavBar, Feature } from '../component';\nimport { common_menu, features } from './data';\nimport { FCC_CDC } from './2018/image';\n\nexport const CommunityPage: FC = props => (\n
    \n \n \n \n

    成都社区

    \n \n\n
    \n {features.map((item, index) => (\n <>\n \n\n {index + 1 < features.length &&
    }\n \n ))}\n
    \n
    \n);\n","export * from './TopNavBar';\nexport * from './Feature';\nexport * from './SessionBox';\n","import { JsxChildren } from 'dom-renderer';\nimport { FC } from 'web-cell';\nimport classNames from 'classnames';\nimport { Image } from 'boot-cell';\n\nimport * as style from './Feature.module.less';\n\nexport interface FeatureProps extends Record<'title' | 'summary', JsxChildren> {\n reverse?: boolean;\n logo: string;\n}\n\nexport const Feature: FC = ({\n reverse,\n title,\n summary,\n logo\n}) => (\n
    \n
    \n

    {title}

    \n

    {summary}

    \n
    \n
    \n \n
    \n
    \n);\n",".heading {\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.05rem;\n @media (min-width: 40em) {\n font-size: 50px;\n }\n @media (min-width: 62em) {\n margin-top: 7rem;\n }\n}\n","import { WebCell, attribute, component, observer } from 'web-cell';\nimport { observable } from 'mobx';\nimport { InputGroup, FormControl, Button } from 'boot-cell';\n\nimport { session } from '../model';\n\nexport interface SessionBox extends WebCell {}\n\n@component({\n tagName: 'session-box',\n mode: 'open'\n})\n@observer\nexport class SessionBox extends HTMLElement implements WebCell {\n @attribute\n @observable\n accessor countDown = 0;\n\n connectedCallback() {\n session.getProfile();\n }\n\n handleSMSCode = () => {\n this.countDown = 60;\n\n const timer = setInterval(\n () => --this.countDown! || clearInterval(timer),\n 1000\n ),\n { elements } = this.firstElementChild as HTMLFormElement;\n\n return session.sendSMSCode(\n (elements.namedItem('phone') as HTMLInputElement).value\n );\n };\n\n handleSignIn = (event: Event) => {\n event.preventDefault();\n\n const form = new FormData(event.target as HTMLFormElement);\n\n return session.signIn(\n form.get('phone') as string,\n form.get('code') as string\n );\n };\n\n renderForm() {\n const { countDown } = this;\n\n return (\n \n

    参会者登录

    \n\n \n \n \n\n \n \n \n {countDown ? countDown + 's' : '获取'}\n \n \n\n \n 登录\n \n \n );\n }\n\n render() {\n return (\n <>\n \n {session.user ? : this.renderForm()}\n \n );\n }\n}\n","import { Session } from './App';\nimport { ActivityModel } from './Activity';\n\nexport * from './Activity';\n\nexport const session = new Session();\nexport const activity = new ActivityModel();\n","import { HTTPError } from 'koajax';\nimport { observable } from 'mobx';\n\nimport { DataItem, client } from './service';\n\nexport interface User extends DataItem, Record<'username' | 'gender', string> {\n mobilePhoneNumber?: string;\n}\n\nexport class Session {\n @observable\n accessor user: User | undefined;\n\n async getProfile() {\n try {\n const { body } = await client.get('/session/');\n\n return (this.user = body);\n } catch (error) {\n if ((error as HTTPError).status !== 401) throw error;\n }\n }\n\n sendSMSCode(phone: string) {\n return client.post('/session/smsCode', { phone });\n }\n\n async signIn(phone: string, code: string) {\n const { body } = await client.post('/session/', { phone, code });\n\n return (this.user = body);\n }\n}\n","import { HTTPClient } from 'koajax';\n\nexport const client = new HTTPClient({\n baseURI:\n window.location.hostname === 'localhost'\n ? 'http://localhost:3000'\n : 'https://web-conf.leanapp.cn',\n responseType: 'json',\n withCredentials: true\n});\n\nexport type DataItem = Record<'objectId' | 'createdAt' | 'updatedAt', string>;\n","import {Observable as $42h8L$Observable} from \"iterable-observer\";\nimport {parseJSON as $42h8L$parseJSON, sleep as $42h8L$sleep, likeArray as $42h8L$likeArray, stringifyDOM as $42h8L$stringifyDOM, formToJSON as $42h8L$formToJSON, isTypedArray as $42h8L$isTypedArray} from \"web-utility\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $eef213ff4197108b$exports = {};\n\n$parcel$export($eef213ff4197108b$exports, \"Stack\", function () { return $eef213ff4197108b$export$694e0d28c7ffc90c; });\nconst { push: $eef213ff4197108b$var$push } = Array.prototype;\nclass $eef213ff4197108b$export$694e0d28c7ffc90c {\n use(...middlewares) {\n $eef213ff4197108b$var$push.apply(this, middlewares);\n return this;\n }\n execute(context, depth = 0) {\n const middleware = this[depth];\n if (middleware instanceof Function) return middleware(context, this.execute.bind(this, context, ++depth));\n }\n mount(condition, stack) {\n return this.use((context, next)=>condition(context) ? stack.execute(context) : next());\n }\n constructor(){\n this.length = 0;\n }\n}\n\n\nvar $0fe1f1400993ba8a$exports = {};\n\n$parcel$export($0fe1f1400993ba8a$exports, \"BodyRequestMethods\", function () { return $0fe1f1400993ba8a$export$4125cfe7e08e2040; });\n$parcel$export($0fe1f1400993ba8a$exports, \"HTTPError\", function () { return $0fe1f1400993ba8a$export$aa9d629c530f62a7; });\n$parcel$export($0fe1f1400993ba8a$exports, \"headerParser\", function () { return $0fe1f1400993ba8a$export$b725a69477e4d33f; });\n$parcel$export($0fe1f1400993ba8a$exports, \"parseHeaders\", function () { return $0fe1f1400993ba8a$export$eea2c1c5e1a37e50; });\n$parcel$export($0fe1f1400993ba8a$exports, \"parseBody\", function () { return $0fe1f1400993ba8a$export$3b629cd0ff482602; });\n$parcel$export($0fe1f1400993ba8a$exports, \"requestXHR\", function () { return $0fe1f1400993ba8a$export$4f2a8c8c11a6373a; });\n$parcel$export($0fe1f1400993ba8a$exports, \"requestFetch\", function () { return $0fe1f1400993ba8a$export$bda27a3e49197b9; });\n$parcel$export($0fe1f1400993ba8a$exports, \"request\", function () { return $0fe1f1400993ba8a$export$b5fe3f66a567bec0; });\n\n\nvar $22de11b45b0eeb97$exports = {};\n\n$parcel$export($22de11b45b0eeb97$exports, \"parseDocument\", function () { return $22de11b45b0eeb97$export$b6a9369736b19f4d; });\n$parcel$export($22de11b45b0eeb97$exports, \"makeFormData\", function () { return $22de11b45b0eeb97$export$2c28ab2e118e73f1; });\n$parcel$export($22de11b45b0eeb97$exports, \"serializeNode\", function () { return $22de11b45b0eeb97$export$a0beee2e55fb5dd1; });\n$parcel$export($22de11b45b0eeb97$exports, \"serialize\", function () { return $22de11b45b0eeb97$export$dfdc1655ccc5b9cb; });\n$parcel$export($22de11b45b0eeb97$exports, \"readAs\", function () { return $22de11b45b0eeb97$export$e209cbb66c5b18c; });\n\n\nasync function $22de11b45b0eeb97$export$b6a9369736b19f4d(text, contentType = \"\") {\n const [type] = contentType?.split(\";\") || [];\n return new DOMParser().parseFromString(text, type || \"text/html\");\n}\nfunction $22de11b45b0eeb97$export$2c28ab2e118e73f1(data) {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)){\n const list = typeof value !== \"string\" && (0, $42h8L$likeArray)(value) ? value : [\n value\n ];\n for (const item of Array.from(list))if (item != null) {\n if (typeof item === \"object\") formData.append(key, item, item.name);\n else formData.append(key, item);\n }\n }\n return formData;\n}\nfunction $22de11b45b0eeb97$export$a0beee2e55fb5dd1(root) {\n var contentType;\n if (!(root instanceof HTMLFormElement)) return {\n contentType: root instanceof SVGElement ? \"image/svg\" : root instanceof HTMLDocument || root instanceof HTMLElement ? \"text/html\" : \"application/xml\",\n data: (0, $42h8L$stringifyDOM)(root)\n };\n if (root.querySelector('input[type=\"file\"][name]')) return {\n contentType: \"multipart/form-data\",\n data: new FormData(root)\n };\n const data = (0, $42h8L$formToJSON)(root);\n switch(contentType = root.enctype){\n case \"text/plain\":\n return {\n contentType: contentType,\n data: Object.entries(data).map(([name, value])=>`${name}=${value}`).join(\"\\n\")\n };\n case \"application/x-www-form-urlencoded\":\n return {\n contentType: contentType,\n data: new URLSearchParams(data) + \"\"\n };\n default:\n return {\n contentType: \"application/json\",\n data: JSON.stringify(data)\n };\n }\n}\nfunction $22de11b45b0eeb97$export$dfdc1655ccc5b9cb(data, contentType) {\n const [type] = contentType?.split(\";\") || [];\n switch(type){\n case \"application/x-www-form-urlencoded\":\n return {\n contentType: contentType,\n data: new URLSearchParams(data)\n };\n case \"multipart/form-data\":\n return {\n data: $22de11b45b0eeb97$export$2c28ab2e118e73f1(data)\n };\n case \"application/json\":\n return {\n contentType: contentType,\n data: JSON.stringify(data)\n };\n case \"text/html\":\n case \"application/xml\":\n case \"image/svg\":\n return {\n contentType: contentType,\n data: (0, $42h8L$stringifyDOM)(data)\n };\n }\n if (type) return {\n data: data,\n contentType: contentType\n };\n try {\n if (data instanceof URLSearchParams) return {\n contentType: \"application/x-www-form-urlencoded\",\n data: data\n };\n } catch {}\n try {\n if (data instanceof FormData) return {\n data: data\n };\n } catch {}\n try {\n if (data instanceof Node) return $22de11b45b0eeb97$export$a0beee2e55fb5dd1(data);\n } catch {}\n try {\n if ((0, $42h8L$isTypedArray)(data) || data instanceof ArrayBuffer || data instanceof DataView || data instanceof Blob || data instanceof ReadableStream) return {\n contentType: \"application/octet-stream\",\n data: data\n };\n } catch {}\n try {\n return {\n contentType: \"application/json\",\n data: JSON.stringify(data)\n };\n } catch {}\n throw new Error(\"Unserialized Object needs a specific Content-Type\");\n}\nvar $22de11b45b0eeb97$var$FileMethod;\n(function(FileMethod) {\n FileMethod[\"text\"] = \"readAsText\";\n FileMethod[\"dataURL\"] = \"readAsDataURL\";\n FileMethod[\"binaryString\"] = \"readAsBinaryString\";\n FileMethod[\"arrayBuffer\"] = \"readAsArrayBuffer\";\n})($22de11b45b0eeb97$var$FileMethod || ($22de11b45b0eeb97$var$FileMethod = {}));\nfunction $22de11b45b0eeb97$export$e209cbb66c5b18c(file, method, encoding) {\n const reader = new FileReader();\n return {\n progress: (0, $42h8L$Observable).fromEvent(reader, \"progress\"),\n result: new Promise((resolve, reject)=>{\n reader.onerror = reject;\n reader.onload = ()=>resolve(reader.result);\n reader[$22de11b45b0eeb97$var$FileMethod[method]](file, encoding);\n })\n };\n}\n\n\nvar $0fe1f1400993ba8a$export$4125cfe7e08e2040;\n(function(BodyRequestMethods) {\n BodyRequestMethods[\"POST\"] = \"POST\";\n BodyRequestMethods[\"PUT\"] = \"PUT\";\n BodyRequestMethods[\"PATCH\"] = \"PATCH\";\n BodyRequestMethods[\"DELETE\"] = \"DELETE\";\n})($0fe1f1400993ba8a$export$4125cfe7e08e2040 || ($0fe1f1400993ba8a$export$4125cfe7e08e2040 = {}));\nclass $0fe1f1400993ba8a$export$aa9d629c530f62a7 extends URIError {\n constructor(message, response){\n super(message);\n Object.assign(this, response);\n }\n}\nconst $0fe1f1400993ba8a$export$b725a69477e4d33f = {\n Link: (value)=>Object.fromEntries(Array.from(value.matchAll(/<(\\S+?)>; rel=\"(\\w+)\"(?:; title=\"(.*?)\")?/g), ([_, URI, rel, title])=>[\n rel,\n {\n rel: rel,\n URI: URI,\n title: title\n }\n ]))\n};\nconst $0fe1f1400993ba8a$export$eea2c1c5e1a37e50 = (raw)=>Object.fromEntries(Array.from(raw.trim().matchAll(/^([\\w-]+):\\s*(.*)/gm), ([_, key, value])=>{\n key = key.replace(/(^[a-z]|-[a-z])/g, (char)=>char.toUpperCase());\n return [\n key,\n $0fe1f1400993ba8a$export$b725a69477e4d33f[key]?.(value) ?? value\n ];\n }));\nfunction $0fe1f1400993ba8a$export$3b629cd0ff482602(raw, contentType) {\n if (contentType.includes(\"text\")) return raw;\n if (contentType.includes(\"json\")) return (0, $42h8L$parseJSON)(raw);\n if (contentType.match(/html|xml/)) try {\n return (0, $22de11b45b0eeb97$export$b6a9369736b19f4d)(raw, contentType);\n } catch {}\n return new TextEncoder().encode(raw).buffer;\n}\nfunction $0fe1f1400993ba8a$export$4f2a8c8c11a6373a({ method: method = \"GET\", path: path, headers: headers = {}, body: body, ...rest }) {\n const request = new XMLHttpRequest(), header_list = headers instanceof Array ? headers : headers?.[Symbol.iterator] instanceof Function ? [\n ...headers\n ] : Object.entries(headers);\n const response = new Promise((resolve, reject)=>{\n request.onload = ()=>resolve({\n status: request.status,\n statusText: request.statusText,\n headers: $0fe1f1400993ba8a$export$eea2c1c5e1a37e50(request.getAllResponseHeaders()),\n body: request.response || request.responseText\n });\n request.onerror = request.ontimeout = reject;\n request.open(method, path + \"\");\n for (const [key, value] of header_list)request.setRequestHeader(key, value);\n Object.assign(request, rest);\n request.send(body);\n }).then(({ body: body, ...meta })=>{\n const contentType = request.getResponseHeader(\"Content-Type\") || \"\";\n if (typeof body === \"string\" && !contentType.includes(\"text\")) body = $0fe1f1400993ba8a$export$3b629cd0ff482602(body, contentType);\n return {\n ...meta,\n body: body\n };\n });\n return {\n response: response,\n upload: (0, $42h8L$Observable).fromEvent(request.upload, \"progress\"),\n download: (0, $42h8L$Observable).fromEvent(request, \"progress\")\n };\n}\nasync function $0fe1f1400993ba8a$export$bda27a3e49197b9({ path: path, method: method, headers: headers, withCredentials: withCredentials, body: body, timeout: timeout, responseType: responseType }) {\n const controller = timeout ? new AbortController() : undefined;\n const timer = timeout && (0, $42h8L$sleep)(timeout / 1000).then(()=>{\n controller.abort();\n throw new RangeError(\"Timed out\");\n });\n headers = headers instanceof Headers ? Object.fromEntries(headers.entries()) : headers instanceof Array ? Object.fromEntries(headers) : headers;\n headers = responseType === \"text\" ? {\n ...headers,\n Accept: \"text/plain\"\n } : responseType === \"json\" ? {\n ...headers,\n Accept: \"application/json\"\n } : responseType === \"document\" ? {\n ...headers,\n Accept: \"text/html, application/xhtml+xml, application/xml\"\n } : responseType === \"arraybuffer\" || responseType === \"blob\" ? {\n ...headers,\n Accept: \"application/octet-stream\"\n } : headers;\n const fetchResult = fetch(path + \"\", {\n method: method,\n headers: headers,\n credentials: withCredentials ? \"include\" : \"omit\",\n body: body,\n signal: controller?.signal\n });\n const response = await (timer ? Promise.race([\n timer,\n fetchResult\n ]) : fetchResult);\n const header = $0fe1f1400993ba8a$export$eea2c1c5e1a37e50([\n ...response.headers\n ].map(([key, value])=>`${key}: ${value}`).join(\"\\n\"));\n if (response.status !== 204) try {\n var contentType = response.headers.get(\"Content-Type\") || \"\", backup = response.clone();\n var data = await (responseType === \"text\" ? response.text() : responseType === \"document\" ? (0, $22de11b45b0eeb97$export$b6a9369736b19f4d)(await response.text(), contentType) : responseType === \"json\" ? response.json() : responseType === \"arraybuffer\" ? response.arrayBuffer() : response.blob());\n } catch {\n const text = await backup.text();\n var data = $0fe1f1400993ba8a$export$3b629cd0ff482602(text, contentType);\n }\n return {\n status: response.status,\n statusText: response.statusText,\n headers: header,\n body: data\n };\n}\nfunction $0fe1f1400993ba8a$export$b5fe3f66a567bec0(options) {\n return typeof globalThis.XMLHttpRequest === \"function\" ? $0fe1f1400993ba8a$export$4f2a8c8c11a6373a(options) : {\n response: $0fe1f1400993ba8a$export$bda27a3e49197b9(options)\n };\n}\n\n\nvar $cbd22d3323bef9ca$exports = {};\n\n$parcel$export($cbd22d3323bef9ca$exports, \"HTTPClient\", function () { return $cbd22d3323bef9ca$export$45cf759b359d3d24; });\n\n\n\nconst { splice: $cbd22d3323bef9ca$var$splice } = Array.prototype;\nclass $cbd22d3323bef9ca$export$45cf759b359d3d24 extends (0, $eef213ff4197108b$export$694e0d28c7ffc90c) {\n constructor({ baseURI: baseURI = globalThis.document?.baseURI, ...options } = {}){\n super();\n this.defaultWare = async ({ request: request, response: response }, next)=>{\n const { method: method = \"GET\", headers: headers = {}, body: body } = request;\n if (method in (0, $0fe1f1400993ba8a$export$4125cfe7e08e2040) && body && typeof body === \"object\") {\n const { contentType: contentType, data: data } = (0, $22de11b45b0eeb97$export$dfdc1655ccc5b9cb)(body, headers[\"Content-Type\"]);\n if (contentType) headers[\"Content-Type\"] = contentType;\n request.body = data;\n }\n await next();\n if (response.status > 299) throw new (0, $0fe1f1400993ba8a$export$aa9d629c530f62a7)(response.statusText, response);\n };\n this.baseURI = baseURI, this.options = options;\n super.use(this.defaultWare);\n super.use(async ({ request: data, response: response })=>{\n data.path = new URL(data.path + \"\", this.baseURI) + \"\";\n Object.assign(response, await (0, $0fe1f1400993ba8a$export$b5fe3f66a567bec0)({\n ...options,\n ...data\n }).response);\n });\n }\n use(...middlewares) {\n $cbd22d3323bef9ca$var$splice.call(this, -2, 0, ...middlewares);\n return this;\n }\n async request(data) {\n const context = {\n request: {\n ...data,\n headers: {\n ...data.headers\n }\n },\n response: {}\n };\n await this.execute(context);\n return context.response;\n }\n async head(path, headers) {\n const { headers: data } = await this.request({\n method: \"HEAD\",\n path: path,\n headers: headers\n });\n return data;\n }\n get(path, headers) {\n return this.request({\n method: \"GET\",\n path: path,\n headers: headers\n });\n }\n post(path, body, headers) {\n return this.request({\n method: \"POST\",\n path: path,\n headers: headers,\n body: body\n });\n }\n put(path, body, headers) {\n return this.request({\n method: \"PUT\",\n path: path,\n headers: headers,\n body: body\n });\n }\n patch(path, body, headers) {\n return this.request({\n method: \"PATCH\",\n path: path,\n headers: headers,\n body: body\n });\n }\n delete(path, body, headers) {\n return this.request({\n method: \"DELETE\",\n path: path,\n headers: headers,\n body: body\n });\n }\n}\n\n\n\n\n\nexport {$eef213ff4197108b$export$694e0d28c7ffc90c as Stack, $0fe1f1400993ba8a$export$4125cfe7e08e2040 as BodyRequestMethods, $0fe1f1400993ba8a$export$aa9d629c530f62a7 as HTTPError, $0fe1f1400993ba8a$export$b725a69477e4d33f as headerParser, $0fe1f1400993ba8a$export$eea2c1c5e1a37e50 as parseHeaders, $0fe1f1400993ba8a$export$3b629cd0ff482602 as parseBody, $0fe1f1400993ba8a$export$4f2a8c8c11a6373a as requestXHR, $0fe1f1400993ba8a$export$bda27a3e49197b9 as requestFetch, $0fe1f1400993ba8a$export$b5fe3f66a567bec0 as request, $cbd22d3323bef9ca$export$45cf759b359d3d24 as HTTPClient, $22de11b45b0eeb97$export$b6a9369736b19f4d as parseDocument, $22de11b45b0eeb97$export$2c28ab2e118e73f1 as makeFormData, $22de11b45b0eeb97$export$a0beee2e55fb5dd1 as serializeNode, $22de11b45b0eeb97$export$dfdc1655ccc5b9cb as serialize, $22de11b45b0eeb97$export$e209cbb66c5b18c as readAs};\n//# sourceMappingURL=index.esm.js.map\n","export * from './Stack';\nexport * from './HTTPRequest';\nexport * from './HTTPClient';\nexport * from './utility';\n","const { push } = Array.prototype;\n\nexport type Middleware = (\n context: C,\n next: () => Promise\n) => Promise | any;\n\nexport class Stack {\n length = 0;\n\n use(...middlewares: Middleware[]) {\n push.apply(this, middlewares);\n\n return this;\n }\n\n execute(context?: C, depth = 0) {\n const middleware: Middleware | undefined = this[depth];\n\n if (middleware instanceof Function)\n return middleware(\n context,\n this.execute.bind(this, context, ++depth)\n );\n }\n\n mount(condition: (context: C) => boolean, stack: Stack) {\n return this.use((context, next) =>\n condition(context) ? stack.execute(context) : next()\n );\n }\n}\n","import { Observable } from 'iterable-observer';\nimport { parseJSON, sleep } from 'web-utility';\nimport { parseDocument } from './utility';\n\nexport enum BodyRequestMethods {\n POST = 'POST',\n PUT = 'PUT',\n PATCH = 'PATCH',\n DELETE = 'DELETE'\n}\n\nexport interface RequestOptions {\n withCredentials?: boolean;\n timeout?: number;\n responseType?: XMLHttpRequestResponseType;\n}\n\nexport interface Request extends RequestOptions {\n method?: 'HEAD' | 'GET' | keyof typeof BodyRequestMethods;\n path: string | URL;\n headers?: HeadersInit;\n body?: BodyInit | HTMLFormElement | any;\n}\n\nexport interface Response {\n status: number;\n statusText: string;\n headers: Record;\n body?: B;\n}\n\nexport class HTTPError extends URIError {\n status: number;\n statusText: string;\n headers: Response['headers'];\n body?: B;\n\n constructor(message: string, response: Response) {\n super(message);\n\n Object.assign(this, response);\n }\n}\n\nexport type LinkHeader = Record<\n string,\n {\n URI: string;\n rel: string;\n title?: string;\n }\n>;\n\nexport const headerParser = {\n Link: (value: string): LinkHeader =>\n Object.fromEntries(\n Array.from(\n value.matchAll(/<(\\S+?)>; rel=\"(\\w+)\"(?:; title=\"(.*?)\")?/g),\n ([_, URI, rel, title]) => [rel, { rel, URI, title }]\n )\n )\n};\n\nexport const parseHeaders = (raw: string): Response['headers'] =>\n Object.fromEntries(\n Array.from(\n raw.trim().matchAll(/^([\\w-]+):\\s*(.*)/gm),\n ([_, key, value]) => {\n key = key.replace(/(^[a-z]|-[a-z])/g, char =>\n char.toUpperCase()\n );\n return [key, headerParser[key]?.(value) ?? value];\n }\n )\n );\nexport function parseBody(raw: string, contentType: string): T {\n if (contentType.includes('text')) return raw as T;\n\n if (contentType.includes('json')) return parseJSON(raw);\n\n if (contentType.match(/html|xml/))\n try {\n return parseDocument(raw, contentType) as T;\n } catch {}\n\n return new TextEncoder().encode(raw).buffer as T;\n}\n\nexport interface RequestResult {\n response: Promise>;\n upload?: Observable;\n download?: Observable;\n}\n\nexport function requestXHR({\n method = 'GET',\n path,\n headers = {},\n body,\n ...rest\n}: Request): RequestResult {\n const request = new XMLHttpRequest(),\n header_list =\n headers instanceof Array\n ? headers\n : headers?.[Symbol.iterator] instanceof Function\n ? [...(headers as Iterable)]\n : Object.entries(headers);\n\n const response = new Promise>((resolve, reject) => {\n request.onload = () =>\n resolve({\n status: request.status,\n statusText: request.statusText,\n headers: parseHeaders(request.getAllResponseHeaders()),\n body: request.response || request.responseText\n });\n request.onerror = request.ontimeout = reject;\n\n request.open(method, path + '');\n\n for (const [key, value] of header_list)\n request.setRequestHeader(key, value);\n\n Object.assign(request, rest);\n\n request.send(body);\n }).then(({ body, ...meta }) => {\n const contentType = request.getResponseHeader('Content-Type') || '';\n\n if (typeof body === 'string' && !contentType.includes('text'))\n body = parseBody(body, contentType);\n\n return { ...meta, body };\n });\n\n return {\n response,\n upload: Observable.fromEvent(request.upload, 'progress'),\n download: Observable.fromEvent(request, 'progress')\n };\n}\n\nexport async function requestFetch({\n path,\n method,\n headers,\n withCredentials,\n body,\n timeout,\n responseType\n}: Request): Promise> {\n const controller = timeout ? new AbortController() : undefined;\n const timer =\n timeout &&\n sleep(timeout / 1000).then(() => {\n controller.abort();\n\n throw new RangeError('Timed out');\n });\n headers =\n headers instanceof Headers\n ? Object.fromEntries(headers.entries())\n : headers instanceof Array\n ? Object.fromEntries(headers)\n : headers;\n headers =\n responseType === 'text'\n ? { ...headers, Accept: 'text/plain' }\n : responseType === 'json'\n ? { ...headers, Accept: 'application/json' }\n : responseType === 'document'\n ? {\n ...headers,\n Accept: 'text/html, application/xhtml+xml, application/xml'\n }\n : responseType === 'arraybuffer' || responseType === 'blob'\n ? { ...headers, Accept: 'application/octet-stream' }\n : headers;\n\n const fetchResult = fetch(path + '', {\n method,\n headers,\n credentials: withCredentials ? 'include' : 'omit',\n body,\n signal: controller?.signal\n });\n const response = await (timer\n ? Promise.race([timer, fetchResult])\n : fetchResult);\n\n const header = parseHeaders(\n [...response.headers]\n .map(([key, value]) => `${key}: ${value}`)\n .join('\\n')\n );\n if (response.status !== 204)\n try {\n var contentType = response.headers.get('Content-Type') || '',\n backup = response.clone();\n\n var data: B = await (responseType === 'text'\n ? response.text()\n : responseType === 'document'\n ? parseDocument(await response.text(), contentType)\n : responseType === 'json'\n ? response.json()\n : responseType === 'arraybuffer'\n ? response.arrayBuffer()\n : response.blob());\n } catch {\n const text = await backup.text();\n\n var data = parseBody(text, contentType);\n }\n return {\n status: response.status,\n statusText: response.statusText,\n headers: header,\n body: data\n };\n}\n\nexport function request(options: Request): RequestResult {\n return typeof globalThis.XMLHttpRequest === 'function'\n ? requestXHR(options)\n : { response: requestFetch(options) };\n}\n","import { Observable } from 'iterable-observer';\nimport { likeArray, isTypedArray, stringifyDOM, formToJSON } from 'web-utility';\n\nexport async function parseDocument(text: string, contentType = '') {\n const [type] = contentType?.split(';') || [];\n\n return new DOMParser().parseFromString(\n text,\n (type as DOMParserSupportedType) || 'text/html'\n );\n}\n\nexport function makeFormData(data: Record) {\n const formData = new FormData();\n\n for (const [key, value] of Object.entries(data)) {\n const list = (\n typeof value !== 'string' && likeArray(value) ? value : [value]\n ) as ArrayLike;\n\n for (const item of Array.from(list))\n if (item != null)\n if (typeof item === 'object')\n formData.append(key, item, (item as File).name);\n else formData.append(key, item);\n }\n return formData;\n}\n\nexport function serializeNode(root: Node) {\n var contentType: string;\n\n if (!(root instanceof HTMLFormElement))\n return {\n contentType:\n root instanceof SVGElement\n ? 'image/svg'\n : root instanceof HTMLDocument ||\n root instanceof HTMLElement\n ? 'text/html'\n : 'application/xml',\n data: stringifyDOM(root)\n };\n\n if (root.querySelector('input[type=\"file\"][name]'))\n return {\n contentType: 'multipart/form-data',\n data: new FormData(root)\n };\n const data = formToJSON>(root);\n\n switch ((contentType = root.enctype)) {\n case 'text/plain':\n return {\n contentType,\n data: Object.entries(data)\n .map(([name, value]) => `${name}=${value}`)\n .join('\\n')\n };\n case 'application/x-www-form-urlencoded':\n return {\n contentType,\n data: new URLSearchParams(data) + ''\n };\n default:\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n }\n}\n\nexport function serialize(data: T, contentType?: string) {\n const [type] = contentType?.split(';') || [];\n\n switch (type) {\n case 'application/x-www-form-urlencoded':\n return {\n contentType,\n data: new URLSearchParams(data as Record)\n };\n case 'multipart/form-data':\n return { data: makeFormData(data) };\n case 'application/json':\n return { contentType, data: JSON.stringify(data) };\n case 'text/html':\n case 'application/xml':\n case 'image/svg':\n return { contentType, data: stringifyDOM(data as Node) };\n }\n if (type) return { data, contentType };\n\n try {\n if (data instanceof URLSearchParams)\n return {\n contentType: 'application/x-www-form-urlencoded',\n data\n };\n } catch {}\n\n try {\n if (data instanceof FormData) return { data };\n } catch {}\n\n try {\n if (data instanceof Node) return serializeNode(data);\n } catch {}\n\n try {\n if (\n isTypedArray(data) ||\n data instanceof ArrayBuffer ||\n data instanceof DataView ||\n data instanceof Blob ||\n data instanceof ReadableStream\n )\n return {\n contentType: 'application/octet-stream',\n data\n };\n } catch {}\n\n try {\n return {\n contentType: 'application/json',\n data: JSON.stringify(data)\n };\n } catch {}\n\n throw new Error('Unserialized Object needs a specific Content-Type');\n}\n\nenum FileMethod {\n text = 'readAsText',\n dataURL = 'readAsDataURL',\n binaryString = 'readAsBinaryString',\n arrayBuffer = 'readAsArrayBuffer'\n}\n\nexport function readAs(\n file: Blob,\n method: keyof typeof FileMethod,\n encoding?: string\n) {\n const reader = new FileReader();\n\n return {\n progress: Observable.fromEvent(reader, 'progress'),\n result: new Promise((resolve, reject) => {\n reader.onerror = reject;\n reader.onload = () => resolve(reader.result);\n\n reader[FileMethod[method]](file, encoding);\n })\n };\n}\n","import { Stack, Middleware } from './Stack';\nimport {\n Request,\n Response,\n RequestOptions,\n request,\n BodyRequestMethods,\n HTTPError\n} from './HTTPRequest';\nimport { serialize } from './utility';\n\nconst { splice } = Array.prototype;\n\nexport interface Context {\n request: Request;\n response: Response;\n}\n\nexport interface ClientOptions extends RequestOptions {\n baseURI?: string;\n}\n\nexport class HTTPClient extends Stack {\n baseURI: string;\n options: RequestOptions;\n\n constructor({\n baseURI = globalThis.document?.baseURI,\n ...options\n }: ClientOptions = {}) {\n super();\n\n (this.baseURI = baseURI), (this.options = options);\n\n super.use(this.defaultWare);\n\n super.use(async ({ request: data, response }) => {\n data.path = new URL(data.path + '', this.baseURI) + '';\n\n Object.assign(\n response,\n await request({ ...options, ...data }).response\n );\n });\n }\n\n defaultWare: Middleware = async ({ request, response }, next) => {\n const { method = 'GET', headers = {}, body } = request;\n\n if (method in BodyRequestMethods && body && typeof body === 'object') {\n const { contentType, data } = serialize(\n body,\n headers['Content-Type']\n );\n if (contentType) headers['Content-Type'] = contentType;\n request.body = data;\n }\n await next();\n\n if (response.status > 299)\n throw new HTTPError(response.statusText, response);\n };\n\n use(...middlewares: Middleware[]) {\n splice.call(this, -2, 0, ...middlewares);\n\n return this;\n }\n\n async request(data: T['request']): Promise> {\n const context = {\n request: { ...data, headers: { ...data.headers } },\n response: {}\n } as T;\n\n await this.execute(context);\n\n return context.response;\n }\n\n async head(path: Request['path'], headers?: Request['headers']) {\n const { headers: data } = await this.request({\n method: 'HEAD',\n path,\n headers\n });\n return data;\n }\n\n get(path: Request['path'], headers?: Request['headers']) {\n return this.request({ method: 'GET', path, headers });\n }\n\n post(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers']\n ) {\n return this.request({\n method: 'POST',\n path,\n headers,\n body\n });\n }\n\n put(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers']\n ) {\n return this.request({\n method: 'PUT',\n path,\n headers,\n body\n });\n }\n\n patch(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers']\n ) {\n return this.request({\n method: 'PATCH',\n path,\n headers,\n body\n });\n }\n\n delete(\n path: Request['path'],\n body?: Request['body'],\n headers?: Request['headers']\n ) {\n return this.request({\n method: 'DELETE',\n path,\n headers,\n body\n });\n }\n}\n","function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $22de11b45b0eeb97$exports = {};\n\n$parcel$export($22de11b45b0eeb97$exports, \"Defer\", function () { return $22de11b45b0eeb97$export$c7e91f8aec23ae14; });\n$parcel$export($22de11b45b0eeb97$exports, \"makeDefer\", function () { return $22de11b45b0eeb97$export$51ca94569b882c51; });\nclass $22de11b45b0eeb97$export$c7e91f8aec23ae14 {\n constructor(){\n this.promise = new Promise((resolve, reject)=>{\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nconst $22de11b45b0eeb97$export$51ca94569b882c51 = ()=>new $22de11b45b0eeb97$export$c7e91f8aec23ae14();\n\n\nvar $e3640f413e0c36e7$exports = {};\n\n$parcel$export($e3640f413e0c36e7$exports, \"Observable\", function () { return $e3640f413e0c36e7$export$77cea355fa80b5f4; });\n\nif (!Symbol.observable) Reflect.set(Symbol, \"observable\", Symbol(\"observable\"));\nclass $e3640f413e0c36e7$export$77cea355fa80b5f4 {\n constructor(subscriber){\n this.subscriber = subscriber;\n }\n [Symbol.observable]() {\n return this;\n }\n async *[Symbol.asyncIterator]() {\n var queue = [\n new (0, $22de11b45b0eeb97$export$c7e91f8aec23ae14)()\n ], canceler, done = false;\n const observer = {\n next (value) {\n if (done) return;\n queue[queue.length - 1].resolve(value);\n queue.push(new (0, $22de11b45b0eeb97$export$c7e91f8aec23ae14)());\n },\n error (reason) {\n if (!done) queue[queue.length - 1].reject(reason), done = true;\n if (canceler) canceler();\n },\n complete () {\n if (!done) queue[queue.length - 1].resolve(), done = true;\n if (canceler) canceler();\n }\n };\n canceler = this.subscriber(observer);\n do {\n yield queue[0].promise;\n queue.shift();\n }while (queue[0]);\n }\n static of(...items) {\n return new this(({ next: next, complete: complete })=>{\n for (const item of items)next(item);\n complete();\n });\n }\n async toPromise() {\n const stack = [];\n for await (const item of this){\n stack.push(item);\n if (stack.length > 2) stack.shift();\n }\n return stack[0];\n }\n subscribe(onNext, onError, onComplete) {\n var stop = false;\n (async ()=>{\n try {\n for await (const item of this)if (!stop) onNext(item);\n else break;\n if (onComplete instanceof Function) onComplete();\n } catch (error) {\n if (onError instanceof Function) onError(error);\n }\n })();\n return {\n unsubscribe () {\n stop = true;\n },\n get closed () {\n return stop;\n }\n };\n }\n static from(observable) {\n return new this(({ next: next, error: error, complete: complete })=>observable.subscribe(next, error, complete).unsubscribe);\n }\n static fromEvent(target, name) {\n return new this(({ next: next, error: error })=>{\n if (typeof target.on === \"function\") target.on(name, next).on(\"error\", error);\n else {\n target.addEventListener(name, next);\n target.addEventListener(\"error\", error);\n }\n return ()=>{\n if (typeof target.off === \"function\") target.off(name, next).off(\"error\", error);\n else {\n target.removeEventListener(name, next);\n target.removeEventListener(\"error\", error);\n }\n };\n });\n }\n}\n\n\nvar $603f33a01a36ab56$exports = {};\n\n$parcel$export($603f33a01a36ab56$exports, \"createQueue\", function () { return $603f33a01a36ab56$export$d16acf4b6e75743d; });\n\n\nfunction $603f33a01a36ab56$export$d16acf4b6e75743d() {\n var feedNext, stop;\n const observable = new (0, $e3640f413e0c36e7$export$77cea355fa80b5f4)(({ next: next, complete: complete })=>{\n feedNext = next, stop = complete;\n });\n return {\n process (data) {\n const defer = new (0, $22de11b45b0eeb97$export$c7e91f8aec23ae14)();\n if (!feedNext) throw Error(\"Can't process data before Queue consuming\");\n feedNext({\n defer: defer,\n data: data\n });\n return defer.promise;\n },\n destroy () {\n if (!stop) throw Error(\"Can't stop a Queue before Queue consuming\");\n stop();\n },\n observable: observable\n };\n}\n\n\n\n\nexport {$22de11b45b0eeb97$export$c7e91f8aec23ae14 as Defer, $22de11b45b0eeb97$export$51ca94569b882c51 as makeDefer, $e3640f413e0c36e7$export$77cea355fa80b5f4 as Observable, $603f33a01a36ab56$export$d16acf4b6e75743d as createQueue};\n//# sourceMappingURL=index.esm.js.map\n","export * from './utility';\nexport * from './Observable';\nexport * from './Queue';\n","export class Defer {\n resolve: (data?: T) => void;\n reject: (error: Error | string) => void;\n\n promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n}\n\n/**\n * @deprecated use `new Defer()` directly, since v1.0.0.\n */\nexport const makeDefer = () => new Defer();\n\nexport type EventHandler = (data: any) => void;\n\nexport interface EventTrigger {\n addEventListener?(name: string, handler: EventHandler): void;\n removeEventListener?(name: string, handler: EventHandler): void;\n on?(name: string, handler: EventHandler): this;\n off?(name: string, handler: EventHandler): this;\n}\n","import { Defer, makeDefer, EventTrigger } from './utility';\n\ndeclare global {\n interface SymbolConstructor {\n readonly observable: unique symbol;\n }\n}\n\nif (!Symbol.observable) Reflect.set(Symbol, 'observable', Symbol('observable'));\n\nexport interface Observer {\n next(value: T): void;\n error(reason: string | Error): void;\n complete(): void;\n}\n\nexport interface Subscription {\n unsubscribe(): void;\n readonly closed: boolean;\n}\n\nexport interface Subscribable {\n [Symbol.observable](): Subscribable;\n subscribe(\n onNext: Observer['next'],\n onError?: Observer['error'],\n onComplete?: Observer['complete']\n ): Subscription;\n}\n\nexport type SubscriberFunction = (\n observer: Observer\n) => (() => void) | void;\n\nexport class Observable implements Subscribable {\n private subscriber: SubscriberFunction;\n\n constructor(subscriber: SubscriberFunction) {\n this.subscriber = subscriber;\n }\n\n [Symbol.observable]() {\n return this;\n }\n\n async *[Symbol.asyncIterator]() {\n var queue: Defer[] = [new Defer()],\n canceler: (() => void) | void,\n done = false;\n\n const observer: Observer = {\n next(value) {\n if (done) return;\n\n queue[queue.length - 1].resolve(value);\n\n queue.push(new Defer());\n },\n error(reason) {\n if (!done)\n queue[queue.length - 1].reject(reason), (done = true);\n\n if (canceler) canceler();\n },\n complete() {\n if (!done) queue[queue.length - 1].resolve(), (done = true);\n\n if (canceler) canceler();\n }\n };\n\n canceler = this.subscriber(observer);\n\n do {\n yield queue[0].promise;\n\n queue.shift();\n } while (queue[0]);\n }\n\n static of(...items: T[]) {\n return new this(({ next, complete }) => {\n for (const item of items) next(item);\n\n complete();\n });\n }\n\n async toPromise() {\n const stack = [];\n\n for await (const item of this) {\n stack.push(item);\n\n if (stack.length > 2) stack.shift();\n }\n\n return stack[0];\n }\n\n subscribe(\n onNext: Observer['next'],\n onError?: Observer['error'],\n onComplete?: Observer['complete']\n ) {\n var stop = false;\n\n (async () => {\n try {\n for await (const item of this)\n if (!stop) onNext(item);\n else break;\n\n if (onComplete instanceof Function) onComplete();\n } catch (error) {\n if (onError instanceof Function) onError(error);\n }\n })();\n\n return {\n unsubscribe() {\n stop = true;\n },\n get closed() {\n return stop;\n }\n };\n }\n\n static from(observable: Subscribable) {\n return new this(\n ({ next, error, complete }) =>\n observable.subscribe(next, error, complete).unsubscribe\n );\n }\n\n static fromEvent(target: EventTrigger, name: string) {\n return new this(({ next, error }) => {\n if (typeof target.on === 'function')\n target.on(name, next).on('error', error);\n else {\n target.addEventListener(name, next);\n target.addEventListener('error', error);\n }\n\n return () => {\n if (typeof target.off === 'function')\n target.off(name, next).off('error', error);\n else {\n target.removeEventListener(name, next);\n target.removeEventListener('error', error);\n }\n };\n });\n }\n}\n","import { Observable, Observer } from './Observable';\nimport { Defer } from './utility';\n\nexport function createQueue() {\n type Data = { defer: Defer; data: D };\n\n var feedNext: Observer['next'], stop: Observer['complete'];\n\n const observable = new Observable(({ next, complete }) => {\n (feedNext = next), (stop = complete);\n });\n\n return {\n process(data: D) {\n const defer = new Defer();\n\n if (!feedNext)\n throw Error(\"Can't process data before Queue consuming\");\n\n feedNext({ defer, data });\n\n return defer.promise;\n },\n destroy() {\n if (!stop) throw Error(\"Can't stop a Queue before Queue consuming\");\n\n stop();\n },\n observable\n };\n}\n","import { observable } from 'mobx';\nimport { buildURLData, Day, formatDate } from 'web-utility';\n\nimport { DataItem, client } from './service';\n\nexport type Activity = DataItem &\n Record<'title' | 'start' | 'end' | 'address' | 'banner' | 'link', string>;\n\nexport class ActivityModel {\n @observable\n accessor loading = false;\n\n @observable\n accessor list: Activity[] = [];\n\n async getDayList(date: Date) {\n this.loading = true;\n\n const { body } = await client.get(\n `activity?${buildURLData({\n from: formatDate(date, 'YYYY-MM-DD'),\n to: formatDate(new Date(+date + Day), 'YYYY-MM-DD'),\n rows: 1000\n })}`\n );\n this.loading = false;\n\n return (this.list = body!);\n }\n}\n","import { WebCell, component, attribute, reaction, observer } from 'web-cell';\nimport { observable } from 'mobx';\nimport { formatDate } from 'web-utility';\nimport {\n MonthCalendar,\n SpinnerBox,\n Card,\n CardBody,\n CardImg,\n CardTitle\n} from 'boot-cell';\n\nimport { TopNavBar } from '../component';\nimport * as style from './Home.module.less';\nimport { common_menu } from './data';\nimport { activity, Activity } from '../model';\n\nexport interface ActivityPage extends WebCell {}\n\n@component({ tagName: 'activity-page' })\n@observer\nexport class ActivityPage extends HTMLElement implements WebCell {\n @attribute\n @observable\n accessor date = new Date();\n\n @reaction(({ date }) => date)\n handleDate(date: Date) {\n activity.getDayList(date);\n }\n\n renderCards(list: Activity[]) {\n return list.map(({ banner, link, title, start, end, address }) => (\n \n \n \n \n \n {title}\n \n \n
      \n
    • 开始:{formatDate(start)}
    • \n
    • 结束:{formatDate(end)}
    • \n
    • 地点:{address}
    • \n
    \n
    \n
    \n ));\n }\n\n render() {\n const { date } = this,\n { loading, list } = activity;\n\n return (\n <>\n \n\n

    全国 IT 活动

    \n\n (this.date = detail)}\n />\n \n {list[0]\n ? this.renderCards(list)\n : `${formatDate(date, 'YYYY 年 M 月 D 日')}没有活动`}\n \n \n );\n }\n}\n","import { FC } from 'web-cell';\nimport { PageProps } from 'cell-router';\nimport { Card, CardBody, CardImg, CardTitle, Button, Ratio } from 'boot-cell';\nimport {\n Accordion,\n AccordionBody,\n AccordionHeader,\n AccordionItem\n} from 'boot-cell';\n\nimport { LogoList } from './LogoList';\nimport * as style from './index.module.less';\nimport { guests, flows, logos, title } from './data';\nimport { banner, qrcode } from './image';\n\nexport const Page2017: FC = props => (\n
    \n
    \n
    \n \n
    \n
    \n

    \n INTRODUCE 活动介绍\n

    \n

    \n freeCodeCamp\n 成都社区一直以为成都技术爱好者以及用户提供一个开放的交流环境为目的,在过去的一年里,我们成功举办了30余次的社区活动,受到大家的一致好评和热烈响应。2017年已接近尾声,在组织部何青松的倡议下,我们特筹办freeCodeCamp【2017成都WEB前端交流大会】,为成都前端圈的技术工程师、爱好者提供一场前所未有的饕餮盛宴。在此,我们向您发出诚挚的邀请,此次盛会期待您的参与!\n

    \n
    \n
    \n

    \n SPEAKER 分享嘉宾\n

    \n
    \n {guests.map(({ avatar, name, description }) => (\n
    \n \n \n \n {name}\n

    {description}

    \n
    \n
    \n
    \n ))}\n
    \n
    \n
    \n

    \n SCHEDULE 活动流程\n

    \n \n {flows.map(({ time, content, guest, description }) => (\n \n \n {time}【{content}】\n \n \n {guest ? (\n \n ) : (\n description\n )}\n \n \n ))}\n \n
    \n
    \n
    \n

    \n 时间地址\n

    \n

    时间:2017 年 11 月 19 日 09 :00 - 17 :30

    \n

    \n 地点:成都市高新区天府五街 200 号菁蓉国际广场 7 栋 1 楼\n 主会场\n

    \n
    \n
    \n
    \n
    \n {logos.map(LogoList)}\n
    \n \n 我 要 报 名\n \n
    \n
    \n \n
    \n);\n","import { FC } from 'web-cell';\n\nimport { logos } from './data';\n\nexport const LogoList: FC<(typeof logos)[0]> = ({ title, childrens }) => (\n
    \n

    \n {title}\n

    \n
      \n {childrens.map(({ url, img }) => (\n
    • \n \n \n \n
    • \n ))}\n
    \n
    \n);\n",".web-content {\n margin: auto;\n margin-top: 48px;\n width: 80%;\n}\n\n.introduce {\n /* min-height: 200px; */\n height: auto;\n width: 80%;\n margin: auto;\n}\n\n/* 主办方、赞助方、合作社区 */\n.logos a {\n width: 210px;\n height: 70px;\n padding: 0.2em 0.8em;\n}\n\n.footer {\n text-align: center;\n background-color: #f7fbfd;\n width: 100%;\n padding: 32px 10%;\n box-sizing: border-box;\n /* height: 340px; */\n p,\n a {\n color: #444;\n font-size: 14px;\n }\n}\n.qrcode {\n width: 160px;\n display: inline-block;\n margin: 15px;\n}\n\n@media (max-width: 768px) {\n .logo img {\n width: 140%;\n margin-left: -20%;\n }\n .introduce {\n padding: 0px 0px 20px 0px;\n }\n .introduce p {\n font-size: 12px;\n line-height: 18px;\n }\n .logos ul,\n .logos ul li {\n margin: 10px 0px;\n }\n}\n\n@media (max-width: 480px) {\n .web-content {\n margin-top: 36px;\n width: 90%;\n }\n .logos a {\n width: 140px;\n height: 50px;\n }\n .logos img {\n max-width: 140px;\n max-height: 50px;\n }\n}\n","import avatars from './image/guests';\nimport {\n QRGJ,\n FCC_CDG,\n BBD,\n HCXY,\n _3W,\n DevEco,\n BW,\n GT,\n SYL,\n QE,\n JueJin,\n OSChina,\n SF,\n ZDK,\n MZ,\n GDG,\n TW,\n TH,\n WORK,\n DKS\n} from './image/logos';\n\nexport const title = '2017 成都 Web 前端大会';\n\nexport const guests = [\n {\n name: '叶小钗',\n avatar: avatars[0],\n content: '叶小钗嘉宾开场演讲',\n description:\n '原医联研发副总监,现为企鹅医生技术总监,研发负责人。先后任职于携程百度等公司,擅长前端开发,混合开发,对大型前端项目开发有一些认识,平时喜欢霹雳布袋戏。'\n },\n {\n name: '陈洋彬',\n avatar: avatars[7],\n content: '一个 Node 模块的自我修养',\n description:\n '麦麦养老软件研发负责人,持续创业者。在研发团队搭建、管理与技术体系渐进增强方面有一定心得。多年 Web 前端、服务端研发及架构设计经验,关注技术的原理与融会贯通,主张编码与工程的专业、规范、极简。'\n },\n {\n name: '水歌',\n avatar: avatars[4],\n content: '轻量级 Web MVVM 引擎的实现',\n description:\n '东方天呈 Web 前端工程师,JavaScript 全栈开发者、开源软件作者、freeCodeCamp 中文社区技术布道师、四川大学飞扬俱乐部·研发部 创始团队成员、jQuery贡献者。'\n },\n {\n name: '廖伟',\n avatar: avatars[2],\n content: 'HTML 5 跨平台解决方案实践',\n description:\n '乐车邦前端开发负责人。曾就职于携程移动端框架技术部,负责构建代码的打包平台,维护共用组件,目前在乐车邦主要负责整个前端(浏览器,微信,小程序,app),致力于解决一套代码多端运行的方案,主要擅长 SPA 应用的开发,具有丰富的SPA开发经验。'\n },\n {\n name: '胡敏',\n avatar: avatars[5],\n content: 'Vue 开发那些事',\n description:\n '新蛋高级软件工程师。目前主要负责 Web 模块化开发平台建设与开发工作,擅长功能设计与实现。对前后端开发有较多实践经验。'\n },\n {\n name: '董涛',\n avatar: avatars[6],\n content: '大数据可视化之美',\n description:\n '5年前端经验,热爱钻研各种技术,喜欢写代码,工作之余著有 MTUI、H5DS 两个开源项目。现 BBD 前端部部门经理,对 Web 交互,以及数据可视化有丰富经验。'\n },\n {\n name: '卢林',\n avatar: avatars[3],\n content: 'React 组件化通用模式',\n description:\n '国双科技高级软件工程师,曾供职于奇虎 360 奇舞团、麦客 CRM。目前专注于端技术体系,喜欢思考软件开发的通用模式。'\n },\n {\n name: '余泽江',\n avatar: avatars[1],\n content: 'Angular:挣脱舒适区的枷锁',\n description:\n 'ThoughtWorks 咨询师,有着丰富的前后端项目开发经验,目前专注于前端领域的技术实践。Angular 项目活跃的 Community Contributor,广泛涉猎于国内的 Angular 技术布道工作。'\n }\n];\n\nexport const flows = [\n {\n time: '09:00',\n\n content: '签到,早鸟有礼品',\n description: '扫码签到'\n },\n {\n time: '09:30',\n\n content: '主办方致辞、活动开场',\n description: '为了更好的活动参与体验,将手机调制静音,方便你我他……'\n },\n {\n time: '09:50',\n guest: guests[0],\n content: '叶小钗嘉宾开场演讲',\n description: '内容暂时保密~'\n },\n {\n time: '10:20',\n guest: guests[1],\n content: '一个 Node 模块的自我修养',\n description:\n '作为一个“全干”工程师,与你朝夕相处的 Node 模块,说简单可以简单到一个 index.js 和一个 package.json,说复杂也可以复杂到必须引入工程化的理念来管理。本分享来一起探讨下一个开源 Node 模块,所应该考虑的目录结构、代码检查、单元测试、基准测试、持续集成、自动构建、版本发布、变更记录等等这些需求,如何高效、规范的去实现'\n },\n {\n time: '11:10',\n guest: guests[2],\n content: '轻量级 Web MVVM 引擎的实现',\n description:\n '只依赖 HTML 5、JS (ES 5) 的纯异步加载、声明式的 MVVM 引擎,它的简洁用法与内部实现'\n },\n {\n time: '12:00',\n\n content: '午餐时间(与嘉宾近距离交流)',\n description:\n '为了大家可以自行选择美食,所以午餐可以到会场外的银泰城解决哦~'\n },\n {\n time: '13:00',\n guest: guests[3],\n content: 'HTML 5 跨平台解决方案实践',\n description:\n '乐车邦创业阶段,前端开发人数相对较少,但是平台众多,常用的如:浏览器、乐车邦 App、微信公众号网页版本、微信小程序。还有不计其数的定制化流量平台,如:手淘、百度地图、汽车之家、百度糯米、58到家、新美大等等,虽然渠道众多,但是业务流程相对统一,如何利用一套 HTML 5 代码解决多终端运行问题成了前端重中之重。'\n },\n {\n time: '13:50',\n guest: guests[4],\n content: 'Vue 开发那些事',\n description:\n '通过对 Vue 项目开发中遇到的部分通用问题进行分解,探索特定问题或场景的解决方案。从目录结构划分、业务封装等方面来提升项目的可维护性。'\n },\n {\n time: '14:40',\n guest: guests[5],\n content: '大数据可视化之美',\n description:\n '如何让繁杂的数据以最简最直观的形式呈现在用户的眼前?数据可视化真的那么高不可攀吗?今天就让我们来聊聊大数据可视化的常用技巧和常用算法吧!'\n },\n {\n time: '15:20',\n\n content: '茶歇 & 开放式交流',\n description: 'BBD 为大家准备了精美的茶歇~'\n },\n {\n time: '15:50',\n guest: guests[6],\n content: 'React 组件化通用模式',\n description:\n '通过 React 项目的开发过程以及多个框架的使用,提取组件化开发的通用思路,对组件化、组件容器化以及微服务前端开发方式的一点思考。'\n },\n {\n time: '16:40',\n guest: guests[7],\n content: 'Angular:挣脱舒适区的枷锁',\n description:\n '作为一个大而全的开发平台,Angular 团队提供了完善的开发环境:各类功能库、命令行工具、IDE 集成、移动端支持等等。然而,原生支持的完备性也为部分 Angular 开发者建立起了狭隘的舒适区,使得一些人放弃了探索,把官方支持当作了 Angular 的一切,自身沦落到日复一日调试 Component 和 Service 的搬砖工作中。其实,在 Angular 官方舒适区之外仍然存在很大的世界。比如我们可以使用 Webpack 之外的工具构建出比 jQuery 更小的完整应用,可以动态加载任意远程组件而无需统一打包,可以在 AOT 编译下实现运行时动态拼接视图…… 本次分享将会带来舒适区之外的无限可能。'\n },\n {\n time: '17:30',\n\n content: '活动结束、留影',\n description: '留下美好的瞬间~'\n }\n];\n\nexport const logos = [\n {\n title: '主办单位',\n childrens: [\n {\n img: QRGJ,\n url: 'http://www.cdht.gov.cn/cycjcyyq/50449.jhtml'\n },\n {\n img: FCC_CDG,\n url: 'https://fcc-cd.dev/'\n }\n ]\n },\n {\n title: '冠名赞助',\n childrens: [\n {\n img: BBD,\n url: 'https://www.bbdservice.com'\n }\n ]\n },\n {\n title: '协办单位',\n childrens: [\n {\n img: HCXY,\n url: 'hhttp://www.hechuangxinye.com/'\n },\n {\n img: _3W,\n url: 'http://www.3wcoffee.com/'\n }\n ]\n },\n {\n title: '赞助单位',\n childrens: [\n {\n img: DevEco,\n url: 'http://www.deveco.io/'\n },\n {\n img: BW,\n url: 'http://www.broadview.com.cn/'\n },\n {\n img: GT,\n url: 'http://www.getui.com/cn/index.html'\n },\n {\n img: SYL,\n url: 'https://www.shiyanlou.com/'\n },\n {\n img: QE,\n url: 'https://www.doctorwork.com/'\n }\n ]\n },\n {\n title: '合作社区',\n childrens: [\n {\n img: JueJin,\n url: 'https://juejin.im/'\n },\n {\n img: OSChina,\n url: 'https://www.oschina.net/'\n },\n {\n img: SF,\n url: 'https://segmentfault.com/'\n },\n {\n img: ZDK,\n url: 'http://www.zaoduke.net/'\n },\n {\n img: MZ,\n url: 'http://www.maiziedu.com/'\n },\n {\n img: GDG,\n url: 'https://developers.google.com/groups'\n },\n {\n img: TW,\n url: 'https://www.thoughtworks.com/cn/'\n },\n {\n img: TH,\n url: 'http://www.tianhukeji.com/'\n },\n {\n img: WORK,\n url: 'http://workjia.cn/'\n }\n ]\n },\n {\n title: '合作媒体',\n childrens: [\n {\n img: DKS,\n url: 'http://www.itdks.com/'\n }\n ]\n }\n];\n","export { default as _3W } from './3W.png';\nexport { default as BBD } from './BBD.png';\nexport { default as BW } from './BW.png';\nexport { default as DevEco } from './DevEco.jpg';\nexport { default as DKS } from './DKS.png';\nexport { default as FCC_CDG } from './FCC-CDG.png';\nexport { default as GDG } from './GDG.png';\nexport { default as GT } from './GT.png';\nexport { default as HCXY } from './HCXY.png';\nexport { default as MZ } from './MZ.png';\nexport { default as OS } from './OS.png';\nexport { default as QE } from './QE.png';\nexport { default as QRGJ } from './QRGJ.png';\nexport { default as SF } from './SF.png';\nexport { default as SYL } from './SYL.png';\nexport { default as TH } from './TH.png';\nexport { default as TW } from './TW.png';\nexport { default as WORK } from './WORK.png';\nexport { default as ZDK } from './ZDK.png';\n\nexport const JueJin =\n 'https://b-gold-cdn.xitu.io/v3/static/img/logo.a7995ad.svg';\nexport const OSChina =\n 'https://static.oschina.net/new-osc/img/logo_osc_new.svg';\n","module.exports = new __parcel__URL__(\"3W.343e9c06.png\").toString();","module.exports = new __parcel__URL__(\"BBD.ed89ee43.png\").toString();","module.exports = new __parcel__URL__(\"BW.0f2c33fb.png\").toString();","module.exports = new __parcel__URL__(\"DevEco.5b51c8ac.jpg\").toString();","module.exports = new __parcel__URL__(\"DKS.1c567b7f.png\").toString();","module.exports = new __parcel__URL__(\"FCC-CDG.bf36daee.png\").toString();","module.exports = new __parcel__URL__(\"GDG.ca994c53.png\").toString();","module.exports = new __parcel__URL__(\"GT.27a90685.png\").toString();","module.exports = new __parcel__URL__(\"HCXY.6f490d1a.png\").toString();","module.exports = new __parcel__URL__(\"MZ.d0765924.png\").toString();","module.exports = new __parcel__URL__(\"OS.58b63fb9.png\").toString();","module.exports = new __parcel__URL__(\"QE.be8c3b0d.png\").toString();","module.exports = new __parcel__URL__(\"QRGJ.14ffed50.png\").toString();","module.exports = new __parcel__URL__(\"SF.c6f8e6e7.png\").toString();","module.exports = new __parcel__URL__(\"SYL.da34d90b.png\").toString();","module.exports = new __parcel__URL__(\"TH.1178f233.png\").toString();","module.exports = new __parcel__URL__(\"TW.0498d9bc.png\").toString();","module.exports = new __parcel__URL__(\"WORK.90e8ce09.png\").toString();","module.exports = new __parcel__URL__(\"ZDK.fb7a5ccd.png\").toString();","import { FC } from 'web-cell';\nimport { Button, Table, Ratio } from 'boot-cell';\nimport { Card, CardImg, CardBody, CardTitle } from 'boot-cell';\nimport { PageProps } from 'cell-router';\nimport { marked } from 'marked';\n\nimport { TopNavBar } from '../../component';\nimport { LogoList } from './LogoList';\nimport * as style from './index.module.less';\nimport {\n title,\n sections,\n lecturers,\n schedule,\n projects,\n topics,\n review,\n hosts,\n sponsors,\n partners,\n companies\n} from './data';\nimport { poster, undraw_01, undraw_04 } from './image';\nimport photos from './image/photos';\n\nexport const Page2018: FC = ({ className, ...props }) => (\n
    \n
    \n {title}}\n expand=\"lg\"\n variant=\"light\"\n menu={sections}\n />\n \n
    \n
    \n

    大会介绍

    \n
    \n
    \n
    \n

    \n 成都 Web 前端大会是 freeCodeCamp\n 成都社区一年一度举办的大型技术交流活动,主要面向西南地区\n Web 应用、JavaScript\n 全栈开发领域的程序员、架构师、研发团队管理者和技术爱好者。我们在借鉴同类行业大会技术分享宝贵经验的同时,也创新地增加了优秀企业现场招聘、开源项目/社团宣传展位,为互联网、软件开发技术从业者提供从学习、求职到合作洽谈的一站式资讯平台,全力打造西南一流的\n IT 行业盛会。\n

    \n
    \n \n 立即报名参加\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n

    与会嘉宾

    \n
    \n
    \n {lecturers.map(({ avatar, name, detail }) => (\n
    \n
    \n \n

    {name}

    \n \n
    \n
    \n ))}\n
    \n
    \n
    \n
    \n

    议题

    \n
    \n \n {topics.map(({ lecturer, title, detail }) => (\n
  • \n
    \n
    {lecturer.name}
    \n \n
    \n
    \n
    {title}
    \n

    \n

    \n
  • \n ))}\n \n
    \n
    \n
    \n
    \n
    \n

    开源市集

    \n\n
    \n {projects.map(({ type, URL, title, detail, logo }) => (\n
    \n \n \n \n \n \n {title}\n \n \n \n {type ? '社团' : '项目'}\n
    \n\n {detail}\n \n \n
    \n ))}\n
    \n
    \n
    \n

    参会企业

    \n

    \n 部分企业开放现场招聘位,欢迎优秀人才携简历前来~\n

    \n

    (排名不分先后)

    \n
    \n
    \n
      \n {companies.map(name => (\n \n {name}\n \n ))}\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n

    日程

    \n
    \n \n \n \n \n \n \n \n \n \n \n {schedule.map(({ time, title, topic }) => (\n \n \n \n \n \n ))}\n \n
    \n #\n 时间活动主咖
    \n {time}{title || `《${topic?.title}》`}{topic?.lecturer.name}
    \n
    \n
    \n
    \n

    往期精彩回顾

    \n
    \n
    \n {review.map(({ title }, index) => (\n
    \n \n
    \n ))}\n
    \n
    \n
    \n\n
    \n

    地址

    \n
    \n

    \n 天府大道北段966号天府国际金融中心4号楼1楼1号会议厅\n

    \n \n \n \n
    \n
    \n
    \n

    共创伙伴

    \n
    \n {hosts.map(({ title, member }) => (\n \n
    {title}办方
    \n \n
    \n ))}\n \n
    \n
    \n {sponsors.map(({ title, member }) => (\n
    \n
    {title}赞助
    \n \n
    \n ))}\n
    \n
    \n
    \n
    \n
    合作伙伴
    \n \n
    \n
    \n
    \n
    \n
    \n \n 立即报名参加\n \n
    \n
    \n
    \n
    \n
    \n
      \n {sections.map(({ href, title }) => (\n
    • \n \n {title}\n \n
    • \n ))}\n
    \n
    \n
    \n
    \n \n);\n","/**\n * marked v12.0.0 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, (function (exports) { 'use strict';\n\n /**\n * Gets the original marked default options.\n */\n function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n }\n exports.defaults = _getDefaults();\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n\n /**\n * Helpers\n */\n const escapeTest = /[&<>\"']/;\n const escapeReplace = new RegExp(escapeTest.source, 'g');\n const escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\n const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\n const escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n const getEscapeReplacement = (ch) => escapeReplacements[ch];\n function escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n }\n const unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n }\n const caret = /(^|[^\\[])\\^/g;\n function edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n }\n function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n }\n const noopTest = { exec: () => null };\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\n function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n }\n\n function outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape$1(text)\n };\n }\n function indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n }\n /**\n * Tokenizer\n */\n class _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || exports.defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape$1(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape$1(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n }\n\n /**\n * Block-Level Grammar\n */\n const newline = /^(?: *(?:\\n|$))+/;\n const blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\n const fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\n const hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\n const heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\n const bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n const lheading = edit(/^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .getRegex();\n const _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\n const blockText = /^[^\\n]+/;\n const _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n const def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\n const list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\n const _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\n const _comment = /|$))/;\n const html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n const paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n const blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n /**\n * Normal Block Grammar\n */\n const blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n };\n /**\n * GFM Block Grammar\n */\n const gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n const blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n };\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n const blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n };\n /**\n * Inline-Level Grammar\n */\n const escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\n const inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\n const br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\n const inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\\n const blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\n const emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n // (6) Not allowed for _\n const emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n const anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\n const _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\n const tag = edit('^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\n const _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n const link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\n const reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\n const nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\n const reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n /**\n * Normal Inline Grammar\n */\n const inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n };\n /**\n * Pedantic Inline Grammar\n */\n const inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n };\n /**\n * GFM Inline Grammar\n */\n const inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n }\n\n /**\n * Renderer\n */\n class _Renderer {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '
    '\n                    + (escaped ? code : escape$1(code, true))\n                    + '
    \\n';\n }\n return '
    '\n                + (escaped ? code : escape$1(code, true))\n                + '
    \\n';\n }\n blockquote(quote) {\n return `
    \\n${quote}
    \\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `${text}\\n`;\n }\n hr() {\n return '
    \\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n }\n listitem(text, task, checked) {\n return `
  • ${text}
  • \\n`;\n }\n checkbox(checked) {\n return '';\n }\n paragraph(text) {\n return `

    ${text}

    \\n`;\n }\n table(header, body) {\n if (body)\n body = `${body}`;\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n }\n tablerow(content) {\n return `\\n${content}\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `${text}`;\n }\n em(text) {\n return `${text}`;\n }\n codespan(text) {\n return `${text}`;\n }\n br() {\n return '
    ';\n }\n del(text) {\n return `${text}`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '
    ';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `\"${text}\"`;\n 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n }\n\n class _Hooks {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n }\n\n class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '

    An error occurred:

    '\n                        + escape$1(e.message + '', true)\n                        + '
    ';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n }\n\n const markedInstance = new Marked();\n function marked(src, opt) {\n return markedInstance.parse(src, opt);\n }\n /**\n * Sets the default options.\n *\n * @param options Hash of options\n */\n marked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Gets the original marked default options.\n */\n marked.getDefaults = _getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n marked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Run callback for every token\n */\n marked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n };\n /**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\n marked.parseInline = markedInstance.parseInline;\n /**\n * Expose\n */\n marked.Parser = _Parser;\n marked.parser = _Parser.parse;\n marked.Renderer = _Renderer;\n marked.TextRenderer = _TextRenderer;\n marked.Lexer = _Lexer;\n marked.lexer = _Lexer.lex;\n marked.Tokenizer = _Tokenizer;\n marked.Hooks = _Hooks;\n marked.parse = marked;\n const options = marked.options;\n const setOptions = marked.setOptions;\n const use = marked.use;\n const walkTokens = marked.walkTokens;\n const parseInline = marked.parseInline;\n const parse = marked;\n const parser = _Parser.parse;\n const lexer = _Lexer.lex;\n\n exports.Hooks = _Hooks;\n exports.Lexer = _Lexer;\n exports.Marked = Marked;\n exports.Parser = _Parser;\n exports.Renderer = _Renderer;\n exports.TextRenderer = _TextRenderer;\n exports.Tokenizer = _Tokenizer;\n exports.getDefaults = _getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n\n}));\n//# sourceMappingURL=marked.umd.js.map\n","/**\n * Gets the original marked default options.\n */\nexport function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n}\nexport let _defaults = _getDefaults();\nexport function changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n","/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nexport function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nexport function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nexport function edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n}\nexport function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n}\nexport const noopTest = { exec: () => null };\nexport function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nexport function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nexport function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n","import { _defaults } from './defaults.ts';\nimport { rtrim, splitCells, escape, findClosingBracket } from './helpers.ts';\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n}\n/**\n * Tokenizer\n */\nexport class _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^
    /i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n","import { edit, noopTest } from './helpers.ts';\n/**\n * Block-Level Grammar\n */\nconst newline = /^(?: *(?:\\n|$))+/;\nconst blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\nconst fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nconst hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nconst heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nconst bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nconst lheading = edit(/^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .getRegex();\nconst _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nconst blockText = /^[^\\n]+/;\nconst _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nconst def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\nconst list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\nconst _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\nconst _comment = /|$))/;\nconst html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\nconst blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n/**\n * Normal Block Grammar\n */\nconst blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n};\n/**\n * GFM Block Grammar\n */\nconst gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\nconst blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n};\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nconst blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n};\n/**\n * Inline-Level Grammar\n */\nconst escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\nconst inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\nconst br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\nconst inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\\nconst blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\nconst emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n// (6) Not allowed for _\nconst emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\nconst _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\nconst tag = edit('^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\nconst link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\nconst reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\nconst nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\nconst reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n/**\n * Normal Inline Grammar\n */\nconst inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n};\n/**\n * Pedantic Inline Grammar\n */\nconst inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n};\n/**\n * GFM Inline Grammar\n */\nconst inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\n","import { _defaults } from './defaults.ts';\nimport { cleanUrl, escape } from './helpers.ts';\n/**\n * Renderer\n */\nexport class _Renderer {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '
    '\n                + (escaped ? code : escape(code, true))\n                + '
    \\n';\n }\n return '
    '\n            + (escaped ? code : escape(code, true))\n            + '
    \\n';\n }\n blockquote(quote) {\n return `
    \\n${quote}
    \\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `${text}\\n`;\n }\n hr() {\n return '
    \\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n }\n listitem(text, task, checked) {\n return `
  • ${text}
  • \\n`;\n }\n checkbox(checked) {\n return '';\n }\n paragraph(text) {\n return `

    ${text}

    \\n`;\n }\n table(header, body) {\n if (body)\n body = `${body}`;\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n }\n tablerow(content) {\n return `\\n${content}\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `${text}`;\n }\n em(text) {\n return `${text}`;\n }\n codespan(text) {\n return `${text}`;\n }\n br() {\n return '
    ';\n }\n del(text) {\n return `${text}`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '
    ';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `\"${text}\"`;\n 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n","import { _defaults } from './defaults.ts';\nexport class _Hooks {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n}\n","import { _getDefaults } from './defaults.ts';\nimport { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { escape } from './helpers.ts';\nexport class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '

    An error occurred:

    '\n                    + escape(e.message + '', true)\n                    + '
    ';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n","import { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { Marked } from './Instance.ts';\nimport { _getDefaults, changeDefaults, _defaults } from './defaults.ts';\nconst markedInstance = new Marked();\nexport function marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nexport const options = marked.options;\nexport const setOptions = marked.setOptions;\nexport const use = marked.use;\nexport const walkTokens = marked.walkTokens;\nexport const parseInline = marked.parseInline;\nexport const parse = marked;\nexport const parser = _Parser.parse;\nexport const lexer = _Lexer.lex;\nexport { _defaults as defaults, _getDefaults as getDefaults } from './defaults.ts';\nexport { _Lexer as Lexer } from './Lexer.ts';\nexport { _Parser as Parser } from './Parser.ts';\nexport { _Tokenizer as Tokenizer } from './Tokenizer.ts';\nexport { _Renderer as Renderer } from './Renderer.ts';\nexport { _TextRenderer as TextRenderer } from './TextRenderer.ts';\nexport { _Hooks as Hooks } from './Hooks.ts';\nexport { Marked } from './Instance.ts';\n","import { FC } from 'web-cell';\n\ntype Logo = Record<'name' | 'URL' | 'path', string>;\n\nexport const LogoList: FC<{ member: Logo[] }> = ({ member }) => (\n
    \n);\n",".root {\n font-family: 'PingFang SC', 'Lantinghei SC', 'Helvetica Neue', Helvetica,\n Arial, 'Microsoft YaHei', 'STHeitiSC-Light', simsun, 'sans-serif';\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-size-adjust: 100% !important;\n font-weight: 400;\n line-height: 1.8;\n color: #333;\n\n a,\n a:visited {\n color: #222;\n }\n a:hover {\n color: #666;\n }\n a.btn-primary {\n color: #fff;\n background-color: #246af7;\n }\n\n & > section {\n padding: 100px 0;\n margin: 0;\n }\n\n tbody {\n counter-reset: index;\n }\n tbody td:first-child::before {\n counter-increment: index;\n content: counter(index);\n }\n}\n@media screen and (max-width: 767.98px) {\n .root {\n font-size: 14px;\n line-height: 1.6;\n\n & > section {\n padding: 50px 0;\n }\n }\n}\n.poster {\n width: 100%;\n min-height: 600px;\n position: relative;\n padding: 0;\n margin: 0;\n\n .navbar-toggler {\n background: #f8f9fa;\n }\n}\n@media screen and (min-width: 767.98px) {\n .poster .navbar {\n background: #f8f9fa;\n }\n}\n@media screen and (max-width: 767.98px) {\n .poster {\n min-height: 100px;\n\n .navbar-nav {\n background: #246af7;\n padding: 10px;\n width: 160px;\n box-shadow: 1px 1px 10px 3px #aaa;\n }\n .navbar-light .navbar-nav .nav-link {\n color: #fff;\n }\n }\n}\n.avatar {\n width: 128px;\n height: 128px;\n border-radius: 64px;\n}\n.avatar-sm {\n width: 88px;\n height: 88px;\n border-radius: 44px;\n}\n\n.sparked {\n text-align: center;\n background: #fff url(./image/bg.png) repeat top left;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n}\n.lecture {\n height: 30rem;\n border: 1px solid #eee;\n padding: 25px 15px;\n background: white;\n overflow: hidden;\n\n .lecture-name {\n font-weight: bold;\n }\n .lecture-intro {\n max-height: 18rem;\n overflow: auto;\n color: #666;\n font-size: 14px;\n text-align: left;\n }\n}\n@media (max-width: 768px) {\n .lecture {\n height: auto;\n }\n}\n@media screen and (max-width: 767.98px) {\n .subjects {\n padding-left: 0;\n & > li {\n padding: 15px;\n border-bottom: 1px dotted #eee;\n & > div {\n &:first-child {\n margin-bottom: 15px;\n text-align: center;\n }\n & > h5 {\n text-align: center;\n margin: 15px 0;\n }\n }\n }\n }\n}\n@media screen and (min-width: 767.98px) {\n .subjects {\n &::after {\n content: '';\n position: absolute;\n z-index: -1;\n background: #fff url('image/undraw_02.png') no-repeat right center;\n opacity: 0.3;\n top: 0;\n left: 0;\n bottom: 0;\n right: -200px;\n }\n & > li {\n padding: 25px 0;\n display: flex;\n justify-content: flex-start;\n & > div:first-child {\n padding: 0 15px;\n margin-right: 15px;\n border-right: 1px solid #eee;\n }\n }\n }\n}\n.subjects > li {\n & > .avatar {\n flex-grow: 0;\n flex-shrink: 0;\n margin-right: 15px;\n }\n p {\n font-size: 14px;\n h6 {\n margin: 0.5rem 0;\n }\n }\n}\n@media screen and (min-width: 767.98px) {\n .photos:not(:last-child) {\n margin-bottom: 25px;\n }\n}\n@media screen and (max-width: 767.98px) {\n .photos > div {\n margin-bottom: 15px;\n }\n}\n:global {\n @media screen and (max-width: 767.98px) {\n td {\n font-size: 12px;\n }\n }\n #CallInAction,\n #CallInAction > * {\n position: relative;\n }\n #CallInAction::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: url(image/bg2.png) no-repeat center calc(100% + 24px);\n background-size: 30%;\n }\n @media screen and (max-width: 767.98px) {\n #CallInAction::before {\n background: transparent;\n }\n }\n #Bazaar {\n .card-img-top {\n padding: 1rem;\n }\n .card-title > * {\n display: inline-block;\n vertical-align: middle;\n }\n .card-text {\n max-height: 15rem;\n overflow: auto;\n font-size: 12px;\n }\n .card {\n position: relative;\n .cr {\n position: absolute;\n width: 200px;\n padding: 8px;\n text-align: center;\n color: #f0f0f0;\n }\n .cr-top {\n top: 15px;\n }\n .cr-right {\n right: -70px;\n }\n .cr-top.cr-right {\n transform: rotate(45deg);\n }\n .cr-blue {\n background-color: rgba(35, 107, 247, 0.8);\n }\n .cr-red {\n background-color: rgba(248, 71, 89, 1);\n }\n }\n }\n @media (min-width: 577px) and (max-width: 768px) {\n #Bazaar .card-columns {\n column-count: 2;\n }\n }\n #Review .row > * {\n padding: 0.7rem 1rem;\n }\n}\n.companies > li {\n border: 1px dashed #ddd;\n &:hover {\n background: #fafafa;\n }\n}\n.contributorGroup {\n h5 {\n color: #666;\n }\n img {\n flex-flow: 0;\n }\n p {\n color: #999;\n font-size: 12px;\n }\n}\n.footer .qrcode {\n font-size: 12px;\n color: #333;\n}\n@media screen and (min-width: 767.98px) {\n .footer {\n height: 240px;\n\n .qrcode {\n width: 128px;\n height: 128px;\n float: right;\n }\n }\n}\n","import { FCC_CDC } from './image';\nimport { JueJin, BW, SYL, OSChina, SF } from '../2017/image/logos';\nimport {\n epubit,\n fezaoduke,\n turing,\n young,\n mikecrm\n} from './image/logo/partner';\nimport { BaiCiZhan, baozun, cocoet, sxl } from './image/logo/sponsor';\nimport {\n Quincy_Larson,\n Xiong_Jie,\n Huang_Yi,\n Si_Yue,\n Yu_Che,\n Guo_LinShuo,\n Guo_DaFeng\n} from './image/lecturer';\nimport {\n Deepin,\n WebCell,\n H5DS,\n Fun_loading,\n UKylin,\n Covariant_Script,\n PI6,\n React_Admin,\n KaiYuanShe,\n Vena_Network,\n CD_LUG\n} from './image/project';\n\nexport const title = '2018 成都 Web 前端大会';\n\nexport const sections = [\n {\n title: '大会介绍',\n href: '#Introduction'\n },\n {\n title: '与会嘉宾',\n href: '#Lecturer'\n },\n {\n title: '议题',\n href: '#Topic'\n },\n {\n title: '开源市集',\n href: '#Bazaar'\n },\n {\n title: '参会企业',\n href: '#Enterprise'\n },\n {\n title: '日程',\n href: '#Schedule'\n },\n {\n title: '地址',\n href: '#Address'\n },\n {\n title: '往期精彩回顾',\n href: '#Review'\n },\n {\n title: '照片直播',\n href: 'http://www.pailixiang.com/album_ia172238913.html'\n },\n {\n title: '共创伙伴',\n href: '#Contributor'\n }\n];\n\nexport const lecturers = [\n {\n name: '昆西·拉尔森',\n avatar: Quincy_Larson,\n detail: 'Quincy Larson 是 https://freeCodeCamp.org/ 社区创始人,致力于帮助数百万人们免费学习编程。他曾在美国一所高校执教,并在中国分校任职校长。\\n\\nQuincy 在 31 岁时开始学习编程,希望通过程序使学校的各项事务处理更高效。在接触编程之后,他意识到这是一项人人都应该掌握的技能,可以帮助众多组织提升效率。'\n },\n {\n name: '熊节',\n avatar: Xiong_Jie,\n detail: '宝尊电商成都研发中心总经理,拥有超过十七年 IT 行业的从业经验,在金融、政府、电信、物流等行业的信息化建设方面有着丰富经验。熊节曾翻译了《重构》、《最后期限》、《与熊共舞》、《软件工艺》等行业重要著作,参与了 Selenium、RubyWorks、OpenLMIS 等开源软件社区,并在各种媒体发表过数十篇文章,获得利物浦大学 MBA 学位。'\n },\n {\n name: '黄轶',\n avatar: Huang_Yi,\n detail: '北京科技大学毕业,计算机专业硕士。曾任职百度、滴滴,现任 Zoom 前端架构师、专家工程师;擅长前端自动化、工程化,前端架构方向。开源项目 better-scroll、cube-ui 作者,《Vue.js 权威指南》作者,乐于技术分享,追求极致,慕课网精英讲师。'\n },\n {\n name: '死月',\n avatar: Si_Yue,\n detail: '蚂蚁金服体验技术部研发工程师,Node.JS 核心贡献者(Node.JS Core Collaborator)之一,CNode 社区版主之一,杭州 Node Party 组织者之一,曾任大搜车无线架构组 Node.JS 团队负责人;浙江大学软件工程硕士,退役 OI、ACM 选手,《Node.JS 来一打 C++ 扩展》作者。'\n },\n {\n name: '余澈',\n avatar: Yu_Che,\n detail: '京东凹凸实验室前端工程师,主要负责基础设施建设和前端性能优化。热爱开源事业,先后作为主要开发者参与了 Vue.js 第一个大型 UI 库 vue-strap、高性能类 React 框架 Nerv、多端统一开发框架 Taro 的开源和维护。在技术之外,他喜欢玩 Dota2 和游泳。'\n },\n {\n name: '郭林烁',\n avatar: Guo_LinShuo,\n detail: '腾讯 AlloyTeam 前端工程师,参与过腾讯文档、互动直播等大型 Web 项目开发与优化,专注于前端性能优化、前端可用性及开发效率提升,乐于分享。'\n },\n {\n name: '郭达峰',\n avatar: Guo_DaFeng,\n detail: '郭达峰,Strikingly CTO。毕业于香港中文大学,于 2010 年开发了三款 Facebook 平台的应用,获取了超过 2 千万的用户。2012 年创立了市面上最简易的建站平台 Strikingly,成为第一家进入 YC 孵化器的华人团队。'\n }\n];\n\nexport const topics = [\n {\n title: 'freeCodeCamp 从 0 到 29 万 star',\n lecturer: lecturers[0],\n detail: 'Quincy Larson 完整讲述他的求学和职业生涯:\\n 1. 为什么转行学编程?\\n 2. 为什么创立 freeCodeCamp?\\n 3. freeCodeCamp 是怎么逐渐流行起来的?中间遇到哪些困难和调整,是如何解决的?\\n 4. freeCodeCamp 的技术架构变迁史、核心团队和代码贡献者介绍。'\n },\n {\n title: '给 Node.js 插上 C++ 的翅膀',\n lecturer: lecturers[3],\n detail: '本主题围绕着何时、为何、如何在 Node.js 中使用 C++ 来赋予它更多的可能性(如提升性能、降低开发成本、做一些神奇的事情等):\\n 1. 对于一些重计算且输入输出数据简单的场景,用 C++ 的扩展来替代原本的 Pure JavaScript 写法,将会得到一些意想不到的效果\\n 2. 对于一些本身就有成熟 C++ 库的场景来说,重新造一个 Node.js 的轮子无疑是一个开发成本比较高的做法\\n 3. 还有一些 Node.js 无法涉及的底层,可以通过 C++ 扩展将那些接口暴露出来再在 Node.js 中封装\\n 4. 有时候我们没必要去造一个 Electron 这样的结合 Node.js 的东西,但是我们可以利用 Node.js 的 C++ 扩展去封装一个已有的游戏引擎,打通它们各间独自管理的线程\\n\\n###### 听众收获\\n 1. 会明白 Node.js 的一些内部机制\\n 2. 对 Node.js 与 C++ 进行交互有一个初步的概念\\n 3. 在自己的玩具项目中付诸实践,甚至在生产环境中用上这种姿势'\n },\n {\n title: '开源项目维护',\n lecturer: lecturers[4],\n detail: '###### 如何做好一个开源项目?\\n 1. 前期的宣传\\n 2. 后期的维护\\n 3. 工鞥的迭代\\n 4. 失败案例 vue-strap\\n 5. 成功案例 taro\\n\\n###### 做开源项目对个人的影响\\n 1. 生活的影响\\n 2. 对工作和职业的影响\\n 3. 开源、工作、生活之间的平衡\\n\\n###### 在做开源项目中学到的东西'\n },\n {\n title: '敏捷中国史',\n lecturer: lecturers[1],\n detail: '以2002年《程序员》杂志发表《极限编程》技术专题、人民邮电出版社引进《极限编程》丛书为标志,敏捷进入中国已经十六年了。\\n\\n十六年前,全中国相信敏捷的人屈指可数;十六年后,大银行的CIO站在大会上讲的关键词里就有敏捷二字。沧海桑田,令人唏嘘。\\n\\n今天敏捷成为最为广泛采纳的软件开发方法,背后折射出的是 IT 在国民经济生活中的地位提升、是技术人员从外包码农到企业核心竞争力的地位提升、更是中国经济在全球经济中的地位提升。\\n\\n这十六年里,敏捷是如何被引进、被推介、被传播、被漠视、被抗拒、被接纳、被推崇、被转变、被淡化,如何由涓滴潜流汇成时代大潮?变革的源流是如何传承?哪些人,在哪些时间节点上,起到了重要的推动作用?\\n\\n作为敏捷在中国十六年发展历程的见证者和参与者,我希望回头梳理这段历史,为这段历史和卷入其中的人们刻碑立传。'\n },\n {\n title: '高效 H5 动画开发方式',\n lecturer: lecturers[5],\n detail: '随着设备性能的不断提升,越来越多的需求希望以动画的形式去表达呈现。在 Web 开发中,动画的实现成本无疑是重头之一。如何选择合适的实现方式,如何提高动画的开发效率,值得大家一起探讨。\\n\\n本次分享将围绕“保质保量”高效动画开发方式的主题,分享团队的一些探索心得与成果。'\n },\n {\n title: '高可用 React 服务端渲染',\n lecturer: lecturers[6],\n detail: '深入浅出地分享“高可用 React SSR(服务端渲染)”技术栈在企业中应用实践'\n },\n {\n title: '打造 Vue 组件库',\n lecturer: lecturers[2],\n detail: ' 1. 为什么要做组件库?\\n 2. 组件的设计\\n 3. 模块设计\\n 4. 生态建设\\n 5. 最佳实践'\n }\n];\n\nexport const schedule = [\n {\n title: '签到与逛“市集”',\n time: '09:00 ~ 09:30'\n },\n {\n topic: topics[0],\n time: '09:30 ~ 10:20'\n },\n {\n topic: topics[1],\n time: '10:20 ~ 11:10'\n },\n {\n topic: topics[2],\n time: '11:10 ~ 12:00'\n },\n {\n title: '午餐与逛“市集”',\n time: '12:00 ~ 13:55'\n },\n {\n title: '抽奖环节',\n time: '13:55 ~ 14:00'\n },\n {\n topic: topics[3],\n time: '14:00 ~ 14:50'\n },\n {\n topic: topics[4],\n time: '14:50 ~ 15:40'\n },\n {\n title: '茶歇 & 逛“市集” & “可好玩乐”趣味编程赛',\n time: '15:40 ~ 16:10'\n },\n {\n topic: topics[5],\n time: '16:10 ~ 17:00'\n },\n {\n topic: topics[6],\n time: '17:00 ~ 17:50'\n },\n {\n title: '抽奖环节',\n time: '17:50 ~ 17:55'\n }\n];\n\nexport const projects = [\n {\n title: '深度操作系统',\n name: 'Deepin',\n type: 0,\n URL: 'https://www.deepin.org',\n detail: '有全球影响力的中国 Linux 发行版',\n logo: Deepin\n },\n {\n title: 'WebCell',\n name: 'WebCell',\n type: 0,\n URL: 'https://web-cell.dev/',\n detail: '轻量级 Web 组件化引擎,基于 Web components(HTML 5.3、DOM 4.1)、ECMAScript 2018 和 装饰器提案 提供 MVVM 模型,并有官方封装的 BootStrap v4、Material Design 组件库。',\n logo: WebCell\n },\n {\n title: 'HTML 5 design software',\n name: 'H5DS',\n type: 0,\n URL: 'http://www.h5ds.com',\n detail: 'H5DS (HTML 5 design software) 是一款 B/S 的 H5 代码生成工具,通过可视化操作让不会代码的人也能轻松制作 H5 页面',\n logo: H5DS\n },\n {\n title: 'Fun loading',\n name: 'Fun loading',\n type: 0,\n URL: 'https://fanerge.github.io/fun-loading/dist/',\n detail: '基于 React 的 loading 组件库',\n logo: Fun_loading\n },\n {\n title: 'Ubuntu Kylin',\n name: 'UKylin',\n type: 0,\n URL: 'http://www.ubuntukylin.com',\n detail: '优麒麟(Ubuntu Kylin)是由中国 CCN(由 CSIP、Canonical、NUDT 三方联合组建)开源创新联合实验室与天津麒麟信息技术有限公司主导开发的全球开源项目,其宗旨是通过研发用户友好的桌面环境以及特定需求的应用软件,为全球 Linux 桌面用户带来非凡的全新体验!\\n\\n优麒麟操作系统是 Ubuntu 官方衍生版,得到来自 Debian、Ubuntu、Mate、LUPA 等国际社区及众多国内外社区爱好者的广泛参与和热情支持!',\n logo: UKylin\n },\n {\n title: 'Covariant Script',\n name: 'Covariant Script',\n type: 0,\n URL: 'http://covscript.org',\n detail: 'Covariant Script 编程语言是一个新兴的开源编程语言,发展前景广阔',\n logo: Covariant_Script\n },\n {\n title: 'PI6',\n name: 'PI6',\n type: 0,\n URL: 'http://github.com/visi-pivi-sivi/PI6',\n detail: 'PI6 is a bash shell based framework, allow author to add comments in the script, and provides a good interactive experience for user, who needs to know what will be done in the next, while running the script in step by step mode.',\n logo: PI6\n },\n {\n title: 'React Admin',\n name: 'React Admin',\n type: 0,\n URL: 'https://github.com/yezihaohao/react-admin',\n detail: '一套基于 React、Ant design 和 create-react-app 的后台管理系统解决方案。完整的代码目录结构设计、权限管理、自定义主题、路由配置以及 Redux 的基本用法等,一个完整且简单的 demo 让你快速上手 React 和后台系统。',\n logo: React_Admin\n },\n {\n title: '开源社',\n name: 'KaiYuanShe',\n type: 1,\n URL: 'http://www.kaiyuanshe.cn/',\n detail: '开源社是由中国支持开源的企业,社区及个人所组织的一个开源联盟,旨在推广开源,各成员按照“共治、共识、贡献”的原则自发设立。',\n logo: KaiYuanShe\n },\n {\n title: '洛书协议',\n name: 'Vena Network',\n type: 0,\n URL: 'https://github.com/venanetwork',\n detail: '洛书协议 —— 资产融通代币化的开放协议',\n logo: Vena_Network\n },\n {\n title: '成都 Linux 用户组',\n name: 'CD-LUG',\n type: 1,\n URL: 'https://cdlug.org/',\n detail: '成都 GNU/Linux 自组建以来,已经集聚了一批 Linux 爱好者、开发者、创业者。',\n logo: CD_LUG\n }\n];\n\nexport const review = [\n {\n title: 'React 技术演讲'\n },\n {\n title: 'React 技术提问'\n },\n {\n title: 'React 技术讲师'\n },\n {\n title: 'React 大会观众'\n },\n {\n title: 'React 大会招聘'\n },\n {\n title: 'Code for City 黑客松茶歇'\n },\n {\n title: 'Code for City 黑客松 FCC 合影'\n },\n {\n title: '茶歇一览'\n },\n {\n title: 'React 大会招聘'\n }\n];\n\nexport const hosts = [\n {\n title: '主',\n member: [\n {\n name: 'FCC 成都',\n path: FCC_CDC,\n URL: 'https://freecodecamp-chengdu.github.io/'\n }\n ]\n },\n {\n title: '协',\n member: [\n {\n name: ' 掘金',\n path: JueJin,\n URL: 'https://juejin.im/'\n }\n ]\n }\n];\n\nexport const sponsors = [\n {\n title: '金牌',\n member: [\n {\n name: '上线了',\n path: sxl,\n URL: 'https://www.sxl.cn/'\n }\n ]\n },\n {\n title: '银牌',\n member: [\n {\n name: '宝尊电商',\n path: baozun,\n URL: 'https://www.baozun.com/cn/'\n }\n ]\n },\n {\n title: '铜牌',\n member: [\n {\n name: '可好玩乐',\n path: cocoet,\n URL: 'https://cocoet.cn/'\n },\n {\n name: '百词斩',\n path: BaiCiZhan,\n URL: 'http://www.baicizhan.com/'\n }\n ]\n }\n];\n\nexport const partners = [\n {\n name: '博文视点',\n path: BW,\n URL: 'http://www.broadview.com.cn/'\n },\n {\n name: '开源中国',\n path: OSChina,\n URL: 'https://www.oschina.net/'\n },\n {\n name: '麦克',\n path: mikecrm,\n URL: 'https://www.mikecrm.com/'\n },\n {\n name: '前端早读课',\n path: fezaoduke,\n URL: 'https://zdk.f2er.net/'\n },\n {\n name: '实验楼',\n path: SYL,\n URL: 'https://www.shiyanlou.com/'\n },\n {\n name: '图灵社区',\n path: turing,\n URL: 'http://www.ituring.com.cn/'\n },\n {\n name: '异步社区',\n path: epubit,\n URL: 'https://www.epubit.com/'\n },\n {\n name: 'SegmentFault',\n path: SF,\n URL: 'https://segmentfault.com/'\n },\n {\n name: '小样青年社区',\n path: young,\n URL: 'http://www.xypark.com/'\n }\n];\n\nexport const companies = [\n '上线了',\n '宝尊电商',\n '企鹅医生',\n '新蛋',\n '乐车邦',\n 'tap4fun',\n 'ThoughtWorks',\n '麦麦养老',\n 'BBD',\n '美团',\n '腾讯',\n '知道创宇',\n '陌陌成都',\n '孔明科技',\n '知乎',\n '去哪儿',\n '医联',\n '极米科技',\n '今日头条',\n '点融网',\n '客如云',\n '街电',\n '华为云',\n 'Camera360',\n '鱼说科技',\n '折800',\n 'TestBird',\n '汇通天下',\n '科大讯飞',\n '咕咚',\n '西瓜创客',\n '实验楼',\n '四方伟业',\n '猪八戒',\n '陌陌',\n '货车邦',\n '活跃网络',\n '蚂蚁金服'\n];\n","export { default as epubit } from './epubit.png';\nexport { default as fezaoduke } from './fezaoduke.png';\nexport { default as mikecrm } from './mikecrm.png';\nexport { default as young } from './young.png';\n\nexport const turing = 'http://tp1.sinaimg.cn/1752543513/180/1.jpg';\n","module.exports = new __parcel__URL__(\"epubit.c1d8c5b0.png\").toString();","module.exports = new __parcel__URL__(\"fezaoduke.fb7a5ccd.png\").toString();","module.exports = new __parcel__URL__(\"mikecrm.0a457542.png\").toString();","module.exports = new __parcel__URL__(\"young.5f5cc2c5.png\").toString();","export { default as BaiCiZhan } from './BaiCiZhan.png';\nexport { default as baozun } from './baozun.jpg';\nexport { default as cocoet } from './cocoet.png';\nexport { default as sxl } from './sxl.jpg';\n","module.exports = new __parcel__URL__(\"BaiCiZhan.259fa4d1.png\").toString();","module.exports = new __parcel__URL__(\"baozun.75f58188.jpg\").toString();","module.exports = new __parcel__URL__(\"cocoet.da319e74.png\").toString();","module.exports = new __parcel__URL__(\"sxl.dd9a9c0f.jpg\").toString();","export { default as Guo_DaFeng } from './Guo DaFeng.png';\nexport { default as Guo_LinShuo } from './Guo LinShuo.png';\nexport { default as Huang_Yi } from './Huang Yi.png';\nexport { default as OpenSource } from './OpenSource.png';\nexport { default as Quincy_Larson } from './Quincy Larson.png';\nexport { default as Si_Yue } from './Si Yue.png';\nexport { default as Xiong_Jie } from './Xiong Jie.png';\nexport { default as Yu_Che } from './Yu Che.png';\n","module.exports = new __parcel__URL__(\"Guo DaFeng.6d7546f5.png\").toString();","module.exports = new __parcel__URL__(\"Guo LinShuo.12cd3b39.png\").toString();","module.exports = new __parcel__URL__(\"Huang Yi.a58655d7.png\").toString();","module.exports = new __parcel__URL__(\"OpenSource.1df18182.png\").toString();","module.exports = new __parcel__URL__(\"Quincy Larson.caaecba1.png\").toString();","module.exports = new __parcel__URL__(\"Si Yue.fba3c144.png\").toString();","module.exports = new __parcel__URL__(\"Xiong Jie.6367f3c4.png\").toString();","module.exports = new __parcel__URL__(\"Yu Che.f3526e5b.png\").toString();","export { default as CD_LUG } from './CD-LUG.png';\nexport { default as Covariant_Script } from './Covariant Script.png';\nexport { default as Deepin } from './Deepin.png';\nexport { default as Fun_loading } from './Fun loading.png';\nexport { default as H5DS } from './H5DS.png';\nexport { default as KaiYuanShe } from './KaiYuanShe.png';\nexport { default as PI6 } from './PI6.png';\nexport { default as React_Admin } from './React Admin.png';\nexport { default as UKylin } from './UKylin.png';\nexport { default as Vena_Network } from './Vena Network.png';\nexport { default as WebCell } from './WebCell.png';\n","module.exports = new __parcel__URL__(\"CD-LUG.5d9dea2f.png\").toString();","module.exports = new __parcel__URL__(\"Covariant Script.6b878a1e.png\").toString();","module.exports = new __parcel__URL__(\"Deepin.ae36ed8d.png\").toString();","module.exports = new __parcel__URL__(\"Fun loading.6e397c0c.png\").toString();","module.exports = new __parcel__URL__(\"H5DS.e8bb5317.png\").toString();","module.exports = new __parcel__URL__(\"KaiYuanShe.da310f52.png\").toString();","module.exports = new __parcel__URL__(\"PI6.1bc18258.png\").toString();","module.exports = new __parcel__URL__(\"React Admin.6c9f1934.png\").toString();","module.exports = new __parcel__URL__(\"UKylin.71e361fb.png\").toString();","module.exports = new __parcel__URL__(\"Vena Network.a2781646.png\").toString();","module.exports = new __parcel__URL__(\"WebCell.48070487.png\").toString();","import _1 from './1.jpg';\nimport _2 from './2.jpg';\nimport _3 from './3.jpg';\nimport _4 from './4.jpg';\nimport _5 from './5.jpg';\nimport _6 from './6.jpg';\nimport _7 from './7.jpg';\nimport _8 from './8.jpg';\nimport _9 from './9.jpg';\n\nexport default [_1, _2, _3, _4, _5, _6, _7, _8, _9];\n","module.exports = new __parcel__URL__(\"1.bcd16fd1.jpg\").toString();","module.exports = new __parcel__URL__(\"2.09e20710.jpg\").toString();","module.exports = new __parcel__URL__(\"3.244a440c.jpg\").toString();","module.exports = new __parcel__URL__(\"4.c55a5098.jpg\").toString();","module.exports = new __parcel__URL__(\"5.656cea07.jpg\").toString();","module.exports = new __parcel__URL__(\"6.da397600.jpg\").toString();","module.exports = new __parcel__URL__(\"7.f4500b56.jpg\").toString();","module.exports = new __parcel__URL__(\"8.42f8e777.jpg\").toString();","module.exports = new __parcel__URL__(\"9.f9c67304.jpg\").toString();","import { FC } from 'web-cell';\nimport { PageProps } from 'cell-router';\nimport {\n Image,\n Button,\n Carousel,\n CarouselCaption,\n CarouselItem\n} from 'boot-cell';\n\nimport { GuestCard } from './GuestCard';\nimport * as style from './index.module.less';\nimport BG_mountain from './image/BG-mountain.png';\nimport BG_points from './image/BG-points.png';\nimport { review, awards, vips, sponsors } from './data';\n\nexport const Code4City: FC = props => (\n
    \n \n
    \n
    \n
    \n

    \n 2018 黑客松大赛\n

    \n

    Code for City

    \n\n \n 参赛通道 →\n \n\n
      \n
    • \n 线上预赛:2018 年 1 月 12 日 20:00 ~ 2018 年 1\n 月 14 日 20:00\n
    • \n
    • 决赛日期:2018 年 1 月 20 日 9:00 ~ 19:00
    • \n
    • \n 决赛地址:高新天府五街 200 号菁蓉国际广场 7 栋 1\n 号菁蓉汇主会场\n
    • \n
    \n
    \n\n
    \n \n {review.map(({ imageURL, title }) => (\n \n \n \n
    {title}
    \n
    \n
    \n ))}\n
    \n
    \n
    \n \n 大赛宗旨\n \n \n
  • \n 关注城市生活:以“Code For\n City”为主题,旨在用实际编程行动改变城市生活,让城市更美好\n
  • \n
  • \n 鼓励技术创新:创意与实践相互结合,想象与行动二者并重,是本次大赛的重要评判标准之一\n
  • \n
  • \n 提升行业氛围:创造有价值的产品,挖掘有潜力的团队,加强高新区对人才、企业资本的吸引力\n
  • \n
  • \n 展现成都风采:打造一个广泛聚焦的舞台,一展成都程序员风采,彰显成都IT新一线的城市风貌\n
  • \n \n
    \n
    \n \n 品牌理念\n \n

    \n Code for City 是 freeCodeCamp China\n 的品牌活动,通过联合企业、高校、技术社区、公益组织等机构,以编程工作坊或黑客松等形式,赋能青年人为社会问题设计解决方案,旨在推动编程的普及,用技术影响世界。\n

    \n
    \n
    \n \n 大赛奖项\n \n
    \n {awards.map(({ title, detail }) => (\n <>\n

    {title}

    \n

    {detail}

    \n \n ))}\n
    \n
    \n

    \n 所有奖项以现金或同等价值奖品发放\n

    \n
    \n
    \n
    \n
    \n \n\n
    \n
    \n
    \n \n 大赛参赛队伍规模及规则\n \n \n 海选期:不限\n 决赛日:6支\n \n
      \n
    1. 参赛队长通过官方链接或者官方微信群报名
    2. \n
    3. \n 队长在获得官方授予的权限之后,拉队员进入自己的Team(GitHub\n 对应的 team、repository 自动创建)\n
    4. \n
    5. \n 参赛队成员在比赛开始时才被赋予代码库 push\n 权限,在评选阶段暂时失去 push 权限,赛后会取得 admin\n 权限以便继续开发\n
    6. \n
    \n
    \n
    \n \n 嘉宾评委介绍\n \n\n 按首字母排序\n\n
    \n {vips.map(GuestCard)}\n
    \n
    \n \n
    \n

    合作单位

    \n
    \n {sponsors.map(({ title, list }) => (\n
    \n
    {title}
    \n\n
      \n {list.map(({ title }) => (\n
    • {title}
    • \n ))}\n
    \n
    \n ))}\n
    \n
    \n
    \n
      \n {sponsors.map(({ list }) =>\n list.map(({ imageURL, title }) => (\n
    • \n \n
    • \n ))\n )}\n
    \n
    \n \n
    \n);\n","import { FC } from 'web-cell';\nimport { Image } from 'boot-cell';\n\nimport * as style from './index.module.less';\nimport { vips } from './data';\n\nexport const GuestCard: FC<(typeof vips)[0]> = ({\n avatar,\n name,\n role,\n identity,\n describe\n}) => (\n
    \n
    \n \n\n
    \n
    {name}
    \n {role}\n
    {identity}
    \n
    \n
    {describe}
    \n
    \n
    \n);\n",".Detail {\n background: linear-gradient(to bottom, #000b19, #04101e);\n color: rgba(255, 255, 255, 0.8);\n}\n\n.main-title::before {\n content: '';\n display: block;\n width: 3rem;\n height: 3px;\n background: #5583f6;\n margin-bottom: 1.8rem;\n margin-left: -3rem;\n padding-left: 3rem;\n}\n.register {\n margin: 1.8rem 0;\n background-image: linear-gradient(\n to right,\n rgb(39, 91, 243),\n rgb(87, 126, 222)\n );\n}\n\n.line-center::after {\n content: '';\n display: block;\n width: 2rem;\n border: 1px solid #5583f6;\n margin: auto;\n margin-top: 2rem;\n}\n\n.card-title {\n border: 2px solid #2557c8;\n background-color: black;\n color: white;\n padding: 3.5rem;\n white-space: nowrap;\n text-align: center;\n}\n.card-content {\n border: 1px solid #182536;\n padding: 3rem 9%;\n line-height: 2.5rem;\n}\n\n.rule-list {\n text-align: left;\n padding: 2rem 4rem;\n background: linear-gradient(to right, #275bf3, #577ede);\n width: 80%;\n margin: 2rem auto;\n line-height: 3rem;\n border-radius: 4px;\n}\n\n/* 嘉宾 */\n.guest {\n /* width: 30%; */\n /* height: 0px; */\n background: #021024;\n text-align: left;\n border-radius: 4px;\n padding: 15px;\n margin: 5rem 0.1rem 0 0.1rem;\n min-height: 15rem;\n font-size: 1rem;\n\n &:first-child {\n margin-left: 0px;\n }\n}\n.guest-avatar {\n width: 8rem;\n min-height: 8rem;\n border: 2px solid white;\n display: inline-block;\n margin-top: -3rem;\n}\n.guest-title {\n vertical-align: bottom;\n display: inline-block;\n margin-left: 0.5rem;\n line-height: 2rem;\n}\n.guest-name {\n font-size: 1.6rem;\n}\n.guest-role {\n color: #2b57c9;\n}\n.guest-identity {\n color: #696f79;\n}\n.guest-describe {\n margin-top: 20px;\n line-height: 1.6rem;\n}\n\n/* 合作单位 */\n.Sponsor {\n position: relative;\n left: 0.5rem;\n top: 0.5rem;\n border: 1px solid rgb(27, 67, 154);\n padding: 0 !important;\n & > * {\n border: 1px solid rgb(20, 30, 43);\n padding: 5%;\n font-size: 1.2rem;\n text-align: left;\n position: relative;\n left: -1rem;\n top: -1rem;\n }\n .row {\n margin-top: 1rem;\n & > * {\n vertical-align: top;\n padding: 0 1%;\n }\n }\n h5 {\n color: #1b49ac;\n font-size: 1.6rem;\n }\n ul {\n margin-top: 2rem;\n }\n li {\n color: white;\n line-height: 2.5rem;\n font-weight: bold;\n font-size: 1.1rem;\n }\n}\n\n@media (max-width: 768px) {\n .Info {\n margin-bottom: 2rem;\n padding-left: 0px;\n .title::before {\n margin-left: 0;\n }\n h1 {\n font-size: 2.5rem;\n }\n h2 {\n font-size: 1.8rem;\n }\n ul li {\n font-size: 12px;\n }\n }\n .card-group .left {\n background: rgba(0, 0, 0, 0.1);\n height: 5rem;\n padding-top: 0.5rem;\n }\n\n .card-title {\n height: 5rem;\n padding-top: 0.5rem;\n }\n .card-content {\n padding: 2rem 1rem 1rem;\n\n ul li {\n font-size: 1.4rem;\n margin-top: 0.8rem;\n }\n }\n\n .Purpose {\n margin-top: 6rem;\n }\n\n .guest {\n padding: 15px 0px;\n min-height: 1rem;\n\n .guest-avatar {\n width: 5rem;\n height: 5rem;\n border: 2px solid white;\n display: inline-block;\n margin-top: -3rem;\n }\n }\n\n .line-center::after {\n margin-top: 0.8rem;\n }\n\n ul li {\n line-height: 1.8rem;\n }\n\n /* 奖项 */\n .Sponsor {\n margin-bottom: 3rem;\n ul {\n margin-top: 0;\n margin-bottom: 2rem;\n }\n }\n .rule-list {\n line-height: 2rem;\n font-size: 12px;\n padding: 4rem 2rem;\n min-height: 1rem;\n }\n}\n","module.exports = new __parcel__URL__(\"BG-mountain.a40cd143.png\").toString();","module.exports = new __parcel__URL__(\"BG-points.a36cbcb5.png\").toString();","import gallery from './image/gallery';\nimport {\n hushenquan,\n fanxiaobin,\n shenchangkun,\n maoyufeng,\n wenqixiang,\n liwanpeng,\n qinglinbo,\n zhangwei,\n liangtongming,\n lvyan\n} from './image/avatar';\nimport {\n cdht,\n cdkfx,\n XinYaoHang,\n JRsquare,\n Monstarlab,\n github,\n Microsoft,\n tap4fun,\n jhspace,\n SegmentFault,\n ThoughtWorks,\n tedxChengDu,\n mikecrm,\n first,\n jintai,\n lvs,\n yunpian,\n sctv,\n cdtv,\n cdhttv,\n sinasc,\n scdaily,\n fm940,\n kct\n} from './image/logo';\nimport {\n FCC_CDG,\n BBD,\n GDG,\n DevEco,\n GT,\n SYL,\n HCXY,\n JueJin,\n OSChina,\n DKS\n} from '../2017/image/logos';\n\nexport const awards = [\n {\n title: '一等奖',\n detail: '¥10000+'\n },\n {\n title: '二等奖',\n detail: '¥5000+'\n },\n {\n title: '三等奖',\n detail: '¥3000+'\n },\n {\n title: '特别奖项',\n detail: '若干'\n }\n];\n\nexport const vips = [\n {\n avatar: hushenquan,\n name: '胡胜全',\n role: '专家评委',\n identity: '成都科技企业孵化器协会首席运营官',\n describe:\n '长期负责“成都科技创业导师”评选、创业项目辅导、创业孵化行业人才培养等工作,完成了上百场训练营、创新创业大赛等活动,累计培训辅导项目上千个。'\n },\n {\n avatar: fanxiaobin,\n name: '樊晓兵',\n role: '专家评委',\n identity: '高新区创新创业服务中心创业服务处项目经理',\n describe:\n '长期从事科技创新创业服务工作、天府创业联盟创始人、资深技术经纪人,天府创联®核心竞争力系统发明人,专注并擅长于创新创业政策解读、技术转移和战略规划等。'\n },\n {\n avatar: shenchangkun,\n name: '沈长锟',\n role: '专家评委',\n identity: 'TEDx 中国区大使',\n describe:\n 'TEDx 中国区大使,TEDxChengdu 及 TEDxChongqing 策展人。自2012年起创办 TEDxChongqing,2016年当选 TEDx 中国区大使,并在2017年发起 TEDxChengdu。气候政策研究者,世界银行第五期CDD项目专员。2011年起先后入选 Rio+20 联合国里约地球峰会、COP17 联合国德班气候大会、COP18 联合国多哈气候大会、土耳其 Global Power Shift 气候论坛中国青年代表。'\n },\n {\n avatar: maoyufeng,\n name: '毛玉峰',\n role: '专家评委',\n identity: '新耀行集团董事长',\n describe:\n '曾就职于中原地产,有近二十年地产专业服务运营从业经验。毛玉峰先生带领新耀行集团深耕中国商业地产,致力于商业地产价值最大化挖掘,引领商业地产新思维的崛起,并为我们的城市和居民提升更为美好的社区商业场景而坚定前行!'\n },\n {\n avatar: wenqixiang,\n name: '闻其详',\n role: '专家评委',\n identity: 'GNOME ASIA 重庆主席',\n describe:\n '自 2007年开始接触 Linux 和开源软件就投身到开源浪潮之中,喜爱开放协作的包容文化,认同开源文化的社会意义和生产力价值。目前是 GNOME 基金会成员,中华民国软体自由协会成员,现主要关注在推广开源、应用开源技术和开源理念贡献教育领域,创办有公益小组开放教育反应堆和开源工场。'\n },\n {\n avatar: liwanpeng,\n name: '李万鹏',\n role: '专家评委',\n identity: '优聚加速器创始人&CEO',\n describe:\n '优聚加速器创始人&CEO,成都科技创业导师;iWeb成都站负责人;在移动互联网行业拥有十四年的实操经验;“优聚加速器”2016年上半年也成功投资和孵化2家VR公司,目前已经获得高速的发展,在去年10月成功获得科技部颁布的“国家级众创空间”的荣誉。'\n },\n {\n avatar: qinglinbo,\n name: '卿粼波',\n role: '专家评委',\n identity: '四川大学副教授&硕士生导师',\n describe:\n '具有多年从事图像处理,人工智能,嵌入式系统等领域理论和技术研究的经验。 美国视觉科学学会(Vision Science Society)会员,亚太信号与信息处理协会(APSIPA)会员。 担任IEEE Transactions on Multimedia, IEEE Transactions on Circuits and Systems for Video Technology, International Jounal of Electrical Power and Energy Systems, Journal of Computational and Applied Mathematecs等多个国际学术期刊的审稿人。'\n },\n {\n avatar: zhangwei,\n name: '张伟',\n role: '特邀嘉宾',\n identity: 'BBD 基础架构部经理',\n describe:\n '曾就职于Oracle,在Oracle China Offshore Center部门担任Middleware Consultant。曾就职于Alipay,在金融核心技术部担任研发工程师,参与过双11核心交易系统的开发工作。现负责BBD中间件基础设施的建设,对企业级中间件、区块链有浓厚的兴趣。'\n },\n {\n avatar: liangtongming,\n name: '梁桐铭',\n role: '特邀嘉宾',\n identity: '微软最有价值专家(MVP)',\n describe:\n '从2015年5月开始在国内的开源社区中进行推广ASP.NETBoilerplate Project开源框架,创建了”角落的白板报”博客及公众号,发表一些基础性文章来帮助大家提高开发技巧!代码生成器(ABP Code Generator)作者,辅助ABP框架以提高开发人员的效率。现主要关注于VSTS、Devops、区块链等方向的实践和落地。'\n },\n {\n avatar: lvyan,\n name: '吕彦',\n role: '特邀嘉宾',\n identity: '高级项目经理',\n describe:\n '微软大中华区创新技术合作事业部高级项目经理。具有14年IT行业B2B市场经验,负责微软中国社区及校园精英项目'\n }\n];\n\nexport const sponsors = [\n {\n title: '主办单位',\n list: [\n {\n title: '高新区创新创业服务中心',\n imageURL: cdht\n },\n {\n title: '成都科技企业孵化器协会',\n imageURL: cdkfx\n },\n {\n title: 'FCC成都社区',\n imageURL: FCC_CDG\n }\n ]\n },\n {\n title: '冠名单位',\n list: [\n {\n title: '成都新耀行房产营销策划',\n imageURL: XinYaoHang\n }\n ]\n },\n {\n title: '承办单位',\n list: [\n {\n title: '合创新业',\n imageURL: HCXY\n },\n {\n title: '菁蓉国际广场',\n imageURL: JRsquare\n }\n ]\n },\n {\n title: '平台提供',\n list: [\n {\n title: '梦思特科技(成都)',\n imageURL: Monstarlab\n }\n ]\n },\n {\n title: '合作伙伴',\n list: [\n {\n title: 'Github',\n imageURL: github\n },\n {\n title: '微软',\n imageURL: Microsoft\n },\n {\n title: 'BBD',\n imageURL: BBD\n },\n {\n title: '尼毕鲁',\n imageURL: tap4fun\n },\n {\n title: '交换空间',\n imageURL: jhspace\n },\n {\n title: '掘金',\n imageURL: JueJin\n },\n {\n title: '开源中国',\n imageURL: OSChina\n },\n {\n title: 'SegmentFault',\n imageURL: SegmentFault\n },\n {\n title: 'ThoughtWorks',\n imageURL: ThoughtWorks\n },\n {\n title: 'GDG',\n imageURL: GDG\n },\n {\n title: 'TEDxChengDu',\n imageURL: tedxChengDu\n },\n {\n title: '猿生态',\n imageURL: DevEco\n },\n {\n title: '个推',\n imageURL: GT\n },\n {\n title: '麦客',\n imageURL: mikecrm\n },\n {\n title: '实验楼',\n imageURL: SYL\n },\n {\n title: '菲斯特地产',\n imageURL: first\n },\n {\n title: '锦泰地产',\n imageURL: jintai\n },\n {\n title: 'LiveVideoStack',\n imageURL: lvs\n },\n {\n title: 'yunpian',\n imageURL: yunpian\n }\n ]\n },\n {\n title: '媒体伙伴',\n list: [\n {\n title: '四川省电视台',\n imageURL: sctv\n },\n {\n title: '成都电视台',\n imageURL: cdtv\n },\n {\n title: '成都高新区电视台',\n imageURL: cdhttv\n },\n {\n title: '新浪四川',\n imageURL: sinasc\n },\n {\n title: '四川日报',\n imageURL: scdaily\n },\n {\n title: '四川财富广播',\n imageURL: fm940\n },\n {\n title: '科创通',\n imageURL: kct\n },\n {\n title: 'IT大咖说',\n imageURL: DKS\n }\n ]\n }\n];\n\nexport const review = [\n {\n title: 'FCC 成都社区 Hackathon',\n imageURL: gallery[0]\n },\n {\n title: '《程序员职业生涯规划》FCC 成都 Code & Coffee #21',\n imageURL: gallery[1]\n },\n {\n title: '2017 成都 Web 前端大会(会场侧影)',\n imageURL: gallery[2]\n },\n {\n title: '认真笔记的 FCC 活跃社员(2017 成都 Web 前端大会)',\n imageURL: gallery[3]\n },\n {\n title: '2017 成都 Web 前端大会(会后合影)',\n imageURL: gallery[4]\n },\n\n {\n title: '2017 成都 Web 前端大会(听众提问)',\n imageURL: gallery[5]\n },\n {\n title: '2017 全球开发者关系大会(成都分会场)',\n imageURL: gallery[6]\n },\n {\n title: '龙泉中学 IT 科普',\n imageURL: gallery[7]\n }\n];\n","export { default as fanxiaobin } from './fanxiaobin.jpg';\nexport { default as hushenquan } from './hushenquan.jpg';\nexport { default as liangtongming } from './liangtongming.png';\nexport { default as liwanpeng } from './liwanpeng.png';\nexport { default as lvyan } from './lvyan.png';\nexport { default as maoyufeng } from './maoyufeng.png';\nexport { default as qinglinbo } from './qinglinbo.png';\nexport { default as shenchangkun } from './shenchangkun.png';\nexport { default as wenqixiang } from './wenqixiang.jpg';\nexport { default as zhangwei } from './zhangwei.png';\n","module.exports = new __parcel__URL__(\"fanxiaobin.ddf67f59.jpg\").toString();","module.exports = new __parcel__URL__(\"hushenquan.3bc3a3e8.jpg\").toString();","module.exports = new __parcel__URL__(\"liangtongming.0896bffc.png\").toString();","module.exports = new __parcel__URL__(\"liwanpeng.3e384392.png\").toString();","module.exports = new __parcel__URL__(\"lvyan.20f8146a.png\").toString();","module.exports = new __parcel__URL__(\"maoyufeng.4fad4d67.png\").toString();","module.exports = new __parcel__URL__(\"qinglinbo.b653a5f8.png\").toString();","module.exports = new __parcel__URL__(\"shenchangkun.34a950bc.png\").toString();","module.exports = new __parcel__URL__(\"wenqixiang.ba6a4c9e.jpg\").toString();","module.exports = new __parcel__URL__(\"zhangwei.8a1eaf8f.png\").toString();","export { default as cdht } from './cdht.png';\nexport { default as cdhttv } from './cdhttv.png';\nexport { default as cdkfx } from './cdkfx.png';\nexport { default as cdtv } from './cdtv.png';\nexport { default as first } from './first.png';\nexport { default as fm940 } from './fm940.png';\nexport { default as github } from './github.png';\nexport { default as jhspace } from './jhspace.jpeg';\nexport { default as jintai } from './jintai.png';\nexport { default as JRsquare } from './JRsquare.png';\nexport { default as kct } from './kct.png';\nexport { default as lvs } from './lvs.png';\nexport { default as Microsoft } from './Microsoft.png';\nexport { default as mikecrm } from './mikecrm.png';\nexport { default as Monstarlab } from './Monstarlab.png';\nexport { default as scdaily } from './scdaily.png';\nexport { default as sctv } from './sctv.png';\nexport { default as SegmentFault } from './SegmentFault.png';\nexport { default as sinasc } from './sinasc.png';\nexport { default as tap4fun } from './tap4fun.png';\nexport { default as tedxChengDu } from './tedxChengDu.png';\nexport { default as ThoughtWorks } from './ThoughtWorks.png';\nexport { default as XinYaoHang } from './XinYaoHang.png';\nexport { default as yunpian } from './yunpian.png';\n","module.exports = new __parcel__URL__(\"cdht.1a98fe03.png\").toString();","module.exports = new __parcel__URL__(\"cdhttv.95996f0d.png\").toString();","module.exports = new __parcel__URL__(\"cdkfx.45303dec.png\").toString();","module.exports = new __parcel__URL__(\"cdtv.cad3f6aa.png\").toString();","module.exports = new __parcel__URL__(\"first.db3f3b7f.png\").toString();","module.exports = new __parcel__URL__(\"fm940.57af6fef.png\").toString();","module.exports = new __parcel__URL__(\"github.dc076018.png\").toString();","module.exports = new __parcel__URL__(\"jhspace.79b894fc.jpeg\").toString();","module.exports = new __parcel__URL__(\"jintai.c9daf80f.png\").toString();","module.exports = new __parcel__URL__(\"JRsquare.3938dff7.png\").toString();","module.exports = new __parcel__URL__(\"kct.fa12078d.png\").toString();","module.exports = new __parcel__URL__(\"lvs.8542bc34.png\").toString();","module.exports = new __parcel__URL__(\"Microsoft.1f15902a.png\").toString();","module.exports = new __parcel__URL__(\"mikecrm.4f148944.png\").toString();","module.exports = new __parcel__URL__(\"Monstarlab.412935c4.png\").toString();","module.exports = new __parcel__URL__(\"scdaily.cc7ea553.png\").toString();","module.exports = new __parcel__URL__(\"sctv.57b7dcc8.png\").toString();","module.exports = new __parcel__URL__(\"SegmentFault.9eb84f2a.png\").toString();","module.exports = new __parcel__URL__(\"sinasc.13983356.png\").toString();","module.exports = new __parcel__URL__(\"tap4fun.7ad8b888.png\").toString();","module.exports = new __parcel__URL__(\"tedxChengDu.51c170fc.png\").toString();","module.exports = new __parcel__URL__(\"ThoughtWorks.a36bb1e9.png\").toString();","module.exports = new __parcel__URL__(\"XinYaoHang.d3fe522f.png\").toString();","module.exports = new __parcel__URL__(\"yunpian.40cabf38.png\").toString();","import groupBy from 'lodash.groupby';\nimport { FC } from 'web-cell';\nimport { PageProps } from 'cell-router';\nimport {\n Jumbotron,\n Button,\n Card,\n CardBody,\n CardImg,\n CardTitle,\n Tab,\n Tabs,\n Ratio,\n CountDown\n} from 'boot-cell';\n\nimport { PageFrame } from './PageFrame';\nimport { TopicGroup, Topic } from './TopicGroup';\nimport { PartnerGroup } from './PartnerGroup';\n\nimport data from './data/index.json';\nimport BuyCode from './data/BuyCode.png';\n\nconst topicGroups = Object.entries(\n groupBy(data.topics, ({ date, place }) => `${date} ${place}`)\n).sort(\n (A, B) =>\n A[1][0].date.localeCompare(B[1][0].date) ||\n B[1][0].place.localeCompare(A[1][0].place)\n);\nconst partnerGroups = Object.entries(groupBy(data.partners, 'title'));\n\nexport const Page2019: FC = props => (\n \n \n
  • 2019 年 11 月 16 ~ 17 日
  • \n
  • {data.address}
  • \n \n }\n >\n \n \n 即刻报名\n \n \n\n

    \n 大会议程\n

    \n \n {topicGroups.map(([title, list]) => (\n \n \n \n ))}\n \n
    \n\n

    \n 大咖讲师\n

    \n

    (排名不分先后)

    \n\n
    \n {data.mentors.map(\n ({ name, avatar, organization, title, GitHub }) => (\n
    \n \n \n \n {name}\n {organization\n ? `${organization} - ${title}`\n : title}\n \n @{GitHub}\n \n \n \n
    \n )\n )}\n
    \n
    \n\n

    \n 共创伙伴\n

    \n
    \n {partnerGroups.map(([title, list]) => (\n \n ))}\n
    \n
    \n\n

    \n 会场交通\n

    \n

    {data.address}

    \n \n \n \n
    \n\n

    报名通道

    \n \n
    \n);\n","import { FC } from 'web-cell';\nimport { PageProps } from 'cell-router';\n\nimport { TopNavBar } from '../../component';\nimport { title, menu } from './data/index.json';\n\nexport const PageFrame: FC> = ({ children, ...props }) => (\n
    \n \n\n
    {children}
    \n
    \n);\n","{\n \"title\": \"2019 成都 Web 全栈大会\",\n \"address\": \"成都市高新区天府五街菁蓉国际广场 7 号楼主会场\",\n \"menu\": [\n {\n \"title\": \"大会议题\",\n \"href\": \"#Topic\"\n },\n {\n \"title\": \"大咖讲师\",\n \"href\": \"#Mentor\"\n },\n {\n \"title\": \"共创伙伴\",\n \"href\": \"#Contributor\"\n },\n {\n \"title\": \"会场交通\",\n \"href\": \"#Address\"\n },\n {\n \"title\": \"我的邀请函\",\n \"href\": \"2019/invitation/\"\n },\n {\n \"title\": \"财务公开\",\n \"href\": \"2019/accounts/\"\n }\n ],\n \"mentors\": [\n {\n \"id\": 4,\n \"name\": \"贺师俊\",\n \"GitHub\": \"hax\",\n \"organization\": \"360 技术委员会\",\n \"title\": \"Web 前端 TC 委员\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/He-ShiJun.png\",\n \"introduction\": \"ECMA TC39 代表,W3C Chinese Web IG 成员\"\n },\n {\n \"id\": 5,\n \"name\": \"陈森森\",\n \"GitHub\": \"wanyicss\",\n \"organization\": \"阿里云\",\n \"title\": \"Web 前端工程师\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-0/ChenSenSen.png\"\n },\n {\n \"id\": 2,\n \"name\": \"慕阳\",\n \"GitHub\": \"myzhibie\",\n \"organization\": \"华为云\",\n \"title\": \"Web 前端工程师\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-0/MuYang.jpeg\"\n },\n {\n \"id\": 3,\n \"name\": \"尹吉峰\",\n \"GitHub\": \"flisky\",\n \"title\": \"全栈工程师\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Yin-JiFeng.jpg\"\n },\n {\n \"id\": 1,\n \"name\": \"死月\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-0/SiYue.jpg\",\n \"GitHub\": \"XadillaX\",\n \"organization\": \"蚂蚁金服\",\n \"title\": \"Node.js 工程师\"\n },\n {\n \"id\": 8,\n \"name\": \"蒙维\",\n \"GitHub\": \"mengweivictor\",\n \"organization\": \"亚马逊 AWS\",\n \"title\": \"高级解决方案架构师\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Meng-Wei.jpg\"\n },\n {\n \"id\": 7,\n \"name\": \"陈洋彬\",\n \"GitHub\": \"imnemo\",\n \"organization\": \"麦麦养老\",\n \"title\": \"软件研发负责人\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Chen-YangBing.jpg\"\n },\n {\n \"id\": 10,\n \"name\": \"余泽江\",\n \"GitHub\": \"trotyl\",\n \"organization\": \"ThoughtWorks\",\n \"title\": \"咨询师\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-0/YuZeJiang.png\"\n },\n {\n \"id\": 9,\n \"name\": \"谢扬\",\n \"GitHub\": \"leinue\",\n \"organization\": \"蒸汽记忆\",\n \"title\": \"创始人\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-0/XieYang.jpeg\"\n },\n {\n \"id\": 6,\n \"name\": \"陈成\",\n \"GitHub\": \"sorrycc\",\n \"organization\": \"蚂蚁金服\",\n \"title\": \"Web 前端技术专家\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Chen-Cheng.jpeg\"\n },\n {\n \"id\": 11,\n \"name\": \"满远荣\",\n \"GitHub\": \"manyuanrong\",\n \"organization\": \"Deno 中国社区\",\n \"title\": \"发起人\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-0/ManYuanRong.jpg\"\n },\n {\n \"id\": 12,\n \"name\": \"于航\",\n \"GitHub\": \"Becavalier\",\n \"organization\": \"PayPal\",\n \"title\": \"Web 前端工程师\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Yu-Hang.jpeg\"\n },\n {\n \"id\": 13,\n \"name\": \"唐刚\",\n \"GitHub\": \"daogangtang\",\n \"organization\": \"RustCC 社区\",\n \"title\": \"联合创始人\",\n \"avatar\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/Tang-Gang.jpg\"\n },\n {\n \"id\": 14,\n \"name\": \"Jack Works\",\n \"GitHub\": \"Jack-Works\",\n \"organization\": \"Dimension\",\n \"title\": \"现代前端魔法使\",\n \"avatar\": \"https://github.com/Jack-Works.png\"\n },\n {\n \"id\": 15,\n \"name\": \"谢彬彬\",\n \"GitHub\": \"xiebinbin\",\n \"title\": \"全栈工程师\",\n \"avatar\": \"https://github.com/xiebinbin.png\"\n },\n {\n \"id\": 16,\n \"name\": \"董涛\",\n \"GitHub\": \"mtsee\",\n \"title\": \"Web 前端工程师\",\n \"avatar\": \"https://github.com/mtsee.png\"\n },\n {\n \"id\": 17,\n \"name\": \"叶师傅\",\n \"GitHub\": \"Tealeafpei\",\n \"organization\": \"AALab 算法艺术实验室\",\n \"title\": \"算法工程师\",\n \"avatar\": \"https://github.com/Tealeafpei.png\"\n },\n {\n \"id\": 18,\n \"name\": \"唐睿\",\n \"GitHub\": \"tangrui\",\n \"organization\": \"阿里云\",\n \"title\": \"产品经理\",\n \"avatar\": \"https://github.com/tangrui.png\"\n },\n {\n \"id\": 19,\n \"name\": \"呂靖\",\n \"GitHub\": \"JimmyLv\",\n \"organization\": \"中国极限编程实践者社群\",\n \"title\": \"Web 前端工程师\",\n \"avatar\": \"https://github.com/JimmyLv.png\"\n },\n {\n \"id\": 20,\n \"name\": \"孙华\",\n \"GitHub\": \"bnusunny\",\n \"organization\": \"亚马逊 AWS\",\n \"title\": \"工程师\",\n \"avatar\": \"https://github.com/bnusunny.png\"\n }\n ],\n \"topics\": [\n {\n \"title\": \"蚂蚁前端研发最佳实践\",\n \"type\": \"lecture\",\n \"mentorId\": 6,\n \"date\": \"2019-11-16\",\n \"time\": [\"09:30\", \"10:10\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/ant-design.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTllLRUx6b0N3bnZi\"\n },\n {\n \"title\": \"基于 Node.js 打造研发团队的瑞士军刀\",\n \"type\": \"lecture\",\n \"mentorId\": 7,\n \"date\": \"2019-11-16\",\n \"time\": [\"10:10\", \"10:50\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/nodejs.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTmJISEVjc09EaXha\"\n },\n {\n \"title\": \"城市大脑地图可视化技术实践\",\n \"type\": \"lecture\",\n \"mentorId\": 5,\n \"date\": \"2019-11-16\",\n \"time\": [\"10:50\", \"11:30\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/aliyun.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTmV3QmhFbVh6Q3F3\"\n },\n {\n \"title\": \"基于 GraphQL 的业务中台实践\",\n \"type\": \"lecture\",\n \"mentorId\": 3,\n \"date\": \"2019-11-16\",\n \"time\": [\"11:30\", \"12:10\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/graphql.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTmtldVpQUkl5S0ZD\"\n },\n {\n \"title\": \"SoLiD 社交互联数据 —— 万维网之父的数据主权革命\",\n \"type\": \"lecture\",\n \"mentorId\": 9,\n \"date\": \"2019-11-16\",\n \"time\": [\"14:00\", \"14:40\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/solid.png\",\n \"slideshow\": \"https://leinue.github.io/webfullstack-2019/index.html\"\n },\n {\n \"title\": \"从 Infrastructure as Code 到 Open Application Model —— 填补开发到运维的鸿沟\",\n \"type\": \"lecture\",\n \"mentorId\": 18,\n \"date\": \"2019-11-16\",\n \"time\": [\"14:40\", \"15:20\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/oam-dev.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTnVmRlRkcHhKQXhs\"\n },\n {\n \"title\": \"用 Python Flask 打造小型视频点播站\",\n \"type\": \"lecture\",\n \"mentorId\": 15,\n \"date\": \"2019-11-16\",\n \"time\": [\"15:40\", \"16:20\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/FFmpeg.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTkJFVHZ2RUhvVWto\"\n },\n {\n \"title\": \"DevCloud Web Components 实践\",\n \"type\": \"lecture\",\n \"mentorId\": 2,\n \"date\": \"2019-11-16\",\n \"time\": [\"16:20\", \"17:00\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/webcomponents.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTnlwYmFham56YkFI\"\n },\n {\n \"title\": \"聊聊 Node.js 构建部署时我们要关心的数据\",\n \"type\": \"lecture\",\n \"mentorId\": 1,\n \"date\": \"2019-11-16\",\n \"time\": [\"17:00\", \"17:40\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/nodejs.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTmt3VllvaGhtRFdk\"\n },\n {\n \"title\": \"无服务器计算架构\",\n \"type\": \"lecture\",\n \"mentorId\": 8,\n \"date\": \"2019-11-17\",\n \"time\": [\"09:30\", \"10:10\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/serverless.png\",\n \"slideshow\": \"https://docs.qq.com/pdf/DTlJFSE5pVk16WHJV\"\n },\n {\n \"title\": \"从 Angular Ivy 认识前端框架\",\n \"type\": \"lecture\",\n \"mentorId\": 10,\n \"date\": \"2019-11-17\",\n \"time\": [\"10:10\", \"10:50\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/angular.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTk1ITEZNbnRtZXlO\"\n },\n {\n \"title\": \"Thoughts In Deno\",\n \"type\": \"lecture\",\n \"mentorId\": 11,\n \"date\": \"2019-11-17\",\n \"time\": [\"10:50\", \"11:30\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/denoland.png\",\n \"slideshow\": \"https://ppt.baomitu.com/d/9ffcac5c\"\n },\n {\n \"title\": \"Brand New Things in WebAssembly Post-MVP Standard\",\n \"type\": \"lecture\",\n \"mentorId\": 12,\n \"date\": \"2019-11-17\",\n \"time\": [\"11:30\", \"12:10\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/WebAssembly.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTnhJYUN2dUhtWFRQ\"\n },\n {\n \"title\": \"Rust 语言全栈开发\",\n \"type\": \"lecture\",\n \"mentorId\": 13,\n \"date\": \"2019-11-17\",\n \"time\": [\"14:00\", \"14:40\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/rust-lang.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTlNuTkZtUmJ1RUV2\"\n },\n {\n \"title\": \"Enhanced Privacy with Decentralized Identity\",\n \"type\": \"lecture\",\n \"mentorId\": 14,\n \"date\": \"2019-11-17\",\n \"time\": [\"14:40\", \"15:20\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/GoogleChrome.png\",\n \"slideshow\": \"https://docs.qq.com/slide/DTkdHVXJScEJZZHFt\"\n },\n {\n \"title\": \"从数据可视化看前端未来\",\n \"type\": \"lecture\",\n \"mentorId\": 16,\n \"date\": \"2019-11-17\",\n \"time\": [\"15:40\", \"16:20\"],\n \"place\": \"主会场\",\n \"slideshow\": \"https://docs.qq.com/slide/DTkJWVkVQRVhKR1Vi\"\n },\n {\n \"title\": \"this in JS\",\n \"type\": \"lecture\",\n \"mentorId\": 4,\n \"date\": \"2019-11-17\",\n \"time\": [\"16:20\", \"17:00\"],\n \"place\": \"主会场\",\n \"image\": \"https://github.com/tc39.png\",\n \"slideshow\": \"https://johnhax.net/2019/js-this/slide\"\n },\n {\n \"title\": \"即影即有 —— 异形投影与着色器语言\",\n \"type\": \"workshop\",\n \"mentorId\": 17,\n \"date\": \"2019-11-16\",\n \"time\": [\"14:00\", \"17:00\"],\n \"place\": \"分会场\",\n \"image\": \"https://github.com/Unity-Technologies.png\"\n },\n {\n \"title\": \"Serverless 应用开发\",\n \"type\": \"workshop\",\n \"mentorId\": 20,\n \"date\": \"2019-11-17\",\n \"time\": [\"10:20\", \"11:20\"],\n \"place\": \"分会场\",\n \"image\": \"https://github.com/serverless.png\",\n \"slideshow\": \"https://docs.qq.com/pdf/DTkdTcm5vemZ0dlJG\"\n },\n {\n \"title\": \"敏捷 TDD(测试驱动开发)\",\n \"type\": \"workshop\",\n \"mentorId\": 19,\n \"date\": \"2019-11-17\",\n \"time\": [\"14:00\", \"17:00\"],\n \"place\": \"分会场\",\n \"image\": \"http://extremeprogramming.cn/images/extreme_programming_white.png\",\n \"slideshow\": \"https://jimmylv.gitee.io/slides/tdd-dojo\"\n }\n ],\n \"partners\": [\n {\n \"title\": \"主办\",\n \"name\": \"freeCodeCamp 成都社区\",\n \"logo\": \"https://fcc-cd.dev/images/FCC-CDC-v1-1.png\"\n },\n {\n \"title\": \"协办\",\n \"name\": \"四川捷云信通\",\n \"logo\": \"https://tvax3.sinaimg.cn/crop.4.0.237.237.180/00729vHHly8fp6nb4mncdj308a07raa2.jpg?KID=imgbed,tva&Expires=1571330231&ssig=Fs1dNMHnlm\"\n },\n {\n \"title\": \"协办\",\n \"name\": \"Next 创业空间\",\n \"logo\": \"http://user-assets.sxlcdn.com/images/30463/Fn_sgltP1ZZexyG8yyqy11RacFWD.png?imageMogr2/strip/auto-orient/thumbnail/300x300%3E/format/png\"\n },\n {\n \"title\": \"钻石赞助\",\n \"name\": \"阿里云计算\",\n \"logo\": \"https://img.alicdn.com/tfs/TB1Ly5oS3HqK1RjSZFPXXcwapXa-238-54.png\"\n },\n {\n \"title\": \"金牌赞助\",\n \"name\": \"(虚位以待)\"\n },\n {\n \"title\": \"银牌赞助\",\n \"name\": \"(虚位以待)\"\n },\n {\n \"title\": \"铜牌赞助\",\n \"name\": \"亚马逊 AWS\",\n \"logo\": \"https://fcc-cd.dev/activity/conference/web-conf-2019-1/AWS.png\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"图灵\",\n \"logo\": \"http://tp1.sinaimg.cn/1752543513/180/1.jpg\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"掘金\",\n \"logo\": \"https://b-gold-cdn.xitu.io/v3/static/img/logo.a7995ad.svg\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"开源中国\",\n \"logo\": \"https://static.oschina.net/new-osc/img/logo_osc_new.svg\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"开源工场\",\n \"logo\": \"https://openingsource.org/wp-content/uploads/2018/02/test_logo.png\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"Linux 中国\",\n \"logo\": \"https://img.linux.net.cn/static/image/common/linuxcn_logo_2017.png\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"开源社\",\n \"logo\": \"https://kaiyuanshe.cn/image/KaiYuanShe-logo.png\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"GDG 成都\",\n \"logo\": \"https://fcc-cd.dev/partner/gdg-cd/logo.webp\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"Copell 高配\",\n \"logo\": \"https://www.copell.cn/copellPC/static/footer-logo.98e6f1cc.png\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"中生代技术\",\n \"logo\": \"http://zhongshengdai.com/wp-content/uploads/2019/06/中生代技术logo竖大图-300x300.png\"\n },\n {\n \"title\": \"合作伙伴\",\n \"name\": \"回眸刻\",\n \"logo\": \"http://sucimg.itc.cn/avatarimg/3313d107e2194ea1a469f4d984fa0050_1510107027722\"\n }\n ]\n}\n","import { FC } from 'web-cell';\nimport { Card, CardBody, CardImg, CardTitle } from 'boot-cell';\n\nimport * as style from './TopicGroup.module.less';\n\ninterface Mentor extends Record<'name' | 'GitHub', string> {\n id: number;\n}\n\nexport interface Topic\n extends Record<'type' | 'title' | 'date' | 'image', string> {\n time: string[];\n mentorId?: number;\n slideshow?: string;\n}\n\nexport interface TopicGroupProps {\n topics: Topic[];\n mentors: Mentor[];\n}\n\nexport const TopicGroup: FC = ({ topics, mentors }) => (\n
    \n {[...topics]\n .sort((A, B) => A.time[0].localeCompare(B.time[0]))\n .map(({ title, image, mentorId, slideshow, time }) => {\n const mentor =\n mentorId && mentors.find(({ id }) => id === mentorId)!;\n\n return (\n \n \n \n {title}\n {mentor && (\n {mentor.name}\n )}\n
    \n \n {slideshow && (\n \n 演示文稿\n \n )}\n
    \n
    \n
    \n );\n })}\n
    \n);\n",".topic {\n min-width: 25rem;\n max-width: 25rem;\n margin: auto;\n margin-top: 1.5rem;\n}\n@media (max-width: 25rem) {\n .topic {\n min-width: 100%;\n max-width: 100%;\n }\n}\n","import { FC } from 'web-cell';\n\ninterface Partner extends Record<'title' | 'name', string> {\n logo?: string;\n}\n\nexport interface PartnerGroupProps {\n title: string;\n list: Partner[];\n}\n\nexport const PartnerGroup: FC = ({ title, list }) => (\n <>\n

    {title}

    \n\n
      \n {list.map(({ name, logo }) => (\n
    • \n {logo ? (\n \n ) : (\n name\n )}\n
    • \n ))}\n
    \n \n);\n","module.exports = new __parcel__URL__(\"BuyCode.5f20ce22.png\").toString();","import { component, observer } from 'web-cell';\nimport { observable } from 'mobx';\nimport { toPng } from 'html-to-image';\n\nimport { session } from '../../model';\nimport { SessionBox } from '../../component';\n\nimport * as style from './InvitationCard.module.less';\nimport banner from './data/banner.jpg';\nimport BuyCode from './data/BuyCode.png';\n\n@component({ tagName: 'invitation-card' })\n@observer\nexport class InvitationCard extends HTMLElement {\n @observable\n accessor imageURI = '';\n\n showImage = async () => {\n if (this.imageURI) return;\n\n const box = this.querySelector('main');\n\n if (box) this.imageURI = await toPng(box);\n };\n\n renderCard() {\n const { username, gender } = session.user!;\n\n return (\n \n \n\n
    \n
    \n

    诚挚邀请

    \n

    \n {username[0]}\n {gender === '女' ? '女士' : '先生'}\n

    \n

    \n 于 11 月 16 ~ 17 日
    \n 莅临菁蓉国际广场参会\n

    \n
    \n\n
    \n \n
    和我一起去
    \n
    \n
    \n \n );\n }\n\n render() {\n const { imageURI } = this;\n\n return (\n \n {session.user && this.renderCard()}\n \n );\n }\n}\n","import { cloneNode } from './clone-node';\nimport { embedImages } from './embed-images';\nimport { applyStyle } from './apply-style';\nimport { embedWebFonts, getWebFontCSS } from './embed-webfonts';\nimport { getImageSize, getPixelRatio, createImage, canvasToBlob, nodeToDataURL, checkCanvasDimensions, } from './util';\nexport async function toSvg(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const clonedNode = (await cloneNode(node, options, true));\n await embedWebFonts(clonedNode, options);\n await embedImages(clonedNode, options);\n applyStyle(clonedNode, options);\n const datauri = await nodeToDataURL(clonedNode, width, height);\n return datauri;\n}\nexport async function toCanvas(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const svg = await toSvg(node, options);\n const img = await createImage(svg);\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n const ratio = options.pixelRatio || getPixelRatio();\n const canvasWidth = options.canvasWidth || width;\n const canvasHeight = options.canvasHeight || height;\n canvas.width = canvasWidth * ratio;\n canvas.height = canvasHeight * ratio;\n if (!options.skipAutoScale) {\n checkCanvasDimensions(canvas);\n }\n canvas.style.width = `${canvasWidth}`;\n canvas.style.height = `${canvasHeight}`;\n if (options.backgroundColor) {\n context.fillStyle = options.backgroundColor;\n context.fillRect(0, 0, canvas.width, canvas.height);\n }\n context.drawImage(img, 0, 0, canvas.width, canvas.height);\n return canvas;\n}\nexport async function toPixelData(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const canvas = await toCanvas(node, options);\n const ctx = canvas.getContext('2d');\n return ctx.getImageData(0, 0, width, height).data;\n}\nexport async function toPng(node, options = {}) {\n const canvas = await toCanvas(node, options);\n return canvas.toDataURL();\n}\nexport async function toJpeg(node, options = {}) {\n const canvas = await toCanvas(node, options);\n return canvas.toDataURL('image/jpeg', options.quality || 1);\n}\nexport async function toBlob(node, options = {}) {\n const canvas = await toCanvas(node, options);\n const blob = await canvasToBlob(canvas);\n return blob;\n}\nexport async function getFontEmbedCSS(node, options = {}) {\n return getWebFontCSS(node, options);\n}\n//# sourceMappingURL=index.js.map","import { Options } from './types'\nimport { cloneNode } from './clone-node'\nimport { embedImages } from './embed-images'\nimport { applyStyle } from './apply-style'\nimport { embedWebFonts, getWebFontCSS } from './embed-webfonts'\nimport {\n getImageSize,\n getPixelRatio,\n createImage,\n canvasToBlob,\n nodeToDataURL,\n checkCanvasDimensions,\n} from './util'\n\nexport async function toSvg(\n node: T,\n options: Options = {},\n): Promise {\n const { width, height } = getImageSize(node, options)\n const clonedNode = (await cloneNode(node, options, true)) as HTMLElement\n await embedWebFonts(clonedNode, options)\n await embedImages(clonedNode, options)\n applyStyle(clonedNode, options)\n const datauri = await nodeToDataURL(clonedNode, width, height)\n return datauri\n}\n\nexport async function toCanvas(\n node: T,\n options: Options = {},\n): Promise {\n const { width, height } = getImageSize(node, options)\n const svg = await toSvg(node, options)\n const img = await createImage(svg)\n\n const canvas = document.createElement('canvas')\n const context = canvas.getContext('2d')!\n const ratio = options.pixelRatio || getPixelRatio()\n const canvasWidth = options.canvasWidth || width\n const canvasHeight = options.canvasHeight || height\n\n canvas.width = canvasWidth * ratio\n canvas.height = canvasHeight * ratio\n\n if (!options.skipAutoScale) {\n checkCanvasDimensions(canvas)\n }\n canvas.style.width = `${canvasWidth}`\n canvas.style.height = `${canvasHeight}`\n\n if (options.backgroundColor) {\n context.fillStyle = options.backgroundColor\n context.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n context.drawImage(img, 0, 0, canvas.width, canvas.height)\n\n return canvas\n}\n\nexport async function toPixelData(\n node: T,\n options: Options = {},\n): Promise {\n const { width, height } = getImageSize(node, options)\n const canvas = await toCanvas(node, options)\n const ctx = canvas.getContext('2d')!\n return ctx.getImageData(0, 0, width, height).data\n}\n\nexport async function toPng(\n node: T,\n options: Options = {},\n): Promise {\n const canvas = await toCanvas(node, options)\n return canvas.toDataURL()\n}\n\nexport async function toJpeg(\n node: T,\n options: Options = {},\n): Promise {\n const canvas = await toCanvas(node, options)\n return canvas.toDataURL('image/jpeg', options.quality || 1)\n}\n\nexport async function toBlob(\n node: T,\n options: Options = {},\n): Promise {\n const canvas = await toCanvas(node, options)\n const blob = await canvasToBlob(canvas)\n return blob\n}\n\nexport async function getFontEmbedCSS(\n node: T,\n options: Options = {},\n): Promise {\n return getWebFontCSS(node, options)\n}\n","import { clonePseudoElements } from './clone-pseudos';\nimport { createImage, toArray, isInstanceOfElement } from './util';\nimport { getMimeType } from './mimes';\nimport { resourceToDataURL } from './dataurl';\nasync function cloneCanvasElement(canvas) {\n const dataURL = canvas.toDataURL();\n if (dataURL === 'data:,') {\n return canvas.cloneNode(false);\n }\n return createImage(dataURL);\n}\nasync function cloneVideoElement(video, options) {\n if (video.currentSrc) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n canvas.width = video.clientWidth;\n canvas.height = video.clientHeight;\n ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n const dataURL = canvas.toDataURL();\n return createImage(dataURL);\n }\n const poster = video.poster;\n const contentType = getMimeType(poster);\n const dataURL = await resourceToDataURL(poster, contentType, options);\n return createImage(dataURL);\n}\nasync function cloneIFrameElement(iframe) {\n var _a;\n try {\n if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {\n return (await cloneNode(iframe.contentDocument.body, {}, true));\n }\n }\n catch (_b) {\n // Failed to clone iframe\n }\n return iframe.cloneNode(false);\n}\nasync function cloneSingleNode(node, options) {\n if (isInstanceOfElement(node, HTMLCanvasElement)) {\n return cloneCanvasElement(node);\n }\n if (isInstanceOfElement(node, HTMLVideoElement)) {\n return cloneVideoElement(node, options);\n }\n if (isInstanceOfElement(node, HTMLIFrameElement)) {\n return cloneIFrameElement(node);\n }\n return node.cloneNode(false);\n}\nconst isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';\nasync function cloneChildren(nativeNode, clonedNode, options) {\n var _a, _b;\n let children = [];\n if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {\n children = toArray(nativeNode.assignedNodes());\n }\n else if (isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n children = toArray(nativeNode.contentDocument.body.childNodes);\n }\n else {\n children = toArray(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);\n }\n if (children.length === 0 ||\n isInstanceOfElement(nativeNode, HTMLVideoElement)) {\n return clonedNode;\n }\n await children.reduce((deferred, child) => deferred\n .then(() => cloneNode(child, options))\n .then((clonedChild) => {\n if (clonedChild) {\n clonedNode.appendChild(clonedChild);\n }\n }), Promise.resolve());\n return clonedNode;\n}\nfunction cloneCSSStyle(nativeNode, clonedNode) {\n const targetStyle = clonedNode.style;\n if (!targetStyle) {\n return;\n }\n const sourceStyle = window.getComputedStyle(nativeNode);\n if (sourceStyle.cssText) {\n targetStyle.cssText = sourceStyle.cssText;\n targetStyle.transformOrigin = sourceStyle.transformOrigin;\n }\n else {\n toArray(sourceStyle).forEach((name) => {\n let value = sourceStyle.getPropertyValue(name);\n if (name === 'font-size' && value.endsWith('px')) {\n const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;\n value = `${reducedFont}px`;\n }\n if (isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n name === 'display' &&\n value === 'inline') {\n value = 'block';\n }\n if (name === 'd' && clonedNode.getAttribute('d')) {\n value = `path(${clonedNode.getAttribute('d')})`;\n }\n targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));\n });\n }\n}\nfunction cloneInputValue(nativeNode, clonedNode) {\n if (isInstanceOfElement(nativeNode, HTMLTextAreaElement)) {\n clonedNode.innerHTML = nativeNode.value;\n }\n if (isInstanceOfElement(nativeNode, HTMLInputElement)) {\n clonedNode.setAttribute('value', nativeNode.value);\n }\n}\nfunction cloneSelectValue(nativeNode, clonedNode) {\n if (isInstanceOfElement(nativeNode, HTMLSelectElement)) {\n const clonedSelect = clonedNode;\n const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));\n if (selectedOption) {\n selectedOption.setAttribute('selected', '');\n }\n }\n}\nfunction decorate(nativeNode, clonedNode) {\n if (isInstanceOfElement(clonedNode, Element)) {\n cloneCSSStyle(nativeNode, clonedNode);\n clonePseudoElements(nativeNode, clonedNode);\n cloneInputValue(nativeNode, clonedNode);\n cloneSelectValue(nativeNode, clonedNode);\n }\n return clonedNode;\n}\nasync function ensureSVGSymbols(clone, options) {\n const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];\n if (uses.length === 0) {\n return clone;\n }\n const processedDefs = {};\n for (let i = 0; i < uses.length; i++) {\n const use = uses[i];\n const id = use.getAttribute('xlink:href');\n if (id) {\n const exist = clone.querySelector(id);\n const definition = document.querySelector(id);\n if (!exist && definition && !processedDefs[id]) {\n // eslint-disable-next-line no-await-in-loop\n processedDefs[id] = (await cloneNode(definition, options, true));\n }\n }\n }\n const nodes = Object.values(processedDefs);\n if (nodes.length) {\n const ns = 'http://www.w3.org/1999/xhtml';\n const svg = document.createElementNS(ns, 'svg');\n svg.setAttribute('xmlns', ns);\n svg.style.position = 'absolute';\n svg.style.width = '0';\n svg.style.height = '0';\n svg.style.overflow = 'hidden';\n svg.style.display = 'none';\n const defs = document.createElementNS(ns, 'defs');\n svg.appendChild(defs);\n for (let i = 0; i < nodes.length; i++) {\n defs.appendChild(nodes[i]);\n }\n clone.appendChild(svg);\n }\n return clone;\n}\nexport async function cloneNode(node, options, isRoot) {\n if (!isRoot && options.filter && !options.filter(node)) {\n return null;\n }\n return Promise.resolve(node)\n .then((clonedNode) => cloneSingleNode(clonedNode, options))\n .then((clonedNode) => cloneChildren(node, clonedNode, options))\n .then((clonedNode) => decorate(node, clonedNode))\n .then((clonedNode) => ensureSVGSymbols(clonedNode, options));\n}\n//# sourceMappingURL=clone-node.js.map","import type { Options } from './types'\nimport { clonePseudoElements } from './clone-pseudos'\nimport { createImage, toArray, isInstanceOfElement } from './util'\nimport { getMimeType } from './mimes'\nimport { resourceToDataURL } from './dataurl'\n\nasync function cloneCanvasElement(canvas: HTMLCanvasElement) {\n const dataURL = canvas.toDataURL()\n if (dataURL === 'data:,') {\n return canvas.cloneNode(false) as HTMLCanvasElement\n }\n return createImage(dataURL)\n}\n\nasync function cloneVideoElement(video: HTMLVideoElement, options: Options) {\n if (video.currentSrc) {\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n canvas.width = video.clientWidth\n canvas.height = video.clientHeight\n ctx?.drawImage(video, 0, 0, canvas.width, canvas.height)\n const dataURL = canvas.toDataURL()\n return createImage(dataURL)\n }\n\n const poster = video.poster\n const contentType = getMimeType(poster)\n const dataURL = await resourceToDataURL(poster, contentType, options)\n return createImage(dataURL)\n}\n\nasync function cloneIFrameElement(iframe: HTMLIFrameElement) {\n try {\n if (iframe?.contentDocument?.body) {\n return (await cloneNode(\n iframe.contentDocument.body,\n {},\n true,\n )) as HTMLBodyElement\n }\n } catch {\n // Failed to clone iframe\n }\n\n return iframe.cloneNode(false) as HTMLIFrameElement\n}\n\nasync function cloneSingleNode(\n node: T,\n options: Options,\n): Promise {\n if (isInstanceOfElement(node, HTMLCanvasElement)) {\n return cloneCanvasElement(node)\n }\n\n if (isInstanceOfElement(node, HTMLVideoElement)) {\n return cloneVideoElement(node, options)\n }\n\n if (isInstanceOfElement(node, HTMLIFrameElement)) {\n return cloneIFrameElement(node)\n }\n\n return node.cloneNode(false) as T\n}\n\nconst isSlotElement = (node: HTMLElement): node is HTMLSlotElement =>\n node.tagName != null && node.tagName.toUpperCase() === 'SLOT'\n\nasync function cloneChildren(\n nativeNode: T,\n clonedNode: T,\n options: Options,\n): Promise {\n let children: T[] = []\n\n if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {\n children = toArray(nativeNode.assignedNodes())\n } else if (\n isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n nativeNode.contentDocument?.body\n ) {\n children = toArray(nativeNode.contentDocument.body.childNodes)\n } else {\n children = toArray((nativeNode.shadowRoot ?? nativeNode).childNodes)\n }\n\n if (\n children.length === 0 ||\n isInstanceOfElement(nativeNode, HTMLVideoElement)\n ) {\n return clonedNode\n }\n\n await children.reduce(\n (deferred, child) =>\n deferred\n .then(() => cloneNode(child, options))\n .then((clonedChild: HTMLElement | null) => {\n if (clonedChild) {\n clonedNode.appendChild(clonedChild)\n }\n }),\n Promise.resolve(),\n )\n\n return clonedNode\n}\n\nfunction cloneCSSStyle(nativeNode: T, clonedNode: T) {\n const targetStyle = clonedNode.style\n if (!targetStyle) {\n return\n }\n\n const sourceStyle = window.getComputedStyle(nativeNode)\n if (sourceStyle.cssText) {\n targetStyle.cssText = sourceStyle.cssText\n targetStyle.transformOrigin = sourceStyle.transformOrigin\n } else {\n toArray(sourceStyle).forEach((name) => {\n let value = sourceStyle.getPropertyValue(name)\n if (name === 'font-size' && value.endsWith('px')) {\n const reducedFont =\n Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1\n value = `${reducedFont}px`\n }\n\n if (\n isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n name === 'display' &&\n value === 'inline'\n ) {\n value = 'block'\n }\n \n if (name === 'd' && clonedNode.getAttribute('d')) {\n value = `path(${clonedNode.getAttribute('d')})`\n }\n \n targetStyle.setProperty(\n name,\n value,\n sourceStyle.getPropertyPriority(name),\n )\n })\n }\n}\n\nfunction cloneInputValue(nativeNode: T, clonedNode: T) {\n if (isInstanceOfElement(nativeNode, HTMLTextAreaElement)) {\n clonedNode.innerHTML = nativeNode.value\n }\n\n if (isInstanceOfElement(nativeNode, HTMLInputElement)) {\n clonedNode.setAttribute('value', nativeNode.value)\n }\n}\n\nfunction cloneSelectValue(nativeNode: T, clonedNode: T) {\n if (isInstanceOfElement(nativeNode, HTMLSelectElement)) {\n const clonedSelect = clonedNode as any as HTMLSelectElement\n const selectedOption = Array.from(clonedSelect.children).find(\n (child) => nativeNode.value === child.getAttribute('value'),\n )\n\n if (selectedOption) {\n selectedOption.setAttribute('selected', '')\n }\n }\n}\n\nfunction decorate(nativeNode: T, clonedNode: T): T {\n if (isInstanceOfElement(clonedNode, Element)) {\n cloneCSSStyle(nativeNode, clonedNode)\n clonePseudoElements(nativeNode, clonedNode)\n cloneInputValue(nativeNode, clonedNode)\n cloneSelectValue(nativeNode, clonedNode)\n }\n\n return clonedNode\n}\n\nasync function ensureSVGSymbols(\n clone: T,\n options: Options,\n) {\n const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : []\n if (uses.length === 0) {\n return clone\n }\n\n const processedDefs: { [key: string]: HTMLElement } = {}\n for (let i = 0; i < uses.length; i++) {\n const use = uses[i]\n const id = use.getAttribute('xlink:href')\n if (id) {\n const exist = clone.querySelector(id)\n const definition = document.querySelector(id) as HTMLElement\n if (!exist && definition && !processedDefs[id]) {\n // eslint-disable-next-line no-await-in-loop\n processedDefs[id] = (await cloneNode(definition, options, true))!\n }\n }\n }\n\n const nodes = Object.values(processedDefs)\n if (nodes.length) {\n const ns = 'http://www.w3.org/1999/xhtml'\n const svg = document.createElementNS(ns, 'svg')\n svg.setAttribute('xmlns', ns)\n svg.style.position = 'absolute'\n svg.style.width = '0'\n svg.style.height = '0'\n svg.style.overflow = 'hidden'\n svg.style.display = 'none'\n\n const defs = document.createElementNS(ns, 'defs')\n svg.appendChild(defs)\n\n for (let i = 0; i < nodes.length; i++) {\n defs.appendChild(nodes[i])\n }\n\n clone.appendChild(svg)\n }\n\n return clone\n}\n\nexport async function cloneNode(\n node: T,\n options: Options,\n isRoot?: boolean,\n): Promise {\n if (!isRoot && options.filter && !options.filter(node)) {\n return null\n }\n\n return Promise.resolve(node)\n .then((clonedNode) => cloneSingleNode(clonedNode, options) as Promise)\n .then((clonedNode) => cloneChildren(node, clonedNode, options))\n .then((clonedNode) => decorate(node, clonedNode))\n .then((clonedNode) => ensureSVGSymbols(clonedNode, options))\n}\n","import { uuid, toArray } from './util';\nfunction formatCSSText(style) {\n const content = style.getPropertyValue('content');\n return `${style.cssText} content: '${content.replace(/'|\"/g, '')}';`;\n}\nfunction formatCSSProperties(style) {\n return toArray(style)\n .map((name) => {\n const value = style.getPropertyValue(name);\n const priority = style.getPropertyPriority(name);\n return `${name}: ${value}${priority ? ' !important' : ''};`;\n })\n .join(' ');\n}\nfunction getPseudoElementStyle(className, pseudo, style) {\n const selector = `.${className}:${pseudo}`;\n const cssText = style.cssText\n ? formatCSSText(style)\n : formatCSSProperties(style);\n return document.createTextNode(`${selector}{${cssText}}`);\n}\nfunction clonePseudoElement(nativeNode, clonedNode, pseudo) {\n const style = window.getComputedStyle(nativeNode, pseudo);\n const content = style.getPropertyValue('content');\n if (content === '' || content === 'none') {\n return;\n }\n const className = uuid();\n try {\n clonedNode.className = `${clonedNode.className} ${className}`;\n }\n catch (err) {\n return;\n }\n const styleElement = document.createElement('style');\n styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));\n clonedNode.appendChild(styleElement);\n}\nexport function clonePseudoElements(nativeNode, clonedNode) {\n clonePseudoElement(nativeNode, clonedNode, ':before');\n clonePseudoElement(nativeNode, clonedNode, ':after');\n}\n//# sourceMappingURL=clone-pseudos.js.map","import { uuid, toArray } from './util'\n\ntype Pseudo = ':before' | ':after'\n\nfunction formatCSSText(style: CSSStyleDeclaration) {\n const content = style.getPropertyValue('content')\n return `${style.cssText} content: '${content.replace(/'|\"/g, '')}';`\n}\n\nfunction formatCSSProperties(style: CSSStyleDeclaration) {\n return toArray(style)\n .map((name) => {\n const value = style.getPropertyValue(name)\n const priority = style.getPropertyPriority(name)\n\n return `${name}: ${value}${priority ? ' !important' : ''};`\n })\n .join(' ')\n}\n\nfunction getPseudoElementStyle(\n className: string,\n pseudo: Pseudo,\n style: CSSStyleDeclaration,\n): Text {\n const selector = `.${className}:${pseudo}`\n const cssText = style.cssText\n ? formatCSSText(style)\n : formatCSSProperties(style)\n\n return document.createTextNode(`${selector}{${cssText}}`)\n}\n\nfunction clonePseudoElement(\n nativeNode: T,\n clonedNode: T,\n pseudo: Pseudo,\n) {\n const style = window.getComputedStyle(nativeNode, pseudo)\n const content = style.getPropertyValue('content')\n if (content === '' || content === 'none') {\n return\n }\n\n const className = uuid()\n try {\n clonedNode.className = `${clonedNode.className} ${className}`\n } catch (err) {\n return\n }\n\n const styleElement = document.createElement('style')\n styleElement.appendChild(getPseudoElementStyle(className, pseudo, style))\n clonedNode.appendChild(styleElement)\n}\n\nexport function clonePseudoElements(\n nativeNode: T,\n clonedNode: T,\n) {\n clonePseudoElement(nativeNode, clonedNode, ':before')\n clonePseudoElement(nativeNode, clonedNode, ':after')\n}\n","export function resolveUrl(url, baseUrl) {\n // url is absolute already\n if (url.match(/^[a-z]+:\\/\\//i)) {\n return url;\n }\n // url is absolute already, without protocol\n if (url.match(/^\\/\\//)) {\n return window.location.protocol + url;\n }\n // dataURI, mailto:, tel:, etc.\n if (url.match(/^[a-z]+:/i)) {\n return url;\n }\n const doc = document.implementation.createHTMLDocument();\n const base = doc.createElement('base');\n const a = doc.createElement('a');\n doc.head.appendChild(base);\n doc.body.appendChild(a);\n if (baseUrl) {\n base.href = baseUrl;\n }\n a.href = url;\n return a.href;\n}\nexport const uuid = (() => {\n // generate uuid for className of pseudo elements.\n // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.\n let counter = 0;\n // ref: http://stackoverflow.com/a/6248722/2519373\n const random = () => \n // eslint-disable-next-line no-bitwise\n `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);\n return () => {\n counter += 1;\n return `u${random()}${counter}`;\n };\n})();\nexport function delay(ms) {\n return (args) => new Promise((resolve) => {\n setTimeout(() => resolve(args), ms);\n });\n}\nexport function toArray(arrayLike) {\n const arr = [];\n for (let i = 0, l = arrayLike.length; i < l; i++) {\n arr.push(arrayLike[i]);\n }\n return arr;\n}\nfunction px(node, styleProperty) {\n const win = node.ownerDocument.defaultView || window;\n const val = win.getComputedStyle(node).getPropertyValue(styleProperty);\n return val ? parseFloat(val.replace('px', '')) : 0;\n}\nfunction getNodeWidth(node) {\n const leftBorder = px(node, 'border-left-width');\n const rightBorder = px(node, 'border-right-width');\n return node.clientWidth + leftBorder + rightBorder;\n}\nfunction getNodeHeight(node) {\n const topBorder = px(node, 'border-top-width');\n const bottomBorder = px(node, 'border-bottom-width');\n return node.clientHeight + topBorder + bottomBorder;\n}\nexport function getImageSize(targetNode, options = {}) {\n const width = options.width || getNodeWidth(targetNode);\n const height = options.height || getNodeHeight(targetNode);\n return { width, height };\n}\nexport function getPixelRatio() {\n let ratio;\n let FINAL_PROCESS;\n try {\n FINAL_PROCESS = process;\n }\n catch (e) {\n // pass\n }\n const val = FINAL_PROCESS && FINAL_PROCESS.env\n ? FINAL_PROCESS.env.devicePixelRatio\n : null;\n if (val) {\n ratio = parseInt(val, 10);\n if (Number.isNaN(ratio)) {\n ratio = 1;\n }\n }\n return ratio || window.devicePixelRatio || 1;\n}\n// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size\nconst canvasDimensionLimit = 16384;\nexport function checkCanvasDimensions(canvas) {\n if (canvas.width > canvasDimensionLimit ||\n canvas.height > canvasDimensionLimit) {\n if (canvas.width > canvasDimensionLimit &&\n canvas.height > canvasDimensionLimit) {\n if (canvas.width > canvas.height) {\n canvas.height *= canvasDimensionLimit / canvas.width;\n canvas.width = canvasDimensionLimit;\n }\n else {\n canvas.width *= canvasDimensionLimit / canvas.height;\n canvas.height = canvasDimensionLimit;\n }\n }\n else if (canvas.width > canvasDimensionLimit) {\n canvas.height *= canvasDimensionLimit / canvas.width;\n canvas.width = canvasDimensionLimit;\n }\n else {\n canvas.width *= canvasDimensionLimit / canvas.height;\n canvas.height = canvasDimensionLimit;\n }\n }\n}\nexport function canvasToBlob(canvas, options = {}) {\n if (canvas.toBlob) {\n return new Promise((resolve) => {\n canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);\n });\n }\n return new Promise((resolve) => {\n const binaryString = window.atob(canvas\n .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)\n .split(',')[1]);\n const len = binaryString.length;\n const binaryArray = new Uint8Array(len);\n for (let i = 0; i < len; i += 1) {\n binaryArray[i] = binaryString.charCodeAt(i);\n }\n resolve(new Blob([binaryArray], {\n type: options.type ? options.type : 'image/png',\n }));\n });\n}\nexport function createImage(url) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.decode = () => resolve(img);\n img.onload = () => resolve(img);\n img.onerror = reject;\n img.crossOrigin = 'anonymous';\n img.decoding = 'async';\n img.src = url;\n });\n}\nexport async function svgToDataURL(svg) {\n return Promise.resolve()\n .then(() => new XMLSerializer().serializeToString(svg))\n .then(encodeURIComponent)\n .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);\n}\nexport async function nodeToDataURL(node, width, height) {\n const xmlns = 'http://www.w3.org/2000/svg';\n const svg = document.createElementNS(xmlns, 'svg');\n const foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttribute('width', `${width}`);\n svg.setAttribute('height', `${height}`);\n svg.setAttribute('viewBox', `0 0 ${width} ${height}`);\n foreignObject.setAttribute('width', '100%');\n foreignObject.setAttribute('height', '100%');\n foreignObject.setAttribute('x', '0');\n foreignObject.setAttribute('y', '0');\n foreignObject.setAttribute('externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svgToDataURL(svg);\n}\nexport const isInstanceOfElement = (node, instance) => {\n if (node instanceof instance)\n return true;\n const nodePrototype = Object.getPrototypeOf(node);\n if (nodePrototype === null)\n return false;\n return (nodePrototype.constructor.name === instance.name ||\n isInstanceOfElement(nodePrototype, instance));\n};\n//# sourceMappingURL=util.js.map","import type { Options } from './types'\n\nexport function resolveUrl(url: string, baseUrl: string | null): string {\n // url is absolute already\n if (url.match(/^[a-z]+:\\/\\//i)) {\n return url\n }\n\n // url is absolute already, without protocol\n if (url.match(/^\\/\\//)) {\n return window.location.protocol + url\n }\n\n // dataURI, mailto:, tel:, etc.\n if (url.match(/^[a-z]+:/i)) {\n return url\n }\n\n const doc = document.implementation.createHTMLDocument()\n const base = doc.createElement('base')\n const a = doc.createElement('a')\n\n doc.head.appendChild(base)\n doc.body.appendChild(a)\n\n if (baseUrl) {\n base.href = baseUrl\n }\n\n a.href = url\n\n return a.href\n}\n\nexport const uuid = (() => {\n // generate uuid for className of pseudo elements.\n // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.\n let counter = 0\n\n // ref: http://stackoverflow.com/a/6248722/2519373\n const random = () =>\n // eslint-disable-next-line no-bitwise\n `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4)\n\n return () => {\n counter += 1\n return `u${random()}${counter}`\n }\n})()\n\nexport function delay(ms: number) {\n return (args: T) =>\n new Promise((resolve) => {\n setTimeout(() => resolve(args), ms)\n })\n}\n\nexport function toArray(arrayLike: any): T[] {\n const arr: T[] = []\n\n for (let i = 0, l = arrayLike.length; i < l; i++) {\n arr.push(arrayLike[i])\n }\n\n return arr\n}\n\nfunction px(node: HTMLElement, styleProperty: string) {\n const win = node.ownerDocument.defaultView || window\n const val = win.getComputedStyle(node).getPropertyValue(styleProperty)\n return val ? parseFloat(val.replace('px', '')) : 0\n}\n\nfunction getNodeWidth(node: HTMLElement) {\n const leftBorder = px(node, 'border-left-width')\n const rightBorder = px(node, 'border-right-width')\n return node.clientWidth + leftBorder + rightBorder\n}\n\nfunction getNodeHeight(node: HTMLElement) {\n const topBorder = px(node, 'border-top-width')\n const bottomBorder = px(node, 'border-bottom-width')\n return node.clientHeight + topBorder + bottomBorder\n}\n\nexport function getImageSize(targetNode: HTMLElement, options: Options = {}) {\n const width = options.width || getNodeWidth(targetNode)\n const height = options.height || getNodeHeight(targetNode)\n\n return { width, height }\n}\n\nexport function getPixelRatio() {\n let ratio\n\n let FINAL_PROCESS\n try {\n FINAL_PROCESS = process\n } catch (e) {\n // pass\n }\n\n const val =\n FINAL_PROCESS && FINAL_PROCESS.env\n ? FINAL_PROCESS.env.devicePixelRatio\n : null\n if (val) {\n ratio = parseInt(val, 10)\n if (Number.isNaN(ratio)) {\n ratio = 1\n }\n }\n return ratio || window.devicePixelRatio || 1\n}\n\n// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size\nconst canvasDimensionLimit = 16384\n\nexport function checkCanvasDimensions(canvas: HTMLCanvasElement) {\n if (\n canvas.width > canvasDimensionLimit ||\n canvas.height > canvasDimensionLimit\n ) {\n if (\n canvas.width > canvasDimensionLimit &&\n canvas.height > canvasDimensionLimit\n ) {\n if (canvas.width > canvas.height) {\n canvas.height *= canvasDimensionLimit / canvas.width\n canvas.width = canvasDimensionLimit\n } else {\n canvas.width *= canvasDimensionLimit / canvas.height\n canvas.height = canvasDimensionLimit\n }\n } else if (canvas.width > canvasDimensionLimit) {\n canvas.height *= canvasDimensionLimit / canvas.width\n canvas.width = canvasDimensionLimit\n } else {\n canvas.width *= canvasDimensionLimit / canvas.height\n canvas.height = canvasDimensionLimit\n }\n }\n}\n\nexport function canvasToBlob(\n canvas: HTMLCanvasElement,\n options: Options = {},\n): Promise {\n if (canvas.toBlob) {\n return new Promise((resolve) => {\n canvas.toBlob(\n resolve,\n options.type ? options.type : 'image/png',\n options.quality ? options.quality : 1,\n )\n })\n }\n\n return new Promise((resolve) => {\n const binaryString = window.atob(\n canvas\n .toDataURL(\n options.type ? options.type : undefined,\n options.quality ? options.quality : undefined,\n )\n .split(',')[1],\n )\n const len = binaryString.length\n const binaryArray = new Uint8Array(len)\n\n for (let i = 0; i < len; i += 1) {\n binaryArray[i] = binaryString.charCodeAt(i)\n }\n\n resolve(\n new Blob([binaryArray], {\n type: options.type ? options.type : 'image/png',\n }),\n )\n })\n}\n\nexport function createImage(url: string): Promise {\n return new Promise((resolve, reject) => {\n const img = new Image()\n img.decode = () => resolve(img) as any\n img.onload = () => resolve(img)\n img.onerror = reject\n img.crossOrigin = 'anonymous'\n img.decoding = 'async'\n img.src = url\n })\n}\n\nexport async function svgToDataURL(svg: SVGElement): Promise {\n return Promise.resolve()\n .then(() => new XMLSerializer().serializeToString(svg))\n .then(encodeURIComponent)\n .then((html) => `data:image/svg+xml;charset=utf-8,${html}`)\n}\n\nexport async function nodeToDataURL(\n node: HTMLElement,\n width: number,\n height: number,\n): Promise {\n const xmlns = 'http://www.w3.org/2000/svg'\n const svg = document.createElementNS(xmlns, 'svg')\n const foreignObject = document.createElementNS(xmlns, 'foreignObject')\n\n svg.setAttribute('width', `${width}`)\n svg.setAttribute('height', `${height}`)\n svg.setAttribute('viewBox', `0 0 ${width} ${height}`)\n\n foreignObject.setAttribute('width', '100%')\n foreignObject.setAttribute('height', '100%')\n foreignObject.setAttribute('x', '0')\n foreignObject.setAttribute('y', '0')\n foreignObject.setAttribute('externalResourcesRequired', 'true')\n\n svg.appendChild(foreignObject)\n foreignObject.appendChild(node)\n return svgToDataURL(svg)\n}\n\nexport const isInstanceOfElement = <\n T extends typeof Element | typeof HTMLElement | typeof SVGImageElement,\n>(\n node: Element | HTMLElement | SVGImageElement,\n instance: T,\n): node is T['prototype'] => {\n if (node instanceof instance) return true\n\n const nodePrototype = Object.getPrototypeOf(node)\n\n if (nodePrototype === null) return false\n\n return (\n nodePrototype.constructor.name === instance.name ||\n isInstanceOfElement(nodePrototype, instance)\n )\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","const WOFF = 'application/font-woff';\nconst JPEG = 'image/jpeg';\nconst mimes = {\n woff: WOFF,\n woff2: WOFF,\n ttf: 'application/font-truetype',\n eot: 'application/vnd.ms-fontobject',\n png: 'image/png',\n jpg: JPEG,\n jpeg: JPEG,\n gif: 'image/gif',\n tiff: 'image/tiff',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n};\nfunction getExtension(url) {\n const match = /\\.([^./]*?)$/g.exec(url);\n return match ? match[1] : '';\n}\nexport function getMimeType(url) {\n const extension = getExtension(url).toLowerCase();\n return mimes[extension] || '';\n}\n//# sourceMappingURL=mimes.js.map","const WOFF = 'application/font-woff'\nconst JPEG = 'image/jpeg'\nconst mimes: { [key: string]: string } = {\n woff: WOFF,\n woff2: WOFF,\n ttf: 'application/font-truetype',\n eot: 'application/vnd.ms-fontobject',\n png: 'image/png',\n jpg: JPEG,\n jpeg: JPEG,\n gif: 'image/gif',\n tiff: 'image/tiff',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n}\n\nfunction getExtension(url: string): string {\n const match = /\\.([^./]*?)$/g.exec(url)\n return match ? match[1] : ''\n}\n\nexport function getMimeType(url: string): string {\n const extension = getExtension(url).toLowerCase()\n return mimes[extension] || ''\n}\n","function getContentFromDataUrl(dataURL) {\n return dataURL.split(/,/)[1];\n}\nexport function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1;\n}\nexport function makeDataUrl(content, mimeType) {\n return `data:${mimeType};base64,${content}`;\n}\nexport async function fetchAsDataURL(url, init, process) {\n const res = await fetch(url, init);\n if (res.status === 404) {\n throw new Error(`Resource \"${res.url}\" not found`);\n }\n const blob = await res.blob();\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = () => {\n try {\n resolve(process({ res, result: reader.result }));\n }\n catch (error) {\n reject(error);\n }\n };\n reader.readAsDataURL(blob);\n });\n}\nconst cache = {};\nfunction getCacheKey(url, contentType, includeQueryParams) {\n let key = url.replace(/\\?.*/, '');\n if (includeQueryParams) {\n key = url;\n }\n // font resource\n if (/ttf|otf|eot|woff2?/i.test(key)) {\n key = key.replace(/.*\\//, '');\n }\n return contentType ? `[${contentType}]${key}` : key;\n}\nexport async function resourceToDataURL(resourceUrl, contentType, options) {\n const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);\n if (cache[cacheKey] != null) {\n return cache[cacheKey];\n }\n // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n if (options.cacheBust) {\n // eslint-disable-next-line no-param-reassign\n resourceUrl += (/\\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();\n }\n let dataURL;\n try {\n const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {\n if (!contentType) {\n // eslint-disable-next-line no-param-reassign\n contentType = res.headers.get('Content-Type') || '';\n }\n return getContentFromDataUrl(result);\n });\n dataURL = makeDataUrl(content, contentType);\n }\n catch (error) {\n dataURL = options.imagePlaceholder || '';\n let msg = `Failed to fetch resource: ${resourceUrl}`;\n if (error) {\n msg = typeof error === 'string' ? error : error.message;\n }\n if (msg) {\n console.warn(msg);\n }\n }\n cache[cacheKey] = dataURL;\n return dataURL;\n}\n//# sourceMappingURL=dataurl.js.map","import { Options } from './types'\n\nfunction getContentFromDataUrl(dataURL: string) {\n return dataURL.split(/,/)[1]\n}\n\nexport function isDataUrl(url: string) {\n return url.search(/^(data:)/) !== -1\n}\n\nexport function makeDataUrl(content: string, mimeType: string) {\n return `data:${mimeType};base64,${content}`\n}\n\nexport async function fetchAsDataURL(\n url: string,\n init: RequestInit | undefined,\n process: (data: { result: string; res: Response }) => T,\n): Promise {\n const res = await fetch(url, init)\n if (res.status === 404) {\n throw new Error(`Resource \"${res.url}\" not found`)\n }\n const blob = await res.blob()\n return new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.onerror = reject\n reader.onloadend = () => {\n try {\n resolve(process({ res, result: reader.result as string }))\n } catch (error) {\n reject(error)\n }\n }\n\n reader.readAsDataURL(blob)\n })\n}\n\nconst cache: { [url: string]: string } = {}\n\nfunction getCacheKey(\n url: string,\n contentType: string | undefined,\n includeQueryParams: boolean | undefined,\n) {\n let key = url.replace(/\\?.*/, '')\n\n if (includeQueryParams) {\n key = url\n }\n\n // font resource\n if (/ttf|otf|eot|woff2?/i.test(key)) {\n key = key.replace(/.*\\//, '')\n }\n\n return contentType ? `[${contentType}]${key}` : key\n}\n\nexport async function resourceToDataURL(\n resourceUrl: string,\n contentType: string | undefined,\n options: Options,\n) {\n const cacheKey = getCacheKey(\n resourceUrl,\n contentType,\n options.includeQueryParams,\n )\n\n if (cache[cacheKey] != null) {\n return cache[cacheKey]\n }\n\n // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n if (options.cacheBust) {\n // eslint-disable-next-line no-param-reassign\n resourceUrl += (/\\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime()\n }\n\n let dataURL: string\n try {\n const content = await fetchAsDataURL(\n resourceUrl,\n options.fetchRequestInit,\n ({ res, result }) => {\n if (!contentType) {\n // eslint-disable-next-line no-param-reassign\n contentType = res.headers.get('Content-Type') || ''\n }\n return getContentFromDataUrl(result)\n },\n )\n dataURL = makeDataUrl(content, contentType!)\n } catch (error) {\n dataURL = options.imagePlaceholder || ''\n\n let msg = `Failed to fetch resource: ${resourceUrl}`\n if (error) {\n msg = typeof error === 'string' ? error : error.message\n }\n\n if (msg) {\n console.warn(msg)\n }\n }\n\n cache[cacheKey] = dataURL\n return dataURL\n}\n","import { embedResources } from './embed-resources';\nimport { toArray, isInstanceOfElement } from './util';\nimport { isDataUrl, resourceToDataURL } from './dataurl';\nimport { getMimeType } from './mimes';\nasync function embedProp(propName, node, options) {\n var _a;\n const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);\n if (propValue) {\n const cssString = await embedResources(propValue, null, options);\n node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));\n return true;\n }\n return false;\n}\nasync function embedBackground(clonedNode, options) {\n if (!(await embedProp('background', clonedNode, options))) {\n await embedProp('background-image', clonedNode, options);\n }\n if (!(await embedProp('mask', clonedNode, options))) {\n await embedProp('mask-image', clonedNode, options);\n }\n}\nasync function embedImageNode(clonedNode, options) {\n const isImageElement = isInstanceOfElement(clonedNode, HTMLImageElement);\n if (!(isImageElement && !isDataUrl(clonedNode.src)) &&\n !(isInstanceOfElement(clonedNode, SVGImageElement) &&\n !isDataUrl(clonedNode.href.baseVal))) {\n return;\n }\n const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;\n const dataURL = await resourceToDataURL(url, getMimeType(url), options);\n await new Promise((resolve, reject) => {\n clonedNode.onload = resolve;\n clonedNode.onerror = reject;\n const image = clonedNode;\n if (image.decode) {\n image.decode = resolve;\n }\n if (image.loading === 'lazy') {\n image.loading = 'eager';\n }\n if (isImageElement) {\n clonedNode.srcset = '';\n clonedNode.src = dataURL;\n }\n else {\n clonedNode.href.baseVal = dataURL;\n }\n });\n}\nasync function embedChildren(clonedNode, options) {\n const children = toArray(clonedNode.childNodes);\n const deferreds = children.map((child) => embedImages(child, options));\n await Promise.all(deferreds).then(() => clonedNode);\n}\nexport async function embedImages(clonedNode, options) {\n if (isInstanceOfElement(clonedNode, Element)) {\n await embedBackground(clonedNode, options);\n await embedImageNode(clonedNode, options);\n await embedChildren(clonedNode, options);\n }\n}\n//# sourceMappingURL=embed-images.js.map","import { Options } from './types'\nimport { embedResources } from './embed-resources'\nimport { toArray, isInstanceOfElement } from './util'\nimport { isDataUrl, resourceToDataURL } from './dataurl'\nimport { getMimeType } from './mimes'\n\nasync function embedProp(\n propName: string,\n node: HTMLElement,\n options: Options,\n) {\n const propValue = node.style?.getPropertyValue(propName)\n if (propValue) {\n const cssString = await embedResources(propValue, null, options)\n node.style.setProperty(\n propName,\n cssString,\n node.style.getPropertyPriority(propName),\n )\n return true\n }\n return false\n}\n\nasync function embedBackground(\n clonedNode: T,\n options: Options,\n) {\n if (!(await embedProp('background', clonedNode, options))) {\n await embedProp('background-image', clonedNode, options)\n }\n if (!(await embedProp('mask', clonedNode, options))) {\n await embedProp('mask-image', clonedNode, options)\n }\n}\n\nasync function embedImageNode(\n clonedNode: T,\n options: Options,\n) {\n const isImageElement = isInstanceOfElement(clonedNode, HTMLImageElement)\n\n if (\n !(isImageElement && !isDataUrl(clonedNode.src)) &&\n !(\n isInstanceOfElement(clonedNode, SVGImageElement) &&\n !isDataUrl(clonedNode.href.baseVal)\n )\n ) {\n return\n }\n\n const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal\n\n const dataURL = await resourceToDataURL(url, getMimeType(url), options)\n await new Promise((resolve, reject) => {\n clonedNode.onload = resolve\n clonedNode.onerror = reject\n\n const image = clonedNode as HTMLImageElement\n if (image.decode) {\n image.decode = resolve as any\n }\n\n if (image.loading === 'lazy') {\n image.loading = 'eager'\n }\n\n if (isImageElement) {\n clonedNode.srcset = ''\n clonedNode.src = dataURL\n } else {\n clonedNode.href.baseVal = dataURL\n }\n })\n}\n\nasync function embedChildren(\n clonedNode: T,\n options: Options,\n) {\n const children = toArray(clonedNode.childNodes)\n const deferreds = children.map((child) => embedImages(child, options))\n await Promise.all(deferreds).then(() => clonedNode)\n}\n\nexport async function embedImages(\n clonedNode: T,\n options: Options,\n) {\n if (isInstanceOfElement(clonedNode, Element)) {\n await embedBackground(clonedNode, options)\n await embedImageNode(clonedNode, options)\n await embedChildren(clonedNode, options)\n }\n}\n","import { resolveUrl } from './util';\nimport { getMimeType } from './mimes';\nimport { isDataUrl, makeDataUrl, resourceToDataURL } from './dataurl';\nconst URL_REGEX = /url\\((['\"]?)([^'\"]+?)\\1\\)/g;\nconst URL_WITH_FORMAT_REGEX = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g;\nconst FONT_SRC_REGEX = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g;\nfunction toRegex(url) {\n // eslint-disable-next-line no-useless-escape\n const escaped = url.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n return new RegExp(`(url\\\\(['\"]?)(${escaped})(['\"]?\\\\))`, 'g');\n}\nexport function parseURLs(cssText) {\n const urls = [];\n cssText.replace(URL_REGEX, (raw, quotation, url) => {\n urls.push(url);\n return raw;\n });\n return urls.filter((url) => !isDataUrl(url));\n}\nexport async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {\n try {\n const resolvedURL = baseURL ? resolveUrl(resourceURL, baseURL) : resourceURL;\n const contentType = getMimeType(resourceURL);\n let dataURL;\n if (getContentFromUrl) {\n const content = await getContentFromUrl(resolvedURL);\n dataURL = makeDataUrl(content, contentType);\n }\n else {\n dataURL = await resourceToDataURL(resolvedURL, contentType, options);\n }\n return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);\n }\n catch (error) {\n // pass\n }\n return cssText;\n}\nfunction filterPreferredFontFormat(str, { preferredFontFormat }) {\n return !preferredFontFormat\n ? str\n : str.replace(FONT_SRC_REGEX, (match) => {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];\n if (!format) {\n return '';\n }\n if (format === preferredFontFormat) {\n return `src: ${src};`;\n }\n }\n });\n}\nexport function shouldEmbed(url) {\n return url.search(URL_REGEX) !== -1;\n}\nexport async function embedResources(cssText, baseUrl, options) {\n if (!shouldEmbed(cssText)) {\n return cssText;\n }\n const filteredCSSText = filterPreferredFontFormat(cssText, options);\n const urls = parseURLs(filteredCSSText);\n return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));\n}\n//# sourceMappingURL=embed-resources.js.map","import { Options } from './types'\nimport { resolveUrl } from './util'\nimport { getMimeType } from './mimes'\nimport { isDataUrl, makeDataUrl, resourceToDataURL } from './dataurl'\n\nconst URL_REGEX = /url\\((['\"]?)([^'\"]+?)\\1\\)/g\nconst URL_WITH_FORMAT_REGEX = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g\nconst FONT_SRC_REGEX = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g\n\nfunction toRegex(url: string): RegExp {\n // eslint-disable-next-line no-useless-escape\n const escaped = url.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1')\n return new RegExp(`(url\\\\(['\"]?)(${escaped})(['\"]?\\\\))`, 'g')\n}\n\nexport function parseURLs(cssText: string): string[] {\n const urls: string[] = []\n\n cssText.replace(URL_REGEX, (raw, quotation, url) => {\n urls.push(url)\n return raw\n })\n\n return urls.filter((url) => !isDataUrl(url))\n}\n\nexport async function embed(\n cssText: string,\n resourceURL: string,\n baseURL: string | null,\n options: Options,\n getContentFromUrl?: (url: string) => Promise,\n): Promise {\n try {\n const resolvedURL = baseURL ? resolveUrl(resourceURL, baseURL) : resourceURL\n const contentType = getMimeType(resourceURL)\n let dataURL: string\n if (getContentFromUrl) {\n const content = await getContentFromUrl(resolvedURL)\n dataURL = makeDataUrl(content, contentType)\n } else {\n dataURL = await resourceToDataURL(resolvedURL, contentType, options)\n }\n return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`)\n } catch (error) {\n // pass\n }\n return cssText\n}\n\nfunction filterPreferredFontFormat(\n str: string,\n { preferredFontFormat }: Options,\n): string {\n return !preferredFontFormat\n ? str\n : str.replace(FONT_SRC_REGEX, (match: string) => {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || []\n if (!format) {\n return ''\n }\n\n if (format === preferredFontFormat) {\n return `src: ${src};`\n }\n }\n })\n}\n\nexport function shouldEmbed(url: string): boolean {\n return url.search(URL_REGEX) !== -1\n}\n\nexport async function embedResources(\n cssText: string,\n baseUrl: string | null,\n options: Options,\n): Promise {\n if (!shouldEmbed(cssText)) {\n return cssText\n }\n\n const filteredCSSText = filterPreferredFontFormat(cssText, options)\n const urls = parseURLs(filteredCSSText)\n return urls.reduce(\n (deferred, url) =>\n deferred.then((css) => embed(css, url, baseUrl, options)),\n Promise.resolve(filteredCSSText),\n )\n}\n","export function applyStyle(node, options) {\n const { style } = node;\n if (options.backgroundColor) {\n style.backgroundColor = options.backgroundColor;\n }\n if (options.width) {\n style.width = `${options.width}px`;\n }\n if (options.height) {\n style.height = `${options.height}px`;\n }\n const manual = options.style;\n if (manual != null) {\n Object.keys(manual).forEach((key) => {\n style[key] = manual[key];\n });\n }\n return node;\n}\n//# sourceMappingURL=apply-style.js.map","import { Options } from './types'\n\nexport function applyStyle(\n node: T,\n options: Options,\n): T {\n const { style } = node\n\n if (options.backgroundColor) {\n style.backgroundColor = options.backgroundColor\n }\n\n if (options.width) {\n style.width = `${options.width}px`\n }\n\n if (options.height) {\n style.height = `${options.height}px`\n }\n\n const manual = options.style\n if (manual != null) {\n Object.keys(manual).forEach((key: any) => {\n style[key] = manual[key] as string\n })\n }\n\n return node\n}\n","import { toArray } from './util';\nimport { fetchAsDataURL } from './dataurl';\nimport { shouldEmbed, embedResources } from './embed-resources';\nconst cssFetchCache = {};\nasync function fetchCSS(url) {\n let cache = cssFetchCache[url];\n if (cache != null) {\n return cache;\n }\n const res = await fetch(url);\n const cssText = await res.text();\n cache = { url, cssText };\n cssFetchCache[url] = cache;\n return cache;\n}\nasync function embedFonts(data, options) {\n let cssText = data.cssText;\n const regexUrl = /url\\([\"']?([^\"')]+)[\"']?\\)/g;\n const fontLocs = cssText.match(/url\\([^)]+\\)/g) || [];\n const loadFonts = fontLocs.map(async (loc) => {\n let url = loc.replace(regexUrl, '$1');\n if (!url.startsWith('https://')) {\n url = new URL(url, data.url).href;\n }\n return fetchAsDataURL(url, options.fetchRequestInit, ({ result }) => {\n cssText = cssText.replace(loc, `url(${result})`);\n return [loc, result];\n });\n });\n return Promise.all(loadFonts).then(() => cssText);\n}\nfunction parseCSS(source) {\n if (source == null) {\n return [];\n }\n const result = [];\n const commentsRegex = /(\\/\\*[\\s\\S]*?\\*\\/)/gi;\n // strip out comments\n let cssText = source.replace(commentsRegex, '');\n // eslint-disable-next-line prefer-regex-literals\n const keyframesRegex = new RegExp('((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})', 'gi');\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const matches = keyframesRegex.exec(cssText);\n if (matches === null) {\n break;\n }\n result.push(matches[0]);\n }\n cssText = cssText.replace(keyframesRegex, '');\n const importRegex = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi;\n // to match css & media queries together\n const combinedCSSRegex = '((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]' +\n '*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})';\n // unified regex\n const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');\n // eslint-disable-next-line no-constant-condition\n while (true) {\n let matches = importRegex.exec(cssText);\n if (matches === null) {\n matches = unifiedRegex.exec(cssText);\n if (matches === null) {\n break;\n }\n else {\n importRegex.lastIndex = unifiedRegex.lastIndex;\n }\n }\n else {\n unifiedRegex.lastIndex = importRegex.lastIndex;\n }\n result.push(matches[0]);\n }\n return result;\n}\nasync function getCSSRules(styleSheets, options) {\n const ret = [];\n const deferreds = [];\n // First loop inlines imports\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item, index) => {\n if (item.type === CSSRule.IMPORT_RULE) {\n let importIndex = index + 1;\n const url = item.href;\n const deferred = fetchCSS(url)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) => parseCSS(cssText).forEach((rule) => {\n try {\n sheet.insertRule(rule, rule.startsWith('@import')\n ? (importIndex += 1)\n : sheet.cssRules.length);\n }\n catch (error) {\n console.error('Error inserting rule from remote css', {\n rule,\n error,\n });\n }\n }))\n .catch((e) => {\n console.error('Error loading remote css', e.toString());\n });\n deferreds.push(deferred);\n }\n });\n }\n catch (e) {\n const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];\n if (sheet.href != null) {\n deferreds.push(fetchCSS(sheet.href)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) => parseCSS(cssText).forEach((rule) => {\n inline.insertRule(rule, sheet.cssRules.length);\n }))\n .catch((err) => {\n console.error('Error loading remote stylesheet', err);\n }));\n }\n console.error('Error inlining remote css file', e);\n }\n }\n });\n return Promise.all(deferreds).then(() => {\n // Second loop parses rules\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item) => {\n ret.push(item);\n });\n }\n catch (e) {\n console.error(`Error while reading CSS rules from ${sheet.href}`, e);\n }\n }\n });\n return ret;\n });\n}\nfunction getWebFontRules(cssRules) {\n return cssRules\n .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)\n .filter((rule) => shouldEmbed(rule.style.getPropertyValue('src')));\n}\nasync function parseWebFontRules(node, options) {\n if (node.ownerDocument == null) {\n throw new Error('Provided element is not within a Document');\n }\n const styleSheets = toArray(node.ownerDocument.styleSheets);\n const cssRules = await getCSSRules(styleSheets, options);\n return getWebFontRules(cssRules);\n}\nexport async function getWebFontCSS(node, options) {\n const rules = await parseWebFontRules(node, options);\n const cssTexts = await Promise.all(rules.map((rule) => {\n const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;\n return embedResources(rule.cssText, baseUrl, options);\n }));\n return cssTexts.join('\\n');\n}\nexport async function embedWebFonts(clonedNode, options) {\n const cssText = options.fontEmbedCSS != null\n ? options.fontEmbedCSS\n : options.skipFonts\n ? null\n : await getWebFontCSS(clonedNode, options);\n if (cssText) {\n const styleNode = document.createElement('style');\n const sytleContent = document.createTextNode(cssText);\n styleNode.appendChild(sytleContent);\n if (clonedNode.firstChild) {\n clonedNode.insertBefore(styleNode, clonedNode.firstChild);\n }\n else {\n clonedNode.appendChild(styleNode);\n }\n }\n}\n//# sourceMappingURL=embed-webfonts.js.map","import type { Options } from './types'\nimport { toArray } from './util'\nimport { fetchAsDataURL } from './dataurl'\nimport { shouldEmbed, embedResources } from './embed-resources'\n\ninterface Metadata {\n url: string\n cssText: string\n}\n\nconst cssFetchCache: { [href: string]: Metadata } = {}\n\nasync function fetchCSS(url: string) {\n let cache = cssFetchCache[url]\n if (cache != null) {\n return cache\n }\n\n const res = await fetch(url)\n const cssText = await res.text()\n cache = { url, cssText }\n\n cssFetchCache[url] = cache\n\n return cache\n}\n\nasync function embedFonts(data: Metadata, options: Options): Promise {\n let cssText = data.cssText\n const regexUrl = /url\\([\"']?([^\"')]+)[\"']?\\)/g\n const fontLocs = cssText.match(/url\\([^)]+\\)/g) || []\n const loadFonts = fontLocs.map(async (loc: string) => {\n let url = loc.replace(regexUrl, '$1')\n if (!url.startsWith('https://')) {\n url = new URL(url, data.url).href\n }\n\n return fetchAsDataURL<[string, string]>(\n url,\n options.fetchRequestInit,\n ({ result }) => {\n cssText = cssText.replace(loc, `url(${result})`)\n return [loc, result]\n },\n )\n })\n\n return Promise.all(loadFonts).then(() => cssText)\n}\n\nfunction parseCSS(source: string) {\n if (source == null) {\n return []\n }\n\n const result: string[] = []\n const commentsRegex = /(\\/\\*[\\s\\S]*?\\*\\/)/gi\n // strip out comments\n let cssText = source.replace(commentsRegex, '')\n\n // eslint-disable-next-line prefer-regex-literals\n const keyframesRegex = new RegExp(\n '((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})',\n 'gi',\n )\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const matches = keyframesRegex.exec(cssText)\n if (matches === null) {\n break\n }\n result.push(matches[0])\n }\n cssText = cssText.replace(keyframesRegex, '')\n\n const importRegex = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi\n // to match css & media queries together\n const combinedCSSRegex =\n '((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]' +\n '*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})'\n // unified regex\n const unifiedRegex = new RegExp(combinedCSSRegex, 'gi')\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n let matches = importRegex.exec(cssText)\n if (matches === null) {\n matches = unifiedRegex.exec(cssText)\n if (matches === null) {\n break\n } else {\n importRegex.lastIndex = unifiedRegex.lastIndex\n }\n } else {\n unifiedRegex.lastIndex = importRegex.lastIndex\n }\n result.push(matches[0])\n }\n\n return result\n}\n\nasync function getCSSRules(\n styleSheets: CSSStyleSheet[],\n options: Options,\n): Promise {\n const ret: CSSStyleRule[] = []\n const deferreds: Promise[] = []\n\n // First loop inlines imports\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item, index) => {\n if (item.type === CSSRule.IMPORT_RULE) {\n let importIndex = index + 1\n const url = (item as CSSImportRule).href\n const deferred = fetchCSS(url)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) =>\n parseCSS(cssText).forEach((rule) => {\n try {\n sheet.insertRule(\n rule,\n rule.startsWith('@import')\n ? (importIndex += 1)\n : sheet.cssRules.length,\n )\n } catch (error) {\n console.error('Error inserting rule from remote css', {\n rule,\n error,\n })\n }\n }),\n )\n .catch((e) => {\n console.error('Error loading remote css', e.toString())\n })\n\n deferreds.push(deferred)\n }\n })\n } catch (e) {\n const inline =\n styleSheets.find((a) => a.href == null) || document.styleSheets[0]\n if (sheet.href != null) {\n deferreds.push(\n fetchCSS(sheet.href)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) =>\n parseCSS(cssText).forEach((rule) => {\n inline.insertRule(rule, sheet.cssRules.length)\n }),\n )\n .catch((err: unknown) => {\n console.error('Error loading remote stylesheet', err)\n }),\n )\n }\n console.error('Error inlining remote css file', e)\n }\n }\n })\n\n return Promise.all(deferreds).then(() => {\n // Second loop parses rules\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item) => {\n ret.push(item)\n })\n } catch (e) {\n console.error(`Error while reading CSS rules from ${sheet.href}`, e)\n }\n }\n })\n\n return ret\n })\n}\n\nfunction getWebFontRules(cssRules: CSSStyleRule[]): CSSStyleRule[] {\n return cssRules\n .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)\n .filter((rule) => shouldEmbed(rule.style.getPropertyValue('src')))\n}\n\nasync function parseWebFontRules(\n node: T,\n options: Options,\n) {\n if (node.ownerDocument == null) {\n throw new Error('Provided element is not within a Document')\n }\n\n const styleSheets = toArray(node.ownerDocument.styleSheets)\n const cssRules = await getCSSRules(styleSheets, options)\n\n return getWebFontRules(cssRules)\n}\n\nexport async function getWebFontCSS(\n node: T,\n options: Options,\n): Promise {\n const rules = await parseWebFontRules(node, options)\n const cssTexts = await Promise.all(\n rules.map((rule) => {\n const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null\n return embedResources(rule.cssText, baseUrl, options)\n }),\n )\n\n return cssTexts.join('\\n')\n}\n\nexport async function embedWebFonts(\n clonedNode: T,\n options: Options,\n) {\n const cssText =\n options.fontEmbedCSS != null\n ? options.fontEmbedCSS\n : options.skipFonts\n ? null\n : await getWebFontCSS(clonedNode, options)\n\n if (cssText) {\n const styleNode = document.createElement('style')\n const sytleContent = document.createTextNode(cssText)\n\n styleNode.appendChild(sytleContent)\n\n if (clonedNode.firstChild) {\n clonedNode.insertBefore(styleNode, clonedNode.firstChild)\n } else {\n clonedNode.appendChild(styleNode)\n }\n }\n}\n",".box {\n background: rgb(12, 14, 174);\n}\n.cover {\n left: 0;\n top: 0;\n}\n","import { WebCell, component, observer } from 'web-cell';\nimport { parseTextTable } from 'web-utility';\nimport { Table } from 'boot-cell';\nimport { computed, observable } from 'mobx';\n\nimport { PageFrame } from './PageFrame';\n\ntype Account = Record<'item' | 'manager' | 'date' | 'remark', string> &\n Record<'price' | 'count', number>;\n\nexport interface AccountPage extends WebCell {}\n\n@component({ tagName: 'account-page' })\n@observer\nexport class AccountPage extends HTMLElement implements WebCell {\n @observable\n accessor list: Account[] = [];\n\n @computed\n get expenditure() {\n return this.list.reduce(\n (sum, { price, count, date }) =>\n price < 0 && date ? sum + price * count : sum,\n 0\n );\n }\n\n @computed\n get revenue() {\n return this.list.reduce(\n (sum, { price, count, date }) =>\n price > 0 && date ? sum + price * count : sum,\n 0\n );\n }\n\n async mountedCallback() {\n const data = await (\n await fetch(new URL('./data/account.csv', import.meta.url))\n ).text();\n\n this.list = parseTextTable(data, true) as Account[];\n }\n\n renderRow = (\n { item, price, count, manager, date, remark }: Account,\n index: number\n ) => (\n \n {++index}\n {item}\n {price}\n {count}\n \n {manager && (\n \n @{manager}\n \n )}\n \n {date}\n {remark}\n \n );\n\n render() {\n const { list, expenditure, revenue } = this;\n\n return (\n \n

    收支账目

    \n\n \n \n \n \n \n \n \n \n \n \n \n \n {list.map(this.renderRow)}\n \n \n \n \n \n \n \n \n \n \n
    #事项单价(人民币¥)数量经办日期备注
    总支出(人民币¥){expenditure.toFixed(2)}总收入(人民币¥){revenue.toFixed(2)}总结余(人民币¥){(revenue + expenditure).toFixed(2)}
    \n
    \n );\n }\n}\n","module.exports = new __parcel__URL__(\"account.38407711.csv\").toString();"],"names":["_classDescriptor","_classThis","_component_decorators","_delegatedProps_decorators","_classDecorators","_classExtraInitializers","_classSuper","_instanceExtraInitializers","_component_initializers","_delegatedProps_initializers","_type_decorators","_playing_decorators","_typeChanged_decorators","_type_initializers","_playing_initializers","_path_decorators","_oldPath_decorators","_push_decorators","_path_initializers","_oldPath_initializers","_inAnimation_decorators","_outAnimation_decorators","_get_matched_decorators","_get_oldMatched_decorators","_inAnimation_initializers","_outAnimation_initializers","_show_decorators","_show_initializers","_boxClass_decorators","_buttonClass_decorators","_variant_decorators","_size_decorators","_caption_decorators","_disabled_decorators","_boxClass_initializers","_buttonClass_initializers","_variant_initializers","_size_initializers","_caption_initializers","_disabled_initializers","_flush_decorators","_alwaysOpen_decorators","_handleFlush_decorators","_handleClick_decorators","_flush_initializers","_alwaysOpen_initializers","_interval_decorators","_itemMeta_decorators","_currentIndex_decorators","_handleButtonClick_decorators","_handleButtonPress_decorators","_handleIndicatorsButtonClick_decorators","_handleIndicatorsButtonPress_decorators","_handleActiveItem_decorators","_interval_initializers","_itemMeta_initializers","_currentIndex_initializers","_bg_decorators","_expand_decorators","_fixed_decorators","_sticky_decorators","_fluid_decorators","_title_decorators","_brand_decorators","_open_decorators","_closeButton_decorators","_bg_initializers","_expand_initializers","_fixed_initializers","_sticky_initializers","_fluid_initializers","_title_initializers","_brand_initializers","_open_initializers","_closeButton_initializers","_tabMeta_decorators","_handleTabClick_decorators","_turnPaneTo_decorators","_tabMeta_initializers","_endTime_decorators","_rest_decorators","_units_decorators","_get_timeSections_decorators","_endTime_initializers","_rest_initializers","_units_initializers","_locale_decorators","_value_decorators","_get_weekFormatter_decorators","_currentDate_decorators","_get_dateGrid_decorators","_locale_initializers","_value_initializers","_currentDate_initializers","_loading_decorators","_currentLanguage_decorators","_currentMap_decorators","_get_defaultMap_decorators","_changeLanguage_decorators","_loading_initializers","_currentLanguage_initializers","_currentMap_initializers","_user_initializers","_list_decorators","_list_initializers","_countDown_decorators","_countDown_initializers","_date_decorators","_handleDate_decorators","_date_initializers","_imageURI_decorators","_imageURI_initializers","_get_expenditure_decorators","_get_revenue_decorators","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","_AsyncCell_component_accessor_storage","_AsyncCell_delegatedProps_accessor_storage","f","name","prefix","_AnimateCSS_type_accessor_storage","_AnimateCSS_playing_accessor_storage","source","_a","_History_path_accessor_storage","_History_oldPath_accessor_storage","_CellRoute_path_accessor_storage","_CellRoute_inAnimation_accessor_storage","_CellRoute_outAnimation_accessor_storage","Status","_TooltipBox_show_accessor_storage","_DropdownButton_boxClass_accessor_storage","_DropdownButton_buttonClass_accessor_storage","_DropdownButton_variant_accessor_storage","_DropdownButton_size_accessor_storage","_DropdownButton_caption_accessor_storage","_DropdownButton_disabled_accessor_storage","_DropdownButton_show_accessor_storage","_Accordion_flush_accessor_storage","_Accordion_alwaysOpen_accessor_storage","_Carousel_interval_accessor_storage","_Carousel_itemMeta_accessor_storage","_Carousel_currentIndex_accessor_storage","_OffcanvasNavbar_variant_accessor_storage","_OffcanvasNavbar_bg_accessor_storage","_OffcanvasNavbar_expand_accessor_storage","_OffcanvasNavbar_fixed_accessor_storage","_OffcanvasNavbar_sticky_accessor_storage","_OffcanvasNavbar_fluid_accessor_storage","_OffcanvasNavbar_title_accessor_storage","_OffcanvasNavbar_brand_accessor_storage","_OffcanvasNavbar_open_accessor_storage","_OffcanvasNavbar_closeButton_accessor_storage","_Tabs_tabMeta_accessor_storage","_Tabs_currentIndex_accessor_storage","_CountDown_endTime_accessor_storage","_CountDown_rest_accessor_storage","_CountDown_units_accessor_storage","_MonthCalendar_variant_accessor_storage","_MonthCalendar_locale_accessor_storage","_MonthCalendar_value_accessor_storage","_MonthCalendar_currentDate_accessor_storage","_TranslationModel_loading_accessor_storage","_TranslationModel_currentLanguage_accessor_storage","_TranslationModel_currentMap_accessor_storage","FileMethod","BodyRequestMethods","_Session_user_accessor_storage","_ActivityModel_loading_accessor_storage","_ActivityModel_list_accessor_storage","_SessionBox_countDown_accessor_storage","_ActivityPage_date_accessor_storage","_InvitationCard_imageURI_accessor_storage","_AccountPage_list_accessor_storage","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_a","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$_b","$d6da3710e38faa1c$export$96e9906d6d93a972","$59d62fc290a5d66b$export$aa3e815946b80764","$850589403705f8ed$var$$22de11b45b0eeb97$var$FileMethod","$850589403705f8ed$export$4125cfe7e08e2040","$1f3386aba18108ab$export$2c1ba11b773a18f4","$c6f94efb3529b7b9$export$85fc6f6fd6332263","$c6f94efb3529b7b9$export$b48fe2737b0f5681","$935b1a5cc0b06123$export$bafb94d2383e0c6a","$935b1a5cc0b06123$export$c86c9bb25613c3e0","$935b1a5cc0b06123$export$412a8ab7a1b88646","$935b1a5cc0b06123$export$fb184b623420d9be","$371a3837fd81d701$var$cachedSetTimeout","$371a3837fd81d701$var$cachedClearTimeout","$371a3837fd81d701$var$currentQueue","$parcel$global","globalThis","$parcel$interopDefault","a","__esModule","default","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","value","VNode","$70e6aa354ba0051d$var$VNode","meta","assign","tagName","is","props","className","selector","toLowerCase","concat","trim","replace","filter","Boolean","join","fromDOM","node","_this","Text","text","nodeValue","Element","_b","attributes","style","childNodes","vNode","getAttribute","Array","from","attrsMap","fromEntries","styles","key","children","propsMap","htmlFor","entries","map","item","reverse","DOMRenderer","$g8iUW","$1MFjU","$9GY6Y","$d74bcf2c13b9c8b3$var$DOMRenderer","eventPattern","ariaPattern","treeCache","WeakMap","keyOf","index","toString","vNodeOf","list","find","String","propsKeyOf","startsWith","toCamelCase","test","prototype","updateProps","oldProps","newProps","onDelete","onAdd","e_1","e_2","group","diffKeys","keys","_c","__values","DiffStatus","Old","_d","next","done","_e","__read","e_1_1","error","return","_f","__spreadArray","Same","New","_g","_h","Function","Reflect","e_2_1","createNode","reusedVNodes","document","createTextNode","reusedVNode","shift","createElement","createDocumentFragment","patch","ref","deleteNode","DocumentFragment","forEach","remove","commitChildren","root","newNodes","e_3","oldNode","indexOf","beforeNodes","slice","before","apply","e_3_1","append","updateChildren","oldList","newList","e_4","deletingGroup","groupBy","oldVNode","e_4_1","newVNode","isXML","templateOf","elementTypeOf","removeAttribute","toHyphenCase","includes","isDOMReadOnly","setAttribute","removeProperty","render","body","__assign","renderToStaticMarkup","tree","implementation","createHTMLDocument","innerHTML","$bbec114f87dbfe2a$export$18ce0697a983be9b","$bbec114f87dbfe2a$export$3c9a16f847548506","$bbec114f87dbfe2a$export$f33643c0debef087","$bbec114f87dbfe2a$export$19a8beecd37a4c45","$bbec114f87dbfe2a$export$8d051b38c9118094","$bbec114f87dbfe2a$export$1216008129fb82ed","t","i","arguments","length","p","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","$bbec114f87dbfe2a$export$45d3717a4c69092e","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","writable","Symbol","iterator","TypeError","r","ar","push","to","pack","l","SuppressedError","$14ca536f88a616ab$var$$parcel$export","$14ca536f88a616ab$export$dd1bc94b04021eeb","$14ca536f88a616ab$export$3f34ca2fef821bbd","$14ca536f88a616ab$export$86f54f62aa7a7514","$14ca536f88a616ab$export$89912e019eef22aa","$14ca536f88a616ab$export$2ddabb89308e1a22","$14ca536f88a616ab$export$14527669107aa301","$14ca536f88a616ab$export$3f063810d7bf01bd","$14ca536f88a616ab$export$b5a4d6f439a5044d","$14ca536f88a616ab$export$b119cc7e1840e59c","$14ca536f88a616ab$export$697c3df919c0e61a","$14ca536f88a616ab$export$7a9a31a911eb9a20","$14ca536f88a616ab$export$3ae94a2503e890a1","$14ca536f88a616ab$export$62ad822b3a5fd9a0","$14ca536f88a616ab$export$27924e57e9afff7f","$14ca536f88a616ab$export$bb8626e4916f587b","$14ca536f88a616ab$export$71e6483fc2b024eb","$14ca536f88a616ab$export$eb9b2aadbe449a20","$14ca536f88a616ab$export$13397a83aa5915d6","$14ca536f88a616ab$export$2ee022bbbc550b25","$14ca536f88a616ab$export$a549dd5cef7f8327","$14ca536f88a616ab$export$8eece510bcb9c62c","$14ca536f88a616ab$export$b8a1af58c024fefd","$14ca536f88a616ab$export$a2cf0d4bb6e06de4","$14ca536f88a616ab$export$b0709844452f8b6b","$14ca536f88a616ab$export$be4650432daa84fd","$14ca536f88a616ab$export$7cd14c57bbb84350","$14ca536f88a616ab$export$3f99968195accfaf","$14ca536f88a616ab$export$86d7c59254d6a2c9","$14ca536f88a616ab$export$e772c8ff12451969","$14ca536f88a616ab$export$10b1921597150314","$14ca536f88a616ab$export$3e2b244719956741","$14ca536f88a616ab$export$d635d04af3887bbe","$14ca536f88a616ab$var$$9b05bcda60cc529c$exports","$14ca536f88a616ab$export$61cc6ed0f143570b","Number","isNaN","$14ca536f88a616ab$export$a09f818797e212c4","$14ca536f88a616ab$export$170f4e08cad8229d","$14ca536f88a616ab$export$67a6ce548ae77071","$14ca536f88a616ab$export$a48f0734ac7c2329","$14ca536f88a616ab$export$1c8ba402144543e5","$14ca536f88a616ab$export$7b85fd78dd236198","$14ca536f88a616ab$export$e6b5ff3168b5942b","subKey","handler","result","$14ca536f88a616ab$export$1d012a0dff3dab06","$14ca536f88a616ab$export$69a3209f1a06c04d","$14ca536f88a616ab$export$dce9414bed0662c","data","Sub","Super","raw","localeCompare","MAX_SAFE_INTEGER","numeric","match","offset","large","toUpperCase","Date","now","parseInt","Math","random","values","status","getPrototypeOf","Int8Array","array","unitLength","reduce","grid","iteratee","Set","executor","title","cacheData","console","trace","Promise","resolve","then","log","message","sources","iterators","dones","_","$14ca536f88a616ab$var$$6a9944941b4c1893$exports","$14ca536f88a616ab$export$8a63f25cc62965f1","sum","$14ca536f88a616ab$export$e1f36757ecda301d","$14ca536f88a616ab$export$8e694e1eafd55acb","sample","average","summary","$14ca536f88a616ab$export$57d7c52a66287430","sqrt","$14ca536f88a616ab$export$2b4693832ca3ce16","$14ca536f88a616ab$export$5b784e078da1ce6","toFixed","cut","padEnd","$14ca536f88a616ab$export$17ec9c9f4f23588c","floatOffset","repeat","anchor","after","$14ca536f88a616ab$var$$f872d8bba1c0f79f$exports","$14ca536f88a616ab$export$c489aa6f7fd82b1a","$14ca536f88a616ab$export$cbd942915f33be50","$14ca536f88a616ab$export$9b886f8493244014","$14ca536f88a616ab$export$e99cbb807a5bb10d","$14ca536f88a616ab$export$fca4f8121099df57","$14ca536f88a616ab$export$6ce2f08d515512","$14ca536f88a616ab$export$951c8378cdfec6e6","$14ca536f88a616ab$export$1a4097b876a13bf7","$14ca536f88a616ab$export$506c8e8f8c8edda","$14ca536f88a616ab$var$$f872d8bba1c0f79f$var$TimeUnit","Map","end","start","distance","unit","base","rest","abs","$14ca536f88a616ab$var$$f872d8bba1c0f79f$var$fitUnit","template","padStart","max","time","year","month","day","hour","minute","second","millisecond","getTimezoneOffset","toJSON","split","date","delta","getMonth","setFullYear","getFullYear","floor","setMonth","$14ca536f88a616ab$var$$ba0e5dc395660a7c$exports","parseItem","JSON","parse","$14ca536f88a616ab$export$7ea17d45ecdcf634","parsed","number","header","separator","row","$14ca536f88a616ab$var$$ba0e5dc395660a7c$var$readQuoteValue","quote","SyntaxError","object","$14ca536f88a616ab$var$$083124ac4b1a50a0$exports","URI","URL","baseURI","origin","location","window","search","toBuiltIn","URLSearchParams","getAll","$14ca536f88a616ab$export$fd89523fba250fa4","$14ca536f88a616ab$export$504fbde693c1771c","$14ca536f88a616ab$var$$083124ac4b1a50a0$var$stringify","stringify","fetch","blob","$14ca536f88a616ab$var$$083124ac4b1a50a0$var$DataURI","type","__","base64","exec","atob","aBuffer","ArrayBuffer","uBuffer","Uint8Array","charCodeAt","Blob","$14ca536f88a616ab$var$$50872bf213056663$exports","$14ca536f88a616ab$export$1b9ac4d3de3ffd2e","$14ca536f88a616ab$export$d51f3b55e8d1aa73","$14ca536f88a616ab$var$$50872bf213056663$var$CRC_32_Table","cell","j","char","self","subtle","crypto","msCrypto","observer","reject","oncomplete","target","onabort","onerror","crypto1","algorithm","buffer","digest","TextEncoder","encode","byte","$14ca536f88a616ab$var$$3e0a089cc13f69ad$exports","$14ca536f88a616ab$export$d66b332881d9723f","$14ca536f88a616ab$export$5118471ee5d5453b","$14ca536f88a616ab$export$578e38b4a3e0b255","$14ca536f88a616ab$export$5100419dfae0456d","depth","indent","padding","$14ca536f88a616ab$export$28d9d24a8cd0ffc2","$14ca536f88a616ab$export$eafdbaa868ea9975","$14ca536f88a616ab$export$36a0c1ca2ae264fa","$14ca536f88a616ab$var$$3e0a089cc13f69ad$var$templateMap","spawn","content","firstElementChild","HTMLElement","HTMLUnknownElement","Class","$14ca536f88a616ab$var$$3e0a089cc13f69ad$var$nameMap","propertyName","ReadOnly_Properties","HTMLLinkElement","HTMLIFrameElement","HTMLObjectElement","HTMLInputElement","HTMLButtonElement","HTMLSelectElement","HTMLTextAreaElement","HTMLOutputElement","HTMLFieldSetElement","HTML","XMLSerializer","serializeToString","nodeType","parentElement","Node","TEXT_NODE","width","height","getBoundingClientRect","offsetWidth","pageHeight","pageWidth","scrollHeight","pages","offsetTop","top","offsetHeight","bottomOffset","bottom","bottomIndex","alternate","options","styleSheets","href","link","onload","sheet","_1","_2","_3","_4","rel","head","nodes","fragment","nodeName","replaceWith","selection","getSelection","range","getRangeAt","deleteContents","insertNode","align","justify","ID","scrollTo","left","behavior","querySelector","scrollIntoView","block","inline","box","querySelectorAll","IntersectionObserver","isIntersecting","links","ownerDocument","observe","textContent","level","last","visibilityState","change","state","addEventListener","form","field","elements","checked","defaultValue","selectedOptions","files","closest","parsedValue","$14ca536f88a616ab$var$$bb23e0c794fefbef$exports","seconds","setTimeout","$14ca536f88a616ab$export$57207d71b8c929c8","stop","$14ca536f88a616ab$var$$19ed8aeb7905a045$exports","event","path","composedPath","currentTarget","matches","detail","$14ca536f88a616ab$export$1d1d2ed6b55cf67f","$14ca536f88a616ab$export$2155c0b5a4b77fb8","$14ca536f88a616ab$export$9d97473344489dfc","removeEventListener","check","readyState","scope","element","clean","cancel","handlers","server","postMessage","UID","registration","waiting","onupdatefound","installing","navigator","serviceWorker","controller","$14ca536f88a616ab$var$$7a08303ce13c49c5$exports","$14ca536f88a616ab$export$1b88f6b6d432a52a","$14ca536f88a616ab$export$b70f6380221b1350","$14ca536f88a616ab$export$75d6cbe4503e149","$14ca536f88a616ab$export$b2618d51188815c2","$14ca536f88a616ab$export$490814474ddbb428","$14ca536f88a616ab$export$3ea201dffb50dfef","$14ca536f88a616ab$export$d1012c7198c6b460","$14ca536f88a616ab$export$a35a418b7b17958e","constructor","pow","x","y","z","direction","XD","YD","ZD","XL","YL","ZL","threshold","getComputedStyle","fontSize","vector","transitionDuration","animationDuration","duration","parseFloat","race","catch","$14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeIn","display","requestAnimationFrame","classList","add","$14ca536f88a616ab$var$$7a08303ce13c49c5$var$fadeOut","$14ca536f88a616ab$var$$69bd9f0117925302$exports","$14ca536f88a616ab$export$cd5450f3a47e3789","cases","timeEnd","$14ca536f88a616ab$export$3486a10f30cf1ee4","userCase","secondsOut","timeOut","RangeError","assert","die","_len","args","_key","observable","computed","autorun","action","reaction","configure","IDerivationState_","TraceMode","global1","proto","_getDescriptor$config","_getDescriptor","_Symbol$toPrimitive","_Symbol$toPrimitive$1","_Symbol$iterator","_Symbol$toStringTag","_Symbol$iterator$1","_Symbol$toStringTag$1","mockGlobal","getGlobal","getDescriptor","objectPrototype","EMPTY_ARRAY","freeze","EMPTY_OBJECT","hasProxy","Proxy","plainObjectString","assertProxies","once","func","invoked","noop","isFunction","fn","isStringish","isObject","isPlainObject","protoConstructor","isGenerator","obj","displayName","addHiddenProp","propName","addHiddenFinalProp","createInstanceofPredicate","theClass","isES6Map","thing","isES6Set","hasGetOwnPropertySymbols","ownKeys","getOwnPropertyNames","toPrimitive","hasProp","prop","getOwnPropertyDescriptors","res","_defineProperties","descriptor","_toPropertyKey","arg","_toPrimitive","input","hint","prim","_createClass","Constructor","protoProps","staticProps","_extends","bind","_inheritsLoose","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","_assertThisInitialized","self1","ReferenceError","_arrayLikeToArray","arr","len","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","isArray","_unsupportedIterableToArray","minLen","storedAnnotationsSymbol","createDecoratorAnnotation","annotation","property","is20223Decorator","decorate_20223_","storeAnnotation","annotationType_","context","$mobx","Atom","name_","isPendingUnobservation_","isBeingObserved_","observers_","diffValue_","lastAccessedBy_","lowestObserverState_","NOT_TRACKING_","onBOL","onBUOL","_proto","onBO","listener","onBUO","reportObserved","reportChanged","startBatch","propagateChanged","endBatch","isAtom","createAtom","onBecomeObservedHandler","onBecomeUnobservedHandler","atom","interceptHook","arg3","onBecomeUnobserved","comparer","structural","b","deepEqual","deepEnhancer","isObservable","isAction","isFlow","flow","autoAction","referenceEnhancer","newValue","createActionAnnotation","options_","make_","make_$1","extend_","extend_$1","decorate_20223_$1","adm","_this$options_","bound","target_","actionDescriptor","createActionDescriptor","proxyTrap","defineProperty_","mthd","_ann$options_$name","_ann$options_","_ann$options_$autoAct","_ann$options_2","_this$options_2","kind","addInitializer","ann","createAction","isMobxAction","safeDescriptors","globalState","_ref","_ref2","_annotation$options_","_annotation$options_$","_annotation$options_2","_annotation$options_$2","_annotation$options_3","_annotation$options_4","_adm$proxy_2","_adm$proxy_","proxy_","isPlainObject_","createFlowAnnotation","make_$2","extend_$2","decorate_20223_$2","flowDescriptor","createFlowDescriptor","_this$options_3","isMobXFlow","createComputedAnnotation","make_$3","extend_$3","decorate_20223_$3","defineComputedProperty_","asObservableObject","values_","ComputedValue","getObservablePropValue_","createObservableAnnotation","make_$4","extend_$4","decorate_20223_$4","_this$options_$enhanc","defineObservableProperty_","enhancer","initializedObjects","WeakSet","initializeObservable","_ann$options_$enhance","ObservableValue","has","setObservablePropValue_","autoAnnotation","createAutoAnnotation","make_$5","extend_$5","decorate_20223_$5","_this$options_4","flowAnnotation","autoBind","actionAnnotation","observableAnnotation","deep","_this$options_5","_this$options_6","defaultCreateObservableOptions","defaultDecorator","proxy","observableRefAnnotation","observableShallowAnnotation","isObservableObject","isObservableArray","isObservableMap","isObservableSet","observableStructAnnotation","oldValue","observableDecoratorAnnotation","getEnhancerFromOptions","createObservable","arg2","equals","initialValues","useProxies","LegacyObservableArray","owned","initObservable","ObservableArrayAdministration","arrayTraps","spliceWithArray_","ObservableMap","ObservableSet","decorators","_target$$mobx","_target$$mobx$proxy_","descriptors","objectProxyTraps","annotations","shallow","struct","COMPUTED","computedAnnotation","computedStructAnnotation","arg1","opts","currentActionId","nextActionId","isFunctionNameConfigurable","tmpNameDescriptor","actionName","executeAction","canRunAsDerivation","prevDerivation_","runAsAction","prevAllowStateChanges_","runInfo","trackingDerivation","allowStateChanges","untrackedStart","allowStateChangesStart","runAsAction_","prevAllowStateReads_","allowStateReadsStart","notifySpy_","startTime_","actionId_","parentActionId_","error_","suppressReactionErrors","allowStateChangesEnd","allowStateReadsEnd","untrackedEnd","prev","_Atom","notifySpy","hasUnreportedChange_","interceptors_","changeListeners_","value_","dehancer","dehanceValue","prepareNewValue_","UNCHANGED","setNewValue_","hasInterceptors","interceptChange","UPDATE","hasListeners","notifyListeners","intercept_","registerInterceptor","observe_","fireImmediately","observableKind","debugObjectName","registerListener","valueOf","dependenciesState_","observing_","newObserving_","runId_","UP_TO_DATE_","unboundDepsCount_","CaughtException","triggeredBy_","isComputing_","isRunningSetter_","derivation","setter_","isTracing_","NONE","scope_","equals_","requiresReaction_","keepAlive_","compareStructural","requiresReaction","keepAlive","onBecomeStale_","POSSIBLY_STALE_","d","inBatch","size","shouldCompute","prevTrackingContext","trackingContext","trackAndCompute","STALE_","warnAboutUntrackedRead_","computeValue_","isCaughtException","cause","wasSuspended","changed","track","trackDerivedFunction","disableErrorBoundaries","suspend_","clearObserving","firstTime","prevValue","prevU","isComputedValue","prevAllowStateReads","prevUntracked","obs","changeDependenciesStateTo0","runId","prevTracking","bindDependencies","prevObserving","observing","lowestNewObservingDerivationState","i0","dep","_dep","removeObserver","_dep2","untracked","allowStateReads","MobXGlobals","version","mobxGuid","pendingUnobservations","pendingReactions","isRunningReactions","enforceActions","spyListeners","globalReactionErrorHandlers","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","verifyProxies","canMergeGlobalState","isolateCalled","__mobxInstanceCount","__mobxGlobals","queueForUnobservation","runReactions","Reaction","onInvalidate_","errorHandler_","requiresObservable_","isDisposed_","isScheduled_","isTrackPending_","isRunning_","schedule_","isScheduled","runReaction_","reportExceptionInDerivation_","prevReaction","dispose","getDisposer_","abortSignal","_this2","enterBreakPoint","reactionScheduler","runReactionsHelper","allReactions","iterations","splice","remainingReactions","isReaction","ACTION","AUTOACTION","actionBoundAnnotation","autoActionAnnotation","autoActionBoundAnnotation","createActionFactory","view","_opts$name","_opts","_opts2","_opts2$signal","_opts3","scheduler","delay","createSchedulerFromOptions","reactionRunner","onError","requiresObservable","signal","aborted","run","expression","effect","errorHandler","_opts$name2","_opts4","_opts4$signal","_opts5","effectAction","baseFn","runSync","nextValue","hook","getAtom","cb","listenersKey","hookListeners","ALWAYS","isolateGlobalState","baseScheduler","ea","generatorId","FlowCancellationError","flowBoundAnnotation","generator","rejector","gen","pendingPromise","promise","stepId","onFulfilled","ret","onRejected","cancelPromise","_res","yieldedPromise","transaction","thisArg","getAdm","has_","get_","_getAdm$set_","set_","deleteProperty","_getAdm$delete_","delete_","_getAdm$definePropert","ownKeys_","preventExtensions","interceptable","interceptors","idx","listenable","listeners","SPLICE","getArrayLength_","arrayExtensions","setArrayLength_","owned_","legacyMode_","atom_","enhancer_","lastKnownLength_","newV","oldV","dehanceValue_","dehanceValues_","added","addedCount","removed","removedCount","newLength","currentLength","newItems","updateArrayLength_","oldLength","reserveArrayBuffer","deleteCount","min","lengthDelta","spliceItemsIntoValues_","notifyArraySplice_","_this$values_","oldItems","_i","notifyArrayChildUpdate_","notify","warn","clear","spliceWithArray","_len2","items","_key2","pop","unshift","_len3","_key3","sort","copy","addArrayExtension","funcName","funcFactory","simpleFunc","dehancedValues","mapLikeFunc","callback","reduceLikeFunc","_this3","accumulator","currentValue","isObservableArrayAdministration","ObservableMapMarker","DELETE","toStringTag","initialData","data_","hasMap_","keysAtom_","merge","entry","newEntry","hasKey","updateValue_","addValue_","_change","_this3$hasMap_$get","_this4","_this4$hasMap_$get","makeIterable","_keys$next","_keys$next2","_step","_iterator","_step$value","other","_this5","getPlainObjectKeys","symbols","_this6","_step2","_iterator2","_this7","_step3","replacementMap","convertToMap","dataStructure","orderedData","keysReportChangedCalled","_iterator3","_step4","_iterator4","_step4$value","_value","keyExisted","_value2","iter1","iter2","next1","next2","ObservableSetMarker","callbackFn","_change2","nextIndex","observableValues","descriptorCache","REMOVE","ObservableObjectAdministration","defaultAnnotation_","appliedAnnotations_","pendingKeys_","_this$target_$storedA","outcome","recordAnnotationApplied","deleteOutcome","notifyPropertyAddition_","cachedDescriptor","getCachedObservablePropDescriptor","_this$pendingKeys_","_this$pendingKeys_$ge","_this$pendingKeys_2","_this$pendingKeys_2$g","keys_","_options$defaultDecor","_options$name","isObservableObjectAdministration","_adm$target_$storedAn","ENTRY_0","createArrayEntryDescriptor","safariPrototypeSetterInheritanceBug","OBSERVABLE_ARRAY_BUFFER_SIZE","StubArray","ctor","_StubArray","arrays","getDebugName","_observable","named","getAdministration","eq","aStack","bStack","unwrap","areArrays","aCtor","bCtor","getSelf","g","__MOBX_DEVTOOLS_GLOBAL_HOOK__","injectMobx","spy","extras","$y4uGz","$42910af84dd64d95$export$6503ec6e8aabbaf","$42910af84dd64d95$export$f7ad0328861e2f03","$42910af84dd64d95$var$mapping","baseUrl","manifest","resolved","fromRight","uid","transform","setter","initializer","HASH_UNDEFINED","INFINITY","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","freeProcess","moduleExports","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arrayAggregator","isHostObject","mapToArray","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","objectToString","reIsNative","RegExp","nativeKeys","DataView","getNative","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","symbolToString","Hash","ListCache","MapCache","SetCache","__data__","Stack","assocIndexOf","baseAggregator","collection","baseEach","getMapData","cache","pairs","LARGE_ARRAY_SIZE","isArrayLike","baseFor","iterable","keysFunc","baseGet","isKey","stringToPath","toKey","baseHasIn","baseIsEqual","customizer","bitmask","stack","isObjectLike","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","tag","byteLength","byteOffset","convert","isPartial","stacked","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","objProps","objLength","othProps","skipCtor","objValue","othValue","compared","objCtor","othCtor","arrLength","othLength","seen","arrValue","arraySome","predicate","othIndex","isKeyable","baseIsNative","pattern","isIndex","isSymbol","matchesStrictComparable","srcValue","Ctor","ctorString","memoize","string","baseToString","matchData","identity","hasPath","hasFunc","isLength","isArguments","UNORDERED_COMPARE_FLAG","getMatchData","baseIsMatch","noCustomizer","resolver","memoized","Cache","isArrayLikeObject","arrayLikeKeys","inherited","baseTimes","skipIndexes","baseKeys","$6aabcc7ac344e71d$exports","Fragment","jsxs","jsx","$6aabcc7ac344e71d$var$jsx","__rest","isHTMLElementClass","tagNameOf","commonProps","flat","Infinity","$5ec47347fc6130b4$var$OriginalPromise","$5ec47347fc6130b4$var$InstrumentedPromise$1","_hasDownstreams","defineProperties","createEvent","reason","initEvent","dispatchEvent","$4a2929bb027ef98e$exports","__exportStar","$dDNcL","$b55fce2c156a7377$var$k","suffix","modifier","c","hasCustomName","$b55fce2c156a7377$var$Pe","$b55fce2c156a7377$var$Se","$b55fce2c156a7377$var$v","substr","$b55fce2c156a7377$var$D","delimiter","prefixes","$b55fce2c156a7377$var$x","h","u","T","O","L","encodePart","I","H","$","G","Y","S","R","$b55fce2c156a7377$var$X","ignoreCase","$b55fce2c156a7377$var$y","$b55fce2c156a7377$var$F","sensitive","strict","endsWith","$b55fce2c156a7377$var$b","$b55fce2c156a7377$var$B","$b55fce2c156a7377$var$q","$b55fce2c156a7377$var$Q","substring","$b55fce2c156a7377$var$W","$b55fce2c156a7377$var$ee","$b55fce2c156a7377$var$N","$b55fce2c156a7377$var$_","$b55fce2c156a7377$var$A","$b55fce2c156a7377$var$le","username","$b55fce2c156a7377$var$he","password","$b55fce2c156a7377$var$z","hostname","$b55fce2c156a7377$var$j","$b55fce2c156a7377$var$K","$b55fce2c156a7377$var$fe","pathname","$b55fce2c156a7377$var$ue","$b55fce2c156a7377$var$pe","$b55fce2c156a7377$var$de","hash","$b55fce2c156a7377$var$U","P","port","C","E","A","w","protocol","$b55fce2c156a7377$var$V","$b55fce2c156a7377$var$ge","$b55fce2c156a7377$var$P","$b55fce2c156a7377$var$C","$b55fce2c156a7377$var$w","baseURL","$b55fce2c156a7377$var$ie","$b55fce2c156a7377$var$se","lastIndexOf","$b55fce2c156a7377$var$ae","$b55fce2c156a7377$var$re","$b55fce2c156a7377$var$te","$b55fce2c156a7377$export$a348b14d2b61192c","$b55fce2c156a7377$var$ye","inputs","groups","compareComponent","URLPattern","$3268d95a94a11a3f$var$$parcel$export","$3268d95a94a11a3f$var$$0c03e47eb1097734$exports","$3268d95a94a11a3f$export$b6ae1bc530f4c149","$3268d95a94a11a3f$export$af4b9a83f4b00434","$3268d95a94a11a3f$export$7203b476385689ae","$3268d95a94a11a3f$var$$552a56cc5ff3f479$exports","$3268d95a94a11a3f$export$c7e91f8aec23ae14","$3268d95a94a11a3f$export$b06b4c21253e26e2","$3268d95a94a11a3f$export$4077c0dfbe9c3861","store","targetSelector","ended","delegate","$3268d95a94a11a3f$var$$0c03e47eb1097734$var$reactionMap","$3268d95a94a11a3f$var$$0c03e47eb1097734$var$wrapClass","Component","ObserverComponent","names","reactions","disposers","syncPropAttr","update","boot","disconnectedCallback","disposer","old","attributeChangedCallback","parseJSON","renderer","newTree","attribute","$3268d95a94a11a3f$var$$317b1f21909c74b8$exports","$3268d95a94a11a3f$export$d8556a2a8f973135","$3268d95a94a11a3f$export$af631764ddc44097","$3268d95a94a11a3f$var$$317b1f21909c74b8$var$eventMap","customElements","define","internals","shadowRoot","attachInternals","mode","attachShadow","connectedCallback","renderChildren","mounted","mountedCallback","isEmpty","updatedCallback","emit","cancelable","bubbles","composed","CustomEvent","stringifyDOM","method","events","$3268d95a94a11a3f$export$2a668e8d088a0667","$3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__esDecorate","descriptorIn","contextIn","initializers","extraInitializers","accept","access","$3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__runInitializers","useValue","$3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldGet","receiver","$3268d95a94a11a3f$var$$29675797ddd6c4f7$var$__classPrivateFieldSet","_FormFieldComponent_name_accessor_storage","_FormFieldComponent_value_accessor_storage","_FormFieldComponent_required_accessor_storage","_FormFieldComponent_disabled_accessor_storage","_FormFieldComponent_autofocus_accessor_storage","_setValue_decorators","_name_decorators","_required_decorators","_autofocus_decorators","_name_initializers","_required_initializers","_autofocus_initializers","setValue","setFormValue","formDisabledCallback","disabled","required","autofocus","validity","validationMessage","willValidate","checkValidity","reportValidity","_metadata","metadata","static","private","$3268d95a94a11a3f$var$$8acf79bd061a8fc3$exports","$3268d95a94a11a3f$export$854a54a999c89982","$3268d95a94a11a3f$export$488013bae63b21da","$3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__runInitializers","$3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__esDecorate","$3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldGet","$3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__classPrivateFieldSet","$3268d95a94a11a3f$var$$8acf79bd061a8fc3$var$__rest","component","delegatedProps","load","Tag","loader","description","$3268d95a94a11a3f$var$$d4436c849e74ae70$exports","$3268d95a94a11a3f$export$2e9a7bb10257a509","$3268d95a94a11a3f$var$$d4436c849e74ae70$var$__esDecorate","$3268d95a94a11a3f$var$$d4436c849e74ae70$var$__runInitializers","$3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldGet","$3268d95a94a11a3f$var$$d4436c849e74ae70$var$__classPrivateFieldSet","playing","importCSS","typeChanged","$cdfcfd2658d0d762$var$$parcel$export","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$exports","$cdfcfd2658d0d762$export$84202caead5689ba","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$export$2e2bcd8739ae039","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__esDecorate","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__runInitializers","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldGet","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$__classPrivateFieldSet","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$location","history","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$history","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$baseURL","$cdfcfd2658d0d762$var$$3a2ee75a1759d0d8$var$originalTitle","oldPath","titleOf","preventDefault","buildURLData","formToJSON","restore","handleLink","handleForm","dataOf","parseURLData","getTitle","getVisibleText","isXDomain","pushState","$cdfcfd2658d0d762$export$d6c529ca17cdd16f","$cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__esDecorate","$cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__runInitializers","$cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldGet","$cdfcfd2658d0d762$var$$0e8e8fd52ec9970a$var$__classPrivateFieldSet","position","inAnimation","outAnimation","matched","oldMatched","pageStyle","$cdfcfd2658d0d762$export$baddd0131ee8c05b","$cdfcfd2658d0d762$var$$7b488c9460f448a0$var$__rest","scopeProps","Route","Link","Form","$9cac426e37fc7596$exports","url","$852a55cf17d8b19d$exports","hasOwn","classNames","classes","appendClass","parseValue","newClass","amd","$d6da3710e38faa1c$var$$parcel$export","$d6da3710e38faa1c$export$438ad6fc467f929b","aspectRatio","$d6da3710e38faa1c$export$42a852a2b6b56249","$d6da3710e38faa1c$var$$ec748a1bf5317e2c$var$__rest","fluid","$d6da3710e38faa1c$export$54ec01a60f47d33d","$d6da3710e38faa1c$var$$12e8838177819a56$var$__rest","variant","responsive","striped","hover","bordered","borderless","caption","table","$d6da3710e38faa1c$var$$e00f372973ff441d$var$touch","edge","onTouch","$d6da3710e38faa1c$export$d086fcc3bc3f366f","right","$d6da3710e38faa1c$export$97aba50a380f875b","$d6da3710e38faa1c$var$$6ced475b51e72106$var$__rest","bg","rounded","$d6da3710e38faa1c$var$$639bcad300938914$exports","$d6da3710e38faa1c$export$60332b2344f7fe41","$d6da3710e38faa1c$export$851de33184ecdac4","$d6da3710e38faa1c$export$5665775b26e26c5d","$d6da3710e38faa1c$export$e9897d434e0741ee","$d6da3710e38faa1c$export$474db65c3c394e1c","$d6da3710e38faa1c$export$96c5f37208f78bd7","$d6da3710e38faa1c$export$3e431a229df88919","$d6da3710e38faa1c$var$$7c8ac8c53d1d99e6$var$__rest","roundedCircle","thumbnail","$d6da3710e38faa1c$var$$639bcad300938914$var$__rest","border","$d6da3710e38faa1c$var$$fa0fbbd8c76f290f$exports","$d6da3710e38faa1c$export$2d00230e1e6f7fbc","$d6da3710e38faa1c$export$842aba50ed0ce9d7","$d6da3710e38faa1c$export$8522a2827ec13639","$d6da3710e38faa1c$export$6e5a9cd40e0c9b97","$d6da3710e38faa1c$export$219ad5c362b47f2f","$d6da3710e38faa1c$export$fe5d99d8691b3f62","$d6da3710e38faa1c$export$5cd9378d879de45f","$d6da3710e38faa1c$export$56e87bf42978147a","$d6da3710e38faa1c$var$$fa0fbbd8c76f290f$var$__rest","label","as","htmlSize","plaintext","readOnly","uniqueID","role","labelFloat","placeholder","$d6da3710e38faa1c$var$$7d7a0c28b15334fb$exports","$d6da3710e38faa1c$export$353f5b6fc5456de1","$d6da3710e38faa1c$export$35a0171ee384c875","$d6da3710e38faa1c$export$c25acd513dcc8062","$d6da3710e38faa1c$export$de65de8213222d10","$d6da3710e38faa1c$var$$110adda30e872ed3$exports","$d6da3710e38faa1c$export$f04a61298a47a40f","$d6da3710e38faa1c$export$af1945c3768d186c","$d6da3710e38faa1c$var$$110adda30e872ed3$var$__rest","color","$d6da3710e38faa1c$var$$7d7a0c28b15334fb$var$__rest","active","tabIndex","ariaDisabled","ariaPressed","btn","button","lineHeight","ariaLabel","$d6da3710e38faa1c$export$37acb3580601e69a","$d6da3710e38faa1c$var$$c07b2ffa4e50bb77$var$__rest","pill","$d6da3710e38faa1c$var$$3e256c6cbec492c2$exports","$d6da3710e38faa1c$export$7f7cbe89f1eacd2","$d6da3710e38faa1c$export$d4c790f923031725","$d6da3710e38faa1c$var$$3e256c6cbec492c2$var$__rest","animation","cover","ariaHidden","$d6da3710e38faa1c$var$$082bbd4855375d2b$exports","$d6da3710e38faa1c$export$28c660c63b792dea","$d6da3710e38faa1c$export$e4d8dc88bb9cc931","$d6da3710e38faa1c$var$$082bbd4855375d2b$var$__runInitializers","$d6da3710e38faa1c$var$$082bbd4855375d2b$var$__esDecorate","$d6da3710e38faa1c$var$$082bbd4855375d2b$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$082bbd4855375d2b$var$__classPrivateFieldSet","$d6da3710e38faa1c$var$$082bbd4855375d2b$var$__rest","show","handleToggle","$d6da3710e38faa1c$var$$440350f38fb5346b$exports","$d6da3710e38faa1c$export$931cbfb6bfb85fc","$d6da3710e38faa1c$export$8d5b7ffbb681f107","$d6da3710e38faa1c$export$e44a253a59704894","$d6da3710e38faa1c$export$6648d5fa18559e7f","$d6da3710e38faa1c$export$181f40ec41159e56","$d6da3710e38faa1c$var$$440350f38fb5346b$var$__esDecorate","$d6da3710e38faa1c$var$$440350f38fb5346b$var$__runInitializers","$d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$440350f38fb5346b$var$__classPrivateFieldSet","$d6da3710e38faa1c$var$$440350f38fb5346b$var$__rest","boxClass","buttonClass","renderContent","onClick","$d6da3710e38faa1c$export$78768a9af065a7b","$d6da3710e38faa1c$var$$cc1642db99a4f83c$var$__rest","dimension","in","$d6da3710e38faa1c$var$$e565f84a9fc01dba$exports","$d6da3710e38faa1c$export$d99097c13d4dac9f","$d6da3710e38faa1c$export$5e3e5deaaf81ee41","$d6da3710e38faa1c$export$4f68206c92b94e7b","$d6da3710e38faa1c$export$a766cd26d0d69044","$d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__esDecorate","$d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__runInitializers","$d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__classPrivateFieldSet","$d6da3710e38faa1c$var$$e565f84a9fc01dba$var$__rest","flush","alwaysOpen","handleFlush","toggle","handleClick","nextElementSibling","currentCollapse","collapse","previousElementSibling","ariaExpanded","$d6da3710e38faa1c$var$$429aa606bb648ce9$exports","$d6da3710e38faa1c$export$42c20acb2971398c","$d6da3710e38faa1c$export$a81c9b47f1cf1e63","$d6da3710e38faa1c$export$144901db2ea8e967","$d6da3710e38faa1c$var$$429aa606bb648ce9$var$__esDecorate","$d6da3710e38faa1c$var$$429aa606bb648ce9$var$__runInitializers","$d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$429aa606bb648ce9$var$__classPrivateFieldSet","$d6da3710e38faa1c$var$$429aa606bb648ce9$var$__rest","interval","itemMeta","currentIndex","timer","setInterval","turnByOffset","handleActiveItem","clearInterval","handleButtonClick","dataset","bsSlide","handleButtonPress","handleIndicatorsButtonClick","bsSlideTo","handleIndicatorsButtonPress","ariaCurrent","$d6da3710e38faa1c$var$$9d227ef33aa3b137$exports","$d6da3710e38faa1c$export$b0d92dbee9b5b60d","$d6da3710e38faa1c$export$461cb598b7fcff7b","$d6da3710e38faa1c$export$39140c7d8b0ba7b3","$d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__esDecorate","$d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__runInitializers","$d6da3710e38faa1c$var$$9d227ef33aa3b137$var$__rest","navBar","expand","$d6da3710e38faa1c$var$$210b900be6078c4d$exports","$d6da3710e38faa1c$export$2df9f3e5f6d355f6","$d6da3710e38faa1c$export$e018030c18c7f90a","$d6da3710e38faa1c$export$42cfbb80f7861e77","$d6da3710e38faa1c$export$d31319d8cbfdaf50","$d6da3710e38faa1c$var$$9e952469adea05cf$exports","$d6da3710e38faa1c$export$1b33297d19c3da30","$d6da3710e38faa1c$export$b6c1518fb8dc5e75","$d6da3710e38faa1c$export$c324d20ecc5b7dee","$d6da3710e38faa1c$export$591ca0244c9dfcd4","$d6da3710e38faa1c$export$1de07a2f4bdee270","$d6da3710e38faa1c$var$$9e952469adea05cf$var$__rest","closeButton","onHide","backdrop","maxWidth","titleId","$d6da3710e38faa1c$var$$210b900be6078c4d$var$__esDecorate","$d6da3710e38faa1c$var$$210b900be6078c4d$var$__runInitializers","$d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$210b900be6078c4d$var$__classPrivateFieldSet","$d6da3710e38faa1c$var$$210b900be6078c4d$var$__rest","fixed","sticky","KeyboardEvent","open","close","brand","offcanvasId","$d6da3710e38faa1c$var$$91ec7fc997378afa$exports","$d6da3710e38faa1c$export$3e41faf802a29e71","$d6da3710e38faa1c$export$b2539bed5023c21c","$d6da3710e38faa1c$var$$91ec7fc997378afa$var$__esDecorate","$d6da3710e38faa1c$var$$91ec7fc997378afa$var$__runInitializers","$d6da3710e38faa1c$var$$91ec7fc997378afa$var$__setFunctionName","$d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$91ec7fc997378afa$var$__classPrivateFieldSet","tabMeta","tabs","tab","hidden","turnPaneTo","handleTabClick","stopPropagation","previous","ariaSelected","$d6da3710e38faa1c$export$ddd3857461e99bb8","$d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__esDecorate","$d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__runInitializers","$d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$__classPrivateFieldSet","$d6da3710e38faa1c$var$$1bbec1dcb4a4586e$var$colors","scale","endTime","tick","units","timeSections","$d6da3710e38faa1c$export$d7a7c85c0f5afc4a","$d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__esDecorate","$d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__runInitializers","$d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldGet","$d6da3710e38faa1c$var$$75a9c5b54bb907f9$var$__classPrivateFieldSet","dateText","formatDate","currentDate","dateTime","getDate","locale","weekFormatter","language","Intl","DateTimeFormat","weekday","dateGrid","startDate","setDate","getDay","Day","dateList","splitArray","changeMonth","tableLayout","format","days","renderDate","$4b24793a4b0f2663$var$__rest","$4b24793a4b0f2663$var$OriginalURLPattern","$4b24793a4b0f2663$export$febf71ca481883cc","menu","$5e22cd4b061714ab$var$$parcel$export","$5e22cd4b061714ab$var$$552a56cc5ff3f479$exports","$5e22cd4b061714ab$export$df0b442c7f8df5c1","$5e22cd4b061714ab$export$d977f7cd0cb45fe1","$5e22cd4b061714ab$export$d0eaf3e94be578f6","$5e22cd4b061714ab$export$110700823644f4a6","$5e22cd4b061714ab$export$2557e81a557a81ea","parts","isNL","diff","cookie","option","quantity","$5e22cd4b061714ab$var$$53eb72fe5615c114$var$__runInitializers","$5e22cd4b061714ab$var$$53eb72fe5615c114$var$__esDecorate","$5e22cd4b061714ab$var$$53eb72fe5615c114$var$__awaiter","_arguments","fulfilled","step","rejected","adopt","$5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldGet","$5e22cd4b061714ab$var$$53eb72fe5615c114$var$__classPrivateFieldSet","$503c9e76e0702d1d$export$a7357cdd1f0b0168","loading","currentLanguage","currentMap","defaultMap","configuration","defaultLanguage","textOf","languages","loadLanguages","changeLanguage","onLanguageChange","lastLanguage","setLanguage","documentElement","lang","review","$4c003ca00f8ec967$exports","$81436cf79a04cbb6$exports","$8e9a2e588bbabe3f$exports","$63cd6614ff440ef4$exports","$ba6536c2bbe2241e$exports","$ef62463b99e0e924$exports","$1594e4456c6abd30$exports","$63be28c946895911$exports","$16d9d8e87c52debe$exports","$e3eb87652d3da6cb$exports","$08051b5a715591ac$exports","$c10c52d356388587$export$2e2bcd8739ae039","$7d44bcf5a140a7c0$exports","$1f46f57a3d3fc481$exports","$fbf2ea9e2ff7db15$exports","$aa198d89ed27c62c$exports","$5543e9130cf6cb21$exports","$5a5a4d40f0bc19d6$exports","$21451a7060ed0dbe$exports","$26f1c9f4e920685c$exports","$edb04c5a5f81baaf$export$2e2bcd8739ae039","$3376f124ed632412$exports","$cd7f3979e6b34c6c$exports","$cd4016b0816d4e56$exports","$fb2809281e6190c8$exports","$affdfcc70845640a$export$e5c5c7a5558278fe","$f4ef06ddf03adecc$exports","$c93b901e7adf7ade$export$ff0e4e8ad1be5d30","$c93b901e7adf7ade$export$269ff336f3ec3e85","banner","B","$c93b901e7adf7ade$var$first","$c93b901e7adf7ade$var$last","$c93b901e7adf7ade$var$years","ceil","$c93b901e7adf7ade$export$606190e461fe9031","logo","$a6c3d139f2721b86$var$t","$a6c3d139f2721b86$export$36d69433c4f81145","passed","src","$fcaea377ff8063f9$export$6e91cf7616333d5","$19784e99206753c8$var$$parcel$export","$19784e99206753c8$var$$22de11b45b0eeb97$exports","$19784e99206753c8$export$c7e91f8aec23ae14","$19784e99206753c8$export$51ca94569b882c51","$19784e99206753c8$export$77cea355fa80b5f4","subscriber","asyncIterator","canceler","queue","complete","of","toPromise","subscribe","onNext","onComplete","unsubscribe","closed","fromEvent","on","off","$19784e99206753c8$export$d16acf4b6e75743d","feedNext","defer","destroy","$850589403705f8ed$var$$parcel$export","$850589403705f8ed$export$694e0d28c7ffc90c","$850589403705f8ed$var$$eef213ff4197108b$var$push","use","middlewares","execute","middleware","mount","condition","$850589403705f8ed$var$$0fe1f1400993ba8a$exports","$850589403705f8ed$export$aa9d629c530f62a7","$850589403705f8ed$export$b725a69477e4d33f","$850589403705f8ed$export$eea2c1c5e1a37e50","$850589403705f8ed$export$3b629cd0ff482602","$850589403705f8ed$export$4f2a8c8c11a6373a","$850589403705f8ed$export$bda27a3e49197b9","$850589403705f8ed$export$b5fe3f66a567bec0","$850589403705f8ed$var$$22de11b45b0eeb97$exports","$850589403705f8ed$export$b6a9369736b19f4d","contentType","DOMParser","parseFromString","$850589403705f8ed$export$2c28ab2e118e73f1","formData","FormData","likeArray","$850589403705f8ed$export$a0beee2e55fb5dd1","HTMLFormElement","SVGElement","HTMLDocument","enctype","$850589403705f8ed$export$dfdc1655ccc5b9cb","ReadableStream","$850589403705f8ed$export$e209cbb66c5b18c","file","encoding","reader","FileReader","progress","URIError","response","matchAll","headers","request","XMLHttpRequest","header_list","statusText","getAllResponseHeaders","responseText","ontimeout","setRequestHeader","send","getResponseHeader","upload","download","withCredentials","timeout","responseType","AbortController","sleep","abort","Headers","Accept","fetchResult","credentials","backup","clone","json","arrayBuffer","$850589403705f8ed$export$45cf759b359d3d24","$850589403705f8ed$var$$cbd22d3323bef9ca$var$splice","defaultWare","post","put","delete","$1a63fc32ef3e2cb5$export$388e0302ca0d9a41","$d343897ab541fa10$var$__esDecorate","$d343897ab541fa10$var$__runInitializers","$d343897ab541fa10$var$__awaiter","$d343897ab541fa10$var$__classPrivateFieldGet","$d343897ab541fa10$var$__classPrivateFieldSet","$d343897ab541fa10$export$1fb4852a55678982","user","getProfile","sendSMSCode","phone","signIn","$5d0dc29d17dc3e9b$var$__esDecorate","$5d0dc29d17dc3e9b$var$__runInitializers","$5d0dc29d17dc3e9b$var$__classPrivateFieldGet","$5d0dc29d17dc3e9b$var$__classPrivateFieldSet","$5d0dc29d17dc3e9b$export$b6d0d5b88bcbde99","getDayList","rows","$e99f51b37211aa02$export$55427e926be628d4","$e99f51b37211aa02$export$6d4456894f9d6c4","$d53da11331b77c2b$var$__esDecorate","$d53da11331b77c2b$var$__runInitializers","$d53da11331b77c2b$var$__classPrivateFieldGet","$d53da11331b77c2b$var$__classPrivateFieldSet","$d53da11331b77c2b$export$a476b4f7d4df5522","countDown","namedItem","renderForm","onSubmit","handleSignIn","maxLength","autocomplete","handleSMSCode","$e8c9a5fd7d94d11d$export$ee1db8826c4c2102","$d13f2f2623a064f2$var$__esDecorate","$d13f2f2623a064f2$var$__runInitializers","$d13f2f2623a064f2$var$__classPrivateFieldGet","$d13f2f2623a064f2$var$__classPrivateFieldSet","$d13f2f2623a064f2$export$e89e5028cb715ed2","handleDate","renderCards","address","onChange","$0508e1ac2ec922cb$export$d43206f0b9719a5e","childrens","img","$f8717a9a2d542da5$exports","$863cb8015367ae2a$exports","$65f4d23620a10a11$exports","$7ffbc875f7ac1285$exports","$8f031a4a1b50f8f1$exports","$e7d6b8eb2ce23144$exports","$51a2966f480b352a$exports","$10a01317cf4fa804$exports","$662e987c20c03472$exports","$725c88a6c5a36c83$exports","$5409bf8ade3d0e24$exports","$f4f13022ec847d73$exports","$5871ebc6ae2ade31$exports","$e24a2fee3e566a5a$exports","$faa12d9fc0be5c52$exports","$2754c09000df801e$exports","$2229b8297405c002$exports","$eab0faf94ef10148$exports","$c27d65df7592ab6e$export$bb383df5b32c05b7","$c27d65df7592ab6e$export$7f92890d073cca8c","$69120e65ab6e4019$export$c7c935ac50db7b6f","avatar","$69120e65ab6e4019$export$ede378ff9e58f952","guest","$69120e65ab6e4019$export$ad200f2ca1a7d990","$84da816ad819b25e$export$6ad6c45b3f827609","textIndent","$517b335d25cc69cc$exports","factory","exports1","_getDefaults","async","breaks","extensions","gfm","hooks","pedantic","silent","tokenizer","walkTokens","changeDefaults","newDefaults","defaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape$1","html","unescapeTest","caret","edit","regex","opt","val","valSource","getRegex","cleanUrl","encodeURI","noopTest","splitCells","tableRow","count","cells","str","escaped","curr","rtrim","invert","suffLen","currChar","charAt","outputLink","cap","lexer","inLink","token","tokens","inlineTokens","_Tokenizer","rules","space","newline","codeBlockStyle","fences","indentCodeCompensation","matchIndentToCode","indentToCode","matchIndentInNode","indentInNode","anyPunctuation","heading","trimmed","hr","blockquote","blockTokens","bull","isordered","ordered","loose","itemRegex","itemContents","endsWithBlankLine","ischecked","endEarly","line","nextLine","trimStart","blankLine","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","rawLine","istask","task","trimEnd","spacers","hasMultipleLineBreaks","some","pre","def","aligns","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","findClosingBracket","linkLen","reflink","nolink","linkString","emStrong","maskedSrc","prevChar","emStrongLDelim","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","emStrongRDelimAst","emStrongRDelimUnd","lastIndex","lastCharLength","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","prevCapZero","_backpedal","inlineText","bullet","_paragraph","_blockLabel","_tag","_comment","blockNormal","gfmTable","blockGfm","blockPedantic","_punctuation","_inlineComment","_inlineLabel","reflinkSearch","inlineNormal","blockSkip","inlinePedantic","inlineGfm","inlineBreaks","normal","_Lexer","inlineQueue","lex","lexInline","lastToken","cutSrc","lastParagraphClipped","leading","extTokenizer","startBlock","tempStart","startIndex","tempSrc","getStartIndex","errMsg","keepPrevChar","startInline","_Renderer","infostring","listitem","checkbox","tablerow","tablecell","flags","strong","em","cleanHref","out","image","_TextRenderer","_Parser","textRenderer","parser","parseInline","renderers","genericToken","headingToken","fromCharCode","codeToken","tableToken","blockquoteToken","listToken","itemBody","htmlToken","paragraphToken","textToken","escapeToken","tagToken","linkToken","imageToken","strongToken","emToken","codespanToken","delToken","_Hooks","passThroughHooks","preprocess","markdown","postprocess","processAllTokens","Marked","setOptions","parseMarkdown","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","childTokens","ext","prevRenderer","extLevel","rendererFunc","tokenizerFunc","prevTokenizer","hooksFunc","prevHook","packWalktokens","origOpt","throwError","all","msg","markedInstance","marked","getDefaults","$bb10fbb2bebf156f$export$d43206f0b9719a5e","member","$29641f8434eb5eb2$exports","$ab0f93fada68d42c$exports","$6fa587e35c6e820b$exports","$ee8d2ad89e3376c2$exports","$3d88e996ab612401$exports","$8c77697f0a6e0206$exports","$643437e5913c200c$exports","$2acb9814848bd485$exports","$4a2346192cce794c$exports","$441b885f46c94936$exports","$a346ca5d156e5db0$exports","$95067ba03991acdf$exports","$3d245b44e0e4617e$exports","$9c86d85c700acb1a$exports","$e938460b163d9b5d$exports","$62616d154be9326c$exports","$8a7beb525f31c23d$exports","$4dd19e891030f5f3$exports","$577a5ffe7d8a43fc$exports","$1593deb679a272da$exports","$31004bed3b1363a7$exports","$9e2acc89d43aa065$exports","$3c01b684f1472c1c$exports","$823bd824b178227b$exports","$62e5aebeaef64ab9$exports","$b08d50aa69535241$exports","$27b1627f4ff99c0e$export$fb184b623420d9be","$27b1627f4ff99c0e$export$5a1dbaa3e4449344","$27b1627f4ff99c0e$export$31da89627f5e6e8b","$27b1627f4ff99c0e$export$31978e77bf6e08fb","lecturer","$27b1627f4ff99c0e$export$60974f670aa8d75e","topic","$27b1627f4ff99c0e$export$39babdfab504f3da","$27b1627f4ff99c0e$export$95794f71fd1fcea8","$27b1627f4ff99c0e$export$95d17814281fb808","$27b1627f4ff99c0e$export$14e304d9e12f4092","$27b1627f4ff99c0e$export$dbe41a478099b642","$27b1627f4ff99c0e$export$d9f4fb13de619c2b","$1b0cf6bc713b9113$exports","$8bdfb4d74b54cf25$exports","$dbd9262dd0351ad9$exports","$deec77c69c0e7e97$exports","$b9bfa07e74033910$exports","$325a95b99893bdf0$exports","$bf1791f32338a6da$exports","$433b012c71beecaf$exports","$5beeef89be38caa8$exports","$1564f4f7532c0117$export$2e2bcd8739ae039","$ad72fdbf935866b0$var$__rest","$ad72fdbf935866b0$export$433bd2146b9d5f1b","alt","$0923968550ea0b6a$export$deef74555b11a7b5","describe","$d796099496f8eb77$exports","$30274e3425339fa8$exports","$255aa59c3a9467e3$exports","$44d9fce41b048f20$exports","$d1d4fe3c5283d5c0$exports","$4fa860038fc73dfc$exports","$81e0cb1a0e809169$exports","$6cb3cfd1db8acd55$exports","$2ef516450b6940b6$exports","$4a78cb3cca91039b$exports","$9bb451630f17c918$exports","$580adc616712fcf5$exports","$5bbd072ceedabbc3$exports","$e1e07d70eae65b7c$exports","$58dbae6c20f7e9b8$exports","$18664197344d9761$exports","$ead64643905bbf07$exports","$04663b36b91efd96$exports","$507b7aecc61aa52d$exports","$c4e648e32137e55d$exports","$508b9dc44a4e197f$exports","$3465604ea8062893$exports","$535fcc5d31ee0ee5$exports","$8b4d9e72eace6242$exports","$5a216a7b1fd4450e$exports","$e425e2b853e3d2ec$exports","$935c86b376c50118$exports","$590704cd3f5564b2$exports","$8297cfa4e5151240$exports","$167777f232ec47ad$exports","$0bc1bd9288b6d594$exports","$e41a15561ec6f361$exports","$3a1e7bd47ad8691c$exports","$46884e8576f598a4$exports","$65d541299c9eaa0a$exports","$a3567955894f4400$exports","$a854ade9bb1907f4$export$8be1f1f78d12f826","$a854ade9bb1907f4$export$d0594af1336a4938","$a854ade9bb1907f4$export$14e304d9e12f4092","imageURL","$a854ade9bb1907f4$export$95794f71fd1fcea8","$2820d241879d4374$export$1bd94ce9e78f84ed","backgroundImage","$eV21f","$caef08c0fc9a9584$exports","$4b27cb3a83650e7e$var$__rest","$4b27cb3a83650e7e$export$953c2efc134d7f79","$7567e087e01436f4$export$6ed34e2411fb365c","topics","mentors","mentorId","slideshow","mentor","GitHub","$42c4793e61335d13$export$f169f90beaec694a","maxHeight","$4e00718fcdba9849$exports","$6b954e87a96b9a17$var$topicGroups","place","$6b954e87a96b9a17$var$partnerGroups","partners","$6b954e87a96b9a17$export$86e3d585d8922b95","organization","$371a3837fd81d701$exports","$371a3837fd81d701$var$process","$371a3837fd81d701$var$defaultSetTimout","$371a3837fd81d701$var$defaultClearTimeout","$371a3837fd81d701$var$runTimeout","fun","clearTimeout","$371a3837fd81d701$var$queue","$371a3837fd81d701$var$draining","$371a3837fd81d701$var$queueIndex","$371a3837fd81d701$var$cleanUpNextTick","$371a3837fd81d701$var$drainQueue","$371a3837fd81d701$var$runClearTimeout","marker","$371a3837fd81d701$var$Item","$371a3837fd81d701$var$noop","nextTick","browser","env","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","dir","umask","$4782dfe4508d9351$export$31b40729666a4ae0","counter","$4782dfe4508d9351$export$45b10814cc054894","arrayLike","$4782dfe4508d9351$var$px","styleProperty","win","defaultView","getPropertyValue","$4782dfe4508d9351$export$ada5537b2c061996","targetNode","$4782dfe4508d9351$var$getNodeWidth","leftBorder","rightBorder","clientWidth","$4782dfe4508d9351$var$getNodeHeight","topBorder","bottomBorder","clientHeight","$4782dfe4508d9351$export$ec664d7487540b","Image","decode","crossOrigin","decoding","$4782dfe4508d9351$export$fe77aa9c02de4599","svg","encodeURIComponent","$4782dfe4508d9351$export$b62810fb8ca515fa","xmlns","createElementNS","foreignObject","appendChild","$4782dfe4508d9351$export$3a92fc9ec83ef360","instance","nodePrototype","$935bc8a89a8048db$var$clonePseudoElement","nativeNode","clonedNode","pseudo","styleElement","$935bc8a89a8048db$var$getPseudoElementStyle","cssText","$935bc8a89a8048db$var$formatCSSText","priority","getPropertyPriority","$c749153f13d96f99$var$WOFF","$c749153f13d96f99$var$JPEG","$c749153f13d96f99$var$mimes","woff","woff2","ttf","eot","png","jpg","jpeg","gif","tiff","webp","$c749153f13d96f99$export$200548c990602f61","$c749153f13d96f99$var$getExtension","$33c843df93354230$export$f8a05efa20ffd5a","$33c843df93354230$export$68336ea1617fa80a","mimeType","$33c843df93354230$export$c20a8b76c95b0d41","onloadend","readAsDataURL","$33c843df93354230$var$cache","$33c843df93354230$export$bdf0422c029b202a","resourceUrl","includeQueryParams","dataURL","cacheKey","cacheBust","getTime","fetchRequestInit","imagePlaceholder","$b100bd344ebc86b8$var$cloneCanvasElement","canvas","toDataURL","cloneNode","$b100bd344ebc86b8$var$cloneVideoElement","video","currentSrc","ctx","getContext","drawImage","poster","$b100bd344ebc86b8$var$cloneIFrameElement","iframe","contentDocument","$b100bd344ebc86b8$export$ae8e35ea29ddac22","$b100bd344ebc86b8$var$cloneSingleNode","HTMLCanvasElement","HTMLVideoElement","$b100bd344ebc86b8$var$isSlotElement","$b100bd344ebc86b8$var$cloneChildren","assignedNodes","deferred","child","clonedChild","$b100bd344ebc86b8$var$ensureSVGSymbols","uses","processedDefs","exist","definition","ns","overflow","defs","isRoot","$b100bd344ebc86b8$var$cloneCSSStyle","targetStyle","sourceStyle","transformOrigin","reducedFont","setProperty","$b100bd344ebc86b8$var$cloneSelectValue","selectedOption","clonedSelect","$1cc3ee04d2481668$var$URL_REGEX","$1cc3ee04d2481668$var$URL_WITH_FORMAT_REGEX","$1cc3ee04d2481668$var$FONT_SRC_REGEX","$1cc3ee04d2481668$export$2be46bb7e96db87f","resourceURL","getContentFromUrl","resolvedURL","doc","$1cc3ee04d2481668$var$toRegex","$1cc3ee04d2481668$export$7b668369e5eab853","$1cc3ee04d2481668$export$3d88803585cbbc21","filteredCSSText","$1cc3ee04d2481668$var$filterPreferredFontFormat","preferredFontFormat","urls","$1cc3ee04d2481668$export$d04549d631b8762d","quotation","css","$f860a42c288ac7a8$var$embedProp","propValue","cssString","$f860a42c288ac7a8$var$embedBackground","$f860a42c288ac7a8$var$embedImageNode","isImageElement","HTMLImageElement","SVGImageElement","baseVal","srcset","$f860a42c288ac7a8$var$embedChildren","deferreds","$f860a42c288ac7a8$export$6660fa8dd20e53aa","$586c729879695f49$var$cssFetchCache","$586c729879695f49$var$fetchCSS","$586c729879695f49$var$embedFonts","regexUrl","fontLocs","loc","$586c729879695f49$var$parseCSS","keyframesRegex","importRegex","unifiedRegex","$586c729879695f49$var$getCSSRules","cssRules","CSSRule","IMPORT_RULE","importIndex","rule","insertRule","$586c729879695f49$var$parseWebFontRules","FONT_FACE_RULE","$586c729879695f49$export$253c9aa3d83a57b6","cssTexts","parentStyleSheet","$586c729879695f49$export$2c2c83b77c8cb421","fontEmbedCSS","skipFonts","styleNode","sytleContent","firstChild","insertBefore","$dcfb36a1d813879c$export$20d300cb2d558b7","backgroundColor","manual","$dcfb36a1d813879c$export$f87f6982d1fd4f81","ratio","pixelRatio","FINAL_PROCESS","devicePixelRatio","canvasWidth","canvasHeight","skipAutoScale","$4782dfe4508d9351$var$canvasDimensionLimit","fillStyle","fillRect","$dcfb36a1d813879c$export$aba256f33615c92e","$001ad9c74aa66c44$var$__esDecorate","$001ad9c74aa66c44$var$__runInitializers","$001ad9c74aa66c44$var$__classPrivateFieldGet","$001ad9c74aa66c44$var$__classPrivateFieldSet","$001ad9c74aa66c44$export$eeced63f031cb2ca","imageURI","renderCard","gender","showImage","$11d3d818d65ecaea$var$__esDecorate","$11d3d818d65ecaea$var$__runInitializers","$11d3d818d65ecaea$var$__classPrivateFieldGet","$11d3d818d65ecaea$var$__classPrivateFieldSet","$f5677008bd939fdb$exports","$11d3d818d65ecaea$export$9173d18d49443e0e","price","manager","remark","expenditure","revenue","parseTextTable","renderRow","$78f15da238736fd2$var$Route","$78f15da238736fd2$export$2b03cf3e6072856f","PromiseRejectionEvent","alert","$f64ad2349eb3c2ef$var$serviceWorker","serviceWorkerUpdate","worker","confirm","reload","documentReady","niceErrors","annotationType","errors","NODE_ENV","global","warnAboutProxyRequirement","getNextId","stringifyKey","decorator","isOverride","fieldName","assertNotDecorated","currentAnnotationType","requestedAnnotationType","collectStoredAnnotations","assert20223DecoratorType","types","onBecomeObserved","identityComparer","structuralComparer","shallowComparer","defaultComparer","shallowEnhancer","refStructEnhancer","OVERRIDE","override","_createAction","assertActionDescriptor","assertFlowDescriptor","assertComputedDescriptor","assertObservableDescriptor","AUTO","OBSERVABLE","OBSERVABLE_REF","OBSERVABLE_SHALLOW","OBSERVABLE_STRUCT","asCreateObservableOptions","getEnhancerFromAnnotation","getAnnotationFromOptions","observableFactories","createLegacyArray","createObservableArray","extendObservable","asDynamicObservableObject","COMPUTED_STRUCT","_startAction","_endAction","isSpyEnabled","flattenedArgs","spyReportStart","spyReportEnd","CREATE","spyReport","checkIfStateModificationsAreAllowed","isObservableValue","propagateMaybeChanged","propagateChangeConfirmed","isComputingDerivation","hasObservers","checkIfStateReadsAreAllowed","warnAboutDerivationWithoutDependencies","addObserver","persistentKeys","getGlobalState","resetGlobalState","defaultGlobals","getObservers","logTraceInfo","BREAK","lines","printDepTree","getDependencyTree","dependencies","startTime","onReactionError","MAX_REACTION_ITERATIONS","setReactionScheduler","END_EVENT","ACTION_BOUND","AUTOACTION_BOUND","DEFAULT_ACTION_NAME","runInAction","wrapErrorHandler","ON_BECOME_OBSERVED","ON_BECOME_UNOBSERVED","NEVER","OBSERVED","properties","nodeToDependencyTree","unique","getObserverTree","nodeToObserverTree","observers","isFlowCancellationError","flowResult","interceptReads","propOrHandler","intercept","interceptProperty","interceptInterceptable","_isComputed","isComputed","isComputedProp","_isObservable","isObservableProp","apiDefineProperty","apiOwnKeys","propOrCb","cbOrFire","observeObservableProperty","observeObservable","toJSHelper","__alreadySeen","toJS","getAtomFromArgs","LOG","when","whenPromise","_when","timeoutHandle","cond","_opts$signal","_opts$signal2","_opts$signal3","makeObservable","_annotations","keysSymbol","makeAutoObservable","overrides","MAX_SPLICE_SIZE","ADD","_delete","deleted","isAnnotation","assertAnnotable","isExtensible","inherit","createArrayBufferItem","_defaults"],"version":3,"file":"index.dc96cc69.js.map"} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..9f52668 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +成都 Web 开发者大会 \ No newline at end of file diff --git a/index.runtime.84994b02.js b/index.runtime.84994b02.js new file mode 100644 index 0000000..15e03d4 --- /dev/null +++ b/index.runtime.84994b02.js @@ -0,0 +1,2 @@ +function e(e,H,_,a){Object.defineProperty(e,H,{get:_,set:a,enumerable:!0,configurable:!0})}var H=globalThis,_={},a={},n=H.parcelRequire2198;null==n&&((n=function(e){if(e in _)return _[e].exports;if(e in a){var H=a[e];delete a[e];var n={id:e,exports:{}};return _[e]=n,H.call(n.exports,n,n.exports),n.exports}var c=Error("Cannot find module '"+e+"'");throw c.code="MODULE_NOT_FOUND",c}).register=function(e,H){a[e]=H},H.parcelRequire2198=n),(0,n.register)("5IkBo",function(H,_){e(H.exports,"register",()=>a,e=>a=e),e(H.exports,"resolve",()=>n,e=>n=e);var a,n,c=new Map;a=function(e,H){for(var _=0;_","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/helpers/bundle-manifest.js","node_modules/.pnpm/@parcel+runtime-js@2.11.0/node_modules/@parcel/runtime-js/lib/runtime-a109b454e478ca0c.js"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire2198\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire2198\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"5IkBo\", function(module, exports) {\n\n$parcel$export(module.exports, \"register\", () => $42910af84dd64d95$export$6503ec6e8aabbaf, (v) => $42910af84dd64d95$export$6503ec6e8aabbaf = v);\n$parcel$export(module.exports, \"resolve\", () => $42910af84dd64d95$export$f7ad0328861e2f03, (v) => $42910af84dd64d95$export$f7ad0328861e2f03 = v);\nvar $42910af84dd64d95$export$6503ec6e8aabbaf;\nvar $42910af84dd64d95$export$f7ad0328861e2f03;\n\"use strict\";\nvar $42910af84dd64d95$var$mapping = new Map();\nfunction $42910af84dd64d95$var$register(baseUrl, manifest) {\n for(var i = 0; i < manifest.length - 1; i += 2)$42910af84dd64d95$var$mapping.set(manifest[i], {\n baseUrl: baseUrl,\n path: manifest[i + 1]\n });\n}\nfunction $42910af84dd64d95$var$resolve(id) {\n var resolved = $42910af84dd64d95$var$mapping.get(id);\n if (resolved == null) throw new Error(\"Could not resolve bundle with id \" + id);\n return new URL(resolved.path, resolved.baseUrl).toString();\n}\n$42910af84dd64d95$export$6503ec6e8aabbaf = $42910af84dd64d95$var$register;\n$42910af84dd64d95$export$f7ad0328861e2f03 = $42910af84dd64d95$var$resolve;\n\n});\n\nvar $1945663eda3aa940$exports = {};\n\n(parcelRequire(\"5IkBo\")).register(new URL(\"\", import.meta.url).toString(), JSON.parse('[\"ijQyq\",\"index.dc96cc69.js\",\"6c3fN\",\"FCC-CDG-WeChat.70395ae7.png\",\"6wRuB\",\"en-US.1eee4986.js\",\"dV1xx\",\"address.2d45661a.jpeg\",\"2CYTp\",\"banner.d2590421.jpeg\",\"gF6qq\",\"groupManager.fe1f2f18.jpeg\",\"98kgH\",\"qrcode.000ea267.jpeg\",\"i8eYP\",\"wechatLogo.0a5f129f.jpeg\",\"jY3zo\",\"guest0.4d4bc1b3.jpeg\",\"8aTYR\",\"guest1.2a8b98da.jpeg\",\"ddeaD\",\"guest2.00af3133.jpeg\",\"8JgQn\",\"guest3.5816bb0c.jpeg\",\"hwoWM\",\"guest4.34a81f15.jpeg\",\"ji9qo\",\"guest5.b6b6c69f.jpeg\",\"hcM7H\",\"guest6.1ee21076.jpeg\",\"anIb8\",\"guest7.ea35a4b4.jpeg\",\"6sifx\",\"0.54f08dac.png\",\"4e8uK\",\"1.8361e329.jpg\",\"hCOOh\",\"2.79b033bd.jpg\",\"kR7mo\",\"3.334bb513.jpg\",\"jRBHJ\",\"4.ae5bc98e.jpg\",\"ko9J0\",\"5.b660aa49.jpg\",\"fhAPf\",\"6.60aeccfe.jpg\",\"54FSf\",\"7.6b53a2b5.jpg\",\"gmefe\",\"React-ChengDu.10342ab9.jpg\",\"7VF02\",\"poster.367bcd76.png\",\"rWtRy\",\"undraw_01.18599e8b.png\",\"8CkGy\",\"undraw_04.d9b38312.png\",\"hvdEz\",\"banner.c8e98b18.jpg\",\"fgSNC\",\"3W.343e9c06.png\",\"6xOpm\",\"BBD.ed89ee43.png\",\"a6aQz\",\"BW.0f2c33fb.png\",\"1ELNp\",\"DevEco.5b51c8ac.jpg\",\"8JQao\",\"DKS.1c567b7f.png\",\"dqiXw\",\"FCC-CDG.bf36daee.png\",\"1FZs5\",\"GDG.ca994c53.png\",\"7GGAJ\",\"GT.27a90685.png\",\"kISlC\",\"HCXY.6f490d1a.png\",\"7gcJj\",\"MZ.d0765924.png\",\"jkFhm\",\"OS.58b63fb9.png\",\"2ubho\",\"QE.be8c3b0d.png\",\"86UHH\",\"QRGJ.14ffed50.png\",\"dhrze\",\"SF.c6f8e6e7.png\",\"dg9mC\",\"SYL.da34d90b.png\",\"63Uri\",\"TH.1178f233.png\",\"3glc4\",\"TW.0498d9bc.png\",\"6Q2bD\",\"WORK.90e8ce09.png\",\"bRKmT\",\"ZDK.fb7a5ccd.png\",\"aGsbk\",\"epubit.c1d8c5b0.png\",\"avgZn\",\"fezaoduke.fb7a5ccd.png\",\"dowCu\",\"mikecrm.0a457542.png\",\"4kAoR\",\"young.5f5cc2c5.png\",\"fI2wY\",\"BaiCiZhan.259fa4d1.png\",\"9oy3f\",\"baozun.75f58188.jpg\",\"dxfwl\",\"cocoet.da319e74.png\",\"16z1L\",\"sxl.dd9a9c0f.jpg\",\"4zFi8\",\"Guo DaFeng.6d7546f5.png\",\"4p95l\",\"Guo LinShuo.12cd3b39.png\",\"a9EZr\",\"Huang Yi.a58655d7.png\",\"87iAE\",\"OpenSource.1df18182.png\",\"hVTcg\",\"Quincy Larson.caaecba1.png\",\"7NcPm\",\"Si Yue.fba3c144.png\",\"4yFe3\",\"Xiong Jie.6367f3c4.png\",\"9xYWq\",\"Yu Che.f3526e5b.png\",\"2nBHR\",\"CD-LUG.5d9dea2f.png\",\"lAvKV\",\"Covariant Script.6b878a1e.png\",\"8SUCR\",\"Deepin.ae36ed8d.png\",\"b5HI9\",\"Fun loading.6e397c0c.png\",\"kBO7G\",\"H5DS.e8bb5317.png\",\"goxsx\",\"KaiYuanShe.da310f52.png\",\"aKknC\",\"PI6.1bc18258.png\",\"fwBwP\",\"React Admin.6c9f1934.png\",\"dKmwx\",\"UKylin.71e361fb.png\",\"9iLkI\",\"Vena Network.a2781646.png\",\"kiHvo\",\"WebCell.48070487.png\",\"jjVbl\",\"1.bcd16fd1.jpg\",\"6IpnY\",\"2.09e20710.jpg\",\"bKxwn\",\"3.244a440c.jpg\",\"gbQjP\",\"4.c55a5098.jpg\",\"ltzod\",\"5.656cea07.jpg\",\"7BKxg\",\"6.da397600.jpg\",\"ltB2M\",\"7.f4500b56.jpg\",\"jPtuk\",\"8.42f8e777.jpg\",\"aSiD1\",\"9.f9c67304.jpg\",\"2pxZ3\",\"BG-mountain.a40cd143.png\",\"ig0M3\",\"BG-points.a36cbcb5.png\",\"A3zVW\",\"fanxiaobin.ddf67f59.jpg\",\"6cViX\",\"hushenquan.3bc3a3e8.jpg\",\"bvOBV\",\"liangtongming.0896bffc.png\",\"36ImZ\",\"liwanpeng.3e384392.png\",\"6grOb\",\"lvyan.20f8146a.png\",\"kTXvS\",\"maoyufeng.4fad4d67.png\",\"29E30\",\"qinglinbo.b653a5f8.png\",\"jcWPU\",\"shenchangkun.34a950bc.png\",\"1dMOf\",\"wenqixiang.ba6a4c9e.jpg\",\"dTGRt\",\"zhangwei.8a1eaf8f.png\",\"eNQxS\",\"cdht.1a98fe03.png\",\"jgq7E\",\"cdhttv.95996f0d.png\",\"fJmOi\",\"cdkfx.45303dec.png\",\"2HlX7\",\"cdtv.cad3f6aa.png\",\"7bXDc\",\"first.db3f3b7f.png\",\"5Ac56\",\"fm940.57af6fef.png\",\"jIC8i\",\"github.dc076018.png\",\"cdD54\",\"jhspace.79b894fc.jpeg\",\"TqHTs\",\"jintai.c9daf80f.png\",\"prgka\",\"JRsquare.3938dff7.png\",\"cOBEE\",\"kct.fa12078d.png\",\"9GCqu\",\"lvs.8542bc34.png\",\"fqrQv\",\"Microsoft.1f15902a.png\",\"2r9vq\",\"mikecrm.4f148944.png\",\"eOuUM\",\"Monstarlab.412935c4.png\",\"kghte\",\"scdaily.cc7ea553.png\",\"2mYQK\",\"sctv.57b7dcc8.png\",\"4GAWR\",\"SegmentFault.9eb84f2a.png\",\"1e7uC\",\"sinasc.13983356.png\",\"fm7vT\",\"tap4fun.7ad8b888.png\",\"kVde3\",\"tedxChengDu.51c170fc.png\",\"c4Uci\",\"ThoughtWorks.a36bb1e9.png\",\"8rDkC\",\"XinYaoHang.d3fe522f.png\",\"4aAA3\",\"yunpian.40cabf38.png\",\"7KfXB\",\"BuyCode.5f20ce22.png\",\"hxBrE\",\"account.38407711.csv\",\"sxiWf\",\"index.5f0288b6.css\"]'));\n\n\n//# sourceMappingURL=index.runtime.84994b02.js.map\n","\"use strict\";\n\nvar mapping = new Map();\nfunction register(baseUrl, manifest) {\n for (var i = 0; i < manifest.length - 1; i += 2) {\n mapping.set(manifest[i], {\n baseUrl: baseUrl,\n path: manifest[i + 1]\n });\n }\n}\nfunction resolve(id) {\n var resolved = mapping.get(id);\n if (resolved == null) {\n throw new Error('Could not resolve bundle with id ' + id);\n }\n return new URL(resolved.path, resolved.baseUrl).toString();\n}\nmodule.exports.register = register;\nmodule.exports.resolve = resolve;","require('./helpers/bundle-manifest').register(new __parcel__URL__(\"\").toString(),JSON.parse(\"[\\\"ijQyq\\\",\\\"index.dc96cc69.js\\\",\\\"6c3fN\\\",\\\"FCC-CDG-WeChat.70395ae7.png\\\",\\\"6wRuB\\\",\\\"en-US.1eee4986.js\\\",\\\"dV1xx\\\",\\\"address.2d45661a.jpeg\\\",\\\"2CYTp\\\",\\\"banner.d2590421.jpeg\\\",\\\"gF6qq\\\",\\\"groupManager.fe1f2f18.jpeg\\\",\\\"98kgH\\\",\\\"qrcode.000ea267.jpeg\\\",\\\"i8eYP\\\",\\\"wechatLogo.0a5f129f.jpeg\\\",\\\"jY3zo\\\",\\\"guest0.4d4bc1b3.jpeg\\\",\\\"8aTYR\\\",\\\"guest1.2a8b98da.jpeg\\\",\\\"ddeaD\\\",\\\"guest2.00af3133.jpeg\\\",\\\"8JgQn\\\",\\\"guest3.5816bb0c.jpeg\\\",\\\"hwoWM\\\",\\\"guest4.34a81f15.jpeg\\\",\\\"ji9qo\\\",\\\"guest5.b6b6c69f.jpeg\\\",\\\"hcM7H\\\",\\\"guest6.1ee21076.jpeg\\\",\\\"anIb8\\\",\\\"guest7.ea35a4b4.jpeg\\\",\\\"6sifx\\\",\\\"0.54f08dac.png\\\",\\\"4e8uK\\\",\\\"1.8361e329.jpg\\\",\\\"hCOOh\\\",\\\"2.79b033bd.jpg\\\",\\\"kR7mo\\\",\\\"3.334bb513.jpg\\\",\\\"jRBHJ\\\",\\\"4.ae5bc98e.jpg\\\",\\\"ko9J0\\\",\\\"5.b660aa49.jpg\\\",\\\"fhAPf\\\",\\\"6.60aeccfe.jpg\\\",\\\"54FSf\\\",\\\"7.6b53a2b5.jpg\\\",\\\"gmefe\\\",\\\"React-ChengDu.10342ab9.jpg\\\",\\\"7VF02\\\",\\\"poster.367bcd76.png\\\",\\\"rWtRy\\\",\\\"undraw_01.18599e8b.png\\\",\\\"8CkGy\\\",\\\"undraw_04.d9b38312.png\\\",\\\"hvdEz\\\",\\\"banner.c8e98b18.jpg\\\",\\\"fgSNC\\\",\\\"3W.343e9c06.png\\\",\\\"6xOpm\\\",\\\"BBD.ed89ee43.png\\\",\\\"a6aQz\\\",\\\"BW.0f2c33fb.png\\\",\\\"1ELNp\\\",\\\"DevEco.5b51c8ac.jpg\\\",\\\"8JQao\\\",\\\"DKS.1c567b7f.png\\\",\\\"dqiXw\\\",\\\"FCC-CDG.bf36daee.png\\\",\\\"1FZs5\\\",\\\"GDG.ca994c53.png\\\",\\\"7GGAJ\\\",\\\"GT.27a90685.png\\\",\\\"kISlC\\\",\\\"HCXY.6f490d1a.png\\\",\\\"7gcJj\\\",\\\"MZ.d0765924.png\\\",\\\"jkFhm\\\",\\\"OS.58b63fb9.png\\\",\\\"2ubho\\\",\\\"QE.be8c3b0d.png\\\",\\\"86UHH\\\",\\\"QRGJ.14ffed50.png\\\",\\\"dhrze\\\",\\\"SF.c6f8e6e7.png\\\",\\\"dg9mC\\\",\\\"SYL.da34d90b.png\\\",\\\"63Uri\\\",\\\"TH.1178f233.png\\\",\\\"3glc4\\\",\\\"TW.0498d9bc.png\\\",\\\"6Q2bD\\\",\\\"WORK.90e8ce09.png\\\",\\\"bRKmT\\\",\\\"ZDK.fb7a5ccd.png\\\",\\\"aGsbk\\\",\\\"epubit.c1d8c5b0.png\\\",\\\"avgZn\\\",\\\"fezaoduke.fb7a5ccd.png\\\",\\\"dowCu\\\",\\\"mikecrm.0a457542.png\\\",\\\"4kAoR\\\",\\\"young.5f5cc2c5.png\\\",\\\"fI2wY\\\",\\\"BaiCiZhan.259fa4d1.png\\\",\\\"9oy3f\\\",\\\"baozun.75f58188.jpg\\\",\\\"dxfwl\\\",\\\"cocoet.da319e74.png\\\",\\\"16z1L\\\",\\\"sxl.dd9a9c0f.jpg\\\",\\\"4zFi8\\\",\\\"Guo DaFeng.6d7546f5.png\\\",\\\"4p95l\\\",\\\"Guo LinShuo.12cd3b39.png\\\",\\\"a9EZr\\\",\\\"Huang Yi.a58655d7.png\\\",\\\"87iAE\\\",\\\"OpenSource.1df18182.png\\\",\\\"hVTcg\\\",\\\"Quincy Larson.caaecba1.png\\\",\\\"7NcPm\\\",\\\"Si Yue.fba3c144.png\\\",\\\"4yFe3\\\",\\\"Xiong Jie.6367f3c4.png\\\",\\\"9xYWq\\\",\\\"Yu Che.f3526e5b.png\\\",\\\"2nBHR\\\",\\\"CD-LUG.5d9dea2f.png\\\",\\\"lAvKV\\\",\\\"Covariant Script.6b878a1e.png\\\",\\\"8SUCR\\\",\\\"Deepin.ae36ed8d.png\\\",\\\"b5HI9\\\",\\\"Fun loading.6e397c0c.png\\\",\\\"kBO7G\\\",\\\"H5DS.e8bb5317.png\\\",\\\"goxsx\\\",\\\"KaiYuanShe.da310f52.png\\\",\\\"aKknC\\\",\\\"PI6.1bc18258.png\\\",\\\"fwBwP\\\",\\\"React Admin.6c9f1934.png\\\",\\\"dKmwx\\\",\\\"UKylin.71e361fb.png\\\",\\\"9iLkI\\\",\\\"Vena Network.a2781646.png\\\",\\\"kiHvo\\\",\\\"WebCell.48070487.png\\\",\\\"jjVbl\\\",\\\"1.bcd16fd1.jpg\\\",\\\"6IpnY\\\",\\\"2.09e20710.jpg\\\",\\\"bKxwn\\\",\\\"3.244a440c.jpg\\\",\\\"gbQjP\\\",\\\"4.c55a5098.jpg\\\",\\\"ltzod\\\",\\\"5.656cea07.jpg\\\",\\\"7BKxg\\\",\\\"6.da397600.jpg\\\",\\\"ltB2M\\\",\\\"7.f4500b56.jpg\\\",\\\"jPtuk\\\",\\\"8.42f8e777.jpg\\\",\\\"aSiD1\\\",\\\"9.f9c67304.jpg\\\",\\\"2pxZ3\\\",\\\"BG-mountain.a40cd143.png\\\",\\\"ig0M3\\\",\\\"BG-points.a36cbcb5.png\\\",\\\"A3zVW\\\",\\\"fanxiaobin.ddf67f59.jpg\\\",\\\"6cViX\\\",\\\"hushenquan.3bc3a3e8.jpg\\\",\\\"bvOBV\\\",\\\"liangtongming.0896bffc.png\\\",\\\"36ImZ\\\",\\\"liwanpeng.3e384392.png\\\",\\\"6grOb\\\",\\\"lvyan.20f8146a.png\\\",\\\"kTXvS\\\",\\\"maoyufeng.4fad4d67.png\\\",\\\"29E30\\\",\\\"qinglinbo.b653a5f8.png\\\",\\\"jcWPU\\\",\\\"shenchangkun.34a950bc.png\\\",\\\"1dMOf\\\",\\\"wenqixiang.ba6a4c9e.jpg\\\",\\\"dTGRt\\\",\\\"zhangwei.8a1eaf8f.png\\\",\\\"eNQxS\\\",\\\"cdht.1a98fe03.png\\\",\\\"jgq7E\\\",\\\"cdhttv.95996f0d.png\\\",\\\"fJmOi\\\",\\\"cdkfx.45303dec.png\\\",\\\"2HlX7\\\",\\\"cdtv.cad3f6aa.png\\\",\\\"7bXDc\\\",\\\"first.db3f3b7f.png\\\",\\\"5Ac56\\\",\\\"fm940.57af6fef.png\\\",\\\"jIC8i\\\",\\\"github.dc076018.png\\\",\\\"cdD54\\\",\\\"jhspace.79b894fc.jpeg\\\",\\\"TqHTs\\\",\\\"jintai.c9daf80f.png\\\",\\\"prgka\\\",\\\"JRsquare.3938dff7.png\\\",\\\"cOBEE\\\",\\\"kct.fa12078d.png\\\",\\\"9GCqu\\\",\\\"lvs.8542bc34.png\\\",\\\"fqrQv\\\",\\\"Microsoft.1f15902a.png\\\",\\\"2r9vq\\\",\\\"mikecrm.4f148944.png\\\",\\\"eOuUM\\\",\\\"Monstarlab.412935c4.png\\\",\\\"kghte\\\",\\\"scdaily.cc7ea553.png\\\",\\\"2mYQK\\\",\\\"sctv.57b7dcc8.png\\\",\\\"4GAWR\\\",\\\"SegmentFault.9eb84f2a.png\\\",\\\"1e7uC\\\",\\\"sinasc.13983356.png\\\",\\\"fm7vT\\\",\\\"tap4fun.7ad8b888.png\\\",\\\"kVde3\\\",\\\"tedxChengDu.51c170fc.png\\\",\\\"c4Uci\\\",\\\"ThoughtWorks.a36bb1e9.png\\\",\\\"8rDkC\\\",\\\"XinYaoHang.d3fe522f.png\\\",\\\"4aAA3\\\",\\\"yunpian.40cabf38.png\\\",\\\"7KfXB\\\",\\\"BuyCode.5f20ce22.png\\\",\\\"hxBrE\\\",\\\"account.38407711.csv\\\",\\\"sxiWf\\\",\\\"index.5f0288b6.css\\\"]\"));"],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","$42910af84dd64d95$export$6503ec6e8aabbaf","$42910af84dd64d95$export$f7ad0328861e2f03","$42910af84dd64d95$var$mapping","Map","baseUrl","manifest","i","length","path","resolved","URL","toString","url","JSON","parse"],"version":3,"file":"index.runtime.84994b02.js.map"} \ No newline at end of file diff --git a/index.webmanifest b/index.webmanifest new file mode 100644 index 0000000..4b9877f --- /dev/null +++ b/index.webmanifest @@ -0,0 +1 @@ +{"name":"成都 Web 开发者大会","short_name":"Web Conf","start_url":"https://web-conf.dev/","description":"成都 Web 开发者大会 官方网站","scope":"/","display":"standalone","orientation":"any","lang":"zh-CN","dir":"ltr","theme_color":"rgba(0,0,0,0.5)","background_color":"transparent","icons":[{"src":"FCC-CDC-v1-1.3b6b7068.png","type":"image/png","sizes":"180x180"}]} \ No newline at end of file diff --git a/jhspace.79b894fc.jpeg b/jhspace.79b894fc.jpeg new file mode 100644 index 0000000..953b072 Binary files /dev/null and b/jhspace.79b894fc.jpeg differ diff --git a/jintai.c9daf80f.png b/jintai.c9daf80f.png new file mode 100644 index 0000000..8a045d2 Binary files /dev/null and b/jintai.c9daf80f.png differ diff --git a/kct.fa12078d.png b/kct.fa12078d.png new file mode 100644 index 0000000..c599273 Binary files /dev/null and b/kct.fa12078d.png differ diff --git a/liangtongming.0896bffc.png b/liangtongming.0896bffc.png new file mode 100644 index 0000000..71e58f6 Binary files /dev/null and b/liangtongming.0896bffc.png differ diff --git a/liwanpeng.3e384392.png b/liwanpeng.3e384392.png new file mode 100644 index 0000000..7b12398 Binary files /dev/null and b/liwanpeng.3e384392.png differ diff --git a/lvs.8542bc34.png b/lvs.8542bc34.png new file mode 100644 index 0000000..b325549 Binary files /dev/null and b/lvs.8542bc34.png differ diff --git a/lvyan.20f8146a.png b/lvyan.20f8146a.png new file mode 100644 index 0000000..e109e09 Binary files /dev/null and b/lvyan.20f8146a.png differ diff --git a/maoyufeng.4fad4d67.png b/maoyufeng.4fad4d67.png new file mode 100644 index 0000000..756b71d Binary files /dev/null and b/maoyufeng.4fad4d67.png differ diff --git a/mikecrm.0a457542.png b/mikecrm.0a457542.png new file mode 100644 index 0000000..8443b49 Binary files /dev/null and b/mikecrm.0a457542.png differ diff --git a/mikecrm.4f148944.png b/mikecrm.4f148944.png new file mode 100644 index 0000000..464cd6f Binary files /dev/null and b/mikecrm.4f148944.png differ diff --git a/poster.367bcd76.png b/poster.367bcd76.png new file mode 100644 index 0000000..5a1e547 Binary files /dev/null and b/poster.367bcd76.png differ diff --git a/qinglinbo.b653a5f8.png b/qinglinbo.b653a5f8.png new file mode 100644 index 0000000..a537d29 Binary files /dev/null and b/qinglinbo.b653a5f8.png differ diff --git a/qrcode.000ea267.jpeg b/qrcode.000ea267.jpeg new file mode 100644 index 0000000..b6ae6c9 Binary files /dev/null and b/qrcode.000ea267.jpeg differ diff --git a/scdaily.cc7ea553.png b/scdaily.cc7ea553.png new file mode 100644 index 0000000..e9cdc36 Binary files /dev/null and b/scdaily.cc7ea553.png differ diff --git a/sctv.57b7dcc8.png b/sctv.57b7dcc8.png new file mode 100644 index 0000000..b21af9f Binary files /dev/null and b/sctv.57b7dcc8.png differ diff --git a/shenchangkun.34a950bc.png b/shenchangkun.34a950bc.png new file mode 100644 index 0000000..29456d8 Binary files /dev/null and b/shenchangkun.34a950bc.png differ diff --git a/sinasc.13983356.png b/sinasc.13983356.png new file mode 100644 index 0000000..428ed5c Binary files /dev/null and b/sinasc.13983356.png differ diff --git a/sw.js b/sw.js new file mode 100644 index 0000000..b77205e --- /dev/null +++ b/sw.js @@ -0,0 +1,2 @@ +if(!self.define){let e,a={};const c=(c,f)=>(c=new URL(c+".js",f).href,a[c]||new Promise((a=>{if("document"in self){const e=document.createElement("script");e.src=c,e.onload=a,document.head.appendChild(e)}else e=c,importScripts(c),a()})).then((()=>{let e=a[c];if(!e)throw new Error(`Module ${c} didn’t register its module`);return e})));self.define=(f,b)=>{const d=e||("document"in self?document.currentScript.src:"")||location.href;if(a[d])return;let i={};const r=e=>c(e,d),n={module:{uri:d},exports:i,require:r};a[d]=Promise.all(f.map((e=>n[e]||r(e)))).then((e=>(b(...e),i)))}}define(["./workbox-dbb64b4e"],(function(e){"use strict";importScripts("https://unpkg.com/workbox-sw@7.0.0/build/workbox-sw.js"),self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.clientsClaim(),e.precacheAndRoute([{url:"0.54f08dac.png",revision:"b9b12856da2de14fcf6128411bc516e2"},{url:"1.8361e329.jpg",revision:"42f261021c0d419fbf7a02ce82ca1f70"},{url:"1.bcd16fd1.jpg",revision:"a79d50ffd53270206ac361aa6a7c1502"},{url:"2.09e20710.jpg",revision:"272bf6cbcf1e40e0e88c9a54a48f4278"},{url:"2.79b033bd.jpg",revision:"2ac097fc255cb0559f77f4153c160b99"},{url:"3.244a440c.jpg",revision:"32a522d32cc758fe519c9a69b6d1aa31"},{url:"3.334bb513.jpg",revision:"5f8462ffb99f89939614f144dddff277"},{url:"3W.343e9c06.png",revision:"85aab016609c6bb217ea62a9fcac60c2"},{url:"4.ae5bc98e.jpg",revision:"f2ffaa55e22393d0bcb61df551e6a386"},{url:"4.c55a5098.jpg",revision:"de1b36553156d15ab3c92816aa332592"},{url:"5.656cea07.jpg",revision:"677b6260e71801bc4b0816d3b9260f5c"},{url:"5.b660aa49.jpg",revision:"79103c16e46f5f08641eaa59841a580b"},{url:"6.60aeccfe.jpg",revision:"c7441af0f9fee7f1433a0389e87a4381"},{url:"6.da397600.jpg",revision:"30a74cdf04ac7757b49e1553b0b4d921"},{url:"7.6b53a2b5.jpg",revision:"e56c24a77471cf0a74cd684dc0934f5e"},{url:"7.f4500b56.jpg",revision:"25d1ec3395110143dc478ff357407bd9"},{url:"8.42f8e777.jpg",revision:"46fac83d2c45c4dcc465de47b0ab226a"},{url:"9.f9c67304.jpg",revision:"1fbcea5f22758631eeeb087915d01d5a"},{url:"address.2d45661a.jpeg",revision:"66322d78842eed88a39e85a932a3969a"},{url:"BaiCiZhan.259fa4d1.png",revision:"1987cf8848a4e7c09fb664f3a93e51f1"},{url:"banner.c8e98b18.jpg",revision:"f811b4840ce5463773403f83fc46b3b8"},{url:"banner.d2590421.jpeg",revision:"bd2970d041ba0b5ae7e14e43d03fbcb3"},{url:"baozun.75f58188.jpg",revision:"2cbcb584cf133e08831b215d50b89247"},{url:"BBD.ed89ee43.png",revision:"3da0563316131c231d77907a9a71def6"},{url:"BG-mountain.a40cd143.png",revision:"5dc5c11d6f53804c04c29f92176b73e7"},{url:"BG-points.a36cbcb5.png",revision:"701ff6bbb4325709b09e010607908b37"},{url:"bg.0a471f56.png",revision:"53f818953e5a90e01d40753e5ee19474"},{url:"bg2.84c028b7.png",revision:"1ad1b8ec783c20a39c36a2f4c48b35bd"},{url:"BuyCode.5f20ce22.png",revision:"b724e197951cff6cdc7d7cefec28d9f0"},{url:"BW.0f2c33fb.png",revision:"4ffb7341cd759aaaa47990f5ff2bc952"},{url:"CD-LUG.5d9dea2f.png",revision:"b24ae3eea0837e93c50aa79046c1fb73"},{url:"cdht.1a98fe03.png",revision:"22cc8bac904bb21f4bf024a4fbcdc5d3"},{url:"cdhttv.95996f0d.png",revision:"02c95e754ef9983fe3145995f55477a4"},{url:"cdkfx.45303dec.png",revision:"c929a99b9c7552963491fc2a6eecbf39"},{url:"cdtv.cad3f6aa.png",revision:"940f3db423f4f6e0e4975a7f347fe621"},{url:"cocoet.da319e74.png",revision:"28bcfd11504cc95ae4b273b90f052c7d"},{url:"Covariant Script.6b878a1e.png",revision:"371b323bacd00c403c5c183853a0fb9f"},{url:"Deepin.ae36ed8d.png",revision:"108f79a6da4e1be7e6cbbda8c9d8ba11"},{url:"DevEco.5b51c8ac.jpg",revision:"ced26f7eb563336a67ef50a26335637e"},{url:"DKS.1c567b7f.png",revision:"5c63719a6d30af2c2edd398e3d8c2a8f"},{url:"en-US.1eee4986.js",revision:"bbddc3a51308e983479dbd7d6d2f1855"},{url:"epubit.c1d8c5b0.png",revision:"8753f0724bc886b15a9ef72690e86bd3"},{url:"fanxiaobin.ddf67f59.jpg",revision:"2886307db7d66c9e8d79ec7b812a1f7d"},{url:"favicon.11945285.ico",revision:"23bc83bb26c6a505a5e98a405e6e84f2"},{url:"FCC-CDC-v1-1.3b6b7068.png",revision:"71ca2226ac4a483f79acad3287434078"},{url:"FCC-CDG-WeChat.70395ae7.png",revision:"a44afb00ddd2b71d9d6c95ba9e584e92"},{url:"FCC-CDG.bf36daee.png",revision:"456e25dcecc05a2b9266ccd9d8fbcef3"},{url:"fezaoduke.fb7a5ccd.png",revision:"282bbec8d7868a18330d5c15faadd5ae"},{url:"first.db3f3b7f.png",revision:"832b47b48656824d713a790b11b7839b"},{url:"fm940.57af6fef.png",revision:"800a46082297fc39c822dcdb2139ac05"},{url:"Fun loading.6e397c0c.png",revision:"b105cfc4f1f91648c43ce9902183d2c7"},{url:"GDG.ca994c53.png",revision:"0fde2ee0a54f641e4b0cb75710f52724"},{url:"github.dc076018.png",revision:"8ce2a22cf58c58d58a7506ab28b191a6"},{url:"groupManager.fe1f2f18.jpeg",revision:"c0568d665fe53a57776600f8a3109117"},{url:"GT.27a90685.png",revision:"601dcb89ab1de4f9d0e55bc61eff15f6"},{url:"guest0.4d4bc1b3.jpeg",revision:"c1c462b1f9822bd5be23f24f06abbdf6"},{url:"guest1.2a8b98da.jpeg",revision:"0671b7f25ca60d54103aea8de149785e"},{url:"guest2.00af3133.jpeg",revision:"18f5a7cf0ee9f2cc00267e671ee3a7a3"},{url:"guest3.5816bb0c.jpeg",revision:"464cdbe680911ef9b3ec6847eab433e5"},{url:"guest4.34a81f15.jpeg",revision:"bc81705b7fe8ad3ad094de61e3d2d2e6"},{url:"guest5.b6b6c69f.jpeg",revision:"c3b311625908c2b878a1b33898a775e4"},{url:"guest6.1ee21076.jpeg",revision:"0e690080850660d7a721e45a3075199f"},{url:"guest7.ea35a4b4.jpeg",revision:"b1c2607049e7f17c7e059dca432d275c"},{url:"Guo DaFeng.6d7546f5.png",revision:"2121af37b4dd9ec91bb527ecc942e667"},{url:"Guo LinShuo.12cd3b39.png",revision:"6b1f79130fa07c99adc4a3943f68a84e"},{url:"H5DS.e8bb5317.png",revision:"2887ff296a4ad9d13b79fa268b465cb9"},{url:"HCXY.6f490d1a.png",revision:"adcbf7444bea62f09546734784d7a050"},{url:"Huang Yi.a58655d7.png",revision:"4f08a0b2d40d8b29ee8589b2a013ae23"},{url:"hushenquan.3bc3a3e8.jpg",revision:"bdc68e13679b3c3bfa459a20fb48b31b"},{url:"index.5f0288b6.css",revision:"d1d5e8c630322a0cb0c64e4bfbd7102d"},{url:"index.dc96cc69.js",revision:"8935fd811021ac2564853723eb06e927"},{url:"index.html",revision:"351d02ca3a66c6d885964dc442cb8ae8"},{url:"index.runtime.84994b02.js",revision:"08f61e5c7319db79d1fcf5283cbd21c6"},{url:"jhspace.79b894fc.jpeg",revision:"f9b454711b7d59aaeba83f67560f2c37"},{url:"jintai.c9daf80f.png",revision:"4dc1bd51785cece5f04f6f4ef9ff61b7"},{url:"JRsquare.3938dff7.png",revision:"3c1b6d413f0b3350b9184e2b337adc14"},{url:"KaiYuanShe.da310f52.png",revision:"848f18182ef786766e3a26e9c86c71d2"},{url:"kct.fa12078d.png",revision:"99a358c1770705d757756fd58e9c60a7"},{url:"liangtongming.0896bffc.png",revision:"2a924db7faa37bf2445d51dcef71f9ba"},{url:"liwanpeng.3e384392.png",revision:"ecedd857fd2464233fb8cc2449892f4e"},{url:"lvs.8542bc34.png",revision:"315509d93d9b91f901b18e967e9b647a"},{url:"lvyan.20f8146a.png",revision:"0f939fcd001b8129e8feda88a22742af"},{url:"maoyufeng.4fad4d67.png",revision:"ac5f25fa55efd3e1f83868a2708cc7f9"},{url:"Microsoft.1f15902a.png",revision:"8c6ea34fae24f322a0d1aba450faa022"},{url:"mikecrm.0a457542.png",revision:"a2ddc61639ce75bb3c68c4e1ebf0ca5f"},{url:"mikecrm.4f148944.png",revision:"ec761e7e674df979f22b3de150f1856c"},{url:"Monstarlab.412935c4.png",revision:"fe2becab8b1e8e9a33387cd8fae29a36"},{url:"MZ.d0765924.png",revision:"11db541bb3d5f4835505311223f7f1ac"},{url:"OpenSource.1df18182.png",revision:"72e340310a392d5f00ec7970ec166204"},{url:"OS.58b63fb9.png",revision:"16f4ce9768f9a14baaf61dd01b53d612"},{url:"PI6.1bc18258.png",revision:"6fbab7f01a0801474329a3c1e7c20c6f"},{url:"poster.367bcd76.png",revision:"72e8a1464307fb3bb5893319a38ed80d"},{url:"QE.be8c3b0d.png",revision:"68df276f1cda33883a2fadb512d2a02d"},{url:"qinglinbo.b653a5f8.png",revision:"335ec33ae1a981be0abbc7d63533fdd3"},{url:"qrcode.000ea267.jpeg",revision:"0e344316e4d4857a657f7b7315187d0b"},{url:"QRGJ.14ffed50.png",revision:"c1ea4a3223d32cedf415b0bf7b8519c1"},{url:"Quincy Larson.caaecba1.png",revision:"dd00e2b910c8d7f8b24bc8d16d01db6b"},{url:"React Admin.6c9f1934.png",revision:"2b50cd4b919dadd5a4f1077f60e7c916"},{url:"React-ChengDu.10342ab9.jpg",revision:"2076dc9d2a2c6773deced7fb07782319"},{url:"scdaily.cc7ea553.png",revision:"cccaa8d8d1055c2a9584e9cd10d8d390"},{url:"sctv.57b7dcc8.png",revision:"16b92be7e16aab2c3af80eb466f0954c"},{url:"SegmentFault.9eb84f2a.png",revision:"1721e58a01c06db9a4fa07de799480b6"},{url:"SF.c6f8e6e7.png",revision:"65183485018e68ff687eee67350f2c59"},{url:"shenchangkun.34a950bc.png",revision:"ce95383d8583de4d6b70ba9dffc9d3d0"},{url:"Si Yue.fba3c144.png",revision:"837f0091c841830684f71dc5de8b3be4"},{url:"sinasc.13983356.png",revision:"bc5630694df6408a3f4ef787ce7c7b75"},{url:"sxl.dd9a9c0f.jpg",revision:"deaa9b06a77f969f85f64222ff317cd0"},{url:"SYL.da34d90b.png",revision:"d820a6885243390f29e546b421c0201c"},{url:"tap4fun.7ad8b888.png",revision:"86c5dac984a7bbcb5fbee5a842efaf94"},{url:"tedxChengDu.51c170fc.png",revision:"ef58a830186cdf690352e51931f7888b"},{url:"TH.1178f233.png",revision:"bdc3d68999ab96f2ae7eef72feef0f68"},{url:"ThoughtWorks.a36bb1e9.png",revision:"82cd048a8d9a5c1e3f95491959ce1385"},{url:"TW.0498d9bc.png",revision:"ce0bc1ef43a2926d8dd49923ceb9ca51"},{url:"UKylin.71e361fb.png",revision:"a7f40c350c1411a00a77d78a5da4a7d0"},{url:"undraw_01.18599e8b.png",revision:"897255c2d3086c1348eaf1e8a8c4e26c"},{url:"undraw_02.1703e127.png",revision:"32c66205d2b7a2faf4d2f27678fa1cc1"},{url:"undraw_04.d9b38312.png",revision:"e49dd7ce24b05aa02b9e2905ac570579"},{url:"Vena Network.a2781646.png",revision:"ef6715564f491b53a4901140227d1616"},{url:"WebCell.48070487.png",revision:"508b10c63c3a7e7c53fd2574117d2c62"},{url:"wechatLogo.0a5f129f.jpeg",revision:"a9398d96df6aa7e2d383fff13065363b"},{url:"wenqixiang.ba6a4c9e.jpg",revision:"a5a3d35b403b1134e5f1da38d00bef23"},{url:"WORK.90e8ce09.png",revision:"ac6467fbf6f168c87ddb04a0afa6a6e5"},{url:"XinYaoHang.d3fe522f.png",revision:"8c637799f07f614a68437ca30765f1ab"},{url:"Xiong Jie.6367f3c4.png",revision:"bcab8a2fcaa5c94d4235f6e8d8054e87"},{url:"young.5f5cc2c5.png",revision:"ac8edfbc6b1933075970a893e52854b5"},{url:"Yu Che.f3526e5b.png",revision:"022f00ba01d6806f1a35e694ba5e5ecb"},{url:"yunpian.40cabf38.png",revision:"fe02c14d3d7343188b5b9d6da1f26480"},{url:"ZDK.fb7a5ccd.png",revision:"282bbec8d7868a18330d5c15faadd5ae"},{url:"zhangwei.8a1eaf8f.png",revision:"97db3c6091030c523fc1bbb3d512dcab"}],{}),e.cleanupOutdatedCaches()})); +//# sourceMappingURL=sw.js.map diff --git a/sw.js.map b/sw.js.map new file mode 100644 index 0000000..1b86af1 --- /dev/null +++ b/sw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sw.js","sources":["../../../../../tmp/6e2545bd330e52dc0a8bdd62b292c6af/sw.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/Web-Conf/Web-Conf/node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/Web-Conf/Web-Conf/node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/Web-Conf/Web-Conf/node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \"https://unpkg.com/workbox-sw@7.0.0/build/workbox-sw.js\"\n);\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"0.54f08dac.png\",\n \"revision\": \"b9b12856da2de14fcf6128411bc516e2\"\n },\n {\n \"url\": \"1.8361e329.jpg\",\n \"revision\": \"42f261021c0d419fbf7a02ce82ca1f70\"\n },\n {\n \"url\": \"1.bcd16fd1.jpg\",\n \"revision\": \"a79d50ffd53270206ac361aa6a7c1502\"\n },\n {\n \"url\": \"2.09e20710.jpg\",\n \"revision\": \"272bf6cbcf1e40e0e88c9a54a48f4278\"\n },\n {\n \"url\": \"2.79b033bd.jpg\",\n \"revision\": \"2ac097fc255cb0559f77f4153c160b99\"\n },\n {\n \"url\": \"3.244a440c.jpg\",\n \"revision\": \"32a522d32cc758fe519c9a69b6d1aa31\"\n },\n {\n \"url\": \"3.334bb513.jpg\",\n \"revision\": \"5f8462ffb99f89939614f144dddff277\"\n },\n {\n \"url\": \"3W.343e9c06.png\",\n \"revision\": \"85aab016609c6bb217ea62a9fcac60c2\"\n },\n {\n \"url\": \"4.ae5bc98e.jpg\",\n \"revision\": \"f2ffaa55e22393d0bcb61df551e6a386\"\n },\n {\n \"url\": \"4.c55a5098.jpg\",\n \"revision\": \"de1b36553156d15ab3c92816aa332592\"\n },\n {\n \"url\": \"5.656cea07.jpg\",\n \"revision\": \"677b6260e71801bc4b0816d3b9260f5c\"\n },\n {\n \"url\": \"5.b660aa49.jpg\",\n \"revision\": \"79103c16e46f5f08641eaa59841a580b\"\n },\n {\n \"url\": \"6.60aeccfe.jpg\",\n \"revision\": \"c7441af0f9fee7f1433a0389e87a4381\"\n },\n {\n \"url\": \"6.da397600.jpg\",\n \"revision\": \"30a74cdf04ac7757b49e1553b0b4d921\"\n },\n {\n \"url\": \"7.6b53a2b5.jpg\",\n \"revision\": \"e56c24a77471cf0a74cd684dc0934f5e\"\n },\n {\n \"url\": \"7.f4500b56.jpg\",\n \"revision\": \"25d1ec3395110143dc478ff357407bd9\"\n },\n {\n \"url\": \"8.42f8e777.jpg\",\n \"revision\": \"46fac83d2c45c4dcc465de47b0ab226a\"\n },\n {\n \"url\": \"9.f9c67304.jpg\",\n \"revision\": \"1fbcea5f22758631eeeb087915d01d5a\"\n },\n {\n \"url\": \"address.2d45661a.jpeg\",\n \"revision\": \"66322d78842eed88a39e85a932a3969a\"\n },\n {\n \"url\": \"BaiCiZhan.259fa4d1.png\",\n \"revision\": \"1987cf8848a4e7c09fb664f3a93e51f1\"\n },\n {\n \"url\": \"banner.c8e98b18.jpg\",\n \"revision\": \"f811b4840ce5463773403f83fc46b3b8\"\n },\n {\n \"url\": \"banner.d2590421.jpeg\",\n \"revision\": \"bd2970d041ba0b5ae7e14e43d03fbcb3\"\n },\n {\n \"url\": \"baozun.75f58188.jpg\",\n \"revision\": \"2cbcb584cf133e08831b215d50b89247\"\n },\n {\n \"url\": \"BBD.ed89ee43.png\",\n \"revision\": \"3da0563316131c231d77907a9a71def6\"\n },\n {\n \"url\": \"BG-mountain.a40cd143.png\",\n \"revision\": \"5dc5c11d6f53804c04c29f92176b73e7\"\n },\n {\n \"url\": \"BG-points.a36cbcb5.png\",\n \"revision\": \"701ff6bbb4325709b09e010607908b37\"\n },\n {\n \"url\": \"bg.0a471f56.png\",\n \"revision\": \"53f818953e5a90e01d40753e5ee19474\"\n },\n {\n \"url\": \"bg2.84c028b7.png\",\n \"revision\": \"1ad1b8ec783c20a39c36a2f4c48b35bd\"\n },\n {\n \"url\": \"BuyCode.5f20ce22.png\",\n \"revision\": \"b724e197951cff6cdc7d7cefec28d9f0\"\n },\n {\n \"url\": \"BW.0f2c33fb.png\",\n \"revision\": \"4ffb7341cd759aaaa47990f5ff2bc952\"\n },\n {\n \"url\": \"CD-LUG.5d9dea2f.png\",\n \"revision\": \"b24ae3eea0837e93c50aa79046c1fb73\"\n },\n {\n \"url\": \"cdht.1a98fe03.png\",\n \"revision\": \"22cc8bac904bb21f4bf024a4fbcdc5d3\"\n },\n {\n \"url\": \"cdhttv.95996f0d.png\",\n \"revision\": \"02c95e754ef9983fe3145995f55477a4\"\n },\n {\n \"url\": \"cdkfx.45303dec.png\",\n \"revision\": \"c929a99b9c7552963491fc2a6eecbf39\"\n },\n {\n \"url\": \"cdtv.cad3f6aa.png\",\n \"revision\": \"940f3db423f4f6e0e4975a7f347fe621\"\n },\n {\n \"url\": \"cocoet.da319e74.png\",\n \"revision\": \"28bcfd11504cc95ae4b273b90f052c7d\"\n },\n {\n \"url\": \"Covariant Script.6b878a1e.png\",\n \"revision\": \"371b323bacd00c403c5c183853a0fb9f\"\n },\n {\n \"url\": \"Deepin.ae36ed8d.png\",\n \"revision\": \"108f79a6da4e1be7e6cbbda8c9d8ba11\"\n },\n {\n \"url\": \"DevEco.5b51c8ac.jpg\",\n \"revision\": \"ced26f7eb563336a67ef50a26335637e\"\n },\n {\n \"url\": \"DKS.1c567b7f.png\",\n \"revision\": \"5c63719a6d30af2c2edd398e3d8c2a8f\"\n },\n {\n \"url\": \"en-US.1eee4986.js\",\n \"revision\": \"bbddc3a51308e983479dbd7d6d2f1855\"\n },\n {\n \"url\": \"epubit.c1d8c5b0.png\",\n \"revision\": \"8753f0724bc886b15a9ef72690e86bd3\"\n },\n {\n \"url\": \"fanxiaobin.ddf67f59.jpg\",\n \"revision\": \"2886307db7d66c9e8d79ec7b812a1f7d\"\n },\n {\n \"url\": \"favicon.11945285.ico\",\n \"revision\": \"23bc83bb26c6a505a5e98a405e6e84f2\"\n },\n {\n \"url\": \"FCC-CDC-v1-1.3b6b7068.png\",\n \"revision\": \"71ca2226ac4a483f79acad3287434078\"\n },\n {\n \"url\": \"FCC-CDG-WeChat.70395ae7.png\",\n \"revision\": \"a44afb00ddd2b71d9d6c95ba9e584e92\"\n },\n {\n \"url\": \"FCC-CDG.bf36daee.png\",\n \"revision\": \"456e25dcecc05a2b9266ccd9d8fbcef3\"\n },\n {\n \"url\": \"fezaoduke.fb7a5ccd.png\",\n \"revision\": \"282bbec8d7868a18330d5c15faadd5ae\"\n },\n {\n \"url\": \"first.db3f3b7f.png\",\n \"revision\": \"832b47b48656824d713a790b11b7839b\"\n },\n {\n \"url\": \"fm940.57af6fef.png\",\n \"revision\": \"800a46082297fc39c822dcdb2139ac05\"\n },\n {\n \"url\": \"Fun loading.6e397c0c.png\",\n \"revision\": \"b105cfc4f1f91648c43ce9902183d2c7\"\n },\n {\n \"url\": \"GDG.ca994c53.png\",\n \"revision\": \"0fde2ee0a54f641e4b0cb75710f52724\"\n },\n {\n \"url\": \"github.dc076018.png\",\n \"revision\": \"8ce2a22cf58c58d58a7506ab28b191a6\"\n },\n {\n \"url\": \"groupManager.fe1f2f18.jpeg\",\n \"revision\": \"c0568d665fe53a57776600f8a3109117\"\n },\n {\n \"url\": \"GT.27a90685.png\",\n \"revision\": \"601dcb89ab1de4f9d0e55bc61eff15f6\"\n },\n {\n \"url\": \"guest0.4d4bc1b3.jpeg\",\n \"revision\": \"c1c462b1f9822bd5be23f24f06abbdf6\"\n },\n {\n \"url\": \"guest1.2a8b98da.jpeg\",\n \"revision\": \"0671b7f25ca60d54103aea8de149785e\"\n },\n {\n \"url\": \"guest2.00af3133.jpeg\",\n \"revision\": \"18f5a7cf0ee9f2cc00267e671ee3a7a3\"\n },\n {\n \"url\": \"guest3.5816bb0c.jpeg\",\n \"revision\": \"464cdbe680911ef9b3ec6847eab433e5\"\n },\n {\n \"url\": \"guest4.34a81f15.jpeg\",\n \"revision\": \"bc81705b7fe8ad3ad094de61e3d2d2e6\"\n },\n {\n \"url\": \"guest5.b6b6c69f.jpeg\",\n \"revision\": \"c3b311625908c2b878a1b33898a775e4\"\n },\n {\n \"url\": \"guest6.1ee21076.jpeg\",\n \"revision\": \"0e690080850660d7a721e45a3075199f\"\n },\n {\n \"url\": \"guest7.ea35a4b4.jpeg\",\n \"revision\": \"b1c2607049e7f17c7e059dca432d275c\"\n },\n {\n \"url\": \"Guo DaFeng.6d7546f5.png\",\n \"revision\": \"2121af37b4dd9ec91bb527ecc942e667\"\n },\n {\n \"url\": \"Guo LinShuo.12cd3b39.png\",\n \"revision\": \"6b1f79130fa07c99adc4a3943f68a84e\"\n },\n {\n \"url\": \"H5DS.e8bb5317.png\",\n \"revision\": \"2887ff296a4ad9d13b79fa268b465cb9\"\n },\n {\n \"url\": \"HCXY.6f490d1a.png\",\n \"revision\": \"adcbf7444bea62f09546734784d7a050\"\n },\n {\n \"url\": \"Huang Yi.a58655d7.png\",\n \"revision\": \"4f08a0b2d40d8b29ee8589b2a013ae23\"\n },\n {\n \"url\": \"hushenquan.3bc3a3e8.jpg\",\n \"revision\": \"bdc68e13679b3c3bfa459a20fb48b31b\"\n },\n {\n \"url\": \"index.5f0288b6.css\",\n \"revision\": \"d1d5e8c630322a0cb0c64e4bfbd7102d\"\n },\n {\n \"url\": \"index.dc96cc69.js\",\n \"revision\": \"8935fd811021ac2564853723eb06e927\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"351d02ca3a66c6d885964dc442cb8ae8\"\n },\n {\n \"url\": \"index.runtime.84994b02.js\",\n \"revision\": \"08f61e5c7319db79d1fcf5283cbd21c6\"\n },\n {\n \"url\": \"jhspace.79b894fc.jpeg\",\n \"revision\": \"f9b454711b7d59aaeba83f67560f2c37\"\n },\n {\n \"url\": \"jintai.c9daf80f.png\",\n \"revision\": \"4dc1bd51785cece5f04f6f4ef9ff61b7\"\n },\n {\n \"url\": \"JRsquare.3938dff7.png\",\n \"revision\": \"3c1b6d413f0b3350b9184e2b337adc14\"\n },\n {\n \"url\": \"KaiYuanShe.da310f52.png\",\n \"revision\": \"848f18182ef786766e3a26e9c86c71d2\"\n },\n {\n \"url\": \"kct.fa12078d.png\",\n \"revision\": \"99a358c1770705d757756fd58e9c60a7\"\n },\n {\n \"url\": \"liangtongming.0896bffc.png\",\n \"revision\": \"2a924db7faa37bf2445d51dcef71f9ba\"\n },\n {\n \"url\": \"liwanpeng.3e384392.png\",\n \"revision\": \"ecedd857fd2464233fb8cc2449892f4e\"\n },\n {\n \"url\": \"lvs.8542bc34.png\",\n \"revision\": \"315509d93d9b91f901b18e967e9b647a\"\n },\n {\n \"url\": \"lvyan.20f8146a.png\",\n \"revision\": \"0f939fcd001b8129e8feda88a22742af\"\n },\n {\n \"url\": \"maoyufeng.4fad4d67.png\",\n \"revision\": \"ac5f25fa55efd3e1f83868a2708cc7f9\"\n },\n {\n \"url\": \"Microsoft.1f15902a.png\",\n \"revision\": \"8c6ea34fae24f322a0d1aba450faa022\"\n },\n {\n \"url\": \"mikecrm.0a457542.png\",\n \"revision\": \"a2ddc61639ce75bb3c68c4e1ebf0ca5f\"\n },\n {\n \"url\": \"mikecrm.4f148944.png\",\n \"revision\": \"ec761e7e674df979f22b3de150f1856c\"\n },\n {\n \"url\": \"Monstarlab.412935c4.png\",\n \"revision\": \"fe2becab8b1e8e9a33387cd8fae29a36\"\n },\n {\n \"url\": \"MZ.d0765924.png\",\n \"revision\": \"11db541bb3d5f4835505311223f7f1ac\"\n },\n {\n \"url\": \"OpenSource.1df18182.png\",\n \"revision\": \"72e340310a392d5f00ec7970ec166204\"\n },\n {\n \"url\": \"OS.58b63fb9.png\",\n \"revision\": \"16f4ce9768f9a14baaf61dd01b53d612\"\n },\n {\n \"url\": \"PI6.1bc18258.png\",\n \"revision\": \"6fbab7f01a0801474329a3c1e7c20c6f\"\n },\n {\n \"url\": \"poster.367bcd76.png\",\n \"revision\": \"72e8a1464307fb3bb5893319a38ed80d\"\n },\n {\n \"url\": \"QE.be8c3b0d.png\",\n \"revision\": \"68df276f1cda33883a2fadb512d2a02d\"\n },\n {\n \"url\": \"qinglinbo.b653a5f8.png\",\n \"revision\": \"335ec33ae1a981be0abbc7d63533fdd3\"\n },\n {\n \"url\": \"qrcode.000ea267.jpeg\",\n \"revision\": \"0e344316e4d4857a657f7b7315187d0b\"\n },\n {\n \"url\": \"QRGJ.14ffed50.png\",\n \"revision\": \"c1ea4a3223d32cedf415b0bf7b8519c1\"\n },\n {\n \"url\": \"Quincy Larson.caaecba1.png\",\n \"revision\": \"dd00e2b910c8d7f8b24bc8d16d01db6b\"\n },\n {\n \"url\": \"React Admin.6c9f1934.png\",\n \"revision\": \"2b50cd4b919dadd5a4f1077f60e7c916\"\n },\n {\n \"url\": \"React-ChengDu.10342ab9.jpg\",\n \"revision\": \"2076dc9d2a2c6773deced7fb07782319\"\n },\n {\n \"url\": \"scdaily.cc7ea553.png\",\n \"revision\": \"cccaa8d8d1055c2a9584e9cd10d8d390\"\n },\n {\n \"url\": \"sctv.57b7dcc8.png\",\n \"revision\": \"16b92be7e16aab2c3af80eb466f0954c\"\n },\n {\n \"url\": \"SegmentFault.9eb84f2a.png\",\n \"revision\": \"1721e58a01c06db9a4fa07de799480b6\"\n },\n {\n \"url\": \"SF.c6f8e6e7.png\",\n \"revision\": \"65183485018e68ff687eee67350f2c59\"\n },\n {\n \"url\": \"shenchangkun.34a950bc.png\",\n \"revision\": \"ce95383d8583de4d6b70ba9dffc9d3d0\"\n },\n {\n \"url\": \"Si Yue.fba3c144.png\",\n \"revision\": \"837f0091c841830684f71dc5de8b3be4\"\n },\n {\n \"url\": \"sinasc.13983356.png\",\n \"revision\": \"bc5630694df6408a3f4ef787ce7c7b75\"\n },\n {\n \"url\": \"sxl.dd9a9c0f.jpg\",\n \"revision\": \"deaa9b06a77f969f85f64222ff317cd0\"\n },\n {\n \"url\": \"SYL.da34d90b.png\",\n \"revision\": \"d820a6885243390f29e546b421c0201c\"\n },\n {\n \"url\": \"tap4fun.7ad8b888.png\",\n \"revision\": \"86c5dac984a7bbcb5fbee5a842efaf94\"\n },\n {\n \"url\": \"tedxChengDu.51c170fc.png\",\n \"revision\": \"ef58a830186cdf690352e51931f7888b\"\n },\n {\n \"url\": \"TH.1178f233.png\",\n \"revision\": \"bdc3d68999ab96f2ae7eef72feef0f68\"\n },\n {\n \"url\": \"ThoughtWorks.a36bb1e9.png\",\n \"revision\": \"82cd048a8d9a5c1e3f95491959ce1385\"\n },\n {\n \"url\": \"TW.0498d9bc.png\",\n \"revision\": \"ce0bc1ef43a2926d8dd49923ceb9ca51\"\n },\n {\n \"url\": \"UKylin.71e361fb.png\",\n \"revision\": \"a7f40c350c1411a00a77d78a5da4a7d0\"\n },\n {\n \"url\": \"undraw_01.18599e8b.png\",\n \"revision\": \"897255c2d3086c1348eaf1e8a8c4e26c\"\n },\n {\n \"url\": \"undraw_02.1703e127.png\",\n \"revision\": \"32c66205d2b7a2faf4d2f27678fa1cc1\"\n },\n {\n \"url\": \"undraw_04.d9b38312.png\",\n \"revision\": \"e49dd7ce24b05aa02b9e2905ac570579\"\n },\n {\n \"url\": \"Vena Network.a2781646.png\",\n \"revision\": \"ef6715564f491b53a4901140227d1616\"\n },\n {\n \"url\": \"WebCell.48070487.png\",\n \"revision\": \"508b10c63c3a7e7c53fd2574117d2c62\"\n },\n {\n \"url\": \"wechatLogo.0a5f129f.jpeg\",\n \"revision\": \"a9398d96df6aa7e2d383fff13065363b\"\n },\n {\n \"url\": \"wenqixiang.ba6a4c9e.jpg\",\n \"revision\": \"a5a3d35b403b1134e5f1da38d00bef23\"\n },\n {\n \"url\": \"WORK.90e8ce09.png\",\n \"revision\": \"ac6467fbf6f168c87ddb04a0afa6a6e5\"\n },\n {\n \"url\": \"XinYaoHang.d3fe522f.png\",\n \"revision\": \"8c637799f07f614a68437ca30765f1ab\"\n },\n {\n \"url\": \"Xiong Jie.6367f3c4.png\",\n \"revision\": \"bcab8a2fcaa5c94d4235f6e8d8054e87\"\n },\n {\n \"url\": \"young.5f5cc2c5.png\",\n \"revision\": \"ac8edfbc6b1933075970a893e52854b5\"\n },\n {\n \"url\": \"Yu Che.f3526e5b.png\",\n \"revision\": \"022f00ba01d6806f1a35e694ba5e5ecb\"\n },\n {\n \"url\": \"yunpian.40cabf38.png\",\n \"revision\": \"fe02c14d3d7343188b5b9d6da1f26480\"\n },\n {\n \"url\": \"ZDK.fb7a5ccd.png\",\n \"revision\": \"282bbec8d7868a18330d5c15faadd5ae\"\n },\n {\n \"url\": \"zhangwei.8a1eaf8f.png\",\n \"revision\": \"97db3c6091030c523fc1bbb3d512dcab\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\n\n\n\n\n\n\n\n"],"names":["importScripts","self","addEventListener","event","data","type","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches"],"mappings":"0nBAeAA,cACE,0DASFC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAGFC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA"} \ No newline at end of file diff --git a/sxl.dd9a9c0f.jpg b/sxl.dd9a9c0f.jpg new file mode 100644 index 0000000..434524c Binary files /dev/null and b/sxl.dd9a9c0f.jpg differ diff --git a/tap4fun.7ad8b888.png b/tap4fun.7ad8b888.png new file mode 100644 index 0000000..da0d771 Binary files /dev/null and b/tap4fun.7ad8b888.png differ diff --git a/tedxChengDu.51c170fc.png b/tedxChengDu.51c170fc.png new file mode 100644 index 0000000..2b918c0 Binary files /dev/null and b/tedxChengDu.51c170fc.png differ diff --git a/undraw_01.18599e8b.png b/undraw_01.18599e8b.png new file mode 100644 index 0000000..58441d0 Binary files /dev/null and b/undraw_01.18599e8b.png differ diff --git a/undraw_02.1703e127.png b/undraw_02.1703e127.png new file mode 100644 index 0000000..dc07aaa Binary files /dev/null and b/undraw_02.1703e127.png differ diff --git a/undraw_04.d9b38312.png b/undraw_04.d9b38312.png new file mode 100644 index 0000000..fb4b60e Binary files /dev/null and b/undraw_04.d9b38312.png differ diff --git a/wechatLogo.0a5f129f.jpeg b/wechatLogo.0a5f129f.jpeg new file mode 100644 index 0000000..9533939 Binary files /dev/null and b/wechatLogo.0a5f129f.jpeg differ diff --git a/wenqixiang.ba6a4c9e.jpg b/wenqixiang.ba6a4c9e.jpg new file mode 100644 index 0000000..6d23388 Binary files /dev/null and b/wenqixiang.ba6a4c9e.jpg differ diff --git a/workbox-dbb64b4e.js b/workbox-dbb64b4e.js new file mode 100644 index 0000000..73319b6 --- /dev/null +++ b/workbox-dbb64b4e.js @@ -0,0 +1,2 @@ +define(["exports"],(function(t){"use strict";try{self["workbox:core:7.0.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.0.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);const h={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},u=t=>[h.prefix,t,h.suffix].filter((t=>t&&t.length>0)).join("-"),l=t=>t||u(h.precache),f=t=>t||u(h.runtime);function w(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.0.0"]&&_()}catch(t){}function d(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class p{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class y{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let g;async function R(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===g){const t=new Response("");if("body"in t)try{new Response(t.body),g=!0}catch(t){g=!1}g=!1}return g}()?i.body:await i.blob();return new Response(c,o)}function m(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class v{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const q=new Set;try{self["workbox:strategies:7.0.0"]&&_()}catch(t){}function U(t){return"string"==typeof t?new Request(t):t}class L{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new v,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=U(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=U(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=U(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=m(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===m(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of q)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=U(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class b{constructor(t={}){this.cacheName=f(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new L(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class C extends b{constructor(t={}){t.cacheName=l(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(C.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==C.copyRedirectedCacheableResponsesPlugin&&(n===C.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(C.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}C.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},C.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await R(t):t};class E{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.P=new Map,this.T=new Map,this.l=new C({cacheName:l(t),plugins:[...e,new y({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=d(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.K.set(i,t),this.P.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return w(t,(async()=>{const e=new p;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.T.get(s),i=this.P.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return w(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let O;const x=()=>(O||(O=new E),O);class N extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}function k(t){const e=x();!function(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}a().registerRoute(o)}(new N(e,t))}t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=l();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.precacheAndRoute=function(t,e){!function(t){x().precache(t)}(t),k(e)}})); +//# sourceMappingURL=workbox-dbb64b4e.js.map diff --git a/workbox-dbb64b4e.js.map b/workbox-dbb64b4e.js.map new file mode 100644 index 0000000..c37ccd7 --- /dev/null +++ b/workbox-dbb64b4e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"workbox-dbb64b4e.js","sources":["node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_version.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/logger.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/WorkboxError.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/_version.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/utils/constants.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/Route.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/RegExpRoute.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/Router.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/cacheNames.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/waitUntil.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/_version.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/utils/createCacheKey.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/copyResponse.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/Deferred.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.0.0/node_modules/workbox-strategies/_version.js","node_modules/.pnpm/workbox-strategies@7.0.0/node_modules/workbox-strategies/StrategyHandler.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/timeout.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.0.0/node_modules/workbox-strategies/Strategy.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/PrecacheStrategy.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/PrecacheController.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/PrecacheRoute.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/utils/generateURLVariations.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/addRoute.js","node_modules/.pnpm/workbox-routing@7.0.0/node_modules/workbox-routing/registerRoute.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/cleanupOutdatedCaches.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/utils/deleteOutdatedCaches.js","node_modules/.pnpm/workbox-core@7.0.0/node_modules/workbox-core/clientsClaim.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/precacheAndRoute.js","node_modules/.pnpm/workbox-precaching@7.0.0/node_modules/workbox-precaching/precache.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cachedResponseWillByUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { deleteOutdatedCaches } from './utils/deleteOutdatedCaches.js';\nimport './_version.js';\n/**\n * Adds an `activate` event listener which will clean up incompatible\n * precaches that were created by older versions of Workbox.\n *\n * @memberof workbox-precaching\n */\nfunction cleanupOutdatedCaches() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('activate', ((event) => {\n const cacheName = cacheNames.getPrecacheName();\n event.waitUntil(deleteOutdatedCaches(cacheName).then((cachesDeleted) => {\n if (process.env.NODE_ENV !== 'production') {\n if (cachesDeleted.length > 0) {\n logger.log(`The following out-of-date precaches were cleaned up ` +\n `automatically:`, cachesDeleted);\n }\n }\n }));\n }));\n}\nexport { cleanupOutdatedCaches };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst SUBSTRING_TO_FIND = '-precache-';\n/**\n * Cleans up incompatible precaches that were created by older versions of\n * Workbox, by a service worker registered under the current scope.\n *\n * This is meant to be called as part of the `activate` event.\n *\n * This should be safe to use as long as you don't include `substringToFind`\n * (defaulting to `-precache-`) in your non-precache cache names.\n *\n * @param {string} currentPrecacheName The cache name currently in use for\n * precaching. This cache won't be deleted.\n * @param {string} [substringToFind='-precache-'] Cache names which include this\n * substring will be deleted (excluding `currentPrecacheName`).\n * @return {Array} A list of all the cache names that were deleted.\n *\n * @private\n * @memberof workbox-precaching\n */\nconst deleteOutdatedCaches = async (currentPrecacheName, substringToFind = SUBSTRING_TO_FIND) => {\n const cacheNames = await self.caches.keys();\n const cacheNamesToDelete = cacheNames.filter((cacheName) => {\n return (cacheName.includes(substringToFind) &&\n cacheName.includes(self.registration.scope) &&\n cacheName !== currentPrecacheName);\n });\n await Promise.all(cacheNamesToDelete.map((cacheName) => self.caches.delete(cacheName)));\n return cacheNamesToDelete;\n};\nexport { deleteOutdatedCaches };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport './_version.js';\n/**\n * Claim any currently available clients once the service worker\n * becomes active. This is normally used in conjunction with `skipWaiting()`.\n *\n * @memberof workbox-core\n */\nfunction clientsClaim() {\n self.addEventListener('activate', () => self.clients.claim());\n}\nexport { clientsClaim };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n"],"names":["self","_","e","messageGenerator","fallback","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","getOrCreateDefaultRouter","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","asyncFn","returnPromise","createCacheKey","urlObject","cacheKey","revision","cacheKeyURL","originalURL","searchParams","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","state","originalRequest","cachedResponseWillBeUsed","cachedResponse","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","response","modifier","clonedResponse","clone","responseInit","Headers","status","statusText","modifiedResponseInit","body","testResponse","Response","error","canConstructResponseFromBodyStream","blob","stripParams","fullURL","ignoreParams","strippedURL","param","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","hasCallback","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetchOptions","callback","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","key","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","RegExp","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","waitUntilError","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","cacheWillUpdate","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","matchPrecache","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","paramName","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","addRoute","capture","captureUrl","matchCallback","moduleName","funcName","currentPrecacheName","substringToFind","cacheNamesToDelete","includes","deleteOutdatedCaches","cachesDeleted","clients","claim"],"mappings":"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"} \ No newline at end of file diff --git a/young.5f5cc2c5.png b/young.5f5cc2c5.png new file mode 100644 index 0000000..4c23732 Binary files /dev/null and b/young.5f5cc2c5.png differ diff --git a/yunpian.40cabf38.png b/yunpian.40cabf38.png new file mode 100644 index 0000000..9909143 Binary files /dev/null and b/yunpian.40cabf38.png differ diff --git a/zhangwei.8a1eaf8f.png b/zhangwei.8a1eaf8f.png new file mode 100644 index 0000000..cc9a811 Binary files /dev/null and b/zhangwei.8a1eaf8f.png differ