--- /home/fdroid/fdroiddata/tmp/com.superproductivity.superproductivity_1603030000.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_com.superproductivity.superproductivity_1603030000.apk ├── zipinfo {} │ @@ -136,44 +136,42 @@ │ -rw-r--r-- 0.0 unx 93 b- defN 81-Jan-01 01:01 assets/public/chunk-2NYJ54WT.js.map │ -rw-r--r-- 0.0 unx 5311 b- defN 81-Jan-01 01:01 assets/public/chunk-3CKXF2DV.js │ -rw-r--r-- 0.0 unx 11535 b- defN 81-Jan-01 01:01 assets/public/chunk-3CKXF2DV.js.map │ -rw-r--r-- 0.0 unx 615 b- defN 81-Jan-01 01:01 assets/public/chunk-3UB54IM4.js │ -rw-r--r-- 0.0 unx 2240 b- defN 81-Jan-01 01:01 assets/public/chunk-3UB54IM4.js.map │ -rw-r--r-- 0.0 unx 1201 b- defN 81-Jan-01 01:01 assets/public/chunk-3WHPBJIB.js │ -rw-r--r-- 0.0 unx 3448 b- defN 81-Jan-01 01:01 assets/public/chunk-3WHPBJIB.js.map │ +-rw-r--r-- 0.0 unx 288613 b- defN 81-Jan-01 01:01 assets/public/chunk-4FWJVYBW.js │ +-rw-r--r-- 0.0 unx 934126 b- defN 81-Jan-01 01:01 assets/public/chunk-4FWJVYBW.js.map │ -rw-r--r-- 0.0 unx 29584 b- defN 81-Jan-01 01:01 assets/public/chunk-4OEJEQ3Y.js │ -rw-r--r-- 0.0 unx 115939 b- defN 81-Jan-01 01:01 assets/public/chunk-4OEJEQ3Y.js.map │ -rw-r--r-- 0.0 unx 3243 b- defN 81-Jan-01 01:01 assets/public/chunk-4XWXXJ7V.js │ -rw-r--r-- 0.0 unx 11375 b- defN 81-Jan-01 01:01 assets/public/chunk-4XWXXJ7V.js.map │ -rw-r--r-- 0.0 unx 3929 b- defN 81-Jan-01 01:01 assets/public/chunk-5EW7IJ3A.js │ -rw-r--r-- 0.0 unx 9310 b- defN 81-Jan-01 01:01 assets/public/chunk-5EW7IJ3A.js.map │ -rw-r--r-- 0.0 unx 2773 b- defN 81-Jan-01 01:01 assets/public/chunk-5M2FZAU5.js │ -rw-r--r-- 0.0 unx 3017 b- defN 81-Jan-01 01:01 assets/public/chunk-5M2FZAU5.js.map │ --rw-r--r-- 0.0 unx 11524 b- defN 81-Jan-01 01:01 assets/public/chunk-6INOONYY.js │ --rw-r--r-- 0.0 unx 22457 b- defN 81-Jan-01 01:01 assets/public/chunk-6INOONYY.js.map │ -rw-r--r-- 0.0 unx 4449 b- defN 81-Jan-01 01:01 assets/public/chunk-7MHSMTGE.js │ -rw-r--r-- 0.0 unx 6897 b- defN 81-Jan-01 01:01 assets/public/chunk-7MHSMTGE.js.map │ -rw-r--r-- 0.0 unx 20345 b- defN 81-Jan-01 01:01 assets/public/chunk-7NWIZ5NX.js │ -rw-r--r-- 0.0 unx 38591 b- defN 81-Jan-01 01:01 assets/public/chunk-7NWIZ5NX.js.map │ -rw-r--r-- 0.0 unx 602 b- defN 81-Jan-01 01:01 assets/public/chunk-7VYSV4FL.js │ -rw-r--r-- 0.0 unx 2080 b- defN 81-Jan-01 01:01 assets/public/chunk-7VYSV4FL.js.map │ -rw-r--r-- 0.0 unx 8932 b- defN 81-Jan-01 01:01 assets/public/chunk-AMZT4EGW.js │ -rw-r--r-- 0.0 unx 44826 b- defN 81-Jan-01 01:01 assets/public/chunk-AMZT4EGW.js.map │ +-rw-r--r-- 0.0 unx 58209 b- defN 81-Jan-01 01:01 assets/public/chunk-B7H6M7AD.js │ +-rw-r--r-- 0.0 unx 163541 b- defN 81-Jan-01 01:01 assets/public/chunk-B7H6M7AD.js.map │ -rw-r--r-- 0.0 unx 594 b- defN 81-Jan-01 01:01 assets/public/chunk-BZSJ2KCG.js │ -rw-r--r-- 0.0 unx 2136 b- defN 81-Jan-01 01:01 assets/public/chunk-BZSJ2KCG.js.map │ -rw-r--r-- 0.0 unx 176 b- defN 81-Jan-01 01:01 assets/public/chunk-CAHQFTN6.js │ -rw-r--r-- 0.0 unx 93 b- defN 81-Jan-01 01:01 assets/public/chunk-CAHQFTN6.js.map │ --rw-r--r-- 0.0 unx 58209 b- defN 81-Jan-01 01:01 assets/public/chunk-CDZD463J.js │ --rw-r--r-- 0.0 unx 163541 b- defN 81-Jan-01 01:01 assets/public/chunk-CDZD463J.js.map │ -rw-r--r-- 0.0 unx 120980 b- defN 81-Jan-01 01:01 assets/public/chunk-CE27HQKP.js │ -rw-r--r-- 0.0 unx 458071 b- defN 81-Jan-01 01:01 assets/public/chunk-CE27HQKP.js.map │ -rw-r--r-- 0.0 unx 2622 b- defN 81-Jan-01 01:01 assets/public/chunk-CKUCGKAN.js │ -rw-r--r-- 0.0 unx 6355 b- defN 81-Jan-01 01:01 assets/public/chunk-CKUCGKAN.js.map │ --rw-r--r-- 0.0 unx 1491 b- defN 81-Jan-01 01:01 assets/public/chunk-DEOTHOLQ.js │ --rw-r--r-- 0.0 unx 93 b- defN 81-Jan-01 01:01 assets/public/chunk-DEOTHOLQ.js.map │ -rw-r--r-- 0.0 unx 4952 b- defN 81-Jan-01 01:01 assets/public/chunk-DIJOYYEF.js │ -rw-r--r-- 0.0 unx 20174 b- defN 81-Jan-01 01:01 assets/public/chunk-DIJOYYEF.js.map │ -rw-r--r-- 0.0 unx 36808 b- defN 81-Jan-01 01:01 assets/public/chunk-DKDKNXNX.js │ -rw-r--r-- 0.0 unx 197162 b- defN 81-Jan-01 01:01 assets/public/chunk-DKDKNXNX.js.map │ -rw-r--r-- 0.0 unx 9276 b- defN 81-Jan-01 01:01 assets/public/chunk-DU3YCOM3.js │ -rw-r--r-- 0.0 unx 32056 b- defN 81-Jan-01 01:01 assets/public/chunk-DU3YCOM3.js.map │ -rw-r--r-- 0.0 unx 33204 b- defN 81-Jan-01 01:01 assets/public/chunk-DU5XSUHQ.js │ @@ -188,24 +186,26 @@ │ -rw-r--r-- 0.0 unx 10549 b- defN 81-Jan-01 01:01 assets/public/chunk-EPBNCYJX.js.map │ -rw-r--r-- 0.0 unx 3655 b- defN 81-Jan-01 01:01 assets/public/chunk-ETNHE4S6.js │ -rw-r--r-- 0.0 unx 11641 b- defN 81-Jan-01 01:01 assets/public/chunk-ETNHE4S6.js.map │ -rw-r--r-- 0.0 unx 1560 b- defN 81-Jan-01 01:01 assets/public/chunk-EWA43EZD.js │ -rw-r--r-- 0.0 unx 4533 b- defN 81-Jan-01 01:01 assets/public/chunk-EWA43EZD.js.map │ -rw-r--r-- 0.0 unx 8852 b- defN 81-Jan-01 01:01 assets/public/chunk-EX2I2ZN2.js │ -rw-r--r-- 0.0 unx 14186 b- defN 81-Jan-01 01:01 assets/public/chunk-EX2I2ZN2.js.map │ +-rw-r--r-- 0.0 unx 11524 b- defN 81-Jan-01 01:01 assets/public/chunk-F3J274KX.js │ +-rw-r--r-- 0.0 unx 22457 b- defN 81-Jan-01 01:01 assets/public/chunk-F3J274KX.js.map │ -rw-r--r-- 0.0 unx 134135 b- defN 81-Jan-01 01:01 assets/public/chunk-FAUR5ODN.js │ -rw-r--r-- 0.0 unx 442183 b- defN 81-Jan-01 01:01 assets/public/chunk-FAUR5ODN.js.map │ --rw-r--r-- 0.0 unx 77615 b- defN 81-Jan-01 01:01 assets/public/chunk-FQ25BWNG.js │ --rw-r--r-- 0.0 unx 191895 b- defN 81-Jan-01 01:01 assets/public/chunk-FQ25BWNG.js.map │ -rw-r--r-- 0.0 unx 965 b- defN 81-Jan-01 01:01 assets/public/chunk-FUVMFFAG.js │ -rw-r--r-- 0.0 unx 3891 b- defN 81-Jan-01 01:01 assets/public/chunk-FUVMFFAG.js.map │ -rw-r--r-- 0.0 unx 43157 b- defN 81-Jan-01 01:01 assets/public/chunk-FWA3Y3RV.js │ -rw-r--r-- 0.0 unx 158064 b- defN 81-Jan-01 01:01 assets/public/chunk-FWA3Y3RV.js.map │ -rw-r--r-- 0.0 unx 2003 b- defN 81-Jan-01 01:01 assets/public/chunk-GA57RO43.js │ -rw-r--r-- 0.0 unx 3277 b- defN 81-Jan-01 01:01 assets/public/chunk-GA57RO43.js.map │ +-rw-r--r-- 0.0 unx 3161 b- defN 81-Jan-01 01:01 assets/public/chunk-GC5WBHZW.js │ +-rw-r--r-- 0.0 unx 9467 b- defN 81-Jan-01 01:01 assets/public/chunk-GC5WBHZW.js.map │ -rw-r--r-- 0.0 unx 2832 b- defN 81-Jan-01 01:01 assets/public/chunk-GGUZC2CV.js │ -rw-r--r-- 0.0 unx 4560 b- defN 81-Jan-01 01:01 assets/public/chunk-GGUZC2CV.js.map │ -rw-r--r-- 0.0 unx 3354 b- defN 81-Jan-01 01:01 assets/public/chunk-GISC2PWY.js │ -rw-r--r-- 0.0 unx 22446 b- defN 81-Jan-01 01:01 assets/public/chunk-GISC2PWY.js.map │ -rw-r--r-- 0.0 unx 108000 b- defN 81-Jan-01 01:01 assets/public/chunk-GKKRQQ6H.js │ -rw-r--r-- 0.0 unx 371598 b- defN 81-Jan-01 01:01 assets/public/chunk-GKKRQQ6H.js.map │ -rw-r--r-- 0.0 unx 21804 b- defN 81-Jan-01 01:01 assets/public/chunk-HBQCUG3X.js │ @@ -224,52 +224,54 @@ │ -rw-r--r-- 0.0 unx 181889 b- defN 81-Jan-01 01:01 assets/public/chunk-ILSM6BL5.js.map │ -rw-r--r-- 0.0 unx 19812 b- defN 81-Jan-01 01:01 assets/public/chunk-IM3RBYUJ.js │ -rw-r--r-- 0.0 unx 55063 b- defN 81-Jan-01 01:01 assets/public/chunk-IM3RBYUJ.js.map │ -rw-r--r-- 0.0 unx 2500 b- defN 81-Jan-01 01:01 assets/public/chunk-J4FZLQ4E.js │ -rw-r--r-- 0.0 unx 6496 b- defN 81-Jan-01 01:01 assets/public/chunk-J4FZLQ4E.js.map │ -rw-r--r-- 0.0 unx 29148 b- defN 81-Jan-01 01:01 assets/public/chunk-JFK2LEXA.js │ -rw-r--r-- 0.0 unx 78328 b- defN 81-Jan-01 01:01 assets/public/chunk-JFK2LEXA.js.map │ --rw-r--r-- 0.0 unx 125653 b- defN 81-Jan-01 01:01 assets/public/chunk-JOZ5GPNW.js │ --rw-r--r-- 0.0 unx 192201 b- defN 81-Jan-01 01:01 assets/public/chunk-JOZ5GPNW.js.map │ -rw-r--r-- 0.0 unx 5394 b- defN 81-Jan-01 01:01 assets/public/chunk-JQI5X6UU.js │ -rw-r--r-- 0.0 unx 9891 b- defN 81-Jan-01 01:01 assets/public/chunk-JQI5X6UU.js.map │ -rw-r--r-- 0.0 unx 1279 b- defN 81-Jan-01 01:01 assets/public/chunk-K4IO3OOO.js │ -rw-r--r-- 0.0 unx 2945 b- defN 81-Jan-01 01:01 assets/public/chunk-K4IO3OOO.js.map │ -rw-r--r-- 0.0 unx 71522 b- defN 81-Jan-01 01:01 assets/public/chunk-KHUDMSBB.js │ -rw-r--r-- 0.0 unx 183698 b- defN 81-Jan-01 01:01 assets/public/chunk-KHUDMSBB.js.map │ -rw-r--r-- 0.0 unx 2699 b- defN 81-Jan-01 01:01 assets/public/chunk-KQANJP2W.js │ -rw-r--r-- 0.0 unx 11365 b- defN 81-Jan-01 01:01 assets/public/chunk-KQANJP2W.js.map │ -rw-r--r-- 0.0 unx 285 b- defN 81-Jan-01 01:01 assets/public/chunk-L7CTNGCF.js │ -rw-r--r-- 0.0 unx 816 b- defN 81-Jan-01 01:01 assets/public/chunk-L7CTNGCF.js.map │ +-rw-r--r-- 0.0 unx 30391 b- defN 81-Jan-01 01:01 assets/public/chunk-LB45P3OT.js │ +-rw-r--r-- 0.0 unx 109930 b- defN 81-Jan-01 01:01 assets/public/chunk-LB45P3OT.js.map │ -rw-r--r-- 0.0 unx 1014 b- defN 81-Jan-01 01:01 assets/public/chunk-LM73TW6C.js │ -rw-r--r-- 0.0 unx 1893 b- defN 81-Jan-01 01:01 assets/public/chunk-LM73TW6C.js.map │ -rw-r--r-- 0.0 unx 27306 b- defN 81-Jan-01 01:01 assets/public/chunk-LNV6GU6I.js │ -rw-r--r-- 0.0 unx 75177 b- defN 81-Jan-01 01:01 assets/public/chunk-LNV6GU6I.js.map │ -rw-r--r-- 0.0 unx 5053 b- defN 81-Jan-01 01:01 assets/public/chunk-LQG3CT52.js │ -rw-r--r-- 0.0 unx 18806 b- defN 81-Jan-01 01:01 assets/public/chunk-LQG3CT52.js.map │ -rw-r--r-- 0.0 unx 15475 b- defN 81-Jan-01 01:01 assets/public/chunk-LSQXZXIN.js │ -rw-r--r-- 0.0 unx 38211 b- defN 81-Jan-01 01:01 assets/public/chunk-LSQXZXIN.js.map │ -rw-r--r-- 0.0 unx 833915 b- defN 81-Jan-01 01:01 assets/public/chunk-LXBNF6BI.js │ -rw-r--r-- 0.0 unx 1919358 b- defN 81-Jan-01 01:01 assets/public/chunk-LXBNF6BI.js.map │ -rw-r--r-- 0.0 unx 411 b- defN 81-Jan-01 01:01 assets/public/chunk-LZTFCOMM.js │ -rw-r--r-- 0.0 unx 938 b- defN 81-Jan-01 01:01 assets/public/chunk-LZTFCOMM.js.map │ -rw-r--r-- 0.0 unx 202246 b- defN 81-Jan-01 01:01 assets/public/chunk-MAQCQPYF.js │ -rw-r--r-- 0.0 unx 824865 b- defN 81-Jan-01 01:01 assets/public/chunk-MAQCQPYF.js.map │ +-rw-r--r-- 0.0 unx 1491 b- defN 81-Jan-01 01:01 assets/public/chunk-MBRUDQTP.js │ +-rw-r--r-- 0.0 unx 93 b- defN 81-Jan-01 01:01 assets/public/chunk-MBRUDQTP.js.map │ -rw-r--r-- 0.0 unx 3323 b- defN 81-Jan-01 01:01 assets/public/chunk-MJRMB3Q7.js │ -rw-r--r-- 0.0 unx 13665 b- defN 81-Jan-01 01:01 assets/public/chunk-MJRMB3Q7.js.map │ --rw-r--r-- 0.0 unx 288613 b- defN 81-Jan-01 01:01 assets/public/chunk-N7J3ND3R.js │ --rw-r--r-- 0.0 unx 934126 b- defN 81-Jan-01 01:01 assets/public/chunk-N7J3ND3R.js.map │ -rw-r--r-- 0.0 unx 10546 b- defN 81-Jan-01 01:01 assets/public/chunk-NDQ3Q4KS.js │ -rw-r--r-- 0.0 unx 15310 b- defN 81-Jan-01 01:01 assets/public/chunk-NDQ3Q4KS.js.map │ -rw-r--r-- 0.0 unx 33365 b- defN 81-Jan-01 01:01 assets/public/chunk-NSWSCXDD.js │ -rw-r--r-- 0.0 unx 112433 b- defN 81-Jan-01 01:01 assets/public/chunk-NSWSCXDD.js.map │ -rw-r--r-- 0.0 unx 1139 b- defN 81-Jan-01 01:01 assets/public/chunk-O5LJNYV7.js │ -rw-r--r-- 0.0 unx 2013 b- defN 81-Jan-01 01:01 assets/public/chunk-O5LJNYV7.js.map │ -rw-r--r-- 0.0 unx 13055 b- defN 81-Jan-01 01:01 assets/public/chunk-O7GCT4P3.js │ -rw-r--r-- 0.0 unx 51722 b- defN 81-Jan-01 01:01 assets/public/chunk-O7GCT4P3.js.map │ +-rw-r--r-- 0.0 unx 1409 b- defN 81-Jan-01 01:01 assets/public/chunk-O7IWCIY2.js │ +-rw-r--r-- 0.0 unx 93 b- defN 81-Jan-01 01:01 assets/public/chunk-O7IWCIY2.js.map │ -rw-r--r-- 0.0 unx 4844 b- defN 81-Jan-01 01:01 assets/public/chunk-OKE7ST2R.js │ -rw-r--r-- 0.0 unx 57684 b- defN 81-Jan-01 01:01 assets/public/chunk-OKE7ST2R.js.map │ -rw-r--r-- 0.0 unx 788 b- defN 81-Jan-01 01:01 assets/public/chunk-OOI5L6OH.js │ -rw-r--r-- 0.0 unx 2734 b- defN 81-Jan-01 01:01 assets/public/chunk-OOI5L6OH.js.map │ -rw-r--r-- 0.0 unx 9409 b- defN 81-Jan-01 01:01 assets/public/chunk-OOSBDT4O.js │ -rw-r--r-- 0.0 unx 21258 b- defN 81-Jan-01 01:01 assets/public/chunk-OOSBDT4O.js.map │ -rw-r--r-- 0.0 unx 25551 b- defN 81-Jan-01 01:01 assets/public/chunk-OPH22EME.js │ @@ -282,20 +284,20 @@ │ -rw-r--r-- 0.0 unx 10230 b- defN 81-Jan-01 01:01 assets/public/chunk-P6BNEPN3.js.map │ -rw-r--r-- 0.0 unx 18385 b- defN 81-Jan-01 01:01 assets/public/chunk-PVN2PXP4.js │ -rw-r--r-- 0.0 unx 81491 b- defN 81-Jan-01 01:01 assets/public/chunk-PVN2PXP4.js.map │ -rw-r--r-- 0.0 unx 761 b- defN 81-Jan-01 01:01 assets/public/chunk-Q2URH4BK.js │ -rw-r--r-- 0.0 unx 2460 b- defN 81-Jan-01 01:01 assets/public/chunk-Q2URH4BK.js.map │ -rw-r--r-- 0.0 unx 2048 b- defN 81-Jan-01 01:01 assets/public/chunk-QIIT4CJH.js │ -rw-r--r-- 0.0 unx 7790 b- defN 81-Jan-01 01:01 assets/public/chunk-QIIT4CJH.js.map │ --rw-r--r-- 0.0 unx 66908 b- defN 81-Jan-01 01:01 assets/public/chunk-QQRWU6BQ.js │ --rw-r--r-- 0.0 unx 271067 b- defN 81-Jan-01 01:01 assets/public/chunk-QQRWU6BQ.js.map │ -rw-r--r-- 0.0 unx 981 b- defN 81-Jan-01 01:01 assets/public/chunk-QTZ6FD6W.js │ -rw-r--r-- 0.0 unx 3539 b- defN 81-Jan-01 01:01 assets/public/chunk-QTZ6FD6W.js.map │ -rw-r--r-- 0.0 unx 3415 b- defN 81-Jan-01 01:01 assets/public/chunk-R3ZPD5LP.js │ -rw-r--r-- 0.0 unx 15958 b- defN 81-Jan-01 01:01 assets/public/chunk-R3ZPD5LP.js.map │ +-rw-r--r-- 0.0 unx 77615 b- defN 81-Jan-01 01:01 assets/public/chunk-REBCJ4XV.js │ +-rw-r--r-- 0.0 unx 191895 b- defN 81-Jan-01 01:01 assets/public/chunk-REBCJ4XV.js.map │ -rw-r--r-- 0.0 unx 58510 b- defN 81-Jan-01 01:01 assets/public/chunk-REPY2QID.js │ -rw-r--r-- 0.0 unx 260400 b- defN 81-Jan-01 01:01 assets/public/chunk-REPY2QID.js.map │ -rw-r--r-- 0.0 unx 4450 b- defN 81-Jan-01 01:01 assets/public/chunk-RFZDDFKS.js │ -rw-r--r-- 0.0 unx 10923 b- defN 81-Jan-01 01:01 assets/public/chunk-RFZDDFKS.js.map │ -rw-r--r-- 0.0 unx 46053 b- defN 81-Jan-01 01:01 assets/public/chunk-RHU3AIGY.js │ -rw-r--r-- 0.0 unx 232748 b- defN 81-Jan-01 01:01 assets/public/chunk-RHU3AIGY.js.map │ -rw-r--r-- 0.0 unx 16140 b- defN 81-Jan-01 01:01 assets/public/chunk-RZQ3RRGP.js │ @@ -310,62 +312,60 @@ │ -rw-r--r-- 0.0 unx 171591 b- defN 81-Jan-01 01:01 assets/public/chunk-SPDGNDOG.js.map │ -rw-r--r-- 0.0 unx 24893 b- defN 81-Jan-01 01:01 assets/public/chunk-SSK2YEBA.js │ -rw-r--r-- 0.0 unx 63059 b- defN 81-Jan-01 01:01 assets/public/chunk-SSK2YEBA.js.map │ -rw-r--r-- 0.0 unx 30264 b- defN 81-Jan-01 01:01 assets/public/chunk-T6BLOVKK.js │ -rw-r--r-- 0.0 unx 145580 b- defN 81-Jan-01 01:01 assets/public/chunk-T6BLOVKK.js.map │ -rw-r--r-- 0.0 unx 26625 b- defN 81-Jan-01 01:01 assets/public/chunk-TKLMMF3T.js │ -rw-r--r-- 0.0 unx 91210 b- defN 81-Jan-01 01:01 assets/public/chunk-TKLMMF3T.js.map │ --rw-r--r-- 0.0 unx 3161 b- defN 81-Jan-01 01:01 assets/public/chunk-UAE3QC5G.js │ --rw-r--r-- 0.0 unx 9467 b- defN 81-Jan-01 01:01 assets/public/chunk-UAE3QC5G.js.map │ -rw-r--r-- 0.0 unx 511 b- defN 81-Jan-01 01:01 assets/public/chunk-UEYYHKKI.js │ -rw-r--r-- 0.0 unx 1526 b- defN 81-Jan-01 01:01 assets/public/chunk-UEYYHKKI.js.map │ -rw-r--r-- 0.0 unx 291540 b- defN 81-Jan-01 01:01 assets/public/chunk-UFC7HRFK.js │ -rw-r--r-- 0.0 unx 1106549 b- defN 81-Jan-01 01:01 assets/public/chunk-UFC7HRFK.js.map │ -rw-r--r-- 0.0 unx 335 b- defN 81-Jan-01 01:01 assets/public/chunk-UHJC7PJM.js │ -rw-r--r-- 0.0 unx 680 b- defN 81-Jan-01 01:01 assets/public/chunk-UHJC7PJM.js.map │ -rw-r--r-- 0.0 unx 426 b- defN 81-Jan-01 01:01 assets/public/chunk-UXKUAX2W.js │ -rw-r--r-- 0.0 unx 949 b- defN 81-Jan-01 01:01 assets/public/chunk-UXKUAX2W.js.map │ -rw-r--r-- 0.0 unx 2405 b- defN 81-Jan-01 01:01 assets/public/chunk-VEWWAODR.js │ -rw-r--r-- 0.0 unx 4992 b- defN 81-Jan-01 01:01 assets/public/chunk-VEWWAODR.js.map │ -rw-r--r-- 0.0 unx 4604 b- defN 81-Jan-01 01:01 assets/public/chunk-VQ6IUYH2.js │ -rw-r--r-- 0.0 unx 8600 b- defN 81-Jan-01 01:01 assets/public/chunk-VQ6IUYH2.js.map │ +-rw-r--r-- 0.0 unx 125653 b- defN 81-Jan-01 01:01 assets/public/chunk-VSQ27RVA.js │ +-rw-r--r-- 0.0 unx 192201 b- defN 81-Jan-01 01:01 assets/public/chunk-VSQ27RVA.js.map │ -rw-r--r-- 0.0 unx 20256 b- defN 81-Jan-01 01:01 assets/public/chunk-VUJ4NTPJ.js │ -rw-r--r-- 0.0 unx 30423 b- defN 81-Jan-01 01:01 assets/public/chunk-VUJ4NTPJ.js.map │ -rw-r--r-- 0.0 unx 2758 b- defN 81-Jan-01 01:01 assets/public/chunk-VUYOB34N.js │ -rw-r--r-- 0.0 unx 10909 b- defN 81-Jan-01 01:01 assets/public/chunk-VUYOB34N.js.map │ -rw-r--r-- 0.0 unx 32137 b- defN 81-Jan-01 01:01 assets/public/chunk-VW4V5P53.js │ -rw-r--r-- 0.0 unx 143700 b- defN 81-Jan-01 01:01 assets/public/chunk-VW4V5P53.js.map │ +-rw-r--r-- 0.0 unx 66908 b- defN 81-Jan-01 01:01 assets/public/chunk-VXFCGPLJ.js │ +-rw-r--r-- 0.0 unx 271067 b- defN 81-Jan-01 01:01 assets/public/chunk-VXFCGPLJ.js.map │ -rw-r--r-- 0.0 unx 220108 b- defN 81-Jan-01 01:01 assets/public/chunk-VYVUDCUO.js │ -rw-r--r-- 0.0 unx 2299259 b- defN 81-Jan-01 01:01 assets/public/chunk-VYVUDCUO.js.map │ -rw-r--r-- 0.0 unx 5654 b- defN 81-Jan-01 01:01 assets/public/chunk-W6MLVBN4.js │ -rw-r--r-- 0.0 unx 20575 b- defN 81-Jan-01 01:01 assets/public/chunk-W6MLVBN4.js.map │ -rw-r--r-- 0.0 unx 17980 b- defN 81-Jan-01 01:01 assets/public/chunk-WADXDJKS.js │ -rw-r--r-- 0.0 unx 62376 b- defN 81-Jan-01 01:01 assets/public/chunk-WADXDJKS.js.map │ -rw-r--r-- 0.0 unx 483 b- defN 81-Jan-01 01:01 assets/public/chunk-WD2BQIDZ.js │ -rw-r--r-- 0.0 unx 4619 b- defN 81-Jan-01 01:01 assets/public/chunk-WD2BQIDZ.js.map │ -rw-r--r-- 0.0 unx 18443 b- defN 81-Jan-01 01:01 assets/public/chunk-WV34QSL5.js │ -rw-r--r-- 0.0 unx 69560 b- defN 81-Jan-01 01:01 assets/public/chunk-WV34QSL5.js.map │ --rw-r--r-- 0.0 unx 30391 b- defN 81-Jan-01 01:01 assets/public/chunk-WXLHVHT5.js │ --rw-r--r-- 0.0 unx 109930 b- defN 81-Jan-01 01:01 assets/public/chunk-WXLHVHT5.js.map │ -rw-r--r-- 0.0 unx 7075 b- defN 81-Jan-01 01:01 assets/public/chunk-X4YSF26H.js │ -rw-r--r-- 0.0 unx 25011 b- defN 81-Jan-01 01:01 assets/public/chunk-X4YSF26H.js.map │ -rw-r--r-- 0.0 unx 755 b- defN 81-Jan-01 01:01 assets/public/chunk-X5VPYFW4.js │ -rw-r--r-- 0.0 unx 2317 b- defN 81-Jan-01 01:01 assets/public/chunk-X5VPYFW4.js.map │ -rw-r--r-- 0.0 unx 24235 b- defN 81-Jan-01 01:01 assets/public/chunk-XA7JEECX.js │ -rw-r--r-- 0.0 unx 97817 b- defN 81-Jan-01 01:01 assets/public/chunk-XA7JEECX.js.map │ -rw-r--r-- 0.0 unx 770 b- defN 81-Jan-01 01:01 assets/public/chunk-XU2E3I7U.js │ -rw-r--r-- 0.0 unx 2780 b- defN 81-Jan-01 01:01 assets/public/chunk-XU2E3I7U.js.map │ -rw-r--r-- 0.0 unx 128424 b- defN 81-Jan-01 01:01 assets/public/chunk-XYVX43AE.js │ -rw-r--r-- 0.0 unx 313356 b- defN 81-Jan-01 01:01 assets/public/chunk-XYVX43AE.js.map │ -rw-r--r-- 0.0 unx 2265 b- defN 81-Jan-01 01:01 assets/public/chunk-YND36B7T.js │ -rw-r--r-- 0.0 unx 8779 b- defN 81-Jan-01 01:01 assets/public/chunk-YND36B7T.js.map │ -rw-r--r-- 0.0 unx 867 b- defN 81-Jan-01 01:01 assets/public/chunk-Z4KTBGNU.js │ -rw-r--r-- 0.0 unx 1567 b- defN 81-Jan-01 01:01 assets/public/chunk-Z4KTBGNU.js.map │ --rw-r--r-- 0.0 unx 1409 b- defN 81-Jan-01 01:01 assets/public/chunk-ZBSZGPXO.js │ --rw-r--r-- 0.0 unx 93 b- defN 81-Jan-01 01:01 assets/public/chunk-ZBSZGPXO.js.map │ -rw-r--r-- 0.0 unx 676 b- defN 81-Jan-01 01:01 assets/public/chunk-ZCJ6XKWS.js │ -rw-r--r-- 0.0 unx 2139 b- defN 81-Jan-01 01:01 assets/public/chunk-ZCJ6XKWS.js.map │ -rw-r--r-- 0.0 unx 63285 b- defN 81-Jan-01 01:01 assets/public/chunk-ZEGXBUIB.js │ -rw-r--r-- 0.0 unx 313928 b- defN 81-Jan-01 01:01 assets/public/chunk-ZEGXBUIB.js.map │ -rw-r--r-- 0.0 unx 1543 b- defN 81-Jan-01 01:01 assets/public/chunk-ZI4KLVKW.js │ -rw-r--r-- 0.0 unx 4788 b- defN 81-Jan-01 01:01 assets/public/chunk-ZI4KLVKW.js.map │ -rw-r--r-- 0.0 unx 22066 b- defN 81-Jan-01 01:01 assets/public/chunk-ZRL2K32L.js │ @@ -466,16 +466,16 @@ │ -rw-r--r-- 0.0 unx 1777 b- defN 81-Jan-01 01:01 assets/public/issue-provider-setup-overview.component-R4UMPHXJ.css.map │ -rw-r--r-- 0.0 unx 1899 b- defN 81-Jan-01 01:01 assets/public/issue-provider-tab.component-IAK65AKV.css.map │ -rw-r--r-- 0.0 unx 325 b- defN 81-Jan-01 01:01 assets/public/jira-additional-cfg.component-42ZCNEAB.css.map │ -rw-r--r-- 0.0 unx 2327 b- defN 81-Jan-01 01:01 assets/public/jira-issue-content.component-UYCKI7MC.css.map │ -rw-r--r-- 0.0 unx 393 b- defN 81-Jan-01 01:01 assets/public/jira-link.component-AKJUVRHV.css.map │ -rw-r--r-- 0.0 unx 1877 b- defN 81-Jan-01 01:01 assets/public/lazy-chart.component-Q72Z5DAO.css.map │ -rw-r--r-- 0.0 unx 8605 b- defN 81-Jan-01 01:01 assets/public/magic-side-nav.component-SYLMI57P.css.map │ --rw-r--r-- 0.0 unx 886557 b- defN 81-Jan-01 01:01 assets/public/main-3JXKQESV.js │ --rw-r--r-- 0.0 unx 3002874 b- defN 81-Jan-01 01:01 assets/public/main-3JXKQESV.js.map │ +-rw-r--r-- 0.0 unx 886557 b- defN 81-Jan-01 01:01 assets/public/main-6IYMKSCU.js │ +-rw-r--r-- 0.0 unx 3002874 b- defN 81-Jan-01 01:01 assets/public/main-6IYMKSCU.js.map │ -rw-r--r-- 0.0 unx 15335 b- defN 81-Jan-01 01:01 assets/public/main-header.component-6LTWXI7S.css.map │ -rw-r--r-- 0.0 unx 926 b- defN 81-Jan-01 01:01 assets/public/manifest.json │ -rw-r--r-- 0.0 unx 356840 b- defN 81-Jan-01 01:01 assets/public/media/MaterialIcons-Regular-5HNTTCIU.ttf │ -rw-r--r-- 0.0 unx 11076 b- defN 81-Jan-01 01:01 assets/public/media/open-sans-cyrillic-300-normal-NXEWA4HB.woff2 │ -rw-r--r-- 0.0 unx 9056 b- defN 81-Jan-01 01:01 assets/public/media/open-sans-cyrillic-300-normal-UZNP3MNX.woff │ -rw-r--r-- 0.0 unx 10724 b- defN 81-Jan-01 01:01 assets/public/media/open-sans-cyrillic-400-italic-74FQI23K.woff │ -rw-r--r-- 0.0 unx 12596 b- defN 81-Jan-01 01:01 assets/public/media/open-sans-cyrillic-400-italic-SOA5CBZH.woff2 │ @@ -1411,8 +1411,8 @@ │ -rw---- 0.0 fat 308 b- defN 81-Jan-01 01:01 res/zn.xml │ -rw---- 0.0 fat 448 b- defN 81-Jan-01 01:01 res/zp.xml │ -rw---- 0.0 fat 464 b- defN 81-Jan-01 01:01 res/zq.xml │ -rw---- 0.0 fat 506416 b- stor 81-Jan-01 01:01 resources.arsc │ -rw---- 2.0 fat 144805 b- defN 81-Jan-01 01:01 META-INF/F4E24334.SF │ -rw---- 2.0 fat 1342 b- defN 81-Jan-01 01:01 META-INF/F4E24334.RSA │ -rw---- 2.0 fat 144678 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -1416 files, 44163196 bytes uncompressed, 15156325 bytes compressed: 65.7% │ +1416 files, 44163196 bytes uncompressed, 15156312 bytes compressed: 65.7% ├── assets/public/ngsw.json │ ├── Pretty-printed │ │┄ Similarity: 0.9316718380614657% │ │┄ Differences: {"'assetGroups'": "{0: {'urls': {insert: [(5, '/chunk-4FWJVYBW.js'), (14, '/chunk-B7H6M7AD.js'), " │ │┄ "(30, '/chunk-F3J274KX.js'), (35, '/chunk-GC5WBHZW.js'), (54, " │ │┄ "'/chunk-LB45P3OT.js'), (62, '/chunk-MBRUDQTP.js'), (68, '/chunk-O7IWCIY2.js'), " │ │┄ "(81, '/chunk-REBCJ4XV.js'), (99, '/chunk-VSQ27RVA.js'), (103, " │ │┄ "'/chunk-VXFCGPLJ.js'), (125, '/main-6IYMKSCU.js')], delete: [125, 115, 107, 92, " │ │┄ '78, 63, 49, 32, 19, 16, 9]}} […] │ │ @@ -10,135 +10,135 @@ │ │ "updateMode": "prefetch", │ │ "urls": [ │ │ "/chunk-2KEZIUSW.js", │ │ "/chunk-2NYJ54WT.js", │ │ "/chunk-3CKXF2DV.js", │ │ "/chunk-3UB54IM4.js", │ │ "/chunk-3WHPBJIB.js", │ │ + "/chunk-4FWJVYBW.js", │ │ "/chunk-4OEJEQ3Y.js", │ │ "/chunk-4XWXXJ7V.js", │ │ "/chunk-5EW7IJ3A.js", │ │ "/chunk-5M2FZAU5.js", │ │ - "/chunk-6INOONYY.js", │ │ "/chunk-7MHSMTGE.js", │ │ "/chunk-7NWIZ5NX.js", │ │ "/chunk-7VYSV4FL.js", │ │ "/chunk-AMZT4EGW.js", │ │ + "/chunk-B7H6M7AD.js", │ │ "/chunk-BZSJ2KCG.js", │ │ "/chunk-CAHQFTN6.js", │ │ - "/chunk-CDZD463J.js", │ │ "/chunk-CE27HQKP.js", │ │ "/chunk-CKUCGKAN.js", │ │ - "/chunk-DEOTHOLQ.js", │ │ "/chunk-DIJOYYEF.js", │ │ "/chunk-DKDKNXNX.js", │ │ "/chunk-DU3YCOM3.js", │ │ "/chunk-DU5XSUHQ.js", │ │ "/chunk-DYQ4QVPI.js", │ │ "/chunk-EHO5CHAI.js", │ │ "/chunk-EKANSWSN.js", │ │ "/chunk-EPBNCYJX.js", │ │ "/chunk-ETNHE4S6.js", │ │ "/chunk-EWA43EZD.js", │ │ "/chunk-EX2I2ZN2.js", │ │ + "/chunk-F3J274KX.js", │ │ "/chunk-FAUR5ODN.js", │ │ - "/chunk-FQ25BWNG.js", │ │ "/chunk-FUVMFFAG.js", │ │ "/chunk-FWA3Y3RV.js", │ │ "/chunk-GA57RO43.js", │ │ + "/chunk-GC5WBHZW.js", │ │ "/chunk-GGUZC2CV.js", │ │ "/chunk-GISC2PWY.js", │ │ "/chunk-GKKRQQ6H.js", │ │ "/chunk-HBQCUG3X.js", │ │ "/chunk-HR6HBFFX.js", │ │ "/chunk-HYADJUHW.js", │ │ "/chunk-HYZALMHK.js", │ │ "/chunk-I7CSDRNF.js", │ │ "/chunk-IFXNAN3M.js", │ │ "/chunk-ILSM6BL5.js", │ │ "/chunk-IM3RBYUJ.js", │ │ "/chunk-J4FZLQ4E.js", │ │ "/chunk-JFK2LEXA.js", │ │ - "/chunk-JOZ5GPNW.js", │ │ "/chunk-JQI5X6UU.js", │ │ "/chunk-K4IO3OOO.js", │ │ "/chunk-KHUDMSBB.js", │ │ "/chunk-KQANJP2W.js", │ │ "/chunk-L7CTNGCF.js", │ │ + "/chunk-LB45P3OT.js", │ │ "/chunk-LM73TW6C.js", │ │ "/chunk-LNV6GU6I.js", │ │ "/chunk-LQG3CT52.js", │ │ "/chunk-LSQXZXIN.js", │ │ "/chunk-LXBNF6BI.js", │ │ "/chunk-LZTFCOMM.js", │ │ "/chunk-MAQCQPYF.js", │ │ + "/chunk-MBRUDQTP.js", │ │ "/chunk-MJRMB3Q7.js", │ │ - "/chunk-N7J3ND3R.js", │ │ "/chunk-NDQ3Q4KS.js", │ │ "/chunk-NSWSCXDD.js", │ │ "/chunk-O5LJNYV7.js", │ │ "/chunk-O7GCT4P3.js", │ │ + "/chunk-O7IWCIY2.js", │ │ "/chunk-OKE7ST2R.js", │ │ "/chunk-OOI5L6OH.js", │ │ "/chunk-OOSBDT4O.js", │ │ "/chunk-OPH22EME.js", │ │ "/chunk-OZRV5URM.js", │ │ "/chunk-P5HNB7MB.js", │ │ "/chunk-P6BNEPN3.js", │ │ "/chunk-PVN2PXP4.js", │ │ "/chunk-Q2URH4BK.js", │ │ "/chunk-QIIT4CJH.js", │ │ - "/chunk-QQRWU6BQ.js", │ │ "/chunk-QTZ6FD6W.js", │ │ "/chunk-R3ZPD5LP.js", │ │ + "/chunk-REBCJ4XV.js", │ │ "/chunk-REPY2QID.js", │ │ "/chunk-RFZDDFKS.js", │ │ "/chunk-RHU3AIGY.js", │ │ "/chunk-RZQ3RRGP.js", │ │ "/chunk-SIWR22TU.js", │ │ "/chunk-SK44KT2J.js", │ │ "/chunk-SLMGX7CW.js", │ │ "/chunk-SPDGNDOG.js", │ │ "/chunk-SSK2YEBA.js", │ │ "/chunk-T6BLOVKK.js", │ │ "/chunk-TKLMMF3T.js", │ │ - "/chunk-UAE3QC5G.js", │ │ "/chunk-UEYYHKKI.js", │ │ "/chunk-UFC7HRFK.js", │ │ "/chunk-UHJC7PJM.js", │ │ "/chunk-UXKUAX2W.js", │ │ "/chunk-VEWWAODR.js", │ │ "/chunk-VQ6IUYH2.js", │ │ + "/chunk-VSQ27RVA.js", │ │ "/chunk-VUJ4NTPJ.js", │ │ "/chunk-VUYOB34N.js", │ │ "/chunk-VW4V5P53.js", │ │ + "/chunk-VXFCGPLJ.js", │ │ "/chunk-VYVUDCUO.js", │ │ "/chunk-W6MLVBN4.js", │ │ "/chunk-WADXDJKS.js", │ │ "/chunk-WD2BQIDZ.js", │ │ "/chunk-WV34QSL5.js", │ │ - "/chunk-WXLHVHT5.js", │ │ "/chunk-X4YSF26H.js", │ │ "/chunk-X5VPYFW4.js", │ │ "/chunk-XA7JEECX.js", │ │ "/chunk-XU2E3I7U.js", │ │ "/chunk-XYVX43AE.js", │ │ "/chunk-YND36B7T.js", │ │ "/chunk-Z4KTBGNU.js", │ │ - "/chunk-ZBSZGPXO.js", │ │ "/chunk-ZCJ6XKWS.js", │ │ "/chunk-ZEGXBUIB.js", │ │ "/chunk-ZI4KLVKW.js", │ │ "/chunk-ZRL2K32L.js", │ │ "/chunk-ZSIDNPGH.js", │ │ "/chunk-ZYZHOCFG.js", │ │ "/chunk-ZZIUIE5A.js", │ │ "/favicon.ico", │ │ "/index.html", │ │ - "/main-3JXKQESV.js", │ │ + "/main-6IYMKSCU.js", │ │ "/manifest.json", │ │ "/polyfills-NKH4EFFM.js", │ │ "/styles-ADPCC6PJ.css", │ │ "/worker-2QJX3KRK.js" │ │ ] │ │ }, │ │ { │ │ @@ -414,135 +414,135 @@ │ │ "/assets/themes/rainbow.css": "ee65200ba809b4830928bd123544c43e5bab1dfc", │ │ "/assets/unicorn.png": "0326afe4a8f85faa5c3a01fd38efeafeb58094a2", │ │ "/chunk-2KEZIUSW.js": "5e5e4f53136a0cd3339102760a363ce07ecb6942", │ │ "/chunk-2NYJ54WT.js": "6b2058100c2940dca4d746dd3f5d18ab6c115902", │ │ "/chunk-3CKXF2DV.js": "0e144944afafe0c596e4118ba6674e3a297c256a", │ │ "/chunk-3UB54IM4.js": "6dd0205087c3166a305b1af5ec8ad771cd5ce0e3", │ │ "/chunk-3WHPBJIB.js": "7f1d18be1c44ce946291615b3ba94b2a93f8d36e", │ │ + "/chunk-4FWJVYBW.js": "a557383022f33c89d3f0ead75fdef4508a915b5d", │ │ "/chunk-4OEJEQ3Y.js": "0aa882e5e39fe6ac65c75ae64ef40d627af1bbf6", │ │ "/chunk-4XWXXJ7V.js": "b0f27b1fb12b5b4bc886a9091be0d4ec3fe081a2", │ │ "/chunk-5EW7IJ3A.js": "848ec665cd4046c77b009a5387a5f537d981621c", │ │ "/chunk-5M2FZAU5.js": "03163ed05040dd3d90fc78569b0a10d9fc43f9a1", │ │ - "/chunk-6INOONYY.js": "f9c008600544e43c06d3c2e340443b49cf4ccc4f", │ │ "/chunk-7MHSMTGE.js": "1b73d749dfb5a2eea633059570ec5a3ee25020a7", │ │ "/chunk-7NWIZ5NX.js": "3b1b2d17b487824d416d9ba4d4d6fb07d79091cf", │ │ "/chunk-7VYSV4FL.js": "b06ee2b1f40f07f9cfe4ebf95632ecb703eef91e", │ │ "/chunk-AMZT4EGW.js": "23fbf516a8afcd363ef430218cf24779bee2b1da", │ │ + "/chunk-B7H6M7AD.js": "ea0dd38a25aa98de7aa8bbd4a6f714085597e3a3", │ │ "/chunk-BZSJ2KCG.js": "3eb68979a406fc344ce51eaa6cab4f0383a893f9", │ │ "/chunk-CAHQFTN6.js": "2c69d89bdab3ece4a755c31e9aea0b69ba940e4d", │ │ - "/chunk-CDZD463J.js": "a58512010be948daf0a011717fde4405a7eed382", │ │ "/chunk-CE27HQKP.js": "dde109238d736f346b5ceab1017e6d4b288101bf", │ │ "/chunk-CKUCGKAN.js": "8993135732627f8b1d62cae6353fb82468d94715", │ │ - "/chunk-DEOTHOLQ.js": "756997d1115d810c7a0874f3fe4633a94d3923e7", │ │ "/chunk-DIJOYYEF.js": "3506d3b91e23b9f84ef012b9c27977b0d3334bf9", │ │ "/chunk-DKDKNXNX.js": "6bafbf36cc49bfa7cc9e5991f2e9b333eb66dee9", │ │ "/chunk-DU3YCOM3.js": "2f8066161a87885890a4e62dd99e5b5bc3610ad5", │ │ "/chunk-DU5XSUHQ.js": "da56dc0a0406358dcae01cda5f21c726641da105", │ │ "/chunk-DYQ4QVPI.js": "1b8d0c25a1ebaa57ec58ba84b7e5fb853339d99b", │ │ "/chunk-EHO5CHAI.js": "c836fecec23bf8c3e7934d0f539ce28c7d56a920", │ │ "/chunk-EKANSWSN.js": "7b522b7bff9b4778a03b634bb5d5f167aa4f8a92", │ │ "/chunk-EPBNCYJX.js": "1142f913e5fc6a5de588e86e217cbe36d109475b", │ │ "/chunk-ETNHE4S6.js": "e6e45495b2cdc0e4db580a4cd39947cedd7c8b29", │ │ "/chunk-EWA43EZD.js": "5af9a168ecc7af5341905635e5c2025ce0b66d30", │ │ "/chunk-EX2I2ZN2.js": "e2bd84751aaa9cbea6fb6b67d26719c54d4aedee", │ │ + "/chunk-F3J274KX.js": "3ff8323029465818dcd2eabb63f32b0b4cb24f97", │ │ "/chunk-FAUR5ODN.js": "042856047a5bfdf33dde7c849589edd29db97123", │ │ - "/chunk-FQ25BWNG.js": "e86d629c557ef4c3d3b51aea4e402697f98c725f", │ │ "/chunk-FUVMFFAG.js": "dda71f3bbd7a5566a605c566fd64e840869996d2", │ │ "/chunk-FWA3Y3RV.js": "1363f2296249bed56e69e8d4a1354bbdcf174e0a", │ │ "/chunk-GA57RO43.js": "d4ec57afcc0c3551f085b2c513becdd2914367ec", │ │ + "/chunk-GC5WBHZW.js": "16d315981e65e2025a65d362ecd02cf24814370c", │ │ "/chunk-GGUZC2CV.js": "8b401fc1908fb8487cc4cd9114294fe0ec28fd6d", │ │ "/chunk-GISC2PWY.js": "a6975051da482f256f338e0de4bb748a1d67ccb7", │ │ "/chunk-GKKRQQ6H.js": "f36faecbe52dfdb673d5e567910e4bcabe8aa729", │ │ "/chunk-HBQCUG3X.js": "b772d3be73c544f9eb847ab8bf81650e1c9cd9e6", │ │ "/chunk-HR6HBFFX.js": "72688363437d51eef3c93df5dbb512d6dc8e99ab", │ │ "/chunk-HYADJUHW.js": "9866f026fab427ef65779bf37986ed4f047b0eb4", │ │ "/chunk-HYZALMHK.js": "6f5d38238f4bc0d6a12cea7baa80b2e389dc1584", │ │ "/chunk-I7CSDRNF.js": "b496b15ef34ffbdb64684693d42fec9a0d9e4e98", │ │ "/chunk-IFXNAN3M.js": "08a85e9bbc0ab3c002b2dcb07fee49256bc7dc70", │ │ "/chunk-ILSM6BL5.js": "eddbdbec3e585a66ac063e9b44e2013236126e4a", │ │ "/chunk-IM3RBYUJ.js": "88e087823af5070dfc2d213ad6737c260b3f6de5", │ │ "/chunk-J4FZLQ4E.js": "9a156a9fd337ac52e4886056d7d66f0e25708a92", │ │ "/chunk-JFK2LEXA.js": "dc00da4f32cd401df93dc6f858e741163d5eb371", │ │ - "/chunk-JOZ5GPNW.js": "ef5c00204cb2ed8bab9291171ef5c2e451749444", │ │ "/chunk-JQI5X6UU.js": "d6390b2b2d0a83702acd1281e0b4c95fab6c5a86", │ │ "/chunk-K4IO3OOO.js": "55ed7ad8b67caeed49b0010d840cb32f64fbcf17", │ │ "/chunk-KHUDMSBB.js": "57c1de6f6caa1c511f03e8b4e6c70e14a0fd2c26", │ │ "/chunk-KQANJP2W.js": "0cf918d91378b63bc283317b973a996fb881eb3d", │ │ "/chunk-L7CTNGCF.js": "7a858ba4761d18d18fc39a161f322cb6b27a9ef1", │ │ + "/chunk-LB45P3OT.js": "4609593f415cb541ab85c548e6ff6cd937ed5ff1", │ │ "/chunk-LM73TW6C.js": "8613de29c183a6b509f3ccc1dc6d9c18f6898fd7", │ │ "/chunk-LNV6GU6I.js": "1682574a824b9dc753d1428caa686b80d779454c", │ │ "/chunk-LQG3CT52.js": "5f1a490b88a263a913c427e94b7d85a13ec00c77", │ │ "/chunk-LSQXZXIN.js": "4c5f7e303aaace1a07b0dffc4d4b1100376395dd", │ │ "/chunk-LXBNF6BI.js": "6f574527bac56f8f4e2cb78682fd3280fb6495aa", │ │ "/chunk-LZTFCOMM.js": "ef85dbd08999446aa92330a73b8b03c7708080c7", │ │ "/chunk-MAQCQPYF.js": "8962f5bde977491e99943d87df7a9efbac7264a5", │ │ + "/chunk-MBRUDQTP.js": "041056e21aa3d12905174b3255313cf9743cc43d", │ │ "/chunk-MJRMB3Q7.js": "b2a8b6296c3f99cf706bf0be8f30ef56d6f9c811", │ │ - "/chunk-N7J3ND3R.js": "20e10a5c5b3eec08059bef8daa531c813f14d325", │ │ "/chunk-NDQ3Q4KS.js": "557febb2e96b85cf74410a7edbe388ce4d54fbc4", │ │ "/chunk-NSWSCXDD.js": "cd08a2144ffb01a1c035314d827814cab9ee24a0", │ │ "/chunk-O5LJNYV7.js": "1498887bd905bb7413edf888e5143a9d563b53f0", │ │ "/chunk-O7GCT4P3.js": "f9caec22a6643d54b561eac31e7d2493040ad900", │ │ + "/chunk-O7IWCIY2.js": "ca6e05d80345313c8050c16a6e4cf81c604e8998", │ │ "/chunk-OKE7ST2R.js": "a92b0efca8c50b753085fe2bb66fdf8e3f48e86a", │ │ "/chunk-OOI5L6OH.js": "6ae9e81b06709a7bc40a7e3751966adf1027f48a", │ │ "/chunk-OOSBDT4O.js": "476178a6e2a61c62c377089f7dac32db12f0d055", │ │ "/chunk-OPH22EME.js": "48c0686d70faafd054eabd3ac05daa19bc038daf", │ │ "/chunk-OZRV5URM.js": "953ce6f5359dc648d6291d45b7de80a00eb638ee", │ │ "/chunk-P5HNB7MB.js": "7e03f07e265a70c71c6662de311cda2da1be5b8b", │ │ "/chunk-P6BNEPN3.js": "68bb00f5c76eb2a9127e8afd65d43b2468f48b45", │ │ "/chunk-PVN2PXP4.js": "2b39bd43b3b0e1d49d25fb816d10715c00a3aea5", │ │ "/chunk-Q2URH4BK.js": "c5cd2a7699598e15239d66eb8ac9f91111118228", │ │ "/chunk-QIIT4CJH.js": "e84aab0080e7ea415b776b8ab769780f68f18da1", │ │ - "/chunk-QQRWU6BQ.js": "66a2ac97be6bb7c4408919d31bc2f30b6e4c3c38", │ │ "/chunk-QTZ6FD6W.js": "9ec66aafd1c9ffe6ce40c6cc22ec069000d85071", │ │ "/chunk-R3ZPD5LP.js": "cf9a5338b2eb496452d8d0a690394d9908992f2d", │ │ + "/chunk-REBCJ4XV.js": "7c1dcbd20833ca45ae83a2fcfcfc130edd48f3ee", │ │ "/chunk-REPY2QID.js": "cab470b34710dae315cce682f7faf13a40aaf3e4", │ │ "/chunk-RFZDDFKS.js": "112e1e825fbd0057973b446a41f0260482d33739", │ │ "/chunk-RHU3AIGY.js": "70f3005532610e087402505fa642745a0759fb44", │ │ "/chunk-RZQ3RRGP.js": "1b4453382d8f0073d261a22e78714dbdc8dd41a9", │ │ "/chunk-SIWR22TU.js": "e77a6ca58fdd14ddaeeec8671933b6a12c2a5681", │ │ "/chunk-SK44KT2J.js": "cc13d05aecd43531590a8c49d0db6acea09c5266", │ │ "/chunk-SLMGX7CW.js": "6e793b472e3d29f8f7d5390134d80a9fdbf6344a", │ │ "/chunk-SPDGNDOG.js": "5f073cf898b493f5896642da2470dd5529137f4a", │ │ "/chunk-SSK2YEBA.js": "377e9cd97630c9063f9add5d9802f26f604e16d1", │ │ "/chunk-T6BLOVKK.js": "f456e3f0b06eb69a7b66e86ac9cda4f16e9cef95", │ │ "/chunk-TKLMMF3T.js": "59fcaad8fc64cea4c1917649ea0e061cec8d9d9b", │ │ - "/chunk-UAE3QC5G.js": "786012322b94e1a8afaf83b6e06851f2a1901f62", │ │ "/chunk-UEYYHKKI.js": "e2cc10d58fda7d888dbc7ec05f0736072d19356a", │ │ "/chunk-UFC7HRFK.js": "c9d1861142cea57462a2e9fd91e4abf0207afd80", │ │ "/chunk-UHJC7PJM.js": "5b919596993bfbf3fc71adc2144d349d34001bed", │ │ "/chunk-UXKUAX2W.js": "54bc2050b02cdf03b95c5479721c248d576feb1d", │ │ "/chunk-VEWWAODR.js": "267c32734abd31a25f7582fe272bf296aa9ac8e7", │ │ "/chunk-VQ6IUYH2.js": "6e26eeb6af0e3d7d661f1d4f7757584701c044d5", │ │ + "/chunk-VSQ27RVA.js": "140835f89e8241509ce33856579b3c0ded9c8a6b", │ │ "/chunk-VUJ4NTPJ.js": "103a17bc8c3a06d4b63d098aa4ed016c580b3fa8", │ │ "/chunk-VUYOB34N.js": "ffb3a5531e280eb9d20bc07f9e469437943d5809", │ │ "/chunk-VW4V5P53.js": "9a0f87f3de6e84bcaa2d4bb6c97cddf6b36491f0", │ │ + "/chunk-VXFCGPLJ.js": "805aadd628d49138a7288a1cb989e65b30b3f72f", │ │ "/chunk-VYVUDCUO.js": "2f1fc29b91698f139a39ca4c4894101beba4bb11", │ │ "/chunk-W6MLVBN4.js": "88a5eccf81729f76b607aedfb5060001672cc805", │ │ "/chunk-WADXDJKS.js": "3009d9dd99e4d403ab7070eb9fdbe63f8a49c6ec", │ │ "/chunk-WD2BQIDZ.js": "1fda8304503f0bfe49249d24c431f2840ca74185", │ │ "/chunk-WV34QSL5.js": "94205da573b6a2350dd724b28fda22b121d9c653", │ │ - "/chunk-WXLHVHT5.js": "7b62e092b84d1d4f6dee320b14219b0f6b51a68f", │ │ "/chunk-X4YSF26H.js": "e7a01e1d220134647401e9c4af4d8787ebe3d9b3", │ │ "/chunk-X5VPYFW4.js": "b7e032935f03e8ceb1f8ee3dfaa24583888cd85a", │ │ "/chunk-XA7JEECX.js": "dcf5c7066dc9c444fbabd2f5a61740de6796c0f0", │ │ "/chunk-XU2E3I7U.js": "42be333379abd934534b707aa2e0824a038af868", │ │ "/chunk-XYVX43AE.js": "2531fb885ba75fd4e273b7c143d9f78c3660efc5", │ │ "/chunk-YND36B7T.js": "9198097a8f784d9ecdf902746c3bc90664ae6087", │ │ "/chunk-Z4KTBGNU.js": "f3aa4d0b9cd26590c72050948fff15f2f96d2372", │ │ - "/chunk-ZBSZGPXO.js": "e3ffa0e461c55d3f80c4d9a5bfa3bc0c1bd33672", │ │ "/chunk-ZCJ6XKWS.js": "92a205b201b6d13a52a27a7480642d07f538e277", │ │ "/chunk-ZEGXBUIB.js": "6d1e94c60f1dce927e51659316fe1b51cea32641", │ │ "/chunk-ZI4KLVKW.js": "dea2bd4bb750796a93243c9068e5402a5f849a5f", │ │ "/chunk-ZRL2K32L.js": "ccc1ae095144b3ccd7c7deb2b55f7c8f4a54ba2a", │ │ "/chunk-ZSIDNPGH.js": "5a78f8b5a83a2b7ea68b26bc1142945ebdec9c04", │ │ "/chunk-ZYZHOCFG.js": "b345ba4248e30c4f7e10e330c89daa5504109f45", │ │ "/chunk-ZZIUIE5A.js": "0b35c86ca2f86bdd4e557ad0078cdfbdb32dd3e6", │ │ "/favicon.ico": "041b337586bb0e48da6f4fdfc846ef3594373009", │ │ - "/index.html": "975a9f352e5356b2f8849986683359f59532b5ec", │ │ - "/main-3JXKQESV.js": "06e6b15b22f140672899bfa2a772d3d0aae14e15", │ │ + "/index.html": "a544c9392b99b9f180762c87d34d58fae92dd83c", │ │ + "/main-6IYMKSCU.js": "eb778dc6235d821df889775348d69ccdc4fa4b36", │ │ "/manifest.json": "94d39d23fcd194a0c89eb3bcd838730cec7cabee", │ │ "/polyfills-NKH4EFFM.js": "1a225c74b33dcf1ec2af1023651e21ef58b7eb90", │ │ "/styles-ADPCC6PJ.css": "e4fdf538ee0d64855a2d39458e709ba3860e33f8", │ │ "/worker-2QJX3KRK.js": "0ffc9776e8630b2d472dd5ac3ef75eb43dfd3638" │ │ }, │ │ "index": "/index.html", │ │ "navigationRequestStrategy": "performance", │ │ @@ -560,9 +560,9 @@ │ │ "regex": "^\\/(?:.+\\/)?[^/]*__[^/]*$" │ │ }, │ │ { │ │ "positive": false, │ │ "regex": "^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$" │ │ } │ │ ], │ │ - "timestamp": 1763153217910 │ │ + "timestamp": 1763427542072 │ │ } ├── assets/public/index.html │ @@ -7092,16 +7092,16 @@ │ 0001bb30: 2866 756e 6374 696f 6e20 2829 207b 7d29 (function () {}) │ 0001bb40: 2829 3b0a 2020 2020 3c2f 7363 7269 7074 ();. .
  • │ 0001bc20: 3c6c 696e 6b20 7265 6c3d 226d 6f64 756c < │ 0001bd20: 6c69 6e6b 2072 656c 3d22 6d6f 6475 6c65 link rel="module │ 0001bd30: 7072 656c 6f61 6422 2068 7265 663d 2263 preload" href="c │ -0001bd40: 6875 6e6b 2d36 494e 4f4f 4e59 592e 6a73 hunk-6INOONYY.js │ +0001bd40: 6875 6e6b 2d46 334a 3237 344b 582e 6a73 hunk-F3J274KX.js │ 0001bd50: 223e 3c73 6372 6970 7420 7372 633d 2270 ">.. │ --- assets/public/main-3JXKQESV.js.map ├── +++ assets/public/main-6IYMKSCU.js.map │┄ Files identical despite different names │ --- assets/public/main-3JXKQESV.js ├── +++ assets/public/main-6IYMKSCU.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -27,15 +27,15 @@ │ │ t as Ny, │ │ u as Ly, │ │ v as T2, │ │ w as mm, │ │ x as By, │ │ y as $y, │ │ z as S2 │ │ -} from "./chunk-QQRWU6BQ.js"; │ │ +} from "./chunk-VXFCGPLJ.js"; │ │ import { │ │ a as Po, │ │ b as kl │ │ } from "./chunk-UEYYHKKI.js"; │ │ import { │ │ a as NT, │ │ b as XD, │ │ @@ -95,38 +95,38 @@ │ │ import { │ │ b as Vy, │ │ c as b2 │ │ } from "./chunk-3WHPBJIB.js"; │ │ import { │ │ a as jy, │ │ b as y2 │ │ -} from "./chunk-6INOONYY.js"; │ │ +} from "./chunk-F3J274KX.js"; │ │ import { │ │ a as O0, │ │ b as vD, │ │ c as kb, │ │ d as jA, │ │ e as wb, │ │ f as WA, │ │ g as Dl, │ │ h as mf │ │ -} from "./chunk-UAE3QC5G.js"; │ │ +} from "./chunk-GC5WBHZW.js"; │ │ import { │ │ a as Sp, │ │ b as bp, │ │ c as XT │ │ } from "./chunk-SSK2YEBA.js"; │ │ import { │ │ a as fp, │ │ b as AT │ │ } from "./chunk-3UB54IM4.js"; │ │ import { │ │ f as Ir, │ │ g as Uc │ │ -} from "./chunk-WXLHVHT5.js"; │ │ +} from "./chunk-LB45P3OT.js"; │ │ import { │ │ a as Zp, │ │ b as xb, │ │ c as Ty, │ │ d as Sy, │ │ e as by, │ │ f as yy, │ │ @@ -362,15 +362,15 @@ │ │ b as ZA │ │ } from "./chunk-GA57RO43.js"; │ │ import { │ │ a as ao, │ │ b as KA, │ │ k as wr, │ │ l as jc │ │ -} from "./chunk-JOZ5GPNW.js"; │ │ +} from "./chunk-VSQ27RVA.js"; │ │ import { │ │ A as FA, │ │ B as df, │ │ C as NA, │ │ G as $c, │ │ H as vb, │ │ I as Tb, │ │ @@ -399,15 +399,15 @@ │ │ t as Qe, │ │ u as lf, │ │ v as Xp, │ │ w as pb, │ │ x as mb, │ │ y as cf, │ │ z as gb │ │ -} from "./chunk-N7J3ND3R.js"; │ │ +} from "./chunk-4FWJVYBW.js"; │ │ import { │ │ a as El, │ │ b as ab, │ │ c as qp │ │ } from "./chunk-SK44KT2J.js"; │ │ import "./chunk-ZRL2K32L.js"; │ │ import { │ │ @@ -13357,15 +13357,15 @@ │ │ var jw, Uw = D(() => { │ │ "use strict"; │ │ Bw(); │ │ Co(); │ │ Vw(); │ │ jw = [{ │ │ path: "config", │ │ - loadComponent: () => import("./chunk-CDZD463J.js").then(i => i.ConfigPageComponent), │ │ + loadComponent: () => import("./chunk-B7H6M7AD.js").then(i => i.ConfigPageComponent), │ │ data: { │ │ page: "config" │ │ }, │ │ canActivate: [ai] │ │ }, { │ │ path: "search", │ │ loadComponent: () => import("./chunk-ZSIDNPGH.js").then(i => i.SearchPageComponent), │ │ @@ -13427,22 +13427,22 @@ │ │ loadComponent: () => import("./chunk-ZZIUIE5A.js").then(i => i.QuickHistoryComponent), │ │ data: { │ │ page: "quick-history" │ │ }, │ │ canActivate: [Na, ai] │ │ }, { │ │ path: "tag/:id/daily-summary", │ │ - loadComponent: () => import("./chunk-FQ25BWNG.js").then(i => i.DailySummaryComponent), │ │ + loadComponent: () => import("./chunk-REBCJ4XV.js").then(i => i.DailySummaryComponent), │ │ data: { │ │ page: "daily-summary" │ │ }, │ │ canActivate: [Na, ai] │ │ }, { │ │ path: "tag/:id/daily-summary/:dayStr", │ │ - loadComponent: () => import("./chunk-FQ25BWNG.js").then(i => i.DailySummaryComponent), │ │ + loadComponent: () => import("./chunk-REBCJ4XV.js").then(i => i.DailySummaryComponent), │ │ data: { │ │ page: "daily-summary" │ │ }, │ │ canActivate: [Na, ai] │ │ }, { │ │ path: "tag/:id/metrics", │ │ loadComponent: () => import("./chunk-LNV6GU6I.js").then(i => i.MetricPageComponent), │ │ @@ -13483,41 +13483,41 @@ │ │ loadComponent: () => import("./chunk-LNV6GU6I.js").then(i => i.MetricPageComponent), │ │ data: { │ │ page: "metrics" │ │ }, │ │ canActivate: [La, ai] │ │ }, { │ │ path: "project/:id/daily-summary", │ │ - loadComponent: () => import("./chunk-FQ25BWNG.js").then(i => i.DailySummaryComponent), │ │ + loadComponent: () => import("./chunk-REBCJ4XV.js").then(i => i.DailySummaryComponent), │ │ data: { │ │ page: "daily-summary" │ │ }, │ │ canActivate: [La, ai] │ │ }, { │ │ path: "project/:id/daily-summary/:dayStr", │ │ - loadComponent: () => import("./chunk-FQ25BWNG.js").then(i => i.DailySummaryComponent), │ │ + loadComponent: () => import("./chunk-REBCJ4XV.js").then(i => i.DailySummaryComponent), │ │ data: { │ │ page: "daily-summary" │ │ }, │ │ canActivate: [La, ai] │ │ }, { │ │ path: "active/:subPageType", │ │ canActivate: [ou, ai], │ │ - loadComponent: () => import("./chunk-CDZD463J.js").then(i => i.ConfigPageComponent) │ │ + loadComponent: () => import("./chunk-B7H6M7AD.js").then(i => i.ConfigPageComponent) │ │ }, { │ │ path: "active/:subPageType/:param", │ │ canActivate: [ou, ai], │ │ - loadComponent: () => import("./chunk-CDZD463J.js").then(i => i.ConfigPageComponent) │ │ + loadComponent: () => import("./chunk-B7H6M7AD.js").then(i => i.ConfigPageComponent) │ │ }, { │ │ path: "active", │ │ canActivate: [ou, ai], │ │ - loadComponent: () => import("./chunk-CDZD463J.js").then(i => i.ConfigPageComponent) │ │ + loadComponent: () => import("./chunk-B7H6M7AD.js").then(i => i.ConfigPageComponent) │ │ }, { │ │ path: "plugins/:pluginId/index", │ │ - loadComponent: () => import("./chunk-DEOTHOLQ.js").then(i => i.PluginIndexComponent), │ │ + loadComponent: () => import("./chunk-MBRUDQTP.js").then(i => i.PluginIndexComponent), │ │ data: { │ │ page: "plugin-index" │ │ }, │ │ canActivate: [ai] │ │ }, { │ │ path: "contrast-test", │ │ loadComponent: () => import("./chunk-3CKXF2DV.js").then(i => i.ContrastTestComponent), │ │ @@ -32186,8 +32186,8 @@ │ │ ne.log("Time window for completing sync started"), yield R0(2e4), ne.log("Time window for completing sync ended. Closing app!"), zg.finish({ │ │ taskId: e │ │ }) │ │ })) │ │ }))) │ │ }); │ │ export default YW(); │ │ -//# sourceMappingURL=main-3JXKQESV.js.map │ │ +//# sourceMappingURL=main-6IYMKSCU.js.map │ --- assets/public/chunk-ZBSZGPXO.js ├── +++ assets/public/chunk-MBRUDQTP.js │┄ Files 94% similar despite different names │ ├── js-beautify {} │ │ @@ -1,12 +1,15 @@ │ │ import { │ │ - s as a, │ │ - t as b │ │ -} from "./chunk-JOZ5GPNW.js"; │ │ -import "./chunk-N7J3ND3R.js"; │ │ + a, │ │ + b │ │ +} from "./chunk-F3J274KX.js"; │ │ +import "./chunk-LB45P3OT.js"; │ │ +import "./chunk-X4YSF26H.js"; │ │ +import "./chunk-VSQ27RVA.js"; │ │ +import "./chunk-4FWJVYBW.js"; │ │ import "./chunk-SK44KT2J.js"; │ │ import "./chunk-ZRL2K32L.js"; │ │ import "./chunk-LQG3CT52.js"; │ │ import "./chunk-HR6HBFFX.js"; │ │ import "./chunk-DIJOYYEF.js"; │ │ import "./chunk-ILSM6BL5.js"; │ │ import "./chunk-J4FZLQ4E.js"; │ │ @@ -46,10 +49,10 @@ │ │ import "./chunk-Q2URH4BK.js"; │ │ import "./chunk-VYVUDCUO.js"; │ │ import "./chunk-2KEZIUSW.js"; │ │ import "./chunk-MAQCQPYF.js"; │ │ import "./chunk-2NYJ54WT.js"; │ │ b(); │ │ export { │ │ - a as PluginRunner │ │ + a as PluginIndexComponent │ │ }; │ │ -//# sourceMappingURL=chunk-ZBSZGPXO.js.map │ │ +//# sourceMappingURL=chunk-MBRUDQTP.js.map │ --- assets/public/chunk-WXLHVHT5.js.map ├── +++ assets/public/chunk-LB45P3OT.js.map │┄ Files identical despite different names │ --- assets/public/chunk-WXLHVHT5.js ├── +++ assets/public/chunk-LB45P3OT.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -5,21 +5,21 @@ │ │ f as Qe, │ │ i as Ne, │ │ j as et, │ │ q as Ae, │ │ r as tt, │ │ s as $e, │ │ t as it │ │ -} from "./chunk-JOZ5GPNW.js"; │ │ +} from "./chunk-VSQ27RVA.js"; │ │ import { │ │ G as Ce, │ │ H as Je, │ │ j as be, │ │ k as Xe │ │ -} from "./chunk-N7J3ND3R.js"; │ │ +} from "./chunk-4FWJVYBW.js"; │ │ import { │ │ e as fe, │ │ f as me, │ │ g as Pe, │ │ i as _e, │ │ j as Se, │ │ k as Ee, │ │ @@ -1126,8 +1126,8 @@ │ │ } │ │ return d │ │ })() │ │ }); │ │ export { │ │ Te as a, Le as b, Z as c, Y as d, Oe as e, oi as f, nt as g │ │ }; │ │ -//# sourceMappingURL=chunk-WXLHVHT5.js.map │ │ +//# sourceMappingURL=chunk-LB45P3OT.js.map │ --- assets/public/chunk-UAE3QC5G.js.map ├── +++ assets/public/chunk-GC5WBHZW.js.map │┄ Files identical despite different names │ --- assets/public/chunk-UAE3QC5G.js ├── +++ assets/public/chunk-GC5WBHZW.js │┄ Files 98% similar despite different names │ ├── js-beautify {} │ │ @@ -1,15 +1,15 @@ │ │ import { │ │ f as F, │ │ g as U │ │ -} from "./chunk-WXLHVHT5.js"; │ │ +} from "./chunk-LB45P3OT.js"; │ │ import { │ │ a as O, │ │ b as q │ │ -} from "./chunk-N7J3ND3R.js"; │ │ +} from "./chunk-4FWJVYBW.js"; │ │ import { │ │ a as k, │ │ b as R, │ │ s as E, │ │ x as H, │ │ y as A │ │ } from "./chunk-LXBNF6BI.js"; │ │ @@ -161,8 +161,8 @@ │ │ let t = new SpeechSynthesisUtterance; │ │ t.text = e, t.voice = l.getVoices().find(i => n.includes(i.name)) || l.getVoices().find(i => i.default) || null, console.log(o), t.volume = o / 100, l.speak(t) │ │ } │ │ }); │ │ export { │ │ te as a, W as b, se as c, X as d, ve as e, Y as f, me as g, Q as h │ │ }; │ │ -//# sourceMappingURL=chunk-UAE3QC5G.js.map │ │ +//# sourceMappingURL=chunk-GC5WBHZW.js.map │ --- assets/public/chunk-QQRWU6BQ.js.map ├── +++ assets/public/chunk-VXFCGPLJ.js.map │┄ Files identical despite different names │ --- assets/public/chunk-QQRWU6BQ.js ├── +++ assets/public/chunk-VXFCGPLJ.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -16,15 +16,15 @@ │ │ import { │ │ a as vi, │ │ b as so │ │ } from "./chunk-QTZ6FD6W.js"; │ │ import { │ │ e as ze, │ │ i as Qt │ │ -} from "./chunk-N7J3ND3R.js"; │ │ +} from "./chunk-4FWJVYBW.js"; │ │ import { │ │ a as fi, │ │ b as no │ │ } from "./chunk-4XWXXJ7V.js"; │ │ import { │ │ b as mi, │ │ c as oo │ │ @@ -2630,8 +2630,8 @@ │ │ } │ │ return o │ │ })() │ │ }); │ │ export { │ │ on as a, co as b, bi as c, Si as d, ya as e, Ca as f, Da as g, va as h, ka as i, ba as j, Sa as k, Ra as l, xa as m, Ma as n, Ta as o, Jo as p, ln as q, uo as r, xi as s, Mi as t, Ti as u, Ei as v, qn as w, So as x, Pr as y, Po as z │ │ }; │ │ -//# sourceMappingURL=chunk-QQRWU6BQ.js.map │ │ +//# sourceMappingURL=chunk-VXFCGPLJ.js.map │ --- assets/public/chunk-N7J3ND3R.js.map ├── +++ assets/public/chunk-4FWJVYBW.js.map │┄ Files 99% similar despite different names │ ├── Pretty-printed │ │┄ Similarity: 0.9982456140350878% │ │┄ Differences: {"'sourcesContent'": "{insert: [(62, '// This file is auto-generated by tools/load-env.js\\n// Do " │ │┄ 'not modify directly - edit .env file instead\\n// Generated at: ' │ │┄ '2025-11-18T00:55:29.860Z\\n\\n/**\\n * Environment variables loaded from ' │ │┄ '.env file\\n * Access these constants instead of process.env in your Angular ' │ │┄ 'app\\n */\\nexport const ENV = {\\n\\n} as const;\\n\\n// Type-safe helper ' │ │┄ 'to en […] │ │ @@ -4605,15 +4605,15 @@ │ │ "import * as i0 from '@angular/core';\nimport { ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { FieldType, FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';\nimport * as i1 from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport * as i2 from '@angular/material/slider';\nimport { MatSliderModule } from '@angular/material/slider';\nimport * as i3 from '@ngx-formly/core';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCommonModule, MatRippleModule } from '@angular/material/core';\nlet FormlyFieldSlider = /*#__PURE__*/(() => {\n class FormlyFieldSlider extends FieldType {\n constructor() {\n super(...arguments);\n this.defaultOptions = {\n props: {\n hideFieldUnderline: true,\n floatLabel: 'always',\n displayWith: value => `${value}`\n }\n };\n }\n static {\n this.\u0275fac = /* @__PURE__ */(() => {\n let \u0275FormlyFieldSlider_BaseFactory;\n return function FormlyFieldSlider_Factory(__ngFactoryType__) {\n return (\u0275FormlyFieldSlider_BaseFactory || (\u0275FormlyFieldSlider_BaseFactory = i0.\u0275\u0275getInheritedFactory(FormlyFieldSlider)))(__ngFactoryType__ || FormlyFieldSlider);\n };\n })();\n }\n static {\n this.\u0275cmp = /* @__PURE__ */i0.\u0275\u0275defineComponent({\n type: FormlyFieldSlider,\n selectors: [[\"formly-field-mat-slider\"]],\n standalone: false,\n features: [i0.\u0275\u0275InheritDefinitionFeature],\n decls: 2,\n vars: 15,\n consts: [[3, \"input\", \"change\", \"id\", \"formlyAttributes\", \"tabIndex\", \"color\", \"displayWith\", \"max\", \"min\", \"step\", \"discrete\", \"showTickMarks\"], [\"matSliderThumb\", \"\", 3, \"formControl\", \"formlyAttributes\"]],\n template: function FormlyFieldSlider_Template(rf, ctx) {\n if (rf & 1) {\n i0.\u0275\u0275elementStart(0, \"mat-slider\", 0);\n i0.\u0275\u0275listener(\"input\", function FormlyFieldSlider_Template_mat_slider_input_0_listener($event) {\n return ctx.props.input && ctx.props.input(ctx.field, $event);\n })(\"change\", function FormlyFieldSlider_Template_mat_slider_change_0_listener($event) {\n return ctx.props.change && ctx.props.change(ctx.field, $event);\n });\n i0.\u0275\u0275element(1, \"input\", 1);\n i0.\u0275\u0275elementEnd();\n }\n if (rf & 2) {\n i0.\u0275\u0275styleProp(\"width\", \"100%\");\n i0.\u0275\u0275property(\"id\", ctx.id)(\"formlyAttributes\", ctx.field)(\"tabIndex\", ctx.props.tabindex)(\"color\", ctx.props.color)(\"displayWith\", ctx.props.displayWith)(\"max\", ctx.props.max)(\"min\", ctx.props.min)(\"step\", ctx.props.step)(\"discrete\", ctx.props.discrete)(\"showTickMarks\", ctx.props.showTickMarks)(\"step\", ctx.props.step);\n i0.\u0275\u0275advance();\n i0.\u0275\u0275property(\"formControl\", ctx.formControl)(\"formlyAttributes\", ctx.field);\n }\n },\n dependencies: [i1.DefaultValueAccessor, i1.NgControlStatus, i1.FormControlDirective, i2.MatSlider, i2.MatSliderThumb, i3.LegacyFormlyAttributes],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return FormlyFieldSlider;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction withFormlyFieldSlider() {\n return {\n types: [{\n name: 'slider',\n component: FormlyFieldSlider,\n wrappers: ['form-field']\n }]\n };\n}\nlet FormlyMatSliderModule = /*#__PURE__*/(() => {\n class FormlyMatSliderModule {\n static {\n this.\u0275fac = function FormlyMatSliderModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FormlyMatSliderModule)();\n };\n }\n static {\n this.\u0275mod = /* @__PURE__ */i0.\u0275\u0275defineNgModule({\n type: FormlyMatSliderModule\n });\n }\n static {\n this.\u0275inj = /* @__PURE__ */i0.\u0275\u0275defineInjector({\n imports: [CommonModule, MatCommonModule, MatRippleModule, ReactiveFormsModule, MatSliderModule, FormlyMatFormFieldModule, FormlyModule.forChild(withFormlyFieldSlider())]\n });\n }\n }\n return FormlyMatSliderModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FormlyFieldSlider, FormlyMatSliderModule, withFormlyFieldSlider };\n", │ │ "import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport {\n MatAutocomplete,\n MatAutocompleteSelectedEvent,\n MatAutocompleteTrigger,\n MatOption,\n} from '@angular/material/autocomplete';\nimport {\n MatChipGrid,\n MatChipInput,\n MatChipInputEvent,\n MatChipRemove,\n MatChipRow,\n} from '@angular/material/chips';\nimport { MatIcon } from '@angular/material/icon';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { T } from '../../../t.const';\nimport { TagService } from '../tag.service';\nimport { TaskService } from '../../tasks/task.service';\nimport { TaskCopy } from '../../tasks/task.model';\nimport { TagComponent } from '../tag/tag.component';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { TODAY_TAG } from '../tag.const';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\ninterface Suggestion {\n id: string;\n title: string;\n\n [key: string]: any;\n}\n\nconst DEFAULT_SEPARATOR_KEY_CODES: number[] = [ENTER, COMMA];\n\n@Component({\n selector: 'tag-edit',\n standalone: true,\n imports: [\n MatAutocomplete,\n MatAutocompleteTrigger,\n MatChipGrid,\n MatChipInput,\n MatChipRow,\n MatIcon,\n MatChipRemove,\n TagComponent,\n ReactiveFormsModule,\n MatOption,\n TranslatePipe,\n ],\n templateUrl: './tag-edit.component.html',\n styleUrl: './tag-edit.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TagEditComponent {\n T: typeof T = T;\n\n private _tagService = inject(TagService);\n private _taskService = inject(TaskService);\n private readonly _destroyRef = inject(DestroyRef);\n\n task = input();\n isShowMyDayTag = input(false);\n tagIds = input.required();\n excludedTagIds = input();\n tagUpdate = output();\n\n escapePress = output();\n\n inputCtrl: UntypedFormControl = new UntypedFormControl();\n separatorKeysCodes: number[] = DEFAULT_SEPARATOR_KEY_CODES;\n\n readonly inputEl = viewChild>('inputElRef');\n readonly matAutocomplete = viewChild('autoElRef');\n\n inputVal = signal('');\n tagSuggestions = computed(() =>\n this.isShowMyDayTag()\n ? this._tagService.tagsSortedForUI()\n : this._tagService.tagsNoMyDayAndNoListSorted(),\n );\n\n constructor() {\n this.inputCtrl.valueChanges\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((value: string | null) => {\n this.inputVal.set(value ?? '');\n });\n }\n\n allExcludedTagIds = computed(() => [\n ...this.tagIds(),\n ...(this.excludedTagIds() || []),\n TODAY_TAG.id,\n ]);\n filteredSuggestions = computed(() => {\n const val = this.inputVal();\n const allExcludedTagIds = this.allExcludedTagIds();\n\n if (!val) {\n return this.tagSuggestions().filter(\n (suggestion) => !allExcludedTagIds.includes(suggestion.id),\n );\n }\n const filterValue = val.toLowerCase();\n\n return this.tagSuggestions().filter(\n (suggestion) =>\n suggestion.title.toLowerCase().indexOf(filterValue) === 0 &&\n !allExcludedTagIds.includes(suggestion.id),\n );\n });\n\n tagItems = computed(() => {\n const suggestions = this.tagSuggestions();\n return suggestions.length\n ? (this.tagIds()\n .map((id) => suggestions.find((suggestion) => suggestion.id === id))\n .filter((v) => v) as Suggestion[])\n : [];\n });\n\n add(event: MatChipInputEvent): void {\n const matAutocomplete = this.matAutocomplete();\n if (!matAutocomplete) {\n throw new Error('Auto complete undefined');\n }\n\n if (!matAutocomplete.isOpen) {\n const inp = event.input;\n const value = event.value;\n\n // Add our fruit\n if ((value || '').trim()) {\n this._addByTitle(value.trim());\n }\n\n inp.value = '';\n\n this.inputCtrl.setValue(null);\n }\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (event.code === 'Escape') {\n this.escapePress.emit();\n }\n }\n\n focusInput(): void {\n const inputEl = this.inputEl();\n if (inputEl) {\n inputEl.nativeElement.focus();\n }\n }\n\n remove(id: string): void {\n this._updateModel(this.tagIds().filter((tid) => tid !== id));\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n this._add(event.option.value);\n const inputEl = this.inputEl();\n if (inputEl) {\n inputEl.nativeElement.value = '';\n }\n this.inputCtrl.setValue(null);\n }\n\n private _updateModel(v: string[]): void {\n this.tagUpdate.emit(v);\n const task = this.task();\n if (task) {\n this._taskService.updateTags(task, v);\n }\n }\n\n private _getExistingSuggestionByTitle(v: string): Suggestion | undefined {\n return this.tagSuggestions().find((suggestion) => suggestion.title === v);\n }\n\n private _add(id: string): void {\n // prevent double items\n if (!this.tagIds().includes(id)) {\n this._updateModel([...this.tagIds(), id]);\n }\n }\n\n private _addByTitle(v: string): void {\n const existing = this._getExistingSuggestionByTitle(v);\n if (existing) {\n if (!this.allExcludedTagIds().includes(existing.id)) {\n this._add(existing.id);\n }\n } else {\n this._createNewTag(v);\n }\n }\n\n private _createNewTag(title: string): void {\n const cleanTitle = (t: string): string => {\n return t.replace('#', '');\n };\n\n const id = this._tagService.addTag({ title: cleanTitle(title) });\n this._add(id);\n }\n\n protected readonly onkeydown = onkeydown;\n}\n", │ │ "\n @for (modelItem of tagItems(); track modelItem.id) {\n \n \n\n cancel\n \n \n }\n \n\n\n @for (suggestion of filteredSuggestions(); track suggestion.id) {\n \n \n \n }\n\n", │ │ "import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FieldType } from '@ngx-formly/material';\nimport { FormlyFieldConfig, FormlyModule } from '@ngx-formly/core';\nimport { T } from 'src/app/t.const';\nimport { TagEditComponent } from '../../features/tag/tag-edit/tag-edit.component';\n\n@Component({\n selector: 'formly-tag-selection',\n standalone: true,\n imports: [FormsModule, FormlyModule, ReactiveFormsModule, TagEditComponent],\n templateUrl: './formly-tag-selection.component.html',\n styleUrl: './formly-tag-selection.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyTagSelectionComponent extends FieldType {\n T: typeof T = T;\n}\n", │ │ "\n\n\n\n", │ │ "import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormlyFieldConfig, FormlyModule } from '@ngx-formly/core';\nimport { FieldType } from '@ngx-formly/material';\nimport { MatButton } from '@angular/material/button';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Log } from '../../core/log';\n\n@Component({\n selector: 'formly-btn',\n templateUrl: './formly-btn.component.html',\n styleUrl: './formly-btn.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormlyModule, MatButton, TranslatePipe],\n})\nexport class FormlyBtnComponent extends FieldType {\n onClick(): void {\n if (this.to.onClick) {\n const r = this.to.onClick(this.field, this.form, this.model);\n if (r && 'then' in r) {\n r.then((v) => {\n Log.log('update', v, this);\n this.formControl.setValue(v);\n this.form.markAsDirty();\n });\n } else {\n this.formControl.setValue(r);\n }\n }\n }\n}\n", │ │ "@if (value) {\n
    {{ value }}
    \n}\n\n {{ (to.text | translate) || 'Click Me' }}\n\n", │ │ - "// This file is auto-generated by tools/load-env.js\n// Do not modify directly - edit .env file instead\n// Generated at: 2025-11-14T20:46:24.491Z\n\n/**\n * Environment variables loaded from .env file\n * Access these constants instead of process.env in your Angular app\n */\nexport const ENV = {\n\n} as const;\n\n// Type-safe helper to ensure all expected env vars are defined\nexport type EnvVars = typeof ENV;\n", │ │ + "// This file is auto-generated by tools/load-env.js\n// Do not modify directly - edit .env file instead\n// Generated at: 2025-11-18T00:55:29.860Z\n\n/**\n * Environment variables loaded from .env file\n * Access these constants instead of process.env in your Angular app\n */\nexport const ENV = {\n\n} as const;\n\n// Type-safe helper to ensure all expected env vars are defined\nexport type EnvVars = typeof ENV;\n", │ │ "/**\n * Pure functions for accessing environment variables.\n * These can be used anywhere in the codebase, including outside Angular context.\n */\n\n// Import the generated environment constants\n// This file is auto-generated from .env by tools/load-env.js\nimport { ENV } from '../config/env.generated';\n\n/**\n * Get an environment variable value.\n * Returns undefined if the variable is not set.\n */\nexport const getEnv = (key: keyof typeof ENV): string | undefined => {\n return ENV[key] || undefined;\n};\n\n/**\n * Get an optional environment variable that may not be in the required list.\n * Use this for environment variables that are truly optional and may not be defined\n * in the REQUIRED_ENV_KEYS list in load-env.js.\n * Returns undefined if the variable is not set.\n */\nexport const getEnvOptional = (key: string): string | undefined => {\n return (ENV as any)[key] || undefined;\n};\n\n/**\n * Get an environment variable as a number.\n * Returns undefined if the value is not a valid number.\n */\nexport const getEnvNumber = (key: keyof typeof ENV): number | undefined => {\n const value = getEnv(key);\n if (value === undefined) return undefined;\n const num = Number(value);\n return isNaN(num) ? undefined : num;\n};\n\n/**\n * Get all environment variables as an object.\n * Useful for debugging or passing multiple values.\n */\nexport const getAllEnv = (): typeof ENV => ENV;\n", │ │ "import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { getEnvOptional } from '../../util/env';\n\nexport interface UnsplashPhoto {\n id: string;\n urls: {\n raw: string;\n full: string;\n regular: string;\n small: string;\n thumb: string;\n };\n links?: {\n self?: string;\n html?: string;\n download?: string;\n download_location?: string;\n };\n description: string | null;\n alt_description: string | null;\n user: {\n name: string;\n links?: {\n html?: string;\n };\n };\n}\n\nexport interface UnsplashSearchResponse {\n results: UnsplashPhoto[];\n total: number;\n total_pages: number;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UnsplashService {\n private _http = inject(HttpClient);\n\n private readonly API_URL = 'https://api.unsplash.com';\n // Register your app at https://unsplash.com/developers?utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit for a free Access Key (50 req/hour)\n // The Access Key is used with \"Client-ID\" prefix in the Authorization header\n private readonly ACCESS_KEY = getEnvOptional('UNSPLASH_KEY');\n\n isAvailable(): boolean {\n return !!this.ACCESS_KEY;\n }\n\n searchPhotos(query: string, page = 1): Observable {\n if (!query || query.trim() === '') {\n return of({ results: [], total: 0, total_pages: 0 });\n }\n\n if (!this.ACCESS_KEY) {\n console.warn(\n 'No Unsplash Access Key configured. Register at https://unsplash.com/developers?utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit',\n );\n return of({ results: [], total: 0, total_pages: 0 });\n }\n\n const params = {\n query: query.trim(),\n page: page.toString(),\n per_page: '20',\n orientation: 'landscape',\n };\n\n const url = `${this.API_URL}/search/photos`;\n const headers = {\n Authorization: `Client-ID ${this.ACCESS_KEY}`,\n };\n\n return this._http\n .get(url, {\n params,\n headers,\n })\n .pipe(\n catchError((error) => {\n console.error('Unsplash API error:', error);\n return of({ results: [], total: 0, total_pages: 0 });\n }),\n );\n }\n\n getPhotoUrl(\n photo: UnsplashPhoto,\n size: 'thumb' | 'small' | 'regular' = 'regular',\n ): string {\n return photo.urls[size];\n }\n\n /**\n * Get optimized image URL for backgrounds\n * @param photo - The Unsplash photo object\n * @param width - Desired width (default 2560 for high res displays)\n * @param quality - Image quality 1-100 (default 85)\n */\n getBackgroundImageUrl(photo: UnsplashPhoto, width = 2560, quality = 85): string {\n return `${photo.urls.raw}&w=${width}&q=${quality}&auto=format`;\n }\n\n /**\n * Add UTM parameters to Unsplash attribution links as required\n * @param url - The original Unsplash URL\n */\n addUtmParams(url: string): string {\n if (!url) return url;\n\n const separator = url.includes('?') ? '&' : '?';\n return `${url}${separator}utm_source=super-productivity&utm_medium=referral&utm_campaign=api-credit`;\n }\n\n /**\n * Trigger download tracking as required by Unsplash API guidelines\n * This must be called when a user selects a photo for use\n * @param photo - The selected photo\n */\n trackPhotoDownload(photo: UnsplashPhoto): Observable {\n if (!photo.links?.download_location) {\n console.warn('No download_location available for photo', photo.id);\n return of(null);\n }\n\n if (!this.ACCESS_KEY) {\n console.warn('No Unsplash Access Key configured');\n return of(null);\n }\n\n const headers = {\n Authorization: `Client-ID ${this.ACCESS_KEY}`,\n };\n\n // Call the download endpoint to track usage\n return this._http.get(photo.links.download_location, { headers }).pipe(\n catchError((error) => {\n console.error('Failed to track photo download:', error);\n // Don't fail the selection if tracking fails\n return of(null);\n }),\n );\n }\n}\n", │ │ "export const IS_MAC = navigator.platform.toUpperCase().indexOf('MAC') >= 0;\n", │ │ "import * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, EventEmitter, Directive, Optional, Inject, Input, Output } from '@angular/core';\nimport { registerables, Chart, defaults } from 'chart.js';\nimport { merge } from 'lodash-es';\nimport { BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nconst NG_CHARTS_CONFIGURATION = /*#__PURE__*/new InjectionToken('Configuration for ngCharts');\n/**\n * Provide all the default registerable as defined by Chart.js\n */\nfunction withDefaultRegisterables(...registerables$1) {\n return {\n registerables: [...registerables, ...registerables$1]\n };\n}\n/**\n * Provide configuration for ngCharts. In most cases, you have to pass it some registerables. So either\n * `withDefaultRegisterables()`, or a custom list of registerables tailored to your needs to reduce bundle size.\n */\nfunction provideCharts(...configurations) {\n const config = merge({}, ...configurations);\n return {\n provide: NG_CHARTS_CONFIGURATION,\n useValue: config\n };\n}\nlet ThemeService = /*#__PURE__*/(() => {\n class ThemeService {\n constructor() {\n this.colorschemesOptions = new BehaviorSubject(undefined);\n }\n setColorschemesOptions(options) {\n this.pColorschemesOptions = options;\n this.colorschemesOptions.next(options);\n }\n getColorschemesOptions() {\n return this.pColorschemesOptions;\n }\n static {\n this.\u0275fac = function ThemeService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ThemeService)();\n };\n }\n static {\n this.\u0275prov = /* @__PURE__ */i0.\u0275\u0275defineInjectable({\n token: ThemeService,\n factory: ThemeService.\u0275fac,\n providedIn: 'root'\n });\n }\n }\n return ThemeService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BaseChartDirective = /*#__PURE__*/(() => {\n class BaseChartDirective {\n constructor(element, zone, themeService, config) {\n this.zone = zone;\n this.themeService = themeService;\n this.type = 'bar';\n this.plugins = [];\n this.chartClick = new EventEmitter();\n this.chartHover = new EventEmitter();\n this.subs = [];\n this.themeOverrides = {};\n if (config?.registerables) {\n Chart.register(...config.registerables);\n }\n if (config?.defaults) {\n defaults.set(config.defaults);\n }\n this.ctx = element.nativeElement.getContext('2d');\n this.subs.push(this.themeService.colorschemesOptions.pipe(distinctUntilChanged()).subscribe(r => this.themeChanged(r)));\n }\n ngOnChanges(changes) {\n const requireRender = ['type'];\n const propertyNames = Object.getOwnPropertyNames(changes);\n if (propertyNames.some(key => requireRender.includes(key)) || propertyNames.every(key => changes[key].isFirstChange())) {\n this.render();\n } else {\n const config = this.getChartConfiguration();\n // Using assign to avoid changing the original object reference\n if (this.chart) {\n Object.assign(this.chart.config.data, config.data);\n if (this.chart.config.plugins) {\n Object.assign(this.chart.config.plugins, config.plugins);\n }\n if (this.chart.config.options) {\n Object.assign(this.chart.config.options, config.options);\n }\n }\n this.update();\n }\n }\n ngOnDestroy() {\n if (this.chart) {\n this.chart.destroy();\n this.chart = void 0;\n }\n this.subs.forEach(s => s.unsubscribe());\n }\n render() {\n if (this.chart) {\n this.chart.destroy();\n }\n return this.zone.runOutsideAngular(() => this.chart = new Chart(this.ctx, this.getChartConfiguration()));\n }\n update(mode) {\n if (this.chart) {\n this.zone.runOutsideAngular(() => this.chart?.update(mode));\n }\n }\n hideDataset(index, hidden) {\n if (this.chart) {\n this.chart.getDatasetMeta(index).hidden = hidden;\n this.update();\n }\n }\n isDatasetHidden(index) {\n return this.chart?.getDatasetMeta(index)?.hidden;\n }\n toBase64Image() {\n return this.chart?.toBase64Image();\n }\n themeChanged(options) {\n this.themeOverrides = options;\n if (this.chart) {\n if (this.chart.config.options) {\n Object.assign(this.chart.config.options, this.getChartOptions());\n }\n this.update();\n }\n }\n getChartOptions() {\n return merge({\n onHover: (event, active) => {\n if (!this.chartHover.observed && !this.chartHover.observers?.length) {\n return;\n }\n this.zone.run(() => this.chartHover.emit({\n event,\n active\n }));\n },\n onClick: (event, active) => {\n if (!this.chartClick.observed && !this.chartClick.observers?.length) {\n return;\n }\n this.zone.run(() => this.chartClick.emit({\n event,\n active\n }));\n }\n }, this.themeOverrides, this.options, {\n plugins: {\n legend: {\n display: this.legend\n }\n }\n });\n }\n getChartConfiguration() {\n return {\n type: this.type,\n data: this.getChartData(),\n options: this.getChartOptions(),\n plugins: this.plugins\n };\n }\n getChartData() {\n return this.data ? this.data : {\n labels: this.labels || [],\n datasets: this.datasets || []\n };\n }\n static {\n this.\u0275fac = function BaseChartDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BaseChartDirective)(i0.\u0275\u0275directiveInject(i0.ElementRef), i0.\u0275\u0275directiveInject(i0.NgZone), i0.\u0275\u0275directiveInject(ThemeService), i0.\u0275\u0275directiveInject(NG_CHARTS_CONFIGURATION, 8));\n };\n }\n static {\n this.\u0275dir = /* @__PURE__ */i0.\u0275\u0275defineDirective({\n type: BaseChartDirective,\n selectors: [[\"canvas\", \"baseChart\", \"\"]],\n inputs: {\n type: \"type\",\n legend: \"legend\",\n data: \"data\",\n options: \"options\",\n plugins: \"plugins\",\n labels: \"labels\",\n datasets: \"datasets\"\n },\n outputs: {\n chartClick: \"chartClick\",\n chartHover: \"chartHover\"\n },\n exportAs: [\"base-chart\"],\n features: [i0.\u0275\u0275NgOnChangesFeature]\n });\n }\n }\n return BaseChartDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\n * Public API Surface of ng2-charts\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseChartDirective, NG_CHARTS_CONFIGURATION, ThemeService, provideCharts, withDefaultRegisterables };\n", │ │ "export const IS_FIREFOX = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n", │ │ "import { inject, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Log } from '../log';\n\nexport interface CustomTheme {\n id: string;\n name: string;\n url: string;\n requiredMode?: 'dark' | 'light' | 'system';\n}\n\nexport const AVAILABLE_CUSTOM_THEMES: CustomTheme[] = [\n {\n id: 'default',\n name: 'Default',\n url: '',\n requiredMode: 'system',\n },\n {\n id: 'arc',\n name: 'Arc',\n url: 'assets/themes/arc.css',\n requiredMode: 'dark',\n },\n {\n id: 'dark-base',\n name: 'Dark Base',\n url: 'assets/themes/dark-base.css',\n requiredMode: 'dark',\n },\n {\n id: 'dracula',\n name: 'Dracula',\n url: 'assets/themes/dracula.css',\n requiredMode: 'dark',\n },\n {\n id: 'everforest',\n name: 'Everforest',\n url: 'assets/themes/everforest.css',\n requiredMode: 'system',\n },\n {\n id: 'rainbow',\n name: 'Rainbow',\n url: 'assets/themes/rainbow.css',\n requiredMode: 'system',\n },\n {\n id: 'glass',\n name: 'Glass',\n url: 'assets/themes/glass.css',\n requiredMode: 'dark',\n },\n {\n id: 'nord-polar-night',\n name: 'Nord Polar Night',\n url: 'assets/themes/nord-polar-night.css',\n requiredMode: 'dark',\n },\n {\n id: 'nord-snow-storm',\n name: 'Nord Snow Storm',\n url: 'assets/themes/nord-snow-storm.css',\n requiredMode: 'light',\n },\n];\n\n@Injectable({ providedIn: 'root' })\nexport class CustomThemeService {\n private document = inject(DOCUMENT);\n private currentThemeLinkElement: HTMLLinkElement | null = null;\n\n loadTheme(themeId: string): void {\n const theme = AVAILABLE_CUSTOM_THEMES.find((t) => t.id === themeId);\n\n if (!theme) {\n Log.err(`Theme with id ${themeId} not found`);\n return;\n }\n\n // Remove existing theme\n this.unloadCurrentTheme();\n\n // If default theme, no need to load external CSS\n if (theme.id === 'default' || !theme.url) {\n return;\n }\n\n // Create new link element for theme\n const linkElement = this.document.createElement('link');\n linkElement.rel = 'stylesheet';\n linkElement.href = theme.url;\n linkElement.id = 'custom-theme-stylesheet';\n\n // Add to head\n this.document.head.appendChild(linkElement);\n this.currentThemeLinkElement = linkElement;\n }\n\n unloadCurrentTheme(): void {\n if (this.currentThemeLinkElement) {\n this.currentThemeLinkElement.remove();\n this.currentThemeLinkElement = null;\n }\n\n // Also remove any existing custom theme stylesheets\n const existingThemeLink = this.document.getElementById('custom-theme-stylesheet');\n if (existingThemeLink) {\n existingThemeLink.remove();\n }\n }\n\n getAvailableThemes(): CustomTheme[] {\n return AVAILABLE_CUSTOM_THEMES;\n }\n}\n", │ │ "import { effect, inject, Injectable, signal } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { BodyClass, IS_ELECTRON } from '../../app.constants';\nimport { IS_MAC } from '../../util/is-mac';\nimport { distinctUntilChanged, map, startWith, switchMap, take } from 'rxjs/operators';\nimport { IS_TOUCH_ONLY } from '../../util/is-touch-only';\nimport { MaterialCssVarsService } from 'angular-material-css-vars';\nimport { DOCUMENT } from '@angular/common';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ChromeExtensionInterfaceService } from '../chrome-extension-interface/chrome-extension-interface.service';\nimport { ThemeService as NgChartThemeService } from 'ng2-charts';\nimport { GlobalConfigService } from '../../features/config/global-config.service';\nimport { WorkContextThemeCfg } from '../../features/work-context/work-context.model';\nimport { WorkContextService } from '../../features/work-context/work-context.service';\nimport { combineLatest, fromEvent, Observable, of } from 'rxjs';\nimport { IS_FIREFOX } from '../../util/is-firefox';\nimport { ImexViewService } from '../../imex/imex-meta/imex-view.service';\nimport { IS_MOUSE_PRIMARY, IS_TOUCH_PRIMARY } from '../../util/is-mouse-primary';\nimport { ChartConfiguration } from 'chart.js';\nimport { IS_ANDROID_WEB_VIEW } from '../../util/is-android-web-view';\nimport { androidInterface } from '../../features/android/android-interface';\nimport { HttpClient } from '@angular/common/http';\nimport { LS } from '../persistence/storage-keys.const';\nimport { CustomThemeService } from './custom-theme.service';\nimport { Log } from '../log';\nimport { LayoutService } from '../../core-ui/layout/layout.service';\n\nexport type DarkModeCfg = 'dark' | 'light' | 'system';\n\n@Injectable({ providedIn: 'root' })\nexport class GlobalThemeService {\n private document = inject(DOCUMENT);\n private _layoutService = inject(LayoutService);\n private _materialCssVarsService = inject(MaterialCssVarsService);\n private _workContextService = inject(WorkContextService);\n private _globalConfigService = inject(GlobalConfigService);\n private _matIconRegistry = inject(MatIconRegistry);\n private readonly _registeredPluginIcons = new Set();\n private _domSanitizer = inject(DomSanitizer);\n private _chartThemeService = inject(NgChartThemeService);\n private _chromeExtensionInterfaceService = inject(ChromeExtensionInterfaceService);\n private _imexMetaService = inject(ImexViewService);\n private _http = inject(HttpClient);\n private _customThemeService = inject(CustomThemeService);\n\n darkMode = signal(\n (localStorage.getItem(LS.DARK_MODE) as DarkModeCfg) || 'system',\n );\n\n private _isDarkThemeObs$: Observable = toObservable(this.darkMode).pipe(\n switchMap((darkMode) => {\n switch (darkMode) {\n case 'dark':\n return of(true);\n case 'light':\n return of(false);\n default:\n const darkModePreference = window.matchMedia('(prefers-color-scheme: dark)');\n return fromEvent(darkModePreference, 'change').pipe(\n map((e: any) => e.matches),\n startWith(darkModePreference.matches),\n );\n }\n }),\n distinctUntilChanged(),\n );\n\n isDarkTheme = toSignal(this._isDarkThemeObs$, { initialValue: false });\n\n private _backgroundImgObs$: Observable = combineLatest([\n this._workContextService.currentTheme$,\n this._isDarkThemeObs$,\n ]).pipe(\n map(([theme, isDarkMode]) =>\n isDarkMode ? theme.backgroundImageDark : theme.backgroundImageLight,\n ),\n distinctUntilChanged(),\n );\n\n backgroundImg = toSignal(this._backgroundImgObs$);\n\n init(): void {\n // This is here to make web page reloads on non-work-context pages at least usable\n this._setBackgroundTint(true);\n this._initIcons();\n this._initHandlersForInitialBodyClasses();\n this._initThemeWatchers();\n\n // Set up dark mode persistence effect\n effect(() => {\n const darkMode = this.darkMode();\n localStorage.setItem(LS.DARK_MODE, darkMode);\n });\n\n // Set up reactive custom theme updates\n this._setupCustomThemeEffect();\n }\n\n private _setDarkTheme(isDarkTheme: boolean): void {\n this._materialCssVarsService.setDarkTheme(isDarkTheme);\n this._setChartTheme(isDarkTheme);\n // this._materialCssVarsService.setDarkTheme(true);\n // this._materialCssVarsService.setDarkTheme(false);\n }\n\n private _setColorTheme(theme: WorkContextThemeCfg): void {\n this._materialCssVarsService.setAutoContrastEnabled(!!theme.isAutoContrast);\n this._setBackgroundTint(!!theme.isDisableBackgroundTint);\n\n // NOTE: setting undefined values does not seem to be a problem so we use !\n if (!theme.isAutoContrast) {\n this._materialCssVarsService.setContrastColorThresholdPrimary(theme.huePrimary!);\n this._materialCssVarsService.setContrastColorThresholdAccent(theme.hueAccent!);\n this._materialCssVarsService.setContrastColorThresholdWarn(theme.hueWarn!);\n }\n\n this._materialCssVarsService.setPrimaryColor(theme.primary!);\n this._materialCssVarsService.setAccentColor(theme.accent!);\n this._materialCssVarsService.setWarnColor(theme.warn!);\n }\n\n private _setBackgroundTint(isDisableBackgroundTint: boolean): void {\n // Simplify: toggle only the disable flag; CSS handles the rest\n this.document.body.classList.toggle(\n BodyClass.isDisableBackgroundTint,\n !!isDisableBackgroundTint,\n );\n }\n\n private _initIcons(): void {\n const icons: [string, string][] = [\n ['sp', 'assets/icons/sp.svg'],\n ['play', 'assets/icons/play.svg'],\n ['github', 'assets/icons/github.svg'],\n ['gitlab', 'assets/icons/gitlab.svg'],\n ['jira', 'assets/icons/jira.svg'],\n ['caldav', 'assets/icons/caldav.svg'],\n ['open_project', 'assets/icons/open-project.svg'],\n ['drag_handle', 'assets/icons/drag-handle.svg'],\n ['remove_today', 'assets/icons/remove-today-48px.svg'],\n ['estimate_remaining', 'assets/icons/estimate-remaining.svg'],\n ['working_today', 'assets/icons/working-today.svg'],\n ['repeat', 'assets/icons/repeat.svg'],\n ['gitea', 'assets/icons/gitea.svg'],\n ['redmine', 'assets/icons/redmine.svg'],\n ['calendar', 'assets/icons/calendar.svg'],\n ['early_on', 'assets/icons/early-on.svg'],\n ['tomorrow', 'assets/icons/tomorrow.svg'],\n ['next_week', 'assets/icons/next-week.svg'],\n ['keep', 'assets/icons/keep.svg'],\n ['keep_filled', 'assets/icons/keep-filled.svg'],\n ];\n\n // todo test if can be removed with airplane mode and wifi without internet\n icons.forEach(([name, path]) => {\n this._matIconRegistry.addSvgIcon(\n name,\n this._domSanitizer.bypassSecurityTrustResourceUrl(path),\n );\n });\n\n this.preloadIcons(icons);\n }\n\n preloadIcons(icons: [string, string][]): Promise {\n // Map each icon name to a promise that fetches and registers the icon.\n const iconPromises = icons.map(([iconName, url]) => {\n // Construct the URL for the SVG file.\n // Adjust the path if your SVGs are located elsewhere.\n return this._http\n .get(url, { responseType: 'text' })\n .toPromise()\n .then((svg) => {\n // Register the fetched SVG as an inline icon.\n this._matIconRegistry.addSvgIconLiteral(\n iconName,\n this._domSanitizer.bypassSecurityTrustHtml(svg),\n );\n })\n .catch((error) => {\n Log.err(`Error loading icon: ${iconName} from ${url}`, error);\n });\n });\n\n // Return a promise that resolves when all icons have been processed.\n return Promise.all(iconPromises);\n }\n\n registerSvgIcon(iconName: string, url: string): void {\n // Plugin icon is already registered, skip\n if (this._registeredPluginIcons.has(iconName)) return;\n this._matIconRegistry.addSvgIcon(\n iconName,\n this._domSanitizer.bypassSecurityTrustResourceUrl(url),\n );\n this._registeredPluginIcons.add(iconName);\n }\n\n registerSvgIconFromContent(iconName: string, svgContent: string): void {\n // Plugin icon is already registered, skip\n if (this._registeredPluginIcons.has(iconName)) return;\n this._matIconRegistry.addSvgIconLiteral(\n iconName,\n this._domSanitizer.bypassSecurityTrustHtml(svgContent),\n );\n this._registeredPluginIcons.add(iconName);\n }\n\n private _initThemeWatchers(): void {\n // init theme watchers\n this._workContextService.currentTheme$.subscribe((theme: WorkContextThemeCfg) =>\n this._setColorTheme(theme),\n );\n this._isDarkThemeObs$.subscribe((isDarkTheme) => this._setDarkTheme(isDarkTheme));\n }\n\n private _initHandlersForInitialBodyClasses(): void {\n this.document.body.classList.add(BodyClass.isNoAdvancedFeatures);\n\n if (!IS_FIREFOX) {\n this.document.body.classList.add(BodyClass.isNoFirefox);\n }\n\n if (IS_MAC) {\n this.document.body.classList.add(BodyClass.isMac);\n } else {\n this.document.body.classList.add(BodyClass.isNoMac);\n }\n\n if (IS_ELECTRON) {\n this.document.body.classList.add(BodyClass.isElectron);\n this.document.body.classList.add(BodyClass.isAdvancedFeatures);\n this.document.body.classList.remove(BodyClass.isNoAdvancedFeatures);\n } else {\n this.document.body.classList.add(BodyClass.isWeb);\n this._chromeExtensionInterfaceService.onReady$.pipe(take(1)).subscribe(() => {\n this.document.body.classList.add(BodyClass.isExtension);\n this.document.body.classList.add(BodyClass.isAdvancedFeatures);\n this.document.body.classList.remove(BodyClass.isNoAdvancedFeatures);\n });\n }\n\n if (IS_ANDROID_WEB_VIEW) {\n androidInterface.isKeyboardShown$.subscribe((isShown) => {\n Log.log('isShown', isShown);\n\n this.document.body.classList.remove(BodyClass.isAndroidKeyboardHidden);\n this.document.body.classList.remove(BodyClass.isAndroidKeyboardShown);\n this.document.body.classList.add(\n isShown ? BodyClass.isAndroidKeyboardShown : BodyClass.isAndroidKeyboardHidden,\n );\n });\n }\n\n // Use effect to reactively update animation class\n effect(() => {\n const misc = this._globalConfigService.misc();\n if (misc?.isDisableAnimations) {\n this.document.body.classList.add(BodyClass.isDisableAnimations);\n } else {\n this.document.body.classList.remove(BodyClass.isDisableAnimations);\n }\n });\n\n // Add/remove hasBgImage class to body when background image changes\n effect(() => {\n if (this.backgroundImg()) {\n this.document.body.classList.add(BodyClass.hasBgImage);\n } else {\n this.document.body.classList.remove(BodyClass.hasBgImage);\n }\n });\n\n // Add/remove has-mobile-bottom-nav class to body for snack bar positioning\n effect(() => {\n if (this._layoutService.isShowMobileBottomNav()) {\n this.document.body.classList.add(BodyClass.hasMobileBottomNav);\n } else {\n this.document.body.classList.remove(BodyClass.hasMobileBottomNav);\n }\n });\n\n this._imexMetaService.isDataImportInProgress$.subscribe((isInProgress) => {\n // timer(1000, 5000)\n // .pipe(map((val) => val % 2 === 0))\n // .subscribe((isInProgress) => {\n if (isInProgress) {\n this.document.body.classList.add(BodyClass.isDataImportInProgress);\n } else {\n this.document.body.classList.remove(BodyClass.isDataImportInProgress);\n }\n });\n\n if (IS_TOUCH_ONLY) {\n this.document.body.classList.add(BodyClass.isTouchOnly);\n } else {\n this.document.body.classList.add(BodyClass.isNoTouchOnly);\n }\n\n if (IS_MOUSE_PRIMARY) {\n this.document.body.classList.add(BodyClass.isMousePrimary);\n } else if (IS_TOUCH_PRIMARY) {\n this.document.body.classList.add(BodyClass.isTouchPrimary);\n }\n }\n\n private _setChartTheme(isDarkTheme: boolean): void {\n const overrides: ChartConfiguration['options'] = isDarkTheme\n ? {\n // legend: {\n // labels: { fontColor: 'white' },\n // },\n scales: {\n x: {\n ticks: {\n color: 'white',\n },\n grid: {\n color: 'rgba(255,255,255,0.1)',\n },\n },\n\n y: {\n ticks: {\n color: 'white',\n },\n grid: {\n color: 'rgba(255,255,255,0.1)',\n },\n },\n },\n }\n : {\n scales: {},\n };\n this._chartThemeService.setColorschemesOptions(overrides);\n }\n\n private _setupCustomThemeEffect(): void {\n // Track previous theme to avoid unnecessary reloads\n let previousThemeId: string | null = null;\n\n // Set up effect to reactively update custom theme when config changes\n effect(() => {\n const misc = this._globalConfigService.misc();\n const themeId = misc?.customTheme || 'default';\n\n // Only load theme if it has changed\n if (themeId !== previousThemeId) {\n this._customThemeService.loadTheme(themeId);\n previousThemeId = themeId;\n }\n });\n }\n}\n", │ --- assets/public/chunk-N7J3ND3R.js ├── +++ assets/public/chunk-4FWJVYBW.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -9908,8 +9908,8 @@ │ │ } │ │ return r │ │ })() │ │ }); │ │ export { │ │ ke as a, Ts as b, gt as c, $p as d, Ih as e, Eh as f, Qp as g, zs as h, Hs as i, At as j, er as k, Jn as l, Wc as m, pt as n, qs as o, In as p, Ws as q, Ul as r, $l as s, v0 as t, Jl as u, mc as v, Gn as w, uc as x, Qn as y, gc as z, bc as A, b_ as B, ll as C, Dc as D, Ac as E, Oc as F, Rc as G, Pc as H, Lc as I, Vc as J, zc as K, Hc as L, Xr as M, Zn as N, td as O, id as P, rd as Q, nd as R │ │ }; │ │ -//# sourceMappingURL=chunk-N7J3ND3R.js.map │ │ +//# sourceMappingURL=chunk-4FWJVYBW.js.map │ --- assets/public/chunk-JOZ5GPNW.js.map ├── +++ assets/public/chunk-VSQ27RVA.js.map │┄ Files identical despite different names │ --- assets/public/chunk-JOZ5GPNW.js ├── +++ assets/public/chunk-VSQ27RVA.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -1,11 +1,11 @@ │ │ import { │ │ Q as Ar, │ │ R as ct │ │ -} from "./chunk-N7J3ND3R.js"; │ │ +} from "./chunk-4FWJVYBW.js"; │ │ import { │ │ c as gr, │ │ d as fr, │ │ g as mr, │ │ h as hr, │ │ i as Tr, │ │ j as ut, │ │ @@ -3012,15 +3012,15 @@ │ │ } │ │ }) │ │ } │ │ sendMessageToPlugin(r, s) { │ │ return S(this, null, function*() { │ │ let { │ │ PluginRunner: l │ │ - } = yield import("./chunk-ZBSZGPXO.js"); │ │ + } = yield import("./chunk-O7IWCIY2.js"); │ │ return this._injector.get(l).sendMessageToPlugin(r, s) │ │ }) │ │ } │ │ _initWindowFocusTracking() { │ │ window.addEventListener("focus", () => { │ │ this._isWindowFocused = !0, this._notifyFocusHandlers(!0) │ │ }), window.addEventListener("blur", () => { │ │ @@ -3667,8 +3667,8 @@ │ │ } │ │ return m │ │ })() │ │ }); │ │ export { │ │ oe as a, de as b, Pr as c, wr as d, Z as e, ue as f, Cr as g, br as h, ee as i, _e as j, Or as k, Br as l, Ja as m, Va as n, Ya as o, xr as p, Nr as q, jr as r, ls as s, kt as t │ │ }; │ │ -//# sourceMappingURL=chunk-JOZ5GPNW.js.map │ │ +//# sourceMappingURL=chunk-VSQ27RVA.js.map │ --- assets/public/chunk-FQ25BWNG.js.map ├── +++ assets/public/chunk-REBCJ4XV.js.map │┄ Files identical despite different names │ --- assets/public/chunk-FQ25BWNG.js ├── +++ assets/public/chunk-REBCJ4XV.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -32,15 +32,15 @@ │ │ p as ia, │ │ q as Hi, │ │ r as na, │ │ w as Qi, │ │ x as ma, │ │ y as Zi, │ │ z as da │ │ -} from "./chunk-QQRWU6BQ.js"; │ │ +} from "./chunk-VXFCGPLJ.js"; │ │ import { │ │ a as Si, │ │ b as zn │ │ } from "./chunk-UEYYHKKI.js"; │ │ import { │ │ c as Ze, │ │ d as ti, │ │ @@ -96,15 +96,15 @@ │ │ import "./chunk-LZTFCOMM.js"; │ │ import "./chunk-XA7JEECX.js"; │ │ import "./chunk-QTZ6FD6W.js"; │ │ import "./chunk-GA57RO43.js"; │ │ import { │ │ Q as wi, │ │ R as ea │ │ -} from "./chunk-N7J3ND3R.js"; │ │ +} from "./chunk-4FWJVYBW.js"; │ │ import "./chunk-SK44KT2J.js"; │ │ import { │ │ a as ki, │ │ b as Mi, │ │ d as Qn │ │ } from "./chunk-ZRL2K32L.js"; │ │ import "./chunk-HR6HBFFX.js"; │ │ @@ -2435,8 +2435,8 @@ │ │ return i │ │ })() │ │ }); │ │ Ko(); │ │ export { │ │ zc as DailySummaryComponent │ │ }; │ │ -//# sourceMappingURL=chunk-FQ25BWNG.js.map │ │ +//# sourceMappingURL=chunk-REBCJ4XV.js.map │ --- assets/public/chunk-DEOTHOLQ.js ├── +++ assets/public/chunk-O7IWCIY2.js │┄ Files 93% similar despite different names │ ├── js-beautify {} │ │ @@ -1,15 +1,12 @@ │ │ import { │ │ - a, │ │ - b │ │ -} from "./chunk-6INOONYY.js"; │ │ -import "./chunk-WXLHVHT5.js"; │ │ -import "./chunk-X4YSF26H.js"; │ │ -import "./chunk-JOZ5GPNW.js"; │ │ -import "./chunk-N7J3ND3R.js"; │ │ + s as a, │ │ + t as b │ │ +} from "./chunk-VSQ27RVA.js"; │ │ +import "./chunk-4FWJVYBW.js"; │ │ import "./chunk-SK44KT2J.js"; │ │ import "./chunk-ZRL2K32L.js"; │ │ import "./chunk-LQG3CT52.js"; │ │ import "./chunk-HR6HBFFX.js"; │ │ import "./chunk-DIJOYYEF.js"; │ │ import "./chunk-ILSM6BL5.js"; │ │ import "./chunk-J4FZLQ4E.js"; │ │ @@ -49,10 +46,10 @@ │ │ import "./chunk-Q2URH4BK.js"; │ │ import "./chunk-VYVUDCUO.js"; │ │ import "./chunk-2KEZIUSW.js"; │ │ import "./chunk-MAQCQPYF.js"; │ │ import "./chunk-2NYJ54WT.js"; │ │ b(); │ │ export { │ │ - a as PluginIndexComponent │ │ + a as PluginRunner │ │ }; │ │ -//# sourceMappingURL=chunk-DEOTHOLQ.js.map │ │ +//# sourceMappingURL=chunk-O7IWCIY2.js.map │ --- assets/public/chunk-CDZD463J.js.map ├── +++ assets/public/chunk-B7H6M7AD.js.map │┄ Files identical despite different names │ --- assets/public/chunk-CDZD463J.js ├── +++ assets/public/chunk-B7H6M7AD.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -11,15 +11,15 @@ │ │ b as en, │ │ c as Ce, │ │ d as Ut, │ │ e as Kt, │ │ f as On, │ │ g as ni, │ │ h as Gn │ │ -} from "./chunk-UAE3QC5G.js"; │ │ +} from "./chunk-GC5WBHZW.js"; │ │ import { │ │ a as Et, │ │ b as Ot, │ │ c as ln, │ │ d as qt, │ │ e as Fn │ │ } from "./chunk-SSK2YEBA.js"; │ │ @@ -31,15 +31,15 @@ │ │ a as Ht, │ │ b as In, │ │ c as Xt, │ │ d as hn, │ │ e as bn, │ │ f as Wt, │ │ g as An │ │ -} from "./chunk-WXLHVHT5.js"; │ │ +} from "./chunk-LB45P3OT.js"; │ │ import { │ │ a as Zt, │ │ b as Jt, │ │ c as Qt, │ │ d as ei, │ │ e as ti, │ │ f as ii, │ │ @@ -55,15 +55,15 @@ │ │ import { │ │ e as wt, │ │ f as Sn, │ │ g as Yt, │ │ h as fn, │ │ k as Vt, │ │ l as Tn │ │ -} from "./chunk-JOZ5GPNW.js"; │ │ +} from "./chunk-VSQ27RVA.js"; │ │ import { │ │ D as kt, │ │ E as Pt, │ │ F as Rt, │ │ G as Dt, │ │ H as un, │ │ M as Lt, │ │ @@ -73,15 +73,15 @@ │ │ p as Te, │ │ q as mn, │ │ r as yt, │ │ s as cn, │ │ v as Mt, │ │ w as Nt, │ │ y as dn │ │ -} from "./chunk-N7J3ND3R.js"; │ │ +} from "./chunk-4FWJVYBW.js"; │ │ import { │ │ a as ue, │ │ c as Ft │ │ } from "./chunk-SK44KT2J.js"; │ │ import "./chunk-ZRL2K32L.js"; │ │ import "./chunk-LQG3CT52.js"; │ │ import "./chunk-HR6HBFFX.js"; │ │ @@ -2473,8 +2473,8 @@ │ │ return i │ │ })() │ │ }); │ │ so(); │ │ export { │ │ Ol as ConfigPageComponent │ │ }; │ │ -//# sourceMappingURL=chunk-CDZD463J.js.map │ │ +//# sourceMappingURL=chunk-B7H6M7AD.js.map │ --- assets/public/chunk-6INOONYY.js.map ├── +++ assets/public/chunk-F3J274KX.js.map │┄ Files identical despite different names │ --- assets/public/chunk-6INOONYY.js ├── +++ assets/public/chunk-F3J274KX.js │┄ Files 99% similar despite different names │ ├── js-beautify {} │ │ @@ -1,11 +1,11 @@ │ │ import { │ │ f as ne, │ │ g as Ie │ │ -} from "./chunk-WXLHVHT5.js"; │ │ +} from "./chunk-LB45P3OT.js"; │ │ import { │ │ a as ie, │ │ b as re, │ │ c as oe, │ │ f as ae, │ │ g as Me │ │ } from "./chunk-X4YSF26H.js"; │ │ @@ -14,15 +14,15 @@ │ │ l as be, │ │ m as J, │ │ n as Z, │ │ o as ee, │ │ p as xe, │ │ q as te, │ │ r as ve │ │ -} from "./chunk-JOZ5GPNW.js"; │ │ +} from "./chunk-VSQ27RVA.js"; │ │ import { │ │ a as W, │ │ c as Pe │ │ } from "./chunk-OOSBDT4O.js"; │ │ import { │ │ c as K, │ │ d as N, │ │ @@ -322,8 +322,8 @@ │ │ } │ │ return t │ │ })() │ │ }); │ │ export { │ │ tt as a, Te as b │ │ }; │ │ -//# sourceMappingURL=chunk-6INOONYY.js.map │ │ +//# sourceMappingURL=chunk-F3J274KX.js.map