From 5b3200accc2d1bc7f2a8fe402fe057a7f4974ca4 Mon Sep 17 00:00:00 2001 From: Ayaka Date: Wed, 12 Oct 2022 12:56:27 +0000 Subject: [PATCH] added PWA --- package-lock.json | 3 ++- package.json | 3 ++- public/512.png | Bin 0 -> 107532 bytes public/index.html | 3 +++ public/screenshot.jpg | Bin 0 -> 101171 bytes public/site.webmanifest | 48 ++++++++++++++++++++++----------- public/sw.js | 2 ++ public/sw.js.map | 1 + public/workbox-8a9ef17b.js | 2 ++ public/workbox-8a9ef17b.js.map | 1 + pwabuilder-adv-sw.js | 4 +++ workbox-config.js | 11 ++++++++ 12 files changed, 60 insertions(+), 18 deletions(-) create mode 100644 public/512.png create mode 100644 public/screenshot.jpg create mode 100644 public/sw.js create mode 100644 public/sw.js.map create mode 100644 public/workbox-8a9ef17b.js create mode 100644 public/workbox-8a9ef17b.js.map create mode 100644 pwabuilder-adv-sw.js create mode 100644 workbox-config.js diff --git a/package-lock.json b/package-lock.json index fb09a61..d819c7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,8 @@ "react-dom": "^18.2.0", "react-scripts": "5.0.1", "react-slider": "^2.0.4", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "workbox-precaching": "^6.5.4" } }, "node_modules/@adobe/css-tools": { diff --git a/package.json b/package.json index 75eb774..8876c6c 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "react-dom": "^18.2.0", "react-scripts": "5.0.1", "react-slider": "^2.0.4", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "workbox-precaching": "^6.5.4" }, "scripts": { "start": "react-scripts start", diff --git a/public/512.png b/public/512.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2b84ea90862696132752a28a36e7e9cd28f7d7 GIT binary patch literal 107532 zcmeFYInb@6n{TxKvoV7fL8ojLq*ZZFK2%NCunNwTHdXe5q5Xr zF=^JXYhE+eZa38oGvPPhGnqGcV_SX6i(d4wlSYCg`qLmn2 z*t!qS^URyiUJvZ?<&;=H^Y2;|#928E8ujd1^33y`cV{4u{w0Q~(H`Pe1mSK>VOCkhag%2!YeeBRk5|D#aZ2f0$yrGLB2U#310RT1cEgE8KKwY;LSVkSB z4wUQ^B3EGemD%xp(9@kGhRF|lA^2aBS%mAjQda_cH+-V{ zLRMi~(xPLY3RD1W&Cl%GjH388-}z%(M**yrkWLgNCyvPKGLcxCl3&cP32@<#!b$Aw z()YHiT&D)z6SFZ+)3##{RR&ebQ{$2ApP2M)5_-AtM>e)w!mK;$`_t-EB}*+{83&D^ zZKy)6N5fD!|H{;d)vHh0hXqgrsQ;&MirimT-@ED>J@=Ic9bD}~o)l^np9B= z*DFICrmsp<4f*$*F}9(7Q$_YiAfuc|L{q5`RS#-sVWVDb<(J*)@&@&KtjBS30gLr~ z4zaWOI6LaGpidt?e61f-qYjo2I$fXI{4cPLkC%%b_f;z44vz!dlrXz_v_gjq8l=UtpG;) z2UrXD0Wz4T@h5n?QY+c{#g>9*5d*~R3OwQEXS*rxj%RkFA>iq5E`)8!+vxfwX z8Yw*VK19`sl3z)Ew@6QWN7yJ!$`JG*K~1W|N;yj7mA>(c@7GC-@Xkm%c`c>moXRmM z)k^#K<-lPd*4V@+WE|sMl}dz(Y3~kGeHc>DCklfYV&Tass9+mmQUe%rC{+KmF|J9n zx~BV5ImYL?&g3~a{S)`}H&wu=@*KX&O%<2K+2HKe>NK1*>NJP1P2xEMT)p=_x`jkB z*g^e@2Pa75*=oP|sd={8i86M{3le-ouD1~(gm3E-RgG{bGt}Sj7Nu2q9eJfvOQ3HY zG70b!P_YZTb33Bu>uU1YI_1k-UrKYH;Pz($o*9@Ch&Z`VIc(m$zspO$zADyRAXYvJ z@sMQr4Sv6j4*omcf3~;O(@GTiv;29k4<5Fg&0>uo-IYdU2|iGcOmdUXwQ|U;yH%<{ zTRM1TIEJo8Vl9dz8Spvu&X~x2Bn%5g}@yOuj3U})kJS6+_Dbx1q4m!8q zP+V5!mrQX+H#Cmz=2r2t(%vyaRl8{~@DEGYu1`Vxkaq>kifk%1JiUU)G`cg=3Ngj% z_q&BJuU-bkM77#PGnmn5MPfo0eT!TR>Oh8AM`DvF2(5_|@; z*lCGxq#vFP>`3k#qM_)d4DDbsbo26)!;i1onz=1xm3ELh71(kj1n~tpNL-%$uDS7M z1D~Vj2iWIcDz?x3K{nhA!l0r$NYT;Vm$4BN4l`pDqu2MGfVm{tXVIAy#fE2cOKch& zrQR0WI}9sZDa{OTMK4QP7ncNfwv_3xF2-e`^8*7uiDv){bbT9(G#38xFN@IqBar_Y zbayCWC9gqxgqi~$IPRU*txBIYLR2X`o( zzC!4QXq9|x*WP7Ui2*Hb_)J(cO#&!SV6V4BcjhjFAJ}|DD=X-Cz!jm_+5eZ_rf~&; z4`2Us-Qj<>Co@KDyTzRi%B|3VHmoFeJ>8wJxH1PySjro}&1eB1!;<)byNaON^Jlt# zn%$cm9NS6?tn0f%4%kiJ zO2?1QBI0e#aqDC(KHyx_WUF~ce4Cq`B8DNAYilit)>+?+2Ins|d$disWdhNgQG(U| z>EU+?B)Q_VZ49?2W8A4vqKeoL$7GTn=?g(6x0{~+J?wfh%aonmVDIr?`UVA9 zy#otMlfF-GW=kyqrE3PM9B^?kO=yip$>ZYTseOHWk$9>V>E+NmsPysLH>8Cml6uAL z?C|6@ z1mg4M?J~i&zdzE=nn_Khq}$({&wHg1(WP%MreJ4YDrt}%`4-}O!NT>TWZ*+E)&^&H ze5{C^it5f$hb^+Y5jVF?c|dD9`#ykUJ)$_N3y4i!l$sRiYBI-%0DfX-?>p5rhc7sNv6_Z8d)>DAOx2!Hn* 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 z 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 Q0Lt=6^QlIanswO!02yxxf&c&j literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 990a13b..fbe241d 100644 --- a/public/index.html +++ b/public/index.html @@ -21,6 +21,9 @@ + diff --git a/public/screenshot.jpg b/public/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d685e6463aa22183488c38a3ec7ecb19049391e3 GIT binary patch literal 101171 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

@{p9xCtxo=kID9m(NA!px0Fqs9-w&vF~_Z@UhjJ z@M9lx%%g)(o0_8w7gGh+kd#&KzaY#nas1gN z)tL_GAMCVqxN9DtSi&~19|(z*ouEPKW{X7(29p)%&k+E}{=s+$<-{^p)s>I@U+P6FgujYEr&SKAhiZUc;JumC&iF^E}6O zZS8U93bAO6Ek#3kF0SsHGa}iP927Ni_7Ct99bM>u)_1k8#*)1lkxU6F%l5ccSc-3^ zzu#U@j!C~;s+f2}I0QBs(RS)h)^$pq^q?|*exk|FYwXRb*3WLZwSm~2uHQ7P-qJ~* z%ps1T-nF=Px%vB~MXJ0xpjolp^zBF#WUZz-{p9Vrz(4rL|=NkBbs zt@_8^KgxNAI=zW8NENflSgnfe(j^~-`1hxV+p7Bq!tEc@7wZGAN2{eBHW^B#+fQJy zRutXh;sh~&a|H=KZ{wZR4FQ~c!lXbr6OEieu>|$-s6+~m9V`B%li)$AjS=PYoRI?j zM}ooHKA58YRxBqTSj>UM9m!y-cKKw)m>Stm7g5R^I4f&;yK-TJL#=d-+2<};ocgvq&xVuqpWG3Nz*;d~(k5C!;yyO20&PBT)w1s8@)c)^ z6}^aQ*IWE?;BJWevir@N;67)e^mgxqY1BT%uc*2kel>byC4NV%oY8u6sfa*L3xGf} zc})xQj}w6E>qjm0#S6roj|eJIbLE+V-7+O5!LGR2du3fI=xD}GFr|HgypSDa^`kbB zq~TMFdC)!Gf47*M?8I*h3NW0HU9#&Ktti(n=Efd=hO&9HWs02ac}`_N@9F9$EY+t? zP%+l{a#xJ_hn9sx)U_3+a5Tm|G7!0Nq>mQm;A=lG)9WjLWO)qD<@4_ z26Nu*%!qKXUvrsqDfQmN^KY~YCB^zG11WvV_o#j_Lw*_$+Ll5!K!ySHYANJ3!g}q~K+n<3Q zrBW_wtv|LMc909>rTPw^1@~@<`gsq?$$07LBuFi6h6P<0zTKtuHFtM(z0_Xrd`c|H z)+QV!c(VC&kK)P@y{4M5BZR_gF;l%$Cj+$uY+m|B|D-$ocy0h2mYPR}rv}z=Mp-jl z=z%20!aVg^mH5N>#MHRj;7{)d794V)xH(&RsfMEMr95X{9OeAMFd8Yk`Qrd&@!IbW zbz9GsrzQ|xEWC>H_`wP1Ky`Eczec%W(Bk}E}P|BSFTsMnmJ5f&? zh-8a->A^Cgf&nQSU(YUuIa@>}N(xsyNsZS|U|op?V{+I(=i9M1|MeFg-Jf*4_tLWT zGgSU`ljl^?ZwUBy5{q_?{Sx%|y{dK~J@*IH@wG_?AS_NlggztV%hDWpa$d)>@K}R6 zmp3t)cFz&SBw~CSe~I=q=twgiwY92pur$uC&2SCgCk1CAyeu*d*0s#r%s_{WQI{RL zo#dMI&)|mN0g>y}XXVwqJ>ybRujVzRHsRhu|~VT#pi&6oZ!;m!b^u0&}MK4$Id*($znc>AU?2)DaTt5KrsT z3FgyUBz3-(wjW)VTTtKj=Y<>Ku!5}?BT-Cp(5a>5?s&tCfiiJOBB^Mjw>)<(UODlx zWQGBa;Pl)N13{;&vQYv%2vS4|dlauweeC4fdPjg$y zbXc@wZi+Hwo@`0Ra@5SZG8Hq5@2#ZrcxRzn&yY|~ z_k~k2!;R)a8*;lvjh}+iBs9&jqQhGkFYPJd8r?LTJA6a!KdR0DPi)YJ%a(#4qwWh1 zWlF%+LSHvG=*z^D2m>T&YY9yFNry}R!8C_kd@8?$d2m)b#JtU^?Ih!RaGxjmGO>1N z;((S2Ew17m>jmnn0+;@^kb1$l;*UG23W<=G+$}Z2X<;JOJ1*4wmf*L1*EOzAK%S@D zGY>^r$@|rdo3aoffhPF#lwZ?2PMPwv>o1qA>Z}7N8EbXs-wp(W^-N_xPdcy+x>{y{ zc^)+f=55M?^a{62?J2-Hha>+x<<9)fS6=UL^)k-iU9#bqIzVpiw#w`oO1;>x9F;P^Rr1Ef;ljHzD|iWX`S4{&&5^j9z@KSBWxi(oLmORB=k%Ccnt-NIR-R~JiJ6rV)I8JKTFqS2JgRVm~o{Xip2+>Sz%APFjF z>nF)n@Yl@oANwZ9_gTuJaT2SVqi*i6AS-R_JCC9&x|m#_zh3w>BGX$XBw>>8A8%cKlSTb9%cpuakKal{g6W#ewe+a-gcqc^%1u4L)Lx9)uesITAV%jV08G|P7yzS zdnf8rAwkS=Kz$EuN^gr_l8Ns1P6u0&b6+Sr`5kOe@|UK{B+L}&Hoc$BTc8xDOF5;U zROwQ|YLrY82!jyYNJ@Ay*}hr7J!le3korkyzO=XVqsHHXSM%QQHukwmannhm zw0UO)nfa)b;&IgNb}#hNVbgG|^?h8-rS?ohzIMy~@%CY&H``m03~=ECG{o< zTnrxW3u(ENi^QsIR?3zmkJP?9L%ljj395tng59C_va?I3iwMh8RQAClk#y@g(kmV1 zEu7O@uxOwocNRKiT{eYgQN%AM_lgh=>z<-iQ1T1-k}SiM0H6JH!aOZXRlHASU!VsN zEKrCk7)-9AH~sF;>wH3(4qXr}k19k^6U2(vY56mZfV93*CDpMd&z1-;-8X*ZOc}fL zNxs`}N=IQCDbz0^Hog_6(|Ec6fV&76ze8K)h6?LxDXxpWyjr2 zP5JSC>awJcy`_xGz~vQEk^oETLjR35Ml!Py2+OzD8K&(;&Ri?oLil-wur53oPm7L@ z{*9ibzO_E8v~!$T~YttVR3Fj zXEWe*Qu=NFZI}1y9M+!T2W~7B#dX#ZwD|o}UxAj~CVpC1_s_)(X!cZW!61J@v*t6W z)S3w+pcs|PnWe6eQ9?l~AaDWY1+H855%wp}hM@sekz^X@XLVum0@V4Cxllud<^~H` z+B1QtZPvO^zGRjK!TMdR*3I4uqIozKsuxj4@gW0q*Z?2fHmUvH26?&ZyyS&xqiNh5 z6?46>Vay7hfc$oln5!ex_TDf+ADlmv>1WlBpjTPtL7tP#jHiZrEm8s*k{r zETdGEJ~Gf|!{0B)#IDz}iEN&;&*Ko{oTaTwBV1cAy!MzbE)&J3v&v-dM*bs=cdbnO z?8ao4tU)l^qNO|2{GshkkW{Rnrx1rL|3OhK+GYt&5pt5j) zN!P(@%@`b5rih6Z3E#5=mF5~GJzrtrQ*FBb)xo413&<{L5-L4j1&F#WgteWjxs5gm zH6^d;heh?;Dje!@>_k?RZ0$;llF0^k^LiGFe#1pQ;&!0QrL50ib7%b~28nVa=DlsU z+nwM$AAz&X4X?Y`;p;(tYv+;Iz9Qv1tkPYj8DbMlMqL*LmZ zH|Qd5FuJ4gyHM5iuNI&xs&d6t)!iQ6rt3}|T5<0J(9-Y*TCZo1L`8Z0N^{qW6_Ry* zpfo!=PPg0=CCYK;>1dCc8|75TfGmtN)Ik7S|mHvloaL6I^J+O68~J?#?1D6l(vR9EdW&~`Jt05o&qR0 z1RK=8{a$HOx`cgN*H5EPW*o4gB7<*tx~FBYLkXHC6T2LtqqSb4s>r(Z=~TB!WJp-tT6*s|r5z?MhGjoNT_PJ>8h zEGX){XFN#rKvK%FV+LXx?i$7TC_+Hk*CD*rmpWYP7ta#6)EV<5k?BI!)St23GCPLS z62J#%PYV8{B{L}P_&zGnb%d>+jC+g>*d7>e`;1@)~$wbsbSEIYex!XFxW5ai*k1~ zRHKt9nV)CrPuu0*y?!J3j}gaw2c0`=kTbdGbaekC6X<_Uz~(dxtx>ddw#Z{@Y7kBN zuGYbiaO$Y2NpVuK&Tu$4UGl-f^Sv+C#T7q$lbQD^b!_#W^vx*VW+{;g!lw8l3Ya%y zV2IEy+E4(d`OmjR<}>eZpG>D^h}f&y;||68b#*`1A0=$7S!b}6W{)Q1lf|jW-6lt_ zda0?d>&VR5?BYu~jWjJ^oOJ%`J{h=0;6Dk6zwPWR3N9>c)s_YuXWP9ZU0XxQLEncO zn|>J^b@84f2_ElPF{i-mVq6^28^Fg2mX*ur11aAxOk*>2h3cKmu^!K{5jAkAl)3D1 zBcB*{y7n!NbX{Wp^a9}$hA8WP1lRY*g^d;$CBe4iNm0d{bLhUA8U9x=H<_WOcb~S( z)Q5YHKPmY<%iGRBg0F6#b<&)(5lWZ`OITpUA7j-BYI>oN#=iT^vj&RiMh9?hyqL}D zIKI-|tpM$Gx}Sg2^h11Uifh%5()l*{gC%TgWV+ebT3Qz)g&h_Oh%+5*#ois*iE82- z5NjunR*X(m26|5*E2f{PmcnoGk)K8clW)1nttX}odg-EKKX0Hk`m7(@_j3}+lB&`x zU7b@ls&nGIi-vw=*)-!Ojh*nN{(PEj6(tnpd2dYwRmil>fRaPqvysA225V&srdHkr zIB3{C8Fw@pLdCB`7l|bi8bqB%%Am=$jF>9PCClW?n=)bzPe!q>`|@iNxG@z=bG_qZ z+Fn;~(A=orH6J@=a~8dr1Rs%As^NGuAm(1dQ_)ksc~N>xKHl}nX=^m&;fpcJ8eyX% zC%juh9#Xo?^gFla}S zcJ|9kYHAjE)BRqY&?u|GOl*E~91P2-6%zfxtr>~V?|(_tL;e*fMHh4fE>lxX0bWVW z0!6Qik$x+mF0W@9UO%3YuJTuVYsHS`HoxPwBLUmt@eBFw_1X~FmA^h-w^{8o%zjGj ztHZq_5_%YYHS)Rbuvq-WX(gOD!Kz9uyj9fr(Ze{#hp$uBTSA43zJ%; z>AhyX#*}@HL#T}_@%~=0X`%Z}BI24bjYjY#d}!5`7EV?P9hu^Jr~!4DuGm}Rzx<6| z?bvl>W2R^3k3m`w0j#OmWm*Uf5W(9VHLvF!2Fl~WEck(BBY=op-qP0Cj(=?g;lE!Q5!DMipbP27i< zPH6|+Fa#Lg$(zwy*!kyr;nDbUnJ~|>zq*(+1OZ!vxBHLM|V%TD7YRq zJEy~M9>;JaXG=a}VylvhKt_z57dqSgSw6-iT_4i3B5^6XORs77dr97(a_N2nUfT~B zlw>WEM|6U(XYFV)&Fl8qt`EOYFi;j_Fe;MLN59ZnS!yfY&GR_=R4JJ;9MkW;3iB7s z9si)ba^Ln;GtJI4xNklnT)7jU;Xc%3H}-#F8D`n|cOTLE_I-Wa9luV*(yAns{$vTRYa2O0oGrT}bhcX#rOxf$uWZm_e zR@zbWwNtX4wxU3VeI}z(mUPrH*WoDJ*swO6B{?Oig^SHE)!Uel;JYCouk8~1C9eTy zpV7M=&h%7H%SmkfgY*^QgQBSQSh2TA(?YJlI(oRVLaNAj%gaH?`jpFw9qsi)9@%K_ zXaJW%x~VkeocX(W%! zbf{~@Z_eH{4Z$vwyd{podWf^jdX?<;Tc7!n=Hg_(kt7>*r@ZR}*(^<-myfK-H46)~ zF;xYlpeBb=@V)8rL(|)!})3fTq-J|nqk2n-{x^t6%d}z~dI~dR{>rPBHgx@LS?Jn2-z8^qSa#j)e zf)VRW6W}9!3_43#s7%ChCayFVghuy+ub!&rZ==Ge8~jTbNy@?$A7$i1*3%|(Rm4eu zt&F&MS5H*2u#U7CBk9(wyc_%}-G_ISj2C-*!TLnkH5Kg?j9E5xMwJ{8w{T{Q--C7a zdB1$>l&%$)alMQHeHg%RE7;@Cl(oYKGq+t;%ewxj|Dpj$l)dG+X6&C&)}A-Zy_rPf z5;ienJyE6M8qU2lYw`8@znRzVBXh7*Xdy#?3x0s19+9?WBv$D^ixujL-FgjKA++5S zZ>%RSjQzOU2L3%w^yuVY{5G{K9~xQgtgZOO@ek2CzuulMn5XC%!Yx)cR#|GD**^4E zDtEz$ONx8OJwZK1Mzffwd-<=%!)S3+^|`ufj`+my(EVv`!Oi6E(~3{xlvl$sUHM)8 z@9q8TVvJP7Ta{m-iG!ccP`N~+tng!J&srxJi)Z~*yo7kVQbsb~E(Y4c@x%e`S%j%( z1|qvY%AR}fczg)TAm0h7)}D=>!V)H}Exh0E^{ntd=bk3|kgL#d$Ar;0^p0u$u-6T; zEaNkA!xhEGl+IhQZ)_AIyPW!Yz7l9G%{qcCvRMCD(#bmin%zyM@?16 zlGK8Muia1U&Oc(Ef6^_RttixwR*w~jK~y7Z>c@18J)$8$&^hB@=AZ14o^7Vx(ryDB zFkU7C*MjXmf<8}qO>ZKx!Dz!9qhgf4tb(oD)z3Z>{Td-hsXn{4v@Jj#s^WgG{eHta z>{?u03&7<#rAtDVmjXx7RNM@MT^|Ojx<`4)m4%)lQ@%|eoy$7K-ceaTK1B85^{>U|k|Xf7dBOVA8@h9>6K#y{0GhfS@qhoR@^O!lC$9gwXDKsjPjgU~2vEx;{w zh0#MrFtlPXuQ6pnS}LOomgb6GV+>YtI|fh7$4;#ed00Q#ocL-&`L31=%VZe*)|#5M z?{t1QE~0d9vDF83-fo)agRLwuf6$AQO8|Qb28`2vUjwcSDC(WDhJ<}eosrT%PC1Tm zZI#vgRazHCJ*>u(T#1qKOM%i}?l0ULbH^a?Y8^j{}!@Nj6hu*XgY6hC zt0eO+LMwaK13ZpbIvKlU1uwX96&vIjB7>Ez-uDJUy{lv-d+~L1qzPXq91xdZ3%?P~ zW9FTAi)&-d+AlUjmCa$JWbm(`u6~gcP zZRJ$~8sD{!y5wlf(d1dajKXIkR}E$1XGET^?@ouhd&({pI0^)Pna^UJt`wP9_3 zD%2C%z#+OT79`tl*qQEJ4{kk4>iog7zt`7D+43T0Pp;L1>T5mwZoU>>qfFM$=&qUQ zloS-2@)Bu=)x$nV4D@D4y?()9S8@<@KN2RBwr4*{(Xmop441e+3liz<0iS~wV`RVf zbRkyH?ki>T3gJU1PfBydRlLF7i>= zj7!Ho$@lT}B`L0IncvAJbHyT_QNpnSrBe+y*pqR`&Z;a#>Ct%0i|#gftxO)adWzsz zE^)I1qy^i1-pM)K97fY3WMoyPaD{qWEv@XjjVg_G>KSc(S-^#KmCR&)2R%ZZ-Y_lo z$chl#$j<$fE<2I7b)L*HRlc?0Svy{mfnSRd=)kitjnB-42Ptk}V}%$$a6cbb{?IXj zZ7NBgt#cam+cdY(%yi2D*#o7cHr6IiH8F@dEFWUVt#fj6P2s$|sIRi~#6Y@Qw^VK1 zLBvhnwnS@Lsrbuf>?cRcvGSO>GnEw3>xS-Z5V)zTmV=8cbaZBz6bGw2DLE-r;(M2hJzQl*1u0ESn}WErT41&h zAwm0W(9Fr4{^V$Ty!t#Lg2klKwDVbGCg+9v-RZ#R11W9ZBuqoe`mELdLusWxQ_(l- zi01a~cf~*HsOQ2pTlitdAY!FAKYA_BrAdH7X)Nh^J#Q&*pHV%Yi*0$j%R^PMkNv=v z;lq1t@IFu%o3PwPn5RnH+Ae)~Q@(C)ke@Q3Pmvkn^S=FY)X4QvIAP1%a@1I21YTg?@3RT3P*g&juGw zVG%nxU4+8l>n82`N98UZop7URh8@(4(o?AZ3qH=KC`Iq=CbZ1_bfD*0pu)vr{JZ~T zvDiI>mOy(h*9-G(6xvZ>uV{N$>-G1dvJS0eRaLF(U5}MnT8aXw#V1|d&(vt2BD*P_ zf01f+NRq`O9PRK!6%q(Y>Mw`!-I8Wv>&&3Kxffr4>GcLc@6T*8n2B6^Vh`j@U zTbKBR!w0Tf;rm~YgVOTOyJG-vP%<27K3ZAUG_yrve2XT)zX@u~bR>07DD?AZMfRVV zMs5~$566iS)`+XrDfS|x2v2?puCkM2a(m!m41Wv9I!`skM+lw_W1xaeoW0Bm%2Kj-c5FNPeVEzTH1-WoFx%l+~q~BiD7L_fk-^*EWz9LFULF_7 zinj=nTEmO!A3f=>U8R5q@w0@A$?P_Z0N474em&DLNvTzjq8qf$hI4h6zyL9mYkVcb z?zJ8EopgKRaFJ8FcsLGSDICxln~*mvSl4WAC`CB*AGUriclt0pPU^x`lU29;&C!Ug z(EMO!4RyL=$;To_pdA{#pH={*uS#vv-pX6A>PkiC?E!4<_8=*?qWTL^<~4ES$sgi< zZ%&~iW?MloAhvRf>TGIP%VIP4U=*=SzMZv>o;FG9I$IKZD^O%elOV304{##MuFMP6 zyW7Z1MH)fZhL#4LYfq*#FgmF@FMGO3CybCleJ_ix_p2n45Ao}n{Zw99LAaGN*u9>% zunT6Y?4L|GTnMqG+%0C9MGM$a;7(;# z1n0JNMnKEAm=WrDN{eVJbi9JQQgpoPtQ>KTNUcS9A@c+!q9z8bGg;@=5n3Yb@_NbZ z?(R+-nx%!~jDoe4^M10a0Y;ihwO5Ad=Ua(iF=_6&vs5gbA+U_9FvN&|=hB)WV zp%v=Qw9b&uy&Vdb&Q zi2;mh+aOH zl4T$Wt=F5TNy`7&Y3z5ZLkz{Zay=r>9XngwrzPzCVa$2p zouDRDBdEW=U1u$jZJlY|Z1lK4uwUdP;_hecfM?NIc3kXaufDCV?r^2IxTBCNsw9Qs zuxGnud@tj%e%xidnj@>VyAI*_cZ>Yb)C(H&Y6{-aUsSPfqOqw7ve}{?$(gyVb=}6K z_cN#a`JpNzl$b_jOTa?5JRpBSy%DifI@wfN!uywPqj|;;L;-k2E z&*%euOgk3i%rmgPKk0ZVx_&?DLbZr79ynyP|E>@J})SgVh8$B8!kQm4Wj#QNRk%nA=%MG53t+H1LTexp02Q^5G$ zfdbm7IrVHXyr$!~(JTkbbwzFJQ<0G;9!!O7&R%0bl-Gt3-b|ft*(V9cD``a$4Ttn9 z43+}m^s#-?C)u@ag^}KFxP9|fWml`W0;RWWSamqPmYjYHy`z!9RW|aI&XAwGR+~-9 zOG!~W1m=s)_%n#?hh9+$ddm9iLVR$-_T0bMQ)g#-$Oi;9j&YQYumo8?3OddbDmddF z_M0MLXB!iFsH@G8o?nD(N|Vxn!ZRek^X|SF-tVPe$;+`!PATS*^;{jliU0??5K1`PDn>@FP|MH5gW)Wp(!`T$p3oWCnP z^ZY=ZQnjiw<6NB8V)NlU+Z}Ux&9&;IjTx`r;%Jis4VO5DiY5GRFBsNzUaO$RQcxy5 z`0`X`!@V+QB|%&_khg&dK93!&&wpN7BT|m)O~(c=^jZ8x`+isctE~9{*KtMR9H=(+ zud4E|TW6 zQ61TF)GO=w8;PuYu@xP(w;i3-lc0>ohQ{tGJIZF@1K;#tZPUb0>{_T_nOEbDlo zsRUwJdsh_gVdt%KWxJz7P;0n?`*3pnfU+aKqmb*@W)QaLS(O`j#`$ZwU)4jyyr(2s zzt{S=G$OSGu8CrQg$+)~^tg8o9Nq7rME0dBAqCi(_Tr&L(K0!WPHh>DG;1zEEasO= zCL?h`&e)9LLAqS5jQOY^BDA1Cw4^J_P;omrEGucY}CkBwB&Cv+4czVFKBc*r3BlI!;2!DjwhyD$Dr?DCUCzluvs>(K2rzF z3h2GfQsHk}mNO4hy(>|kb{BVUCaYoPZ8;3lSxN+=Mx{O34UxQPMK7&dw_v^`-_pw* z3dv0zuvZRP7C8&sk1xwVldo`YYcI;=baVBNh}0eI{(zG?&w54}M1h}nET1&EKqEdb zp89g>9!J@RZpb_n)E%~dBaBlxQrAwUWeIDLtd&M3b^bG#X?lZbt_Ejq!$+TqQtrWyxtA@X8XKe ztXrkYQ(k^Sj%ZzwKJ<0BuoU8zvwU_Ow^gRF(f`aGWF#u zFb*(jrQVTUzb%D(e(!Sy3T|&3RnXa%?i^|uh|ac~y7?w?afIaNc?a0D5zw9}Phu?I zn}UY?Hb4A6&jzR&3av8fHz;EVW#!R-zEBomIf}Pz9&u;5iBuv&W7@lCG@DK&(b}8E zQDmNH5eJM6NlZbeWMXC_g++UCanop@SXmSL^~_Z~ZxKW}3EXqNk>{>8KBT!Of-RG@ zE2lTH_xs&wgKwrAes}Z=@|4%-LbPPM<8|@f>e@F$M9Bu``fa;XA5Cr5L5`x)eu<}2 z1A2b0d#5-7f&J$cO7GIB7q3%$bf6!4vS`$U#3M`W)p8V&?fHP1h#vDaVHvo!B%{6L zu18-%eNha^GA8m^8hOmxS~^Tv=GV^7M@yNrav3htw^OnBp@qZk;!X9*dk7#UyXw)C!L9=(FZ9(NXQ7lc1rqzw?-j?HW zA>ELG&#&jLi+y^e9HxI(Ka6FtaR{Udeb~mq8=~ zFlp@cVO2jo0C~f<6l-NS%0Sv;k+^Zz(p=JJGv$kn9iuj6aI0eTx8 zk4!!#u14u*JFfZ6LjRC&g|j}`fxE7bz`pz=|8 zwO!BS&gkaTJ+VtMXsoYF$W6Y1zy7XVyfRq>=9@e{|8y4I=$iC6BKQA)z~GE&`u8mC zyO#2hf0+or&^~XXv#*88k~ru9{Yzl4uGl1$!WaVFreJn6PW{b#FCw>7I;oSRxKD^Z z<*d7g1tar}U+K|aK?x+e=ZniEc1xSSQ$>C*0{=)^cUKeodtd$h8h1ttlXz*?qiDO? zPQ~&bEYa$FVn3;g3X~6ls<^cZyk}mG#49%!-HxHBsmqs6eU&e>?P6dCc z(V`>H6%#8TaV^Qks<@iQ^8X zEyQf=yLkk9-o|`T5By@5#w6XAO!^u{?qPYxpT;$u4nBHky}-p%Y!HgEG>jYYR{d38 zzb5bMLgW3Zd$*A~Fdn=M!*iLg_=S1rDd#o89vR1_t+-(%&uaei& zL1MR1ixfTeNq{;on0h?wkHfD{ud&@`^cx0zYvGuxwViYgvy??#!R4eB7O&PF+G4M7 z4OPl%L9IuvzYs+CUb4ke*H_AKm*-l+`vzS*p)^n2q+d~~j6Cz{Tq0Qp% zZiq%w>(HU9jimp*H!TnB+x&uIqqdNK1&Jp_p|ZvRW2PRB-_s8^76gxXgEjftGvqbJ zZ+VKdE;w4L6yTHhLsMrbv^^XeID)h^RS32Eu5sY-(83XwveB9Z)Oo0_vi{=Kf|@9( z?JGLCNnUNY!*95}rqaL%Fb195B`f+hp#h(V@guTga+XB%M$`BF`gltR>5-!>>650; z|3qtmLRv=)>`ytbwK5kK@hY$|(jT1mlAMgg$eg z)q_`)BB{oPT|hv7XV6SW%K_#vljJ`KTUSG%p9tgjv5 z7t0Pb4fI?FIkn8g(>@5Vhm2@@P1H)`)6(D}2ym3QLT|8ER2qEH)-$|1M4-?bHe#^Uz|RJNAQ;T>?J2?{NIV=H~k~x#SsMV0Ia0fj@zKmICS< z_w!w+wkbC#HEs@{~tL?)PQn@hk`MrqzM9$8nW^fP;A z#s-1A(9_p5JNQ(9Y4d|4lgS*~jZ|gO8*=C?x__eHj86l#iuLz}d>FqsV19$sjC^L@ zEUA$R*@xJXR+bpxdkISRLAMYOlXC`9yE93M{ngnCD}V`p(H1$Cicvg%`osjf9op3O z^Z@vvMf%x`qvGdz;$JlrqJCJCf=+48e$Rr1CG9O1z;vLP^h>C>@sFON>@XAgR>4xN z=*bCD=X1>!%^*04a*C2?w$RKIUw1sxozHfT4@u1;DZ9KWQXSR|syHp4cFb>qdzkHR z=l`Tz!*6CH!VmAX$V*iExS7mF2=6|7alU~VjHuc`Bz#z-*0AhYUc)W6KL? zlA=+*V9tC#2q+3WtkZT&>GY7DzED<7nkv5nrn-N{T%H*YH|)LDN- zAV#SUXXusIqiefF7!12SR*;D(pB2T0QpN?l-d^4C=Oj1S}84gQ}1)t>W=Rb#QYY_adeOhEYkC_J7H~XZxQ5>%Q^d?AE_O@E=enR)o;_I|+wknC za(pHk2z>>3u7fk zPA4759N3ow4eI7vx zy*3i%sgHTT(cQ#w>2(3M)u?zQC*P!Cg*3vtW?|kEhw}p<5w*wBgS>b z0nT!4RB*U;H6jH44#SKo>{ww-hrifz1KaMO5Dgqci~Elylt;)u;F?j;K@K| z*Oohu7v-rz_{9Pg`+?n7iC9ZM6h0fn#+6vDwizyNlNoDr2WGFsrPavlkI0%^9a}>Q zcnSxeLK?$dJ#*{srZlNPGW7-8H@F-&a52Qn&@b=kKA+CNXdj5kA!U53s-k%wcSTj6 zqd~DObyP#``$5cwQ|!MOo}h;GDfqt;85bC76^yDcOiZbvn#|(46VcmK6?3 zvXG2`vc#$2MC<+|+UzWcdXY{OfSsLntTasaiBNQlkz1XTE@xY@v^BjI{n zh1;=wOoL{napSEd-RiS$SLg8J6^M2MSgFQAB>~dC`F*`&sjF7*kLuG7Er;m*W1fmE zzHQM@88u^AS5A|Th>yd)mbLsB+FMf2etT2j{=zrQHRVJ?*o-zu;2nwrdroa3sg}eZ zqKBl_`0VvS^IFf?P=)c@OT`#R=athZd6%&AYI`dj2F%A|Z#=c@NT=!n6NvV5`QVg) zZM8rfC~Odz@9$t^lJdN$US-%`Kh&=X+305wC(EkAi%Wqa6La#I>*0M|=~)OrE3y)- zr{iKaxW|`q`gXC$c8rE=Ve6*v9l%}I3C|oSS6&ae>CJv=gGyXSfud^E2Cz)@+^?*r zZ8BH(_H}L5#dzJ~y~|s*Mu78NiJKcVu_GFmOzhddxUntMUCeV=Zk+cRP?zMO>gkDP z9oRPWMF`hp8t3^oRKI4?2u9%>glTW3I^SzA3AX(@D^A|8%Pcc2r}W2QySW)O*6Ww7 zs*hvA0*-N(>9sqypgEUxCmp{kL#z85&YNOJY;Fu)HRZ2r*t;YoRIpr=!Vi@_i{6?f z4+28%eh4cLBxSFx*lAVgc*I<8ak@YIwtxG&$=Y)b#mdwX?WW`<38X@C|JS4k?lg2$ z`IEQJ&JTJG19@W}b()J`25jXus{WSVAH#^pN=GFf<5OYzxE^9}kI|7%$w|6Op{&;A{AnEH3^p}W=6x@`UWGn#^X!GB`SH(WSAZePbaDdC4%h_*Z_ zG#+$uDwg~|?0t7!Q_Ht+)T3BIQ9!zdB3*h18*l(2bfg4Cnv~E(3j`Y?gd#OUCK{561HXJJ=0M4F#aQr4&KwKHM?M)Xb?}i&jAGg}D2yxFoEwBvu?uYoHsc>j z&Y$*wB<4u2^&dD*sGG09|4!@)c*pFd(K$cawz(fP{-VK6`qEI$u&S0rA=)fOEX+zp zqh`1t^yS^OT;?UlY=jU* zb9i3DDvTt~4UpDQN6BzPFPjqhDULxABUr0ZL9uJP5re&zat}eS=}<{OXf8q&A|-zX_rltpkeKbw$Wv03BUN34t~Kxw1FLIZuRa+RV|NkX$9cSA6c$kFP4#1s&$HpO836B-IItm9&ZNTmrJ! z=axG7-o8JCd^q`JSk3inZPy2N=a~qBod9{#8bADI0o8$)*h0OG|C9I@_ojOR zl;SP_i?63Pd_wn>M}#y>@DaPiC4+@2GRC0xi*sip5nv&%#PqKe`gmL*bKkFAd_e;gFStx z9wWw=dX?{EH|iB!JX`^&^)cD>vlq@bAw^$@r*A^ zV6`aa?!*3!b~?X`TiQuCAA7$V-4!kUV#wjdl~Hf&(MwnhpaMu@RzGGk;yq;PnrZDF z(mKx(V{Q9FW%60+I3O6AUM+Bca;#oYs*6D(GSGrx><9qtwS7sYZgz3>h?lxq)Us=y zHkK}*s#K?F^J}@ym)XT5&t>oXEWcPkZ4LMJt_RZV7x9@QR3AIY#j`|m3FWo%j2P6P z**4p;5?fwt0%wm4OfZW&+4q-uf5rB3#&r8-)YGWVa4=*VkT-S1554)N-K6xYA4oM= zT3HGwc8Zh>hrk63_1H>Wr%F>+@CsqnErFcjzs+QA=l5&v>xlq_zUFF-3{CfQr3=?^XJ-(R57X*}O1XE!`~x>jp8 ze>uz;EmZe}{V91YY@#g9WFy$D`1vq;bG+D*4U7awm6qzlH=aV^6@qe%d-&@Izk)Qw z@4Aibcm}7odzjZdiSq?OZJukd@NQ*~vfr{itJ%eBcxZX4XRP6J34x=$*sn7xw_@p3 z9&Q8vKua}vou4vtea>FJoj&gA5o^3q-wUXvQ>BYupvl}% zrXuv}!q4h{MTZH6oa(PY?%?9`k(y2HOjJBNR}JP%ylCiC5U&C6Rz~8ct|{@A#LZ%d z(#Un5v)z43uEW2b*($nF!#i@eVduHuwiacOCQSlgc<<7#xv|In5vIxL^o1Vj6&;QM z46Fhm&7lZ9ct^=8^ig54_>pts=fyJv=lK=8t(gtaDUR#gMg3&(lh@gA@71Y}3tq#M zL;+8=pN~`6&pvYeC1Oa+ftZ07$AT+cgZ@Sjm^8evnW*9t=mv+DN6;xbG@8EHo=5KH zoVeLlM;BSuc>nK9lQO)Lfx`d7AlXrKXW%EOL%{+0J)2d2Qwr zz7#EN_VOq#pBLLD>XPAM#6fg0xSj6X2YRttr^Ug!{qa0}Ei4#uDst0S9m6fitXxAgM>+?&^8-A1T-;Q@}=#a-8U%q{Q(Dha9Zm9<~nD^qE z^xI?BmktsY?5g1`wgS%TS>s)HLCvRK=p%I0$=P}k*sbnCp8W!Z!0yY6Hq*7l{g^o< z;gN+@MPd|tx^px;&m75_d}hxmH$H|6IV0t;;dtJSjw@S9QrS`@*wt;j(VN4WOkQ}G+8U-u{|9^bKCbUwcQ*A#caiKl;Kx&7CCE-IAyd@AR6z%`K_ zsi3P1NxngcI*s43hrd#z$N!b;f5GS7-#Gs9h5WzA9Jr4Pp*mw`dB!KDs1kjC+xSt zw-3$#-=J0iu@}|-UNeo)C)R2T*Hh^*5cMr+RPwwVnUZ8|6EIobp3M zf7eUpe^W32&$<6a{r?%I|L?>+joOXB1Agz(_W*(%4%6QOn-9JN9@=k;Z+iz<;^RTe zR#cgNKK*h@LFwS%)5rg*>aMY{DSx!ze>TGajqnUB{<0c*&{lMuMRlB}{?7E$KIo{Z zE{1cL;l4QmxVFXfQfO&V%~pS#FLs#+HaP^*W%DI6I@Wg$|&Z8&K3RP^d`~y zF$Mc|4sd2WY|DReH^=Sq&x;+%=bLGD5R_@iFTW>$&ozboNkA1{$3G(n56yd+Lqguj zqeiI)iKBPB+h7iHQi9Uu=DbiF+@<~0{$;a^K1MB^0)p1pRaE)zWR+@u3j{1f0D#kG z5niKMIQxStYFIeqw$#ZF-vJw@THpsC=AK$U9^Oo5fz4EFwRs>TbA@wW3NWHVrv1axkfvWB6*ME=|B5*=qZ;(+o1V1xhYCdWZ{-l3{rdr<+dDBOV= z|Fuv=TbJ-e2IuSj>#*B!Y*_UZIVJmxOD4Jj<@~mb@gS+AiMEF()2oFdP^O(x>gzSb z#F~o7Y>9c*>cbZo2miPVnjX`Zk81(nIiuv>SsI8El++7{588q{2O4jaeG)Z$3|#7g z&muN7EhzK0Y0|6+Joh1ON{UnFsauQnDG&|y1IDT6z~G&8EzwKY9emqArqy5T}R^>j4b!%Om8 zX9`urjJ_Fra@DhSD(`dcXrCC`HMNd*;|)ncEJ!0fG<3FwPVB*g-r>quK3hb$k`#)NTFg!#Y8=(~xh3D0!?;=37VqK#E1CH?6SU4w8Q-Mo^^>(=o%^O!kMJ%S{5>V{)>uo49=>27rH z!zbTH{5K%T&FfSDoSKzm96=jezaVm!qKyoNYja54>39|4X2un^e)_3Kn1>iR5`)yS zXdC(tXnHOuQ!w^DxH7%Xc1>kGD#cRR(B3sp@@&G-njjomA} zk7mY21p3E+i!IINQ#(pj`CSx*xemkbRJlSOu-_TrSBo8m*Szy0{(M;yL;oPd^h~XP zq+t2~o&f(tKQ8HO={R@O@Cf)=`n;B`eRuDl8V*lo1YA)I=+S^NG(mC4G@3OzmXDVz z6~2`Ui&^lIl2@kQa$YqoYa2uy&n&fKji%k^VcH7gLPd!(>i(R+(FutJmuv9~bh)`% zU#MA=)zEX_bD_|iRNrlBZsZ^0J^yrpo1xZ0sMn`S!4(;wU%>9fZE|5mNZ&o&&wdfa zgd(%^>*~Y9V;l;TVDDw=&RVO5R!y$1j`BSaHW7QhTsshUge!I*l6*{&D3n`WO&Buh z@Iga2G)Zx^jCl?0&tB#U$_w!hHh=UpRxMBzB@J`om#O>R_8g0=Uc~22yISDxV zo}uv6G!3iq(DX~YYnung75d(uE{B{dCDLt4DyF?JW20nHHqRCw*NY~Bltb3}$E7!* z(b-P%_I89JTi>nuH%>r5Wz_=`B^ivL_{R1M@ z@ECWxy2vr%`cdt=Vfdn>#bug>KoM@M<*Gzr4Km#tH;7Sw_&~SxN;1ojIG+AGY$MYm z7MO~Q{N<|(k(gWIsIit9&G_wYn?G2R55@c=LJe z!0v%q_0&>ta^WjrUZ5=6V%Up#Z7^?0#)ph4oU#xzVs5h7?(MCRzs_ zOx{3x?t>8F-bI_701(Nnt!P70>B>fa*RQ z%f_RNu{&eJwZCyv)m?m8|w4o7qe5Q9kL6tq$1vuN{v;H0MYRYTchy6O}Gr+_R za3-N>U|>snKTFZ)s<}hT9L3yyTBxAGBJv1fq+9C*qgK2nRzy%%Z0jHE8h#-D->3F} zbStd?t=)WoH1$Ep-&%I^hc>`A|L3;gjrCxvO?H`z2eZG1Si+=PA$*rOO9j0+9xsWVhsv)M`$rnfUNE# zKwx;XO%@{t=r!`&Vq5^Pb_z$*!W&{=xSy>}Ryk*J>%zTr>}F=YL%Tp3+b8i$+%%?y zInCN_&cX^W| zy_Na=*Up>~x*iM_?Cd*0sgw;Md?>o{5*8n7!I=KAGozxMml-TmOlQgmIM*vYl6Kii ztox1a`I`*q(}j2HVU>Nt)B*08v(wv3OKxGm3pFfGjlTH~0O41<=9Z#9=P=UVcUDUs zO5rd#yfY+tRE){GsD?=rpHJGQFcD?npIqt~H&(5lBPV&yZ#t2;JOI+<5K@lY{Zl%cyv^{2Q}0GHt3t6rab0sS|cn4g3Mp zv0g6OMl*P{9Gu+mR9)<60A3-gR?u{5m$lJSgmZu(Yp?Bi`4IqP`DnM%P zLemJ>C2?R1iS@9|YzNbLmTWH949&m>1?d&0DUTLBojC8wU2mb%BBz$>1FgG#`H#hy zS8n7y-7Jtb@Z9{EwUh$VKk6gLXu`ch*bmH@a)(LM$sdNd6&$@bzIJEQu$VB5>%0jF zRLVdnwpaDTpFG(!5qVfP^U)B(t}m{SP7@v;*uM+9&G}3KA($H9odA5i8==u-tYmW4 zyoC4$<|uJbb`6hEtOfjXv`75-37N+IlYpyNr@^qs_$-^_Mc3n27b9V9_WA@1#d4F%!-V^7 zYqNuN|C7zaIU(@}LlECCQ*Q=@sv=uLClr70_WiOn)VxDAZTKqmP6dPzv%cq>^!a}y z5vjXw>wTS(N)oat5f2MN^-@14Q$?E9?@yhcDM`B5f_3x6X zc9QDQOC?m}4>N6%-L67RS#IRsG@fB*1 zg&ca`b6p-YQjL$rTA<-8=ZcnY-)rv?E4%kc?q&$5opzs}L2~xA#~#c?)_Fv|G9`_8 z3hq~pH|(pC*)@4k-jWrnF0^j$dZ5h-pO?!XbiwML?uJhDGfhFnXnAB4WsgI0WOh?k zGeXCc5E}Zq8_0k(ZH=;`Hh@={Fe};c?r~ zeQMdJZ;`UNcMay;!-f>nPNwG6Hn455Dz>yIgK3DxR{C7w@DbDDOZkid_Gw2sVIFXG z_2p8^;8<8>chI;o8S|EJI^X@a_G6;SdEhKpvNw*Lk`d@9&mJgQGuhBcaLyAG-h|lUb}fJ zm7}Fl#bKkGV(Zi4I!Qw(KXSH(gG~q}Xvm@V$c(Vl?HWNMQXQjGXgJje-M8Evf@StE zJ2YRgWfn0mlq3o&)5yV`%dgL2@+Lr@rJA4S!ZRv2@KqNZ7;lE}n49sU;{^5!DW=%< zgW87KxD=XcakVm*aPWhphrIlqSnL+IE0dutkY3YeMs4aKWT$}0Vj?>#fp;b%+Dqlj z6D9zJ--xkOlk90QgvNJ32jsX-diug!uRzvcGX;PhUO4$d&W>0u5A--bht~fB;FZD3xV3duGJ>;D)jb?9a^3K@p(0GPA zSvgf;Q)ax?Qa<1C4G&a(~?U$nX5D`l~E8Bh#|mJ3A;)gan=%Dun-u+#~0{4Ei#!`B*dm-pCrE zXf&g85)RJU130tx8NkBQo??MQ^@bKlRBj-8qQ43j8Jh6VSH`izEiSIK(Y^Dk+MnNV z56FXRg6mZks@A(X%!BwxxekZ_r6TTc^Jy!t|9w>@wg2nRD|U)kBlHVZPXc?KmMpOx zPL>+SUw#)gwZuo!^Zz#q)RzL~%tl7ldTFbx)SXA}+rcGT0T2E+1N_g+>~vFM^7D@R z8$}l;@f&hd=}4oLmoV_McHWI2>r+_YYjm%!D}jvqK z(2V)#%!AKx9u3Rf=C}FxmWSKqr?xqm*{t6dVDknG)G4NL+`0f)cXMqtnn9!ID@HKt|TYBw2w36 zl2PXyuJCo_&lw^lIcE6dFFJ8}->O1IcB( z^-2tIM75eQc(xmkPkh7fYG~~|_12;h{SX*H0noqu9uxlx#PuGvwh zM=>dO{Rk&gMXLljxw7Fz{qkCtnj&;QNN%t&X;|#>ab1R{xEIb0AGj{5u}&$mW2#;q zzMIE;IcFxg7gff@1u8Yt`HfC9oK?NDm{EDpjVRjhDFL$3>8$KtuBg^`o+N5EQTo5Z zE;uhto2bp(^eTH<9==aIpH#%57PB;{EoJ$5eAOMg<%M%~-QZR_M`)xYsI_o69_5oy zq%~Irj7vUhurshc#@+3D*Pe=5%p$q+bs^?Q$x2t`hF_e zw4_S^gyGpXtffMdC10cFNk=~Y2l^!yXLpnF#^|i%sA-xo{^3%q*TI`5qNqlPofzVT ze`Ey$uI(bRS!&g12zO8mM61b=Ri-CytM@N#$kn*F{{J(wg}iUrHW| zuzNJAuZ=zIM;9_G0w1;x78moljEUuGJ-iiKrOii?KB?*%?B-djAsRMOtr#OCRgW~A zDfl{}1XZz-9g!iUCL8?(I?6S*hOAy+(w7$UcJwr1-1exX+-l6ksH&EPXzP!`h2J=X z*EY?}Uiw;|^AADFrpBezf^o!s=}nyL{vBp%TzssZ%9dv(R<;*7fTb`$vsPp3jAzJ` z^@A!IcB9{R{4$c$(Kh0l)9TO<8VHvnYQm;&fBrcXT&lbHVYXMpVXJ$f{>*PQAMuFU z04lt@A56LrHglPA&1g*@W*M=K|Cb!9QO_Tku}>i5m5Dch*bY6TuKGS-ezKl+oU!BI zz4_&;dyG>(L=F~`qo#-9uUDK$2*I0w#lb~dTm;e6Hvm%30Km0|o4pxwZSUhKOVp({j2ILcZ4B33c27jjRht9e9!U{q^w&r)Y*mUUZz#}C6Gz>iFd`b#zn#+$eA zi>-9oj(k|Ifn~vSbqd=mG~1OYqbgYKZ)LBzuNvvvtRxZLp<))10z*q-@ES($?J1;m zGKL!JyRSQwL)OHX>{aUlj&QR`6npK;xIC=(91DU{tWSRjaH(n=se)3nwJ?YEVf4%m9=Kd*xKPB+5N}%g< zd~EnlCO-Am7_-W5So{X0z;3v(E8f>FW`gg~0gBi>nS8IxZc6{?Jg#KEl{&jAJ-+s9IJD_Fv!$QYU zWI$j*#^*E6pZ~FRfA|@7c6gN{79Kuc|6q|1$gC>qI$|$Gf)Pk5k7patj15Zkcs!}5 zC!i$ncq$Pjw}K{$C%tdTE--H+{v;vNuIz;zNV{8Wz6;D8467M7&N+K(@6u z%+*dns)I_lRu%Gi(qWQAJ-fOoU@6#}q5@|@Tb60iwGqw-y5V|C);3o2EfsB*;qOpr zNe?~s<0)l1(p?|zyTvRGjDv+Kl9f3zT5Vpg83(z>lu{BOX6V(%$ z5dAC=>y2fnL@mwiN%^!i503;`iJf7;hV=NtogyU9LFB9@?eihbXvfLazWIupQ_-8f z=@Gf^s#G{my*&QA3m}XG#O9IL>Qb}#TgJzk+;uj2u|Vv%_*rLuH<>bVPR1NVjXAeB zjGe9w-vRO|NYy;a#VUra;?O9nC*|0SY5M-%Cml(qF3+Oi8D>ExS$C>Bb9s{1wR|`; ztEc8y=HW4BRqG?q=t5Mq!o#87WW za8=?JLS=51x_@s^)3`W1V=3OmRyP6sNsqdhI_`74yzwio(oTfl-Gv0?hs^C1dfZVI z4g7uP*UdFu7=oq*Uj_k7pB&XkCaQ?1b%xKy+KokcggJ^jkQ84WPT7Nu#>Vohdy0w^ zgjPYv4AW`OqIORD%|<=47WRQ=x%Qb5U{OB%426kbd&I#1(X*JZ5v_;ENvNvkoZL=19IN zs2V0)hiG=?t^z=6J_AmQzjM2t;~;I^UH{&Ex6zcVFDlQ*r23;tHR{IcuvLHSz-YsV zAIFHhANH;tT~q4p9_k*lJpK9;YB8P29;~cF=gzMCj~Q;u5aXt&t9+C@&=4zN|HE;) z6vK@t^5iNR>C0r(#R)pA7zMWN>w>JzLY>K(Uoa#W8>3 z7m|9kU9?^5(|^u|iqzWH+1(&Hqi z`0lFmSt+?HaYfWnjv8JjBXL7N8nKX^bepfvSTk-UT@zBaM@rFN&Tq&ygt(W|uZJfr zrTSJqsnT(4ZO?lrU2E8+68Kp>^W0M#)ro3$4?TR#v#1Sq{z*jIFC&gca6}}|>pQ>> zx=CVuHsgSH_#mx1UOO`_O;b}O(pVgNZ`$HUZAgVm?AdCJWH$tQm_zmGrvZ{5Wl9}0 zR9+WNPD%zvznZA>haJ6Be)VhbHODZwWSC^2DONeoY^UMYfTXG6hr|l05z_^3=3+&pM$|fqNjOJyJEe;_`A{Gn0Q@wY#&*VDQ(0wVj+<6~DQefFT@$LBXr>!zy)8&n6 zzOJj`gtLX?8EKZY2a)R8&ub#{6G}Epoa2yVTG^SLPCM*)8r|kW2cv0QLob%&RkYJs zJ7|_RAEFBs^gc(LkDtdVG zol2E-&*n^699fI7*Ij4BOrNjnZy)Ya0ZW>XZ7!h?*(39BgLNv=b-WCB8n5-*Z{(F% z&sk$ZOUt6<*dj$3ukmIbHB=YTe?ysdwm-xIQDB12I~I~|$ag&#booZZWjD|CwnRpp zVQkT{@#7e6-IQ!3hDnP9Xb2Hn1 zl6ylvTh&~{^Ncv~fJbGgHn6^v_!V%fDB#*d7v?Xq$9v|D7qwMQs)8aQ?5DJSpHz`6 zje8gBqZ1D5>sU5U9&9AW+KF6j_QLWn2)^UKQ=hbmKV-|Bu-30ZgT~$(Oi?_#uo4=Z zoYxmN85w-5y{wHv-rk{uACXYWCD+!X6T9`3t7HJDzEgF@>Lv6fP6?oxs{OEI%LkGY zd9WAIhX}Ho0Whn2z$e9=Mq5#QiqzQC1+4(F1%!_{>B9@9N<5V2Ghnx)vypMgMRM5i z8IcMQr0{~-L>4Qn-6^X9^u|q;HZ>iJkz<7^1h3q@53YPUM3QU9cR-Lkh^Hzjw1R_k z&FDgI^KkO4j0@5-=p$`NdH{#jQsNMSVB05bsPz1PO9CH-b$z^ixh6p>7KKYhJPU>t z?(K9^=y#LbEzgZ%LipR7!y7!_G=3;>q|9d(nimX;*}C9)6#Jt}gkShNnp8T-R*^Q%p=Qci!58oSxfEFid6l$qQAE)K~Vp z9xu6A5|2bkFhrm=+j}I|cSo6RQ#un&#{bRO zZvTu<{Ymqu1pdF4fXys7120n-g%_>*>>nz6>Q1|U40XQ6rwffrwCzMrEwo@!!ik0PBgI90uR@cAE~^dCFpAp0T~Y=_`*v(gpY z?(4;xavgL5oDNkC4<@v)eC-M}MSO|M6#=f_gq_>@qCH-(_XWkjmxr3dn*`#Zy|K}O zzN33KAYs$x*U7jYF7#6?BMzavIw+1D6`wmzTn@|r9ML(tk}1KDGGbi0adHI3BWOq>vIa)_A)}pdcK zkZ;M1jqn32~NM!v`mR{iXQwqKSfXjvAeC7fN=xK)Z4eTiH03)IydY z-pa||RruA|*00BD40YG+5WHmM>t1eAFt%BdqH3ShR$nI!>=$S8*BTxKTfKczxN}0F{W;mPjLA zGauU{armQ}icq0Z0&ZK5-2}6$J6q}p@}!gRFJ>`6aJdQ(&)B0n2HD*>$4;YxHXT}Q zLZKW)qC}7klV4^t0+{uUI8yRfe7Gy_&H3UXus@0xAPfNsz_W(TZ<3Yk?)TC!}9a3D3*jc@9i}6HM)c59Z=n9dY zZYeSA1syy)jiOV-xLI|EzK+uS4yZi4*GO~q7A?~Z#>Ub=?y5@AGy|67%9nV(n3!ZG zU{KeuA!O0*VXTsQ@s_Y5b`N)0NL_?&%zP?AUU}tSa<^c}>z%iIap7RmTAgvorv+Zv zj9FgCbkBqCy}2#F>@*alRPEFoTiKik!g|ytL$ve7`eW?z%*Cb6wud4`~K z9$jKP?6I%N&w5!id8Fo4muzGdXW1)puryz`Oz{xOWHvuM0tEu;?CU#FeJ6GCzG;8) zoz&JITg>T5S*`7FkyN;_Q~zLZ;00WbtcZJf<%AJ0~Z0K0yZ=r(RY!LCXq3rBR4x-ov zenq4;Tol_BG#|0z^H2u1k^7HnBmozULOv&Dm%J#uw%n2Dtc`nGzExDRb z+acczj|NM#-cP$I#zOl_61sq+6jlo7g(W#w&*qNf#2xRRZB6{*(Py`noJKk^0~=$0 zVxE}>JxE_!1ywUnz@H!UmXsZ>3HE&BQte@4ab%13YMdSSije1FPV$!0a`iPcuuH2r z(e8W9mh6-xR7;@w4k+cd$7FV9&$P^APLpn-+RQKRPT0xr%&SH|&l%041@G+?HJt9M z$}zq!y!i3OoaK3s`I#yaWW;GwXNr6XYRrv@l%Cvl#II(?2XOZx;Y3TZ91*HE%lVw` zP79Xkpn~9SS`c42ZgMhNZ4f~cw*8Ql0@=ZQ912v=E&s|lNo@AwQ1qtLke~}KXft6w z9-2Bis~r4gEhW3Jy}H=bvUOp%*AUCxtSttgkevL$nZC;=S8++{P=0uKf`;axOS-9p zcH(8OqpZpMv9Er0&!uYd0ZB(VXgBb@ljw*9zZeNrYL4JuOj;+Aj<>A1&{%Mz@8xmJ zTp^LSWn$7}F0?h@0b2-_L+XbBS#ZD+rGYj`zFMOp0f&U$ z*#M~bPEQe>BtqhCxBy{U|K|L8USrjXm9QCJv%WrlF7nolfJ8yvV>UrPJ3E5Qv?+pL z-QS0&q@Z-%akU1a6%*!BSif)ic8-aDF;TX9l%)uHr(m3U`;OLXK~%OpMS1^L)$4G{ zLY81#$}i8~5IQdi)@w;u9`&D0--r)3;$-MG$YO{#aEY-HD*p~Rr!QR*Xe?qf$cscu z3fN*YuqwW{AD!rzF`Erwa&qM4(-=NVj+VuKQ@XIVTun9MeW)$Vu-&E%)cRQ81AVcu zU`Xapph!6@hyW)W$+Fp~V7ruD8!Pjq6h;}y4q16JGGs%=jy#qUBn4^oM{Jz@4nPE6 zui9?p|1$Deu1k-omT)HPWsWNF6hCqhdLYY-CQ8a=(yl!W5qB3&?}JpVon5b7&D)?k zx16MuY3H5U{TSqOK1&Ga>T*=$4@j9UywzhF;u0*?E2VoR_%uy@ZP8X_s!StaME^@) z&3Oy;>p8sRSwfWKxkL;^A?Z{3crtP>9%9U=-e}cxd~TOzsrT#WQgzK+qA5^{xz7YN zZT$3lsASg;yPT|8)`V>W|8k*X^~djkBh}&Pcm(1lYuQFB`&#+3r{2*)re;{VWbqOm zqZB`}$gwN?APx~#AMGD?d4-~yGB&r!@1A|3yxs=Ic!0)%KZlTYTQib-#P!|COBUDa$&un5e{yEWkHP>)`$jWj`7&$>%DYgM-8yUVLN zfx$i3v(P}Z(ZxexmZH=B&d+b+?4N00BJuH3)z&(}P07Z~;%=~sN4PbwpkJp_D9MNH z@?y0TYoU0xvON>z?%~>WEB80|Nhx%ZUrm94K=@#aw=Alm8iKHbi0rKE-aBrKOa)Y=z_2DQ4Wt(D9?I zHhwE{N*>P-_wya9S+uiU7!72d3wL&lAD-OYc%JMfcQMK~9IflnoNNyI;q4Evyz<5N(gYEJ|rhj_~!Y{TQXiyXy&d6F~!76{|ZZ=BR|HTI5}C)dnSX z^-C7m+`){h96FFF(dU2g_>cc+2KS&DyDe#Ft7Rlwn2hpF3{}9a&yM9R8tLBwRyW8G zrm@Cf*K6opWBF6(lu9;`kDTKDl>`^;JxYn8Fv6rK;LLD(T6`{{Pe5wP%}>Sd*%H3)*5|p13w2I#HK62F!Np z-b~0^nar;SB-&Jz%Rk}1c4*O)oO5C+aCi=HOX}(E<|6PZ?O{u@9R2)Ny~OW=AviiO z#OqDf52tddYozC|$K(oWo*8{oJ0Ya5Jia$t=-$U**lIL86mr2TLUrpnnv1&Ff%O$3 z@js=$cT{BC}EBc91vm~uuOv!KC|$hKzm^8$lX$>x3-}V#siPV_lk|9vaZxI zwOx3-MfCng%)H4h$yAz-NknbZ81 zc?nUU>~+Fs26nf1hHlZ^Na+?d?-_}@W5~NCKqlcL0z^7W4RL1kKi<+)pVCHW9`btV zv+M?_YrC6ymsix)m)N10H`{qCJ_=rvs+}r`@$PCxsEpW_!BWC51HeoEk=pTTMlNjo zLWRUS&Rj~wJsNfNv=oyAlkuE>zMPKxn@pjpw5ZS?QUH!fS|29^>fF8qnuYCB9*I`4 z1Qg{6Wh#NQ5r?sUoabdkbL+rL`&hJ!?48U6fLwdx2K7xA&YOd=Q+lKiz3-`N(RVU2 zvybVWOoNI4yrGxAth`MDln*>{i8{#2hkZNQ*TMFvqDRXxe6P8kTp{u(EnDR&Ku(!9 z;MTKghilWzPe>YG_a9u%<@t#4KBy?spQ(ohsO0VI7nkN;nag7(4s60o|K6xWPVIy{ zmq^Fkc;vH)p`C2KOocV=OG&7${1^1BT;;F_{9~P4X5g}*$bBzgx9T`bbtswfL zs1CW){n~!wS!5Hl?|_KUr6((5J4`Q$y41l%U<||5P~*=~MedU>0o)jeq5N$k7-_z>_P;Be;ipU#s10rCAmcPqze;?>r! z;#-B)D+sX(7r4)*%`Gjo+W*PP#~ka{ERfxE$BGBajyjPPNtw%u)`60m<5W<_Rky*e3y3SED>s~<2*|sJ+6-aAIFZ~ zQL8bxSodJ`0J2Y6| zspe~1ufJf9pS3m8e~H)~VpM$DS8WjaZINS=@)#NReeVwFa-|eGeHW z^AIPuiiZgi#k2e2n4g}Um_9XhyJAa6OuMmCA}Kf1z&K=1utnE0LT=hLQta+H)-O~L zbX+^cJjzd2S>HfwAc~=7NxxtGQ~zdE$xub0(v=Jo*~07vw;44G&ypjPmMka}hEFGc zd{bI+x1z7_T8*ScP<1}6HsH!%Tf`CRtJT^i8lMQ=&~~e+?(z5Qdhn5XLbux6r818G zN_`E^f-TARDKh&Qsr?0CJ0Fd9+306A>v+dS^(-#XWTf$WjgVwOb+_TfKut*PBg)5K zmYIOxJkt9ci;DH5)3qRXSLjIe+`8h?Q*jMBb=Q^(d(`iJcDmryCdL5%yZQH5@_+KT zkn8qX1FetQ?1^D=Ts&x8*RIFc*srs)m$kl+)Bmhr8X(vqza~pG_=Mr)m?yt91^P6vF;(eTi@H7yF1Zg?EFtjm8OG_BbUDUY z)0zB7ymPT7-ut+gAX`BzhB=7kkbhX-K4INz^zK?0a>B-l6f#z*&B6s58g<JDC)Q|{X027^m=16vSe zYowOrPL>u#Dn&^vDaqvK9q*>qij%ou}O~2M;(lBRE)#_E!aJyP@%=c*bO++4(JQL_2mv?-~`0Qa;7+9)*S(&Q_-} zNN2S!&oVhJYyAwP4P~eK>xK7rFrDG7*U}Jrco}>ZV>Z{u+nc^w+11+#7UkM@CUum3 zqHU;;J}Nb{8x4GQ`D=t1L?TQd>OTo)p44TWN7%~AtH`R<88Ce&o?1eF68Z6EoRGW@V0^0u#FWX9%dE%VWxeNw9qV`ju8dXIyC@ zEj2TfD=a%t3zk%{yvdj@84V0~Y!> zSP>eo(;#RQf;OXzf#l8Dxa8+sR0eNcEE@r{G~XIZ6>Q}#k$V*7cY(r67u6?!ZNwZP zCr_~syAI1+$k}MQl_^xs&UcXS15y6Zmgz!m>)6I_BrZFNUmsDcaq@2gaS2 zF#LqEgZaOw`>{eSHeI%F99&v))_)gmtPZhp6Nm^`M_3=|hMkR6EyI~T4R|#POImkY zWsZz6x-;b-ukC?rEgt|Ao`~qE%Jm^!XryVgOy{IQ8nMZ@P0gU0>Fe=Jk zv9BLic1j}gEn>%X+G6qg8$U5NQ}^Xr5hyg~(HsG`88%f8@i?V~E!0bFz`|m3sD#>q z8PHJY`$n37M0IrS+oVJMS57*|%08`HRDx#1?&;T6>yQ44lQg7=I^ z?)Hsr)xBD;nT+(tYRs1idck(X)2{64nmf2~&bWcRm78gyDm0+N5{c%I-?#!`wf%-o z2jR(aZgzcDTOKJ-qN$PiWDEY@tr>>%6o*}zPDby08d4|3C0zJ70ddQrCdY(Yhg@D< znCdvf=M?WV$~Z%(oj=({Z{`g9+8MSh?w{QvE8$aeEU3W{sz~ttV~O``%Y>4y)pTRI zY%-8TD4;})p`5W+)5Ho&twm=-Cbp4azJL@d&VQFua`rct7QK1qCnhHQ3bp;Rpx5?& zb)8{OF&#sZz#0_!WmLF+9vBVj&++G4cER!f#-39#8_;!8W9O=O<0p5u5;xzp#OPs$ zPJ{nuNvmRkneb5#%bFf{F3nn$w|wT*1)_XV z77M=0cV<{;c|?Y+Ep-@p2bnYaqf;h=uN`B45Ii^Y;dH!X#u*pcakbyid6jHz&~~$h zj%V48BMl*0wj+9iT4@<@b4Q9`4k{0jI(zBu^p#=Xnn0u|+%>6i*ECq?Wz(i?sG#l% z?;SVy0c-f;!s9jbpuN1uec=FsQ%@CNt?wxfZB_OZ!n*1gD^$cq$+SM}lJhkbb-6sqOr zc`BcO^;+%2IjB@-FYs)_)=uXJZ ziX$FlO4>YZ*E>JF85spxBU^WZ^>=Gek06$DXW0K2_I}(~kJz5KyrHBK!3}u684+^eqJ zDLW;!i@dLiYx2y7wswIhx}%8kKYWgQzUtZ^q@NDG$od*xZvUwNLw^4+=}(vqvMK?* zp4XhL)xx`_XjvqnY8h(31a}niQ6WKgU;S@R)cMkdhIYebn{)c-U zWwa<=%oR50wV5x%8v;ljx2X1IM!wnl`|D#ZYLV~hah@DmLIL|Rozg%XyF)aB~nf+z7`OB;77sH6kSW01Y$38!h?flXzuqUxBMjTTGW3FyW zz><;!tq1E-K9@Q>%QS-TJI&=4A()k12!Q^*3X}HcjzXOoYQ0m(aU#_ zftfaMg4Hdx@!0fmM(1>Ft(nHxnMJD#!V?CM9*x47Hz^b|`e++gY5ify_nlqlRVnpm zOhUvuCZ!=iX|M$3@7~kmoBMST_Sxi(Z9RCnk-vPX(45Cfb3OZ7UVXKf%A1vj-wAHC z#ROxbY)9FoT;`|y!D}{RX+7N(n;O=Ae=|d(-P&|F&AcMI&f=XTjV!BP>J!6XM^O^ZM+>MpFavhLB(zNwOa< z^gH*m%Cf@A29#RG+4U)FwROBl+GN^C=u7WLpkkb7s!LBwO7%H~3{DA)Pc=RhH6DU> z@hK_Z$u^J=NK10Ls~ETxe80vA%POe<4+ZDf5Pw`z%eTguw#UJZ4Cw9+&fRM`F(<_e z`|?jl^G2GhnS&7!ER}sI+|Uarc0G15pfo5YJn?SnGB*F*ig#CHlz%-bCrls4oRxKu zbpT(tY_S_t%6jXNt4uV>n;bBTsq^e?YpwF8lv7R#e~8ZlnxJ=n_QSt4HXU5UqBCk| z+oN&z1#c&M_Y<(l?sD*%;xWZPP?xZi-FInWsQ7D-UP(1C#E<)b3kE2k4r0&b<(?F z&pI~ak>CP7<&36gJXF%%PkBd8f4l9jK6LjSnfh$?g>XZ@x*>O01@Js3CSev4 zI$el~tq5cdrFYe$K);PxemXsuXuPryf`1$CLotGULJ&>DRa#0mM-=k42y+VB3UVHSU z+HkYlji~0lwIVN#Dy8zzL^Q3xBycMN0a2CwFs0I(<84iNN0!{AUSRSL-R&PiiNd+m ztXt-zdMV3N`E$U9y&>4+S2MX$6M5j=>VZ6h+{XjsdpFT4n{C*thw%26f!S8=msm?* z*$VCv(W|C@+0@MT1CY?1LjL1STmC6c4I0SNe~IXu_`uY{!IKXNJ8-DofN$*e>?N^c zs4WN&Llw362}|r(kh#URgOf1$@HNnbKf}^GC_} zn$~f2a#uiGjUC8ol8#|Js)qpSS8cVhN$)^2=PR#ihFjc!SsTozfu|%yrv_uoy)(SA z(*g}|Zzb`&ZsAG}$^x~l!s3o*h;B#Vx25+ptpXb8D0jwtG|vB{{1&cEh|dNkl)Kl7 zjkZ?9F$Fa6_&;AGvenwwJO`2aaQc2NzCfs;+8g8HcU-as4N>p$!@;6ctE)Y1taI}d z%Arc>bC?v+qGe2m>R0D&-Adv&t&bEgzrDOgut!uhPu_!>Qqas}wL+5WSiPV-hX8dO z3JK%VTCo|OAD_!#mZ9f6AGkmsn0Ap1HeT59s(Y8+Csq*0FMXVX>aM9vT(S#svY%PL zI8KXfGMo#~i8usw+k7b0(tH;(Z_B}u$?bUqQ*x?m!)}#Cq^%9#!|a@nBAG;ytfPf< zhM{Yw3Ye`sLwVD3dvd$idX4pG3H}KSg;e+^=^L_zFqOE{tdYB)cU%GMX9kl&KVy!4 z3SUhfQ`jo2(b2MnEX7qL1jasm`PjTdM-idHH5ysbQ#&`r@bJ+m? zW%YV4(v0!o+rOsMHAAq<1{Zc8jZnc(7kzSHs;d_kR78P{x_7g&B6*4LY`u0vYQ`GeSRO`H9#oWCmTP3oJJ;=WyX~M{ z`0|dgZ!RVY9j_*@GO-MBP2- zG2rp~h{O$_eUZj{a|HF1HC;Jve3Z6nyt&*j+i&G5L|?aGh7F!ynv~Zk$_bzUI!hF9 znctZF(lrC5hmrCT9+oKuRFk@g8hX$qD~mX33nQ5{=ZC_21EM8vZVuaAI84C}2$pX2 z98?%GI1;kbs3qY_8fdG_B#Z9lX^7=SBa)>ff--g}tvq6r_`yj=$XxAFEcD5U)ogccjY#0k z^YRo`CCoE=+HcUOtGpATA_3PVIv!2g3gnO=?wY!e7B`DLZrQl3()=3kt0npeC8O8MFvkTrG02!?1+Fz z!?St^8`rl%D4!lEpWnk6aY!P&ind+D@7b3NoVdG%hfgHs#U~|4uE7wGq7@KwK5Xm| z3@OC>u7l-ZptxR*%@?yAs6hNR<uwY}1mNsxE?Z&>)aCi5>FZKV&4-C~)w`sjy34=3cuR7WbaN3*E5+m z2wGXW_k?%m5ELdUQ%j$0*@%A*Ds9L$^@^28dOe1uAqRmL#t?G+i=T@DfWPZO_Jl5h zLxB4nv*i%bkv`9CG&uxRBmva<@Bee1V%d^5=SX*`9?3ijx-Ib#I?1q>BM*Xk*jJQ4D&!JG2 z-DVwR;avaj%(J4>mGSTl`CRS})7oUm7+z_z+CD^k$Y(t2bN#X?MHSgwrnn}#MMv;pdC zbKdIr95kNRp$zOs=SK2B`U{_6A~kI{rG*;xgW3N%U4P9Q4yxO(#LzkL6ucE8VN^_Fy%O$0#1Qn~gkkgeh@# zH?>0mv|)Fb_rNnl6NLioF{p?(XJe_7eSMhG2`829FE964v09O6&`c?D< zD?gN#SVb&ba>s1D0xM4R>>Z+o(n>*I)eniJC!qIHGPH!$MT;3fE8TU9PO&WL$KB*pI8) zLoG;IJ$~`KI*&nFvD!Cus_gul$+n+x(x}ZECq?QiHK`2W5t(x^HjNKl|I@2SuSiu_ z-FJ2R+)hWhZ37fxBVL8AJNC}OLofpx;tGajHuma-q7$gFUoYul{eMS7|7oBkV3FN9<@8!rjyD-5lWpY7h;_owGVk}ZtV>o#s@&uJj7|9V zh?8>3g7_I-tIwE$OG>*eW1;2cALKH3V<9mu6xfogJewj3$>r{xD4tWp4e8?(X83!L za%dM+seS%*E!yG>^X6 zL%^Ri{7Hl{YQ04!v+rps&>|gKOoB(C8N!{4-E$W+MyXQNvP)m2?joS^un5yAR%I3`}(yM@vrWUtnE0F5NH*5*0mNGS4Cw0sd5~cYIpGnvIS=BOw9!)NF z!~8N;{R5*uj)xrs^@^SYDvSXZBKV}ds^@ug^~iFdDgDLpX0qAoro`)CjB5zunpg7; zC19m@mzu0scysO01oOwcQ(gF`Hh0IAm-7pEzn+lL7%o_4VS#g*p5mUAm9FGnXqb_Z z^EVuJf4n}Uep}3$*MXMroKCpbSX}FAwJv&i z%%0wh5#8%vhk#C@4UOI*ODIq~a0w%}XRgOzl|vM{$DMb)>v6q;f(QoMes>=uku){< zqIXIm<Bw;ORE?AQt|+BM#euhu!0;T40&#^Y(5zd+Ub7 za3W_b2V6BZHBM|QC{Drb<1UG5+=pKMb^!~d+V_DY^|>~{TNUSm(u>F|%1|J;N*UZF z+<;pf@lbkSBy!*_k@s=t=maK(F4tP4_I3N)^=MY$ir1y*HO)XMNVC&|vXdH+qBO@d zIo;82?Ho2E8Eo5$jcv^@D>FO*#=7LiF>ksno0QhZ;-z96BK3LTFTu8|FvS#?rs3`x zhxM+E36NXRg&6F_6q5?s`nxUX--zlrl?R>_K@}o2rS{rz zSsc{^T2Y>|oTmQ1#W*kAKxJa8pO}eUAxP!=MwVx!e(~oqp2|Pe9l2OXA!Ze$dTrn~ zUgwJL!d6y@wr)Pj5&jagjDBZ+WWZkLOQ2T=$oh-y=V`>W-{O`s*Nm2_5MTFj(W-vl-dNuKKsu0t@%A!|-0G^Lmw+F1auIY$l<;C@rIB+l4IfR+-(> z(JsN{p!&C$YI?%Md}ms>hIpg3uVBJcOP-U@zF{w~F}UiYGJl$)pR zF4TB+%hGV7D1x6?Bq}G{aVI=8^=)uR;@%Ma;SNRalWmwK^${Oy>S1IxzT4l>sWj!f zQ+eUGxI}O@c3*cs`QsPK*CSrtIHR#My95vx#rS0cmAKOt^$xitwA-TUSuYO5GB%Z*s#^&b zz*CSh%CGj=c#oAo9h$h8x}?P7wR4}FhO^?IcT&^>YKLX$r}myB7RL^YHD zQwRox-_~QQ-p%h^e^Q;I1+f&XWTFi=smK`d@@iyD-gKcy$@Gx2EG>zUINbE)z2z9XB~xysjf60D zWn(`$8A4aA>`0E#My5eTF~wy88-8N>FYnphsoU<@zG@g4K5E}z?vT^X7Uz4n_>`uavG`x6EA&3$ck-b5C;E*Y3 z6>X#3Lvqw&pSs%7abR@_2z(Dko^F*UiDsloW}tz$$b*=ldjH&fcD$&_brA`}FR`x7B2J`Tp;x!d8O4?2hX04@CnPh3xP;6=PN>L zt_=k3q=?!DK7xJ;RyTITj8~H1WcOYRvL5l9eri@beJn%}Vd>6Is4Tb&(&l$V-~IAm ztmS~C#gRfyxS!s&jBJx9<8`iDMrvkPQr5^VL%UqEM@FtBBm9mHE+o^{RHr`Rgz!xE z2WkcZ>04cKJi!A?}aX8PEL`w>&vbWY137m(3Az@n&p?U^PGgx+a96H z7`#XkUal_l%qfF1gU$?SpN+k0>u0%}yaz7Hrjwd*iMLuKU3qeT<*Y=JnR4@7ZiLbG zLqKy&S9p>s6?=)n*pv#GR@L_M; zX;N>jw?c~1GsdA!JuNpPoWE7|wFz-0a)fJ_hXw5eZhsMEhGmx! z-c=ZQGq5m|Waa>8wY69F+D8Q_EX7YqI5(mbXa*S)3o+5WrWEPxc<8oJ`Ge*208$$KWaGURZ+cw9Hpv!*J#XSRmM!Yisp~}%6Nt$n)|GBTSVs`oB z7GA#Fz+wR?6*@k+Ok%1-F@RA;lv%q}~G)|scgcPt%+`gUM-Yg06_l;1idLXfD8jqSr!rdR{WBXF=fLj*j{X_&`Mj5%1GkEb=?3>`cG`kJy_aQZU+T;rJzk!Yd|JwB zQf#tKmJ}lS+nHpYar2k1Q+@}}Q3{#UCvqjVTndfxV&=3r$c7`L@9d$TK3Vok#@Wr? zK{zzoEmidGr12t5I`Rb}tUltvc~AE|8nD7T*};(AU&fd@cEX?8iC?Hm{xGIJrLC1K zG#z~TSYi^?7wo7g7#5UX;KU25#-jZLQqF$za)35?0KGwd?mYs#OO~$%bn+AiAaDyb zfky2U5NZj`=ycHL!dMTsIX`_X6Vv(a=new URL(a+".js",n).href,e[a]||new Promise((e=>{if("document"in self){const i=document.createElement("script");i.src=a,i.onload=e,document.head.appendChild(i)}else i=a,importScripts(a),e()})).then((()=>{let i=e[a];if(!i)throw new Error(`Module ${a} didn’t register its module`);return i})));self.define=(n,r)=>{const b=i||("document"in self?document.currentScript.src:"")||location.href;if(e[b])return;let d={};const f=i=>a(i,b),c={module:{uri:b},exports:d,require:f};e[b]=Promise.all(n.map((i=>c[i]||f(i)))).then((i=>(r(...i),d)))}}define(["./workbox-8a9ef17b"],(function(i){"use strict";self.addEventListener("message",(i=>{i.data&&"SKIP_WAITING"===i.data.type&&self.skipWaiting()})),i.precacheAndRoute([{url:"512.png",revision:"ed55ee22a7c026ca2153d8bd2d07da0c"},{url:"android-chrome-192x192.png",revision:"173821aaef294004b587140af2c6a6e2"},{url:"android-chrome-256x256.png",revision:"a610032d9e3a2019e73b544cd593616a"},{url:"apple-touch-icon.png",revision:"bd9c6c43129cfe18e807eaf4fa7600a9"},{url:"browserconfig.xml",revision:"a493ba0aa0b8ec8068d786d7248bb92c"},{url:"favicon-16x16.png",revision:"2e6b90e3de89fce0fb03d26989a44468"},{url:"favicon-32x32.png",revision:"f129b8793f6bdd074d5dd0e9e3d7f114"},{url:"favicon.ico",revision:"2e1320c129a301936d20f133a6b31423"},{url:"img/airi/Airi_01.png",revision:"d2a547a2b28429b86fe97ce7f652bf2a"},{url:"img/airi/Airi_02.png",revision:"80cbd24b919fa624f173d99e8bc3fa29"},{url:"img/airi/Airi_03.png",revision:"b38d5b6c498e4c45e133a7ddb02ec661"},{url:"img/airi/Airi_04.png",revision:"c8489ab6345069ef29bd12d11ffbe236"},{url:"img/airi/Airi_06.png",revision:"b2528b753e930db523ca0921cc37baa9"},{url:"img/airi/Airi_07.png",revision:"4ae0098b2deeea1aac1a10714e46d76a"},{url:"img/airi/Airi_08.png",revision:"7921d89b5f97a6cc8f13ed1fd9376844"},{url:"img/airi/Airi_09.png",revision:"189b0a7bbff8eeaeb531e1df8def8963"},{url:"img/airi/Airi_11.png",revision:"77ce3396a058d66699fa7db3b523b6bb"},{url:"img/airi/Airi_12.png",revision:"0a7d5adc87d7ed570865e34703e1526b"},{url:"img/airi/Airi_13.png",revision:"a910598c3d2e5ce9801619948efbdc2a"},{url:"img/airi/Airi_14.png",revision:"a1f4cfe6704863c308598bc3ec311b9d"},{url:"img/airi/Airi_16.png",revision:"d6c19a01b8f50ec7398f1058e81affc8"},{url:"img/airi/Airi_17.png",revision:"cc73dce1cce8969b9bb25269ac146e64"},{url:"img/airi/Airi_18.png",revision:"eeebde5b4dd1a62968126d1bd05d509c"},{url:"img/akito/Akito_01.png",revision:"74b24fe5dc8331827def4587ec779796"},{url:"img/akito/Akito_02.png",revision:"67a7f46c30d8b387141f2ce5ac65d540"},{url:"img/akito/Akito_03.png",revision:"cd609ecb2146b7f793ffd1831980dad1"},{url:"img/akito/Akito_04.png",revision:"816e05ab9512b840378fd30ca3507ea1"},{url:"img/akito/Akito_06.png",revision:"734b55d93cbbbd02a27ea3b453e32e15"},{url:"img/akito/Akito_07.png",revision:"4d2c4608aef829dbf0614a3f241a46f2"},{url:"img/akito/Akito_08.png",revision:"c536d5740c761dd0f5e18389acd84f26"},{url:"img/akito/Akito_09.png",revision:"bee830f00161483cba9d142abfea95e1"},{url:"img/akito/Akito_11.png",revision:"6dc43e671c1480870ce7ffe972bf82d3"},{url:"img/akito/Akito_12.png",revision:"d647ebaa9791802934003a833024b041"},{url:"img/akito/Akito_13.png",revision:"31819fcfc954d13096f8a585c150a23e"},{url:"img/akito/Akito_14.png",revision:"9f7474238d2a6bf98c2d5bc7a1324124"},{url:"img/akito/Akito_16.png",revision:"a6de6c1cd13dbc5439d2cce5aad85f77"},{url:"img/an/An_01.png",revision:"71fe9bf942619ee815bf2acf5272cedb"},{url:"img/an/An_02.png",revision:"cd2dd183950bd113a437b9cb698e80ba"},{url:"img/an/An_03.png",revision:"21faeb654af3a055f48f1d007de59ce9"},{url:"img/an/An_04.png",revision:"38893d5bf91975083aa8a137c8fe31f3"},{url:"img/an/An_06.png",revision:"223df227112719cd9284a44944a64ff7"},{url:"img/an/An_07.png",revision:"f6bcf01415daff9c9b82253751bf0214"},{url:"img/an/An_08.png",revision:"8bd0f398ff7d098f594f975bfb934710"},{url:"img/an/An_09.png",revision:"8c23dcf11bd8ad00fd8112b021b8e746"},{url:"img/an/An_11.png",revision:"e7593d3d51b2b076eb48b2318ad7b750"},{url:"img/an/An_12.png",revision:"7c7246d901539aef870e98e47030f352"},{url:"img/an/An_13.png",revision:"05016f137c8a8fe974dae61066cec522"},{url:"img/an/An_14.png",revision:"594625aae2115abfec69eafb2863e44b"},{url:"img/an/An_16.png",revision:"d853e74c26a895d2bd6ca05be5e6c565"},{url:"img/emu/Emu_01.png",revision:"bba505e1fb2153aa1f4c2e8b3093019e"},{url:"img/emu/Emu_02.png",revision:"4fbfb0b2a2803eca06ef61af408ba984"},{url:"img/emu/Emu_03.png",revision:"76852588ec3b6bdba88aeaaae6ceeb29"},{url:"img/emu/Emu_04.png",revision:"327e6c85227a370112dc882198ded203"},{url:"img/emu/Emu_06.png",revision:"109f8230d10ba0f73c8ee1a7434158a4"},{url:"img/emu/Emu_07.png",revision:"dfbfd33b6034b93cc8825d87e6209695"},{url:"img/emu/Emu_08.png",revision:"6f46baa49034c5c405563997b502fb47"},{url:"img/emu/Emu_09.png",revision:"a0bf16cdd04267edac86d72a7bbc84e3"},{url:"img/emu/Emu_11.png",revision:"c1d293007435775ab6d6be9b14306615"},{url:"img/emu/Emu_12.png",revision:"276762d66863d65f7de03d2e626de51a"},{url:"img/emu/Emu_13.png",revision:"a5db50fed302ca67bc7aea123ad1f949"},{url:"img/emu/Emu_14.png",revision:"fcce846717b976f6d29ce87018b6dc4c"},{url:"img/emu/Emu_16.png",revision:"35b61a2326bb7c4ffed58c791363a2e7"},{url:"img/emutest.png",revision:"3e68cb91bcac1aba32908d9b4e1047ac"},{url:"img/ena/Ena_01.png",revision:"67b36f36cfadfa372519dc4d7245bf50"},{url:"img/ena/Ena_02.png",revision:"1982fd3b1749a57cfc6a858f59ea7a8e"},{url:"img/ena/Ena_03.png",revision:"0127ac310cfca14303fd405f0a0ea22f"},{url:"img/ena/Ena_04.png",revision:"19bc8ac4484546aaca6206bc70a7eee6"},{url:"img/ena/Ena_06.png",revision:"8f91c652f8b9309092c3f66211cfd29f"},{url:"img/ena/Ena_07.png",revision:"acb598322038b46b69b7170e222180e7"},{url:"img/ena/Ena_08.png",revision:"258af00e58702f5e698903f3d9c1da4e"},{url:"img/ena/Ena_09.png",revision:"c9181e89fe4f0aa6a6bedb74b59f2676"},{url:"img/ena/Ena_11.png",revision:"d27d00b91ec2ee12c44950977560629d"},{url:"img/ena/Ena_12.png",revision:"944a3973491c49d5583cda4754c5d422"},{url:"img/ena/Ena_13.png",revision:"2f0e9aa45a62af24d50ac9f2be5b76bc"},{url:"img/ena/Ena_14.png",revision:"9957586f6b017e8e20ae4dee6f9f2d90"},{url:"img/ena/Ena_16.png",revision:"66b682b132c23d8fbbb7df07593cf543"},{url:"img/ena/Ena_17.png",revision:"44a63c5cc89102f2f79e160a1f3e8880"},{url:"img/ena/Ena_18.png",revision:"e6396176b61711a0d6892f05158b9cd2"},{url:"img/ena/Ena_19.png",revision:"155451233c7ed6ba28074d2cb25aacb3"},{url:"img/Haruka/Haruka_01.png",revision:"dad2195f9fce165a4ab9dd65a6dbdb2e"},{url:"img/Haruka/Haruka_02.png",revision:"261769d817847c9e88b445ddd2fccc02"},{url:"img/Haruka/Haruka_03.png",revision:"02fdd10668fbc9a5f8dac82181162dfb"},{url:"img/Haruka/Haruka_04.png",revision:"67d0f2a0a736ef705d3f76a080624d17"},{url:"img/Haruka/Haruka_06.png",revision:"09a41a43dd9644fc8c45fcc5176bc2c1"},{url:"img/Haruka/Haruka_07.png",revision:"a70e069dd28e30900f2bc6071c7be8e2"},{url:"img/Haruka/Haruka_08.png",revision:"7d57de9efb4717d4c1d0614c0e0d50a4"},{url:"img/Haruka/Haruka_09.png",revision:"c258f7ecbd14228c7c0b2931b4642121"},{url:"img/Haruka/Haruka_11.png",revision:"c2538a6d191344e35e2ab1e51782c6c5"},{url:"img/Haruka/Haruka_12.png",revision:"6d58ef12782680bcf0b20d3dc6b2efca"},{url:"img/Haruka/Haruka_13.png",revision:"176cd1fb8b4e789f43365c143614da84"},{url:"img/Haruka/Haruka_14.png",revision:"ac74dbe6a0486208d64c77b49a48d88c"},{url:"img/Haruka/Haruka_16.png",revision:"41e40d13e17ebd403618238c1a6715bf"},{url:"img/Honami/Honami_01.png",revision:"2e1c01315d614083b00c027cc8eef2f0"},{url:"img/Honami/Honami_02.png",revision:"9082e27f609b14deab822c496739f1aa"},{url:"img/Honami/Honami_03.png",revision:"397b4eb020adcca6b5f6d4dd4c81155b"},{url:"img/Honami/Honami_04.png",revision:"6e0a1d90761b511be0e0d4d68f51c4e6"},{url:"img/Honami/Honami_06.png",revision:"f8d1d430efa4229d100f3bcfe1fdb3a7"},{url:"img/Honami/Honami_07.png",revision:"c992f23850b28b75dccb198622e96199"},{url:"img/Honami/Honami_08.png",revision:"3836b2fd987c5a07b5f83899f616db9d"},{url:"img/Honami/Honami_09.png",revision:"65e324de11417c32df0f9bc2958e2d02"},{url:"img/Honami/Honami_11.png",revision:"b54e76c71a2bdfdf90852f65060532bd"},{url:"img/Honami/Honami_12.png",revision:"81972c95a9a361c23a034ae18a48567a"},{url:"img/Honami/Honami_13.png",revision:"ba2e452682fd21913223dca761ae3b97"},{url:"img/Honami/Honami_14.png",revision:"62bcef901f8d67a81becd14cc70f736f"},{url:"img/Honami/Honami_16.png",revision:"c64c7bdd8941977da19bb78e1d71d3c9"},{url:"img/Honami/Honami_17.png",revision:"25424c62bace12bb1870ea79f09ba06f"},{url:"img/Honami/Honami_18.png",revision:"501fb78e0cf2377b0d2c8b483a31621a"},{url:"img/Ichika/Ichika_01.png",revision:"2459d5dc6bf97fb9979e3b167d926f53"},{url:"img/Ichika/Ichika_02.png",revision:"dec2770f3cd903006be115ed66af65b6"},{url:"img/Ichika/Ichika_03.png",revision:"30560f400754f9cdfd3394ae57601377"},{url:"img/Ichika/Ichika_04.png",revision:"b3f40df4d7ec237b48742f039d266f1e"},{url:"img/Ichika/Ichika_06.png",revision:"02b17d97bbcc92e77d40a602f7b1073e"},{url:"img/Ichika/Ichika_07.png",revision:"408c3f749a509eb9f677faf494f8c780"},{url:"img/Ichika/Ichika_08.png",revision:"18f599c387f526acf7af99225236e6a7"},{url:"img/Ichika/Ichika_09.png",revision:"1c6f2f474160aa98b39238ac6810033d"},{url:"img/Ichika/Ichika_11.png",revision:"b39c31eef2d7d5a340263c56d359c337"},{url:"img/Ichika/Ichika_12.png",revision:"0a17f864e123161e07450f6134b0c2fd"},{url:"img/Ichika/Ichika_13.png",revision:"a83565c647c2c8a02eb88c758efcb3de"},{url:"img/Ichika/Ichika_14.png",revision:"e12419722dc6d2245a25b9c2f0109ce1"},{url:"img/Ichika/Ichika_16.png",revision:"ba67920c839bd2ea3eb60727a351da5d"},{url:"img/Ichika/Ichika_17.png",revision:"2ec5b39c33c0988ee7892b4c31d5cd13"},{url:"img/Ichika/Ichika_18.png",revision:"e3ae7ba98714e03af02502a20dce0440"},{url:"img/KAITO/KAITO_01.png",revision:"537c3e506d32f4772015f32aa854ceda"},{url:"img/KAITO/KAITO_02.png",revision:"4b6c11269a6f16f3a61064c01ae2abc5"},{url:"img/KAITO/KAITO_03.png",revision:"c7eddee2bc55b9431bb16222169ac165"},{url:"img/KAITO/KAITO_04.png",revision:"65925b8fffe4a3959ddcd798975a910b"},{url:"img/KAITO/KAITO_06.png",revision:"f9c22db78ef9a4dc7a24c7716bcb9265"},{url:"img/KAITO/KAITO_07.png",revision:"334d6e09e8fbd246405b109456c7b9ce"},{url:"img/KAITO/KAITO_08.png",revision:"1af60754769050851a4f34840b5cd25f"},{url:"img/KAITO/KAITO_09.png",revision:"3a469a7f65b83d6f93977c78e51a9b02"},{url:"img/KAITO/KAITO_11.png",revision:"a46a21e12a0ec77090f2d028bedb6091"},{url:"img/KAITO/KAITO_12.png",revision:"b5ee395283908fcdefb1a760486246b7"},{url:"img/KAITO/KAITO_13.png",revision:"c26ee26e767c6aa1f30e8cef153f93a4"},{url:"img/KAITO/KAITO_14.png",revision:"f6e9cd35c856ffdd3d7922f495e6c132"},{url:"img/KAITO/KAITO_16.png",revision:"87a21088ced9de88e65825a74b62125a"},{url:"img/Kanade/Kanade_01.png",revision:"1b1cc482bb707a0811144476055b9556"},{url:"img/Kanade/Kanade_02.png",revision:"3bea2225d2170b94105f5c411f4d82e6"},{url:"img/Kanade/Kanade_03.png",revision:"b97bdcfc9d3dfccfe1db19fff07ee468"},{url:"img/Kanade/Kanade_04.png",revision:"2b5523ad794e69470b080457d14eaef5"},{url:"img/Kanade/Kanade_06.png",revision:"e1de21e5e9bcbd741dc3b952f411e2da"},{url:"img/Kanade/Kanade_07.png",revision:"94d38692b9abac4283a4c08924bfb1bc"},{url:"img/Kanade/Kanade_08.png",revision:"8cc84f9253f7fa2fdb0bccbf0de4cdae"},{url:"img/Kanade/Kanade_09.png",revision:"9b429cd6fca2d6a06ac1153829ff8b7b"},{url:"img/Kanade/Kanade_11.png",revision:"d9053cd01b712d927153f071b2915467"},{url:"img/Kanade/Kanade_12.png",revision:"0d11c13f3fd7e9c953cc8e6b891d6d9f"},{url:"img/Kanade/Kanade_13.png",revision:"c2c2cba0a81a78b7f7812ab5988c7c92"},{url:"img/Kanade/Kanade_14.png",revision:"4123dbb8c2250c0bdfff58427108b773"},{url:"img/Kanade/Kanade_16.png",revision:"1bfe0f3e015e637905cfc1e69b0cd3df"},{url:"img/Kanade/Kanade_17.png",revision:"cd5a3ce456b0b0e32a631520154840d6"},{url:"img/Kohane/Kohane_01.png",revision:"ff232d513a8dff43e4a521cd3232d18d"},{url:"img/Kohane/Kohane_02.png",revision:"3fbc5922f23515868b0fff6009e93d74"},{url:"img/Kohane/Kohane_03.png",revision:"7c00781733f6a52256c8382d1e4d048c"},{url:"img/Kohane/Kohane_04.png",revision:"cd6b0ddeaade85c15f86c1dbb3fbbd0b"},{url:"img/Kohane/Kohane_06.png",revision:"987f4befe2fca04398724b3c9f8e4c50"},{url:"img/Kohane/Kohane_07.png",revision:"f30aba15868512ceee07add3f7305617"},{url:"img/Kohane/Kohane_08.png",revision:"44cce0202dd21265610e8210376a7206"},{url:"img/Kohane/Kohane_09.png",revision:"1903ea3a27684ca200f7e3b91de22266"},{url:"img/Kohane/Kohane_11.png",revision:"ed9aceb0067724c5f704548d453b76ca"},{url:"img/Kohane/Kohane_12.png",revision:"233fd91245619ee7e2013f8b3677c75e"},{url:"img/Kohane/Kohane_13.png",revision:"380a0937ebe66a3bd8b238aa4f2a0ac2"},{url:"img/Kohane/Kohane_14.png",revision:"2adeaa9ebd793843c7ebcabcb525dba3"},{url:"img/Kohane/Kohane_16.png",revision:"a53475ec174a4c0c8c3a76a0bb737ea7"},{url:"img/Kohane/Kohane_17.png",revision:"17d0612b9f16c5d189fddcd0dddb7be8"},{url:"img/Len/Len_01.png",revision:"b3d1fb2e99cd2c3f38184c906def8f54"},{url:"img/Len/Len_02.png",revision:"6b709fd3a93b43ff350dd1dd3f22da66"},{url:"img/Len/Len_03.png",revision:"223afc31fe94533962e4ca687572b073"},{url:"img/Len/Len_04.png",revision:"9e9f9fcf21758ae9580b312e37c29a8d"},{url:"img/Len/Len_06.png",revision:"402d8aea9d864661f512e2f111ae24f6"},{url:"img/Len/Len_07.png",revision:"dab8ebdf6e12ebb3661977f21b9f661e"},{url:"img/Len/Len_08.png",revision:"b7eb38ce17969b4d6a3ac44148ce443b"},{url:"img/Len/Len_09.png",revision:"3c93129b2b9ad5a63b39f48db8713fa5"},{url:"img/Len/Len_11.png",revision:"f1fd53a7ae5a06ca67f05976fc7c4046"},{url:"img/Len/Len_12.png",revision:"d1c765fa2829bf99fa1fc4691b2fa7b1"},{url:"img/Len/Len_13.png",revision:"2b6e58a745365713d8f5e62562cf9f3b"},{url:"img/Len/Len_14.png",revision:"63b4e3f3641aadf2ad104565171e27cc"},{url:"img/Len/Len_16.png",revision:"67baa4705df8e4abb56f1b225ee1ab9c"},{url:"img/Len/Len_17.png",revision:"07f6fa9f13d3c9a7f38dab9a842b2a0d"},{url:"img/Luka/Luka_01.png",revision:"9fe481e4e6c43cddfe9c33299b35d737"},{url:"img/Luka/Luka_02.png",revision:"05072261f2e5bfece83ed70143b1b32d"},{url:"img/Luka/Luka_03.png",revision:"f1937b8a98beb3c258482a26d66552d2"},{url:"img/Luka/Luka_04.png",revision:"cd7e0817407f3eeef902153fbdc9f3f1"},{url:"img/Luka/Luka_06.png",revision:"91a4b4f1ee35d90a076d511b99ffd5ce"},{url:"img/Luka/Luka_07.png",revision:"7f5f2e792e2097b8c53bcd7a2155d17b"},{url:"img/Luka/Luka_08.png",revision:"a8bfe01a9a2d7ab6e8fae270ba3bb7bc"},{url:"img/Luka/Luka_09.png",revision:"7afa77835d8ee10419b702c1191efc16"},{url:"img/Luka/Luka_11.png",revision:"f7b9d4a5c346e77a221cbe73ef054b70"},{url:"img/Luka/Luka_12.png",revision:"4428037bd68ecad7890161bf43d26293"},{url:"img/Luka/Luka_13.png",revision:"f2f72ad26d41fae7322090250237a949"},{url:"img/Luka/Luka_14.png",revision:"a67afb55b123fd43e35138d43d0d931a"},{url:"img/Luka/Luka_16.png",revision:"7f2c09de8835eb455b72c772b9996fa7"},{url:"img/Mafuyu/Mafuyu_01.png",revision:"1f9973edba5417d67c0acb954c8235b6"},{url:"img/Mafuyu/Mafuyu_02.png",revision:"fa523cea43078760f0382a9a3c1499c6"},{url:"img/Mafuyu/Mafuyu_03.png",revision:"a7fe3278ad612835f3d45a5d9a14032f"},{url:"img/Mafuyu/Mafuyu_04.png",revision:"2a7f681be9d00853c41af29bbf605d75"},{url:"img/Mafuyu/Mafuyu_06.png",revision:"527adc0995d5c96f785b204189a555b5"},{url:"img/Mafuyu/Mafuyu_07.png",revision:"06ab9281751206dfcb6a0152177c2ddc"},{url:"img/Mafuyu/Mafuyu_08.png",revision:"c33117a85b9a341924d5e6dfe8adba2b"},{url:"img/Mafuyu/Mafuyu_09.png",revision:"e2036d62409b8d7debfcf8bd3fb26946"},{url:"img/Mafuyu/Mafuyu_11.png",revision:"7527d04cfa1c8054cb04918e9ed43a38"},{url:"img/Mafuyu/Mafuyu_12.png",revision:"0fe95b9eb5576bd0ae8e1d2c24f9295f"},{url:"img/Mafuyu/Mafuyu_13.png",revision:"10a8a633c692b5b38dba0070a01b1cc2"},{url:"img/Mafuyu/Mafuyu_14.png",revision:"92c22bf70fd20fa2502cfca0f372e9ac"},{url:"img/Mafuyu/Mafuyu_16.png",revision:"c922f0a8c461b0d7cd4276dfcedc0fb6"},{url:"img/Mafuyu/Mafuyu_17.png",revision:"0aea55e3d92ed1b3a1dc29ca516402c6"},{url:"img/Meiko/Meiko_01.png",revision:"aad90f1465fd2ae9702711ab05b9dfd2"},{url:"img/Meiko/Meiko_02.png",revision:"24b1b89e9c52f5342b253861cf6e235e"},{url:"img/Meiko/Meiko_03.png",revision:"3fe07a95fa99cc08601abe874b7f78e8"},{url:"img/Meiko/Meiko_04.png",revision:"f86ef19a453d4b704f29bd2848acc4a4"},{url:"img/Meiko/Meiko_06.png",revision:"c579869978d23e34a241e54fb370da99"},{url:"img/Meiko/Meiko_07.png",revision:"da3d59988d933e99a28979197cf2cf79"},{url:"img/Meiko/Meiko_08.png",revision:"d4b73bcd427104bdd52a0b2edb2a5a09"},{url:"img/Meiko/Meiko_09.png",revision:"7581b5fa21f66d2c6e2398369f88717d"},{url:"img/Meiko/Meiko_11.png",revision:"d4b3919a8b3023b64d84401b53b5af55"},{url:"img/Meiko/Meiko_12.png",revision:"7cba8beed470245b6810e1c46eba7eec"},{url:"img/Meiko/Meiko_13.png",revision:"705b11d13112ce3a5dd2057be6975868"},{url:"img/Meiko/Meiko_14.png",revision:"85ebe7a9a40886256739d37543a4ac36"},{url:"img/Meiko/Meiko_16.png",revision:"0d3594ed37bc64f15cf516ffaf488aa9"},{url:"img/Miku/Miku_01.png",revision:"29f71f47ee4c5b3290f523ffd495420d"},{url:"img/Miku/Miku_02.png",revision:"b0b9d4c7b93b5b782248bcfbdf52b29b"},{url:"img/Miku/Miku_03.png",revision:"1c496fa1d06646bde607665e39c3611c"},{url:"img/Miku/Miku_04.png",revision:"c9b9b70d780f32df24a1c231e1ee8a7e"},{url:"img/Miku/Miku_06.png",revision:"c3e537dadc1e85ceb61a3b80873d5b6f"},{url:"img/Miku/Miku_07.png",revision:"f1dc41a1f146b23bd99b6bfec071d131"},{url:"img/Miku/Miku_08.png",revision:"d3c9cdc8df8326e0f493a3a5fd4b9abb"},{url:"img/Miku/Miku_09.png",revision:"05efa7f5fe4f757ddb6eb9068e4b0490"},{url:"img/Miku/Miku_11.png",revision:"2d66f96ecf4d8fb9fa63c4f533bc60ca"},{url:"img/Miku/Miku_12.png",revision:"1ceb732652a8649b678a8aab4eb4ee66"},{url:"img/Miku/Miku_13.png",revision:"881f98784be5fc7918ef572fbdb7858c"},{url:"img/Miku/Miku_14.png",revision:"5b2a0989bfb2e5bb2a7635cc815a6dcd"},{url:"img/Miku/Miku_16.png",revision:"5507673107f9ba8025ddeec9e734eb02"},{url:"img/Minori/Minori_01.png",revision:"f587e6ef5f652a0eee29fe846dea7feb"},{url:"img/Minori/Minori_02.png",revision:"2d038a9f31b5b57dd618a315f8221e3a"},{url:"img/Minori/Minori_03.png",revision:"9b95e7ea81797cf768e7b03d93874809"},{url:"img/Minori/Minori_04.png",revision:"7c02e55535c05ed39476100dfd6eb653"},{url:"img/Minori/Minori_06.png",revision:"28d620e074d35a9bb7b11dadb18f4435"},{url:"img/Minori/Minori_07.png",revision:"bf34f395ebb4bf39aa970fb031e13c16"},{url:"img/Minori/Minori_08.png",revision:"a59072cdeadc103c7e6c154418c7b749"},{url:"img/Minori/Minori_09.png",revision:"d6000df6bd13bf09888e676400ea3ad7"},{url:"img/Minori/Minori_11.png",revision:"f8d4e049a1f168f3ce10964dc2d74d41"},{url:"img/Minori/Minori_12.png",revision:"3304b89ee1c0186af67fe13fc8fde5ad"},{url:"img/Minori/Minori_13.png",revision:"ce4b50e4d27e2fc03deaf2f994b0bda6"},{url:"img/Minori/Minori_14.png",revision:"18fc480940875b2e6b3fb97a3cfbd2d1"},{url:"img/Minori/Minori_16.png",revision:"dd59791b30bf85c622596a7a3d16f9b8"},{url:"img/Minori/Minori_17.png",revision:"04afb7e594e8d0cc332c6050684b15f9"},{url:"img/Mizuki/Mizuki_01.png",revision:"98e35e206996b91818120ab9caea2708"},{url:"img/Mizuki/Mizuki_02.png",revision:"98b9df090b32f27d8de7ab8a2bf7e234"},{url:"img/Mizuki/Mizuki_03.png",revision:"d10bb5312777e86b6a19610e45387849"},{url:"img/Mizuki/Mizuki_04.png",revision:"5ee51f55f9619fd6fe8f0d3bc0ec42f8"},{url:"img/Mizuki/Mizuki_06.png",revision:"eaa6ade61599d8f9b5f14ef9fe00ec22"},{url:"img/Mizuki/Mizuki_07.png",revision:"ef646c9c7382471d61c094db310db67f"},{url:"img/Mizuki/Mizuki_08.png",revision:"d64621091b1daedf998a8695daf4588a"},{url:"img/Mizuki/Mizuki_09.png",revision:"80641beaf73679c9c14238103fc0f7b6"},{url:"img/Mizuki/Mizuki_11.png",revision:"1d623824ecba4b0b806d13189ea7ffe7"},{url:"img/Mizuki/Mizuki_12.png",revision:"5ea39c8793ca31bc63de609b5bfa1099"},{url:"img/Mizuki/Mizuki_13.png",revision:"b37201102a579423dc9adb74cc59d317"},{url:"img/Mizuki/Mizuki_14.png",revision:"e123eee04e5ffdae32b58585e71bd0da"},{url:"img/Mizuki/Mizuki_16.png",revision:"2477270933d46147ce1003b4185a95ef"},{url:"img/Mizuki/Mizuki_17.png",revision:"bab80cb1689ec75c0289b9f60fde4ca5"},{url:"img/Nene/Nene_01.png",revision:"c663c95d793c8f67bb7af398537350e4"},{url:"img/Nene/Nene_02.png",revision:"af31035b84486ecbe6c5fe0489de3caf"},{url:"img/Nene/Nene_03.png",revision:"49417f82d0ebcd7ca92a6a8e170955b0"},{url:"img/Nene/Nene_04.png",revision:"d191819b6d39a47ff449854f17e64ac2"},{url:"img/Nene/Nene_06.png",revision:"5bb8da4f22a61e608335016fb7e66581"},{url:"img/Nene/Nene_07.png",revision:"cb7cd74c84852a5e4f90a62093c47234"},{url:"img/Nene/Nene_08.png",revision:"21cb6ec9834cd4693239b7c47196d68b"},{url:"img/Nene/Nene_09.png",revision:"9a6216ab4fe1203acbca893c1695957b"},{url:"img/Nene/Nene_11.png",revision:"248c7abe48089cb3a107fb96168b3e6c"},{url:"img/Nene/Nene_12.png",revision:"5d5f31f3282dfc18aeb59e3a3a94e89d"},{url:"img/Nene/Nene_13.png",revision:"cbfb9be24a074beca226601cdfcce330"},{url:"img/Nene/Nene_14.png",revision:"b10280da8a33dc53fed2d173478d4533"},{url:"img/Nene/Nene_16.png",revision:"3571c9d6bc4eb6916e4c953a4099ef2c"},{url:"img/Rin/Rin_01.png",revision:"54b6f17ee0add2db75a9f46b920e24c9"},{url:"img/Rin/Rin_02.png",revision:"6dada0bb73ee0cc44230e353b099e66b"},{url:"img/Rin/Rin_03.png",revision:"53a47a51bba7fcbda08f2985025ed564"},{url:"img/Rin/Rin_04.png",revision:"3325775d5ab068c127efb53613b68680"},{url:"img/Rin/Rin_06.png",revision:"b7e77763b34f5b94c74616c59a276e40"},{url:"img/Rin/Rin_07.png",revision:"ece2c8017fa2162570abbec7a98b11c4"},{url:"img/Rin/Rin_08.png",revision:"8aba8278f2bfa1dfa7af14eeb3e9366e"},{url:"img/Rin/Rin_09.png",revision:"d4dd0fe52d53def5ffddcf2062c9807c"},{url:"img/Rin/Rin_11.png",revision:"7dedadec50e30f9b2bfbbc08101c7ce7"},{url:"img/Rin/Rin_12.png",revision:"cc32d85641cd6f2cf3ba8baa9c5bd2d5"},{url:"img/Rin/Rin_13.png",revision:"3ab97be058ccfe03d9a7348e881218ac"},{url:"img/Rin/Rin_14.png",revision:"d96e11aab221ba941a550b760e57fd3c"},{url:"img/Rin/Rin_16.png",revision:"4757fa66fd488090088f648d546065de"},{url:"img/Rui/Rui_01.png",revision:"db3325eea580890cb06c70c9cfff5bcb"},{url:"img/Rui/Rui_02.png",revision:"3199346fbe76a8fd26a413a56219e3f2"},{url:"img/Rui/Rui_03.png",revision:"53e989b2c89b74d4dc06618ddb24da47"},{url:"img/Rui/Rui_04.png",revision:"bb401830bb88fccccb37ab5006f9464e"},{url:"img/Rui/Rui_06.png",revision:"b13db5b7d3cab0b33050c6d8911394d5"},{url:"img/Rui/Rui_07.png",revision:"495f4346375ee45c43c45f26a269d75b"},{url:"img/Rui/Rui_08.png",revision:"c5e99fd09f0c93ee754d6afc13d0bdb4"},{url:"img/Rui/Rui_09.png",revision:"977ec688f702f6d582995a505e769c1f"},{url:"img/Rui/Rui_11.png",revision:"dead171b7220f23502fddb6ba8d2e516"},{url:"img/Rui/Rui_12.png",revision:"1fdef3258f07f56100ea714b50c6841a"},{url:"img/Rui/Rui_13.png",revision:"52157ee2e03e4215bcc4d02d50851da6"},{url:"img/Rui/Rui_14.png",revision:"19f3f8fb9aba2f9a89a3abc2f2fbbd0c"},{url:"img/Rui/Rui_16.png",revision:"fb0f23c7833ac718a7295f8740015414"},{url:"img/Rui/Rui_17.png",revision:"460b8602d0f7f6f6801d8d75b9fc6b10"},{url:"img/Rui/Rui_18.png",revision:"79e727be23e1a493000a6a617256e9a6"},{url:"img/Rui/Rui_19.png",revision:"8495fade8979fd826c55382703e99807"},{url:"img/Saki/Saki_01.png",revision:"0cd7b87a4c9e9b3ebb72d00aefd49601"},{url:"img/Saki/Saki_02.png",revision:"a1d2a0b5ee48a2c73ba4a170fe345438"},{url:"img/Saki/Saki_03.png",revision:"4ab7216dfacaf5c60960901539dcac11"},{url:"img/Saki/Saki_04.png",revision:"0d54c088202b78088086d1fe9f96009d"},{url:"img/Saki/Saki_06.png",revision:"d12e075ae8e3e5b0fe279c1a424b924e"},{url:"img/Saki/Saki_07.png",revision:"dd3e094261d09daec71fbed0b5a424c5"},{url:"img/Saki/Saki_08.png",revision:"0b2c8bad6ffe5ee4c9177f3d958dfeff"},{url:"img/Saki/Saki_09.png",revision:"2d1f7301831129c7a8519aa5fd123239"},{url:"img/Saki/Saki_11.png",revision:"20c9e17c7cf46755826b8662fae556e4"},{url:"img/Saki/Saki_12.png",revision:"c97e5dc8580d14e633c1d6f7bceb1e2d"},{url:"img/Saki/Saki_13.png",revision:"2cd8f3461ac8fbbade33c84ba43b51cd"},{url:"img/Saki/Saki_14.png",revision:"9313349e732bd79477f6e9edc5c87e10"},{url:"img/Saki/Saki_16.png",revision:"699e4a669b55252cffc02c933136b131"},{url:"img/Saki/Saki_17.png",revision:"65e10d22205f7f206c10c25e007a8b69"},{url:"img/Saki/Saki_18.png",revision:"448e0fa30f72aa897a595506feea036e"},{url:"img/Shiho/Shiho_01.png",revision:"cc71b9aaea69e2463781165c3fe241d8"},{url:"img/Shiho/Shiho_02.png",revision:"d89028cffa35322e0b43d6b6b300cad5"},{url:"img/Shiho/Shiho_03.png",revision:"f2bf25a5ec710f3db84220c987ae54fa"},{url:"img/Shiho/Shiho_04.png",revision:"f802d59de0fdcb4c36e4173f4da460c2"},{url:"img/Shiho/Shiho_06.png",revision:"d34af77a3dc22d4fab6903174f8fe310"},{url:"img/Shiho/Shiho_07.png",revision:"c110542b17643e284cc673148481e111"},{url:"img/Shiho/Shiho_08.png",revision:"f4342140e18c89982bf792398380ce65"},{url:"img/Shiho/Shiho_09.png",revision:"7c39606e1149d0e7130e7f3b814e3c6f"},{url:"img/Shiho/Shiho_11.png",revision:"f81e75ea5cfc99f50e76aa90e3f635c5"},{url:"img/Shiho/Shiho_12.png",revision:"1d7091a206a16b2a2979b41a87088622"},{url:"img/Shiho/Shiho_13.png",revision:"aadcfeaae791efb2625f07275c363fdf"},{url:"img/Shiho/Shiho_14.png",revision:"9162127bb636ca173f644eb428283ab5"},{url:"img/Shiho/Shiho_16.png",revision:"9a7b705721e6a0c503a8d7dd268f6a62"},{url:"img/Shiho/Shiho_17.png",revision:"6779617e712d3b4e61d4cf2fead37194"},{url:"img/Shiho/Shiho_18.png",revision:"d6729176473e0c297b70e00c8147e8a2"},{url:"img/Shizuku/Shizuku_01.png",revision:"f2e4f5fd24c80ba975134056428717bc"},{url:"img/Shizuku/Shizuku_02.png",revision:"1b27dcb35e5f8cba8186a140624c90d4"},{url:"img/Shizuku/Shizuku_03.png",revision:"78bba0e7dbf5cc42611e182b01abe22e"},{url:"img/Shizuku/Shizuku_04.png",revision:"59bbd949d6874b108903d75fb68db235"},{url:"img/Shizuku/Shizuku_06.png",revision:"7ecb52ee2bd89d417c61cd8f22bea093"},{url:"img/Shizuku/Shizuku_07.png",revision:"bc7d5de7b7e852e168b779b73ee5db34"},{url:"img/Shizuku/Shizuku_08.png",revision:"b2b29140920bf8f8e779d0d4c059cdf6"},{url:"img/Shizuku/Shizuku_09.png",revision:"4130832425bb7f66e776b41c8a6ff029"},{url:"img/Shizuku/Shizuku_11.png",revision:"d5b9424b4a728c370bed28abfe934941"},{url:"img/Shizuku/Shizuku_12.png",revision:"a90f57b9293d15b0c42644dfb5a26fd8"},{url:"img/Shizuku/Shizuku_13.png",revision:"9acf0a7007ed1360f9f041a060c3db54"},{url:"img/Shizuku/Shizuku_14.png",revision:"ca324edf1cdb145b4cf8f2cfdfa275e2"},{url:"img/Shizuku/Shizuku_16.png",revision:"055bfe3f3a735233f85a04094e76c4b9"},{url:"img/Touya/Touya_01.png",revision:"2ad84d607a27c21a1d4544e1379fa33e"},{url:"img/Touya/Touya_02.png",revision:"67500bfdc24c8c660c143c190bd32a03"},{url:"img/Touya/Touya_03.png",revision:"d1de1d2abb18e2c2e33796b31a8fd585"},{url:"img/Touya/Touya_04.png",revision:"8828a12cdb0759b307a1615f76115c8d"},{url:"img/Touya/Touya_06.png",revision:"8f490016fdf7a9c32efffd1261fc3b0a"},{url:"img/Touya/Touya_07.png",revision:"bec958a6dec847abdc18c221d8326943"},{url:"img/Touya/Touya_08.png",revision:"eca5ab64f30267ca7eacce040b9f9cd5"},{url:"img/Touya/Touya_09.png",revision:"cdb1241581a090f9f6e6108fafd01819"},{url:"img/Touya/Touya_11.png",revision:"24c563185d96f8ec4b38fea9c490858a"},{url:"img/Touya/Touya_12.png",revision:"73e8277cab2146eb6e7232d4bbb8b551"},{url:"img/Touya/Touya_13.png",revision:"dbb446466ec5314b853239fea208bf07"},{url:"img/Touya/Touya_14.png",revision:"0de3f0438e2972cf83bea21b7ad5099d"},{url:"img/Touya/Touya_16.png",revision:"9185b9d033cb619c0613fc5b03e3db99"},{url:"img/Touya/Touya_17.png",revision:"9a8db10b811a94f5d641e46b7b3150f5"},{url:"img/Touya/Touya_18.png",revision:"ed629bb4ae08fcd8c293b6a237bf3dcc"},{url:"img/Tsukasa/Tsukasa_01.png",revision:"fb5a23b67213c7277524e9a7a55d77b8"},{url:"img/Tsukasa/Tsukasa_02.png",revision:"d3c5f25f0c61434158dc931b325d7cbc"},{url:"img/Tsukasa/Tsukasa_03.png",revision:"8bd76c0f003c34ba8af755fc8f76ff22"},{url:"img/Tsukasa/Tsukasa_04.png",revision:"062f51de1c37366a00d6aaf4e7696072"},{url:"img/Tsukasa/Tsukasa_06.png",revision:"61d211ac0f7ee282cb03366839d36e6c"},{url:"img/Tsukasa/Tsukasa_07.png",revision:"3a7a49c9212d76c86da949c776cbaef8"},{url:"img/Tsukasa/Tsukasa_08.png",revision:"6a3366f66534057eacb8abf1e215b8ac"},{url:"img/Tsukasa/Tsukasa_09.png",revision:"2d033d14b26518a34598bba9dc2bb79d"},{url:"img/Tsukasa/Tsukasa_11.png",revision:"7a81dfa2b5ede4008971590bfa8c2ec9"},{url:"img/Tsukasa/Tsukasa_12.png",revision:"8fb50da319e73e5c1b6bb7fc500a898b"},{url:"img/Tsukasa/Tsukasa_13.png",revision:"55bc711d10d7a05857e9e81d57f87a45"},{url:"img/Tsukasa/Tsukasa_14.png",revision:"107e8c0ef0a01a81472be26a5af12c2f"},{url:"img/Tsukasa/Tsukasa_16.png",revision:"d14799a033e87528d28cc782ec93e80a"},{url:"img/Tsukasa/Tsukasa_17.png",revision:"9920acce982bb366139f5488750ef3df"},{url:"img/Tsukasa/Tsukasa_18.png",revision:"1c8ec2833d67672f4c2fdd9406219a8a"},{url:"index.html",revision:"2bf808f8e69c6946a22b39b7eeba67de"},{url:"mstile-150x150.png",revision:"da1c5a5e3b5ee06879ba9da5f52ddacc"},{url:"og-image.png",revision:"4bde67883ac0ef75f218f453fa86199d"},{url:"safari-pinned-tab.svg",revision:"cf9c80b11e8bdb3abbce645876008c88"},{url:"screenshot.jpg",revision:"3c478f11f2e72d5f5ae0f3ab74e60040"},{url:"site.webmanifest",revision:"8695b1d4ae5c028e80464514dce7577e"}],{ignoreURLParametersMatching:[/^utm_/,/^fbclid$/]})})); +//# sourceMappingURL=sw.js.map diff --git a/public/sw.js.map b/public/sw.js.map new file mode 100644 index 0000000..d78f8db --- /dev/null +++ b/public/sw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sw.js","sources":["../../AppData/Local/Temp/2b5a64335f8475a0cd08449fba75db77/sw.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from 'C:/Users/samy/AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"512.png\",\n \"revision\": \"ed55ee22a7c026ca2153d8bd2d07da0c\"\n },\n {\n \"url\": \"android-chrome-192x192.png\",\n \"revision\": \"173821aaef294004b587140af2c6a6e2\"\n },\n {\n \"url\": \"android-chrome-256x256.png\",\n \"revision\": \"a610032d9e3a2019e73b544cd593616a\"\n },\n {\n \"url\": \"apple-touch-icon.png\",\n \"revision\": \"bd9c6c43129cfe18e807eaf4fa7600a9\"\n },\n {\n \"url\": \"browserconfig.xml\",\n \"revision\": \"a493ba0aa0b8ec8068d786d7248bb92c\"\n },\n {\n \"url\": \"favicon-16x16.png\",\n \"revision\": \"2e6b90e3de89fce0fb03d26989a44468\"\n },\n {\n \"url\": \"favicon-32x32.png\",\n \"revision\": \"f129b8793f6bdd074d5dd0e9e3d7f114\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"2e1320c129a301936d20f133a6b31423\"\n },\n {\n \"url\": \"img/airi/Airi_01.png\",\n \"revision\": \"d2a547a2b28429b86fe97ce7f652bf2a\"\n },\n {\n \"url\": \"img/airi/Airi_02.png\",\n \"revision\": \"80cbd24b919fa624f173d99e8bc3fa29\"\n },\n {\n \"url\": \"img/airi/Airi_03.png\",\n \"revision\": \"b38d5b6c498e4c45e133a7ddb02ec661\"\n },\n {\n \"url\": \"img/airi/Airi_04.png\",\n \"revision\": \"c8489ab6345069ef29bd12d11ffbe236\"\n },\n {\n \"url\": \"img/airi/Airi_06.png\",\n \"revision\": \"b2528b753e930db523ca0921cc37baa9\"\n },\n {\n \"url\": \"img/airi/Airi_07.png\",\n \"revision\": \"4ae0098b2deeea1aac1a10714e46d76a\"\n },\n {\n \"url\": \"img/airi/Airi_08.png\",\n \"revision\": \"7921d89b5f97a6cc8f13ed1fd9376844\"\n },\n {\n \"url\": \"img/airi/Airi_09.png\",\n \"revision\": \"189b0a7bbff8eeaeb531e1df8def8963\"\n },\n {\n \"url\": \"img/airi/Airi_11.png\",\n \"revision\": \"77ce3396a058d66699fa7db3b523b6bb\"\n },\n {\n \"url\": \"img/airi/Airi_12.png\",\n \"revision\": \"0a7d5adc87d7ed570865e34703e1526b\"\n },\n {\n \"url\": \"img/airi/Airi_13.png\",\n \"revision\": \"a910598c3d2e5ce9801619948efbdc2a\"\n },\n {\n \"url\": \"img/airi/Airi_14.png\",\n \"revision\": \"a1f4cfe6704863c308598bc3ec311b9d\"\n },\n {\n \"url\": \"img/airi/Airi_16.png\",\n \"revision\": \"d6c19a01b8f50ec7398f1058e81affc8\"\n },\n {\n \"url\": \"img/airi/Airi_17.png\",\n \"revision\": \"cc73dce1cce8969b9bb25269ac146e64\"\n },\n {\n \"url\": \"img/airi/Airi_18.png\",\n \"revision\": \"eeebde5b4dd1a62968126d1bd05d509c\"\n },\n {\n \"url\": \"img/akito/Akito_01.png\",\n \"revision\": \"74b24fe5dc8331827def4587ec779796\"\n },\n {\n \"url\": \"img/akito/Akito_02.png\",\n \"revision\": \"67a7f46c30d8b387141f2ce5ac65d540\"\n },\n {\n \"url\": \"img/akito/Akito_03.png\",\n \"revision\": \"cd609ecb2146b7f793ffd1831980dad1\"\n },\n {\n \"url\": \"img/akito/Akito_04.png\",\n \"revision\": \"816e05ab9512b840378fd30ca3507ea1\"\n },\n {\n \"url\": \"img/akito/Akito_06.png\",\n \"revision\": \"734b55d93cbbbd02a27ea3b453e32e15\"\n },\n {\n \"url\": \"img/akito/Akito_07.png\",\n \"revision\": \"4d2c4608aef829dbf0614a3f241a46f2\"\n },\n {\n \"url\": \"img/akito/Akito_08.png\",\n \"revision\": \"c536d5740c761dd0f5e18389acd84f26\"\n },\n {\n \"url\": \"img/akito/Akito_09.png\",\n \"revision\": \"bee830f00161483cba9d142abfea95e1\"\n },\n {\n \"url\": \"img/akito/Akito_11.png\",\n \"revision\": \"6dc43e671c1480870ce7ffe972bf82d3\"\n },\n {\n \"url\": \"img/akito/Akito_12.png\",\n \"revision\": \"d647ebaa9791802934003a833024b041\"\n },\n {\n \"url\": \"img/akito/Akito_13.png\",\n \"revision\": \"31819fcfc954d13096f8a585c150a23e\"\n },\n {\n \"url\": \"img/akito/Akito_14.png\",\n \"revision\": \"9f7474238d2a6bf98c2d5bc7a1324124\"\n },\n {\n \"url\": \"img/akito/Akito_16.png\",\n \"revision\": \"a6de6c1cd13dbc5439d2cce5aad85f77\"\n },\n {\n \"url\": \"img/an/An_01.png\",\n \"revision\": \"71fe9bf942619ee815bf2acf5272cedb\"\n },\n {\n \"url\": \"img/an/An_02.png\",\n \"revision\": \"cd2dd183950bd113a437b9cb698e80ba\"\n },\n {\n \"url\": \"img/an/An_03.png\",\n \"revision\": \"21faeb654af3a055f48f1d007de59ce9\"\n },\n {\n \"url\": \"img/an/An_04.png\",\n \"revision\": \"38893d5bf91975083aa8a137c8fe31f3\"\n },\n {\n \"url\": \"img/an/An_06.png\",\n \"revision\": \"223df227112719cd9284a44944a64ff7\"\n },\n {\n \"url\": \"img/an/An_07.png\",\n \"revision\": \"f6bcf01415daff9c9b82253751bf0214\"\n },\n {\n \"url\": \"img/an/An_08.png\",\n \"revision\": \"8bd0f398ff7d098f594f975bfb934710\"\n },\n {\n \"url\": \"img/an/An_09.png\",\n \"revision\": \"8c23dcf11bd8ad00fd8112b021b8e746\"\n },\n {\n \"url\": \"img/an/An_11.png\",\n \"revision\": \"e7593d3d51b2b076eb48b2318ad7b750\"\n },\n {\n \"url\": \"img/an/An_12.png\",\n \"revision\": \"7c7246d901539aef870e98e47030f352\"\n },\n {\n \"url\": \"img/an/An_13.png\",\n \"revision\": \"05016f137c8a8fe974dae61066cec522\"\n },\n {\n \"url\": \"img/an/An_14.png\",\n \"revision\": \"594625aae2115abfec69eafb2863e44b\"\n },\n {\n \"url\": \"img/an/An_16.png\",\n \"revision\": \"d853e74c26a895d2bd6ca05be5e6c565\"\n },\n {\n \"url\": \"img/emu/Emu_01.png\",\n \"revision\": \"bba505e1fb2153aa1f4c2e8b3093019e\"\n },\n {\n \"url\": \"img/emu/Emu_02.png\",\n \"revision\": \"4fbfb0b2a2803eca06ef61af408ba984\"\n },\n {\n \"url\": \"img/emu/Emu_03.png\",\n \"revision\": \"76852588ec3b6bdba88aeaaae6ceeb29\"\n },\n {\n \"url\": \"img/emu/Emu_04.png\",\n \"revision\": \"327e6c85227a370112dc882198ded203\"\n },\n {\n \"url\": \"img/emu/Emu_06.png\",\n \"revision\": \"109f8230d10ba0f73c8ee1a7434158a4\"\n },\n {\n \"url\": \"img/emu/Emu_07.png\",\n \"revision\": \"dfbfd33b6034b93cc8825d87e6209695\"\n },\n {\n \"url\": \"img/emu/Emu_08.png\",\n \"revision\": \"6f46baa49034c5c405563997b502fb47\"\n },\n {\n \"url\": \"img/emu/Emu_09.png\",\n \"revision\": \"a0bf16cdd04267edac86d72a7bbc84e3\"\n },\n {\n \"url\": \"img/emu/Emu_11.png\",\n \"revision\": \"c1d293007435775ab6d6be9b14306615\"\n },\n {\n \"url\": \"img/emu/Emu_12.png\",\n \"revision\": \"276762d66863d65f7de03d2e626de51a\"\n },\n {\n \"url\": \"img/emu/Emu_13.png\",\n \"revision\": \"a5db50fed302ca67bc7aea123ad1f949\"\n },\n {\n \"url\": \"img/emu/Emu_14.png\",\n \"revision\": \"fcce846717b976f6d29ce87018b6dc4c\"\n },\n {\n \"url\": \"img/emu/Emu_16.png\",\n \"revision\": \"35b61a2326bb7c4ffed58c791363a2e7\"\n },\n {\n \"url\": \"img/emutest.png\",\n \"revision\": \"3e68cb91bcac1aba32908d9b4e1047ac\"\n },\n {\n \"url\": \"img/ena/Ena_01.png\",\n \"revision\": \"67b36f36cfadfa372519dc4d7245bf50\"\n },\n {\n \"url\": \"img/ena/Ena_02.png\",\n \"revision\": \"1982fd3b1749a57cfc6a858f59ea7a8e\"\n },\n {\n \"url\": \"img/ena/Ena_03.png\",\n \"revision\": \"0127ac310cfca14303fd405f0a0ea22f\"\n },\n {\n \"url\": \"img/ena/Ena_04.png\",\n \"revision\": \"19bc8ac4484546aaca6206bc70a7eee6\"\n },\n {\n \"url\": \"img/ena/Ena_06.png\",\n \"revision\": \"8f91c652f8b9309092c3f66211cfd29f\"\n },\n {\n \"url\": \"img/ena/Ena_07.png\",\n \"revision\": \"acb598322038b46b69b7170e222180e7\"\n },\n {\n \"url\": \"img/ena/Ena_08.png\",\n \"revision\": \"258af00e58702f5e698903f3d9c1da4e\"\n },\n {\n \"url\": \"img/ena/Ena_09.png\",\n \"revision\": \"c9181e89fe4f0aa6a6bedb74b59f2676\"\n },\n {\n \"url\": \"img/ena/Ena_11.png\",\n \"revision\": \"d27d00b91ec2ee12c44950977560629d\"\n },\n {\n \"url\": \"img/ena/Ena_12.png\",\n \"revision\": \"944a3973491c49d5583cda4754c5d422\"\n },\n {\n \"url\": \"img/ena/Ena_13.png\",\n \"revision\": \"2f0e9aa45a62af24d50ac9f2be5b76bc\"\n },\n {\n \"url\": \"img/ena/Ena_14.png\",\n \"revision\": \"9957586f6b017e8e20ae4dee6f9f2d90\"\n },\n {\n \"url\": \"img/ena/Ena_16.png\",\n \"revision\": \"66b682b132c23d8fbbb7df07593cf543\"\n },\n {\n \"url\": \"img/ena/Ena_17.png\",\n \"revision\": \"44a63c5cc89102f2f79e160a1f3e8880\"\n },\n {\n \"url\": \"img/ena/Ena_18.png\",\n \"revision\": \"e6396176b61711a0d6892f05158b9cd2\"\n },\n {\n \"url\": \"img/ena/Ena_19.png\",\n \"revision\": \"155451233c7ed6ba28074d2cb25aacb3\"\n },\n {\n \"url\": \"img/Haruka/Haruka_01.png\",\n \"revision\": \"dad2195f9fce165a4ab9dd65a6dbdb2e\"\n },\n {\n \"url\": \"img/Haruka/Haruka_02.png\",\n \"revision\": \"261769d817847c9e88b445ddd2fccc02\"\n },\n {\n \"url\": \"img/Haruka/Haruka_03.png\",\n \"revision\": \"02fdd10668fbc9a5f8dac82181162dfb\"\n },\n {\n \"url\": \"img/Haruka/Haruka_04.png\",\n \"revision\": \"67d0f2a0a736ef705d3f76a080624d17\"\n },\n {\n \"url\": \"img/Haruka/Haruka_06.png\",\n \"revision\": \"09a41a43dd9644fc8c45fcc5176bc2c1\"\n },\n {\n \"url\": \"img/Haruka/Haruka_07.png\",\n \"revision\": \"a70e069dd28e30900f2bc6071c7be8e2\"\n },\n {\n \"url\": \"img/Haruka/Haruka_08.png\",\n \"revision\": \"7d57de9efb4717d4c1d0614c0e0d50a4\"\n },\n {\n \"url\": \"img/Haruka/Haruka_09.png\",\n \"revision\": \"c258f7ecbd14228c7c0b2931b4642121\"\n },\n {\n \"url\": \"img/Haruka/Haruka_11.png\",\n \"revision\": \"c2538a6d191344e35e2ab1e51782c6c5\"\n },\n {\n \"url\": \"img/Haruka/Haruka_12.png\",\n \"revision\": \"6d58ef12782680bcf0b20d3dc6b2efca\"\n },\n {\n \"url\": \"img/Haruka/Haruka_13.png\",\n \"revision\": \"176cd1fb8b4e789f43365c143614da84\"\n },\n {\n \"url\": \"img/Haruka/Haruka_14.png\",\n \"revision\": \"ac74dbe6a0486208d64c77b49a48d88c\"\n },\n {\n \"url\": \"img/Haruka/Haruka_16.png\",\n \"revision\": \"41e40d13e17ebd403618238c1a6715bf\"\n },\n {\n \"url\": \"img/Honami/Honami_01.png\",\n \"revision\": \"2e1c01315d614083b00c027cc8eef2f0\"\n },\n {\n \"url\": \"img/Honami/Honami_02.png\",\n \"revision\": \"9082e27f609b14deab822c496739f1aa\"\n },\n {\n \"url\": \"img/Honami/Honami_03.png\",\n \"revision\": \"397b4eb020adcca6b5f6d4dd4c81155b\"\n },\n {\n \"url\": \"img/Honami/Honami_04.png\",\n \"revision\": \"6e0a1d90761b511be0e0d4d68f51c4e6\"\n },\n {\n \"url\": \"img/Honami/Honami_06.png\",\n \"revision\": \"f8d1d430efa4229d100f3bcfe1fdb3a7\"\n },\n {\n \"url\": \"img/Honami/Honami_07.png\",\n \"revision\": \"c992f23850b28b75dccb198622e96199\"\n },\n {\n \"url\": \"img/Honami/Honami_08.png\",\n \"revision\": \"3836b2fd987c5a07b5f83899f616db9d\"\n },\n {\n \"url\": \"img/Honami/Honami_09.png\",\n \"revision\": \"65e324de11417c32df0f9bc2958e2d02\"\n },\n {\n \"url\": \"img/Honami/Honami_11.png\",\n \"revision\": \"b54e76c71a2bdfdf90852f65060532bd\"\n },\n {\n \"url\": \"img/Honami/Honami_12.png\",\n \"revision\": \"81972c95a9a361c23a034ae18a48567a\"\n },\n {\n \"url\": \"img/Honami/Honami_13.png\",\n \"revision\": \"ba2e452682fd21913223dca761ae3b97\"\n },\n {\n \"url\": \"img/Honami/Honami_14.png\",\n \"revision\": \"62bcef901f8d67a81becd14cc70f736f\"\n },\n {\n \"url\": \"img/Honami/Honami_16.png\",\n \"revision\": \"c64c7bdd8941977da19bb78e1d71d3c9\"\n },\n {\n \"url\": \"img/Honami/Honami_17.png\",\n \"revision\": \"25424c62bace12bb1870ea79f09ba06f\"\n },\n {\n \"url\": \"img/Honami/Honami_18.png\",\n \"revision\": \"501fb78e0cf2377b0d2c8b483a31621a\"\n },\n {\n \"url\": \"img/Ichika/Ichika_01.png\",\n \"revision\": \"2459d5dc6bf97fb9979e3b167d926f53\"\n },\n {\n \"url\": \"img/Ichika/Ichika_02.png\",\n \"revision\": \"dec2770f3cd903006be115ed66af65b6\"\n },\n {\n \"url\": \"img/Ichika/Ichika_03.png\",\n \"revision\": \"30560f400754f9cdfd3394ae57601377\"\n },\n {\n \"url\": \"img/Ichika/Ichika_04.png\",\n \"revision\": \"b3f40df4d7ec237b48742f039d266f1e\"\n },\n {\n \"url\": \"img/Ichika/Ichika_06.png\",\n \"revision\": \"02b17d97bbcc92e77d40a602f7b1073e\"\n },\n {\n \"url\": \"img/Ichika/Ichika_07.png\",\n \"revision\": \"408c3f749a509eb9f677faf494f8c780\"\n },\n {\n \"url\": \"img/Ichika/Ichika_08.png\",\n \"revision\": \"18f599c387f526acf7af99225236e6a7\"\n },\n {\n \"url\": \"img/Ichika/Ichika_09.png\",\n \"revision\": \"1c6f2f474160aa98b39238ac6810033d\"\n },\n {\n \"url\": \"img/Ichika/Ichika_11.png\",\n \"revision\": \"b39c31eef2d7d5a340263c56d359c337\"\n },\n {\n \"url\": \"img/Ichika/Ichika_12.png\",\n \"revision\": \"0a17f864e123161e07450f6134b0c2fd\"\n },\n {\n \"url\": \"img/Ichika/Ichika_13.png\",\n \"revision\": \"a83565c647c2c8a02eb88c758efcb3de\"\n },\n {\n \"url\": \"img/Ichika/Ichika_14.png\",\n \"revision\": \"e12419722dc6d2245a25b9c2f0109ce1\"\n },\n {\n \"url\": \"img/Ichika/Ichika_16.png\",\n \"revision\": \"ba67920c839bd2ea3eb60727a351da5d\"\n },\n {\n \"url\": \"img/Ichika/Ichika_17.png\",\n \"revision\": \"2ec5b39c33c0988ee7892b4c31d5cd13\"\n },\n {\n \"url\": \"img/Ichika/Ichika_18.png\",\n \"revision\": \"e3ae7ba98714e03af02502a20dce0440\"\n },\n {\n \"url\": \"img/KAITO/KAITO_01.png\",\n \"revision\": \"537c3e506d32f4772015f32aa854ceda\"\n },\n {\n \"url\": \"img/KAITO/KAITO_02.png\",\n \"revision\": \"4b6c11269a6f16f3a61064c01ae2abc5\"\n },\n {\n \"url\": \"img/KAITO/KAITO_03.png\",\n \"revision\": \"c7eddee2bc55b9431bb16222169ac165\"\n },\n {\n \"url\": \"img/KAITO/KAITO_04.png\",\n \"revision\": \"65925b8fffe4a3959ddcd798975a910b\"\n },\n {\n \"url\": \"img/KAITO/KAITO_06.png\",\n \"revision\": \"f9c22db78ef9a4dc7a24c7716bcb9265\"\n },\n {\n \"url\": \"img/KAITO/KAITO_07.png\",\n \"revision\": \"334d6e09e8fbd246405b109456c7b9ce\"\n },\n {\n \"url\": \"img/KAITO/KAITO_08.png\",\n \"revision\": \"1af60754769050851a4f34840b5cd25f\"\n },\n {\n \"url\": \"img/KAITO/KAITO_09.png\",\n \"revision\": \"3a469a7f65b83d6f93977c78e51a9b02\"\n },\n {\n \"url\": \"img/KAITO/KAITO_11.png\",\n \"revision\": \"a46a21e12a0ec77090f2d028bedb6091\"\n },\n {\n \"url\": \"img/KAITO/KAITO_12.png\",\n \"revision\": \"b5ee395283908fcdefb1a760486246b7\"\n },\n {\n \"url\": \"img/KAITO/KAITO_13.png\",\n \"revision\": \"c26ee26e767c6aa1f30e8cef153f93a4\"\n },\n {\n \"url\": \"img/KAITO/KAITO_14.png\",\n \"revision\": \"f6e9cd35c856ffdd3d7922f495e6c132\"\n },\n {\n \"url\": \"img/KAITO/KAITO_16.png\",\n \"revision\": \"87a21088ced9de88e65825a74b62125a\"\n },\n {\n \"url\": \"img/Kanade/Kanade_01.png\",\n \"revision\": \"1b1cc482bb707a0811144476055b9556\"\n },\n {\n \"url\": \"img/Kanade/Kanade_02.png\",\n \"revision\": \"3bea2225d2170b94105f5c411f4d82e6\"\n },\n {\n \"url\": \"img/Kanade/Kanade_03.png\",\n \"revision\": \"b97bdcfc9d3dfccfe1db19fff07ee468\"\n },\n {\n \"url\": \"img/Kanade/Kanade_04.png\",\n \"revision\": \"2b5523ad794e69470b080457d14eaef5\"\n },\n {\n \"url\": \"img/Kanade/Kanade_06.png\",\n \"revision\": \"e1de21e5e9bcbd741dc3b952f411e2da\"\n },\n {\n \"url\": \"img/Kanade/Kanade_07.png\",\n \"revision\": \"94d38692b9abac4283a4c08924bfb1bc\"\n },\n {\n \"url\": \"img/Kanade/Kanade_08.png\",\n \"revision\": \"8cc84f9253f7fa2fdb0bccbf0de4cdae\"\n },\n {\n \"url\": \"img/Kanade/Kanade_09.png\",\n \"revision\": \"9b429cd6fca2d6a06ac1153829ff8b7b\"\n },\n {\n \"url\": \"img/Kanade/Kanade_11.png\",\n \"revision\": \"d9053cd01b712d927153f071b2915467\"\n },\n {\n \"url\": \"img/Kanade/Kanade_12.png\",\n \"revision\": \"0d11c13f3fd7e9c953cc8e6b891d6d9f\"\n },\n {\n \"url\": \"img/Kanade/Kanade_13.png\",\n \"revision\": \"c2c2cba0a81a78b7f7812ab5988c7c92\"\n },\n {\n \"url\": \"img/Kanade/Kanade_14.png\",\n \"revision\": \"4123dbb8c2250c0bdfff58427108b773\"\n },\n {\n \"url\": \"img/Kanade/Kanade_16.png\",\n \"revision\": \"1bfe0f3e015e637905cfc1e69b0cd3df\"\n },\n {\n \"url\": \"img/Kanade/Kanade_17.png\",\n \"revision\": \"cd5a3ce456b0b0e32a631520154840d6\"\n },\n {\n \"url\": \"img/Kohane/Kohane_01.png\",\n \"revision\": \"ff232d513a8dff43e4a521cd3232d18d\"\n },\n {\n \"url\": \"img/Kohane/Kohane_02.png\",\n \"revision\": \"3fbc5922f23515868b0fff6009e93d74\"\n },\n {\n \"url\": \"img/Kohane/Kohane_03.png\",\n \"revision\": \"7c00781733f6a52256c8382d1e4d048c\"\n },\n {\n \"url\": \"img/Kohane/Kohane_04.png\",\n \"revision\": \"cd6b0ddeaade85c15f86c1dbb3fbbd0b\"\n },\n {\n \"url\": \"img/Kohane/Kohane_06.png\",\n \"revision\": \"987f4befe2fca04398724b3c9f8e4c50\"\n },\n {\n \"url\": \"img/Kohane/Kohane_07.png\",\n \"revision\": \"f30aba15868512ceee07add3f7305617\"\n },\n {\n \"url\": \"img/Kohane/Kohane_08.png\",\n \"revision\": \"44cce0202dd21265610e8210376a7206\"\n },\n {\n \"url\": \"img/Kohane/Kohane_09.png\",\n \"revision\": \"1903ea3a27684ca200f7e3b91de22266\"\n },\n {\n \"url\": \"img/Kohane/Kohane_11.png\",\n \"revision\": \"ed9aceb0067724c5f704548d453b76ca\"\n },\n {\n \"url\": \"img/Kohane/Kohane_12.png\",\n \"revision\": \"233fd91245619ee7e2013f8b3677c75e\"\n },\n {\n \"url\": \"img/Kohane/Kohane_13.png\",\n \"revision\": \"380a0937ebe66a3bd8b238aa4f2a0ac2\"\n },\n {\n \"url\": \"img/Kohane/Kohane_14.png\",\n \"revision\": \"2adeaa9ebd793843c7ebcabcb525dba3\"\n },\n {\n \"url\": \"img/Kohane/Kohane_16.png\",\n \"revision\": \"a53475ec174a4c0c8c3a76a0bb737ea7\"\n },\n {\n \"url\": \"img/Kohane/Kohane_17.png\",\n \"revision\": \"17d0612b9f16c5d189fddcd0dddb7be8\"\n },\n {\n \"url\": \"img/Len/Len_01.png\",\n \"revision\": \"b3d1fb2e99cd2c3f38184c906def8f54\"\n },\n {\n \"url\": \"img/Len/Len_02.png\",\n \"revision\": \"6b709fd3a93b43ff350dd1dd3f22da66\"\n },\n {\n \"url\": \"img/Len/Len_03.png\",\n \"revision\": \"223afc31fe94533962e4ca687572b073\"\n },\n {\n \"url\": \"img/Len/Len_04.png\",\n \"revision\": \"9e9f9fcf21758ae9580b312e37c29a8d\"\n },\n {\n \"url\": \"img/Len/Len_06.png\",\n \"revision\": \"402d8aea9d864661f512e2f111ae24f6\"\n },\n {\n \"url\": \"img/Len/Len_07.png\",\n \"revision\": \"dab8ebdf6e12ebb3661977f21b9f661e\"\n },\n {\n \"url\": \"img/Len/Len_08.png\",\n \"revision\": \"b7eb38ce17969b4d6a3ac44148ce443b\"\n },\n {\n \"url\": \"img/Len/Len_09.png\",\n \"revision\": \"3c93129b2b9ad5a63b39f48db8713fa5\"\n },\n {\n \"url\": \"img/Len/Len_11.png\",\n \"revision\": \"f1fd53a7ae5a06ca67f05976fc7c4046\"\n },\n {\n \"url\": \"img/Len/Len_12.png\",\n \"revision\": \"d1c765fa2829bf99fa1fc4691b2fa7b1\"\n },\n {\n \"url\": \"img/Len/Len_13.png\",\n \"revision\": \"2b6e58a745365713d8f5e62562cf9f3b\"\n },\n {\n \"url\": \"img/Len/Len_14.png\",\n \"revision\": \"63b4e3f3641aadf2ad104565171e27cc\"\n },\n {\n \"url\": \"img/Len/Len_16.png\",\n \"revision\": \"67baa4705df8e4abb56f1b225ee1ab9c\"\n },\n {\n \"url\": \"img/Len/Len_17.png\",\n \"revision\": \"07f6fa9f13d3c9a7f38dab9a842b2a0d\"\n },\n {\n \"url\": \"img/Luka/Luka_01.png\",\n \"revision\": \"9fe481e4e6c43cddfe9c33299b35d737\"\n },\n {\n \"url\": \"img/Luka/Luka_02.png\",\n \"revision\": \"05072261f2e5bfece83ed70143b1b32d\"\n },\n {\n \"url\": \"img/Luka/Luka_03.png\",\n \"revision\": \"f1937b8a98beb3c258482a26d66552d2\"\n },\n {\n \"url\": \"img/Luka/Luka_04.png\",\n \"revision\": \"cd7e0817407f3eeef902153fbdc9f3f1\"\n },\n {\n \"url\": \"img/Luka/Luka_06.png\",\n \"revision\": \"91a4b4f1ee35d90a076d511b99ffd5ce\"\n },\n {\n \"url\": \"img/Luka/Luka_07.png\",\n \"revision\": \"7f5f2e792e2097b8c53bcd7a2155d17b\"\n },\n {\n \"url\": \"img/Luka/Luka_08.png\",\n \"revision\": \"a8bfe01a9a2d7ab6e8fae270ba3bb7bc\"\n },\n {\n \"url\": \"img/Luka/Luka_09.png\",\n \"revision\": \"7afa77835d8ee10419b702c1191efc16\"\n },\n {\n \"url\": \"img/Luka/Luka_11.png\",\n \"revision\": \"f7b9d4a5c346e77a221cbe73ef054b70\"\n },\n {\n \"url\": \"img/Luka/Luka_12.png\",\n \"revision\": \"4428037bd68ecad7890161bf43d26293\"\n },\n {\n \"url\": \"img/Luka/Luka_13.png\",\n \"revision\": \"f2f72ad26d41fae7322090250237a949\"\n },\n {\n \"url\": \"img/Luka/Luka_14.png\",\n \"revision\": \"a67afb55b123fd43e35138d43d0d931a\"\n },\n {\n \"url\": \"img/Luka/Luka_16.png\",\n \"revision\": \"7f2c09de8835eb455b72c772b9996fa7\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_01.png\",\n \"revision\": \"1f9973edba5417d67c0acb954c8235b6\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_02.png\",\n \"revision\": \"fa523cea43078760f0382a9a3c1499c6\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_03.png\",\n \"revision\": \"a7fe3278ad612835f3d45a5d9a14032f\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_04.png\",\n \"revision\": \"2a7f681be9d00853c41af29bbf605d75\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_06.png\",\n \"revision\": \"527adc0995d5c96f785b204189a555b5\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_07.png\",\n \"revision\": \"06ab9281751206dfcb6a0152177c2ddc\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_08.png\",\n \"revision\": \"c33117a85b9a341924d5e6dfe8adba2b\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_09.png\",\n \"revision\": \"e2036d62409b8d7debfcf8bd3fb26946\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_11.png\",\n \"revision\": \"7527d04cfa1c8054cb04918e9ed43a38\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_12.png\",\n \"revision\": \"0fe95b9eb5576bd0ae8e1d2c24f9295f\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_13.png\",\n \"revision\": \"10a8a633c692b5b38dba0070a01b1cc2\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_14.png\",\n \"revision\": \"92c22bf70fd20fa2502cfca0f372e9ac\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_16.png\",\n \"revision\": \"c922f0a8c461b0d7cd4276dfcedc0fb6\"\n },\n {\n \"url\": \"img/Mafuyu/Mafuyu_17.png\",\n \"revision\": \"0aea55e3d92ed1b3a1dc29ca516402c6\"\n },\n {\n \"url\": \"img/Meiko/Meiko_01.png\",\n \"revision\": \"aad90f1465fd2ae9702711ab05b9dfd2\"\n },\n {\n \"url\": \"img/Meiko/Meiko_02.png\",\n \"revision\": \"24b1b89e9c52f5342b253861cf6e235e\"\n },\n {\n \"url\": \"img/Meiko/Meiko_03.png\",\n \"revision\": \"3fe07a95fa99cc08601abe874b7f78e8\"\n },\n {\n \"url\": \"img/Meiko/Meiko_04.png\",\n \"revision\": \"f86ef19a453d4b704f29bd2848acc4a4\"\n },\n {\n \"url\": \"img/Meiko/Meiko_06.png\",\n \"revision\": \"c579869978d23e34a241e54fb370da99\"\n },\n {\n \"url\": \"img/Meiko/Meiko_07.png\",\n \"revision\": \"da3d59988d933e99a28979197cf2cf79\"\n },\n {\n \"url\": \"img/Meiko/Meiko_08.png\",\n \"revision\": \"d4b73bcd427104bdd52a0b2edb2a5a09\"\n },\n {\n \"url\": \"img/Meiko/Meiko_09.png\",\n \"revision\": \"7581b5fa21f66d2c6e2398369f88717d\"\n },\n {\n \"url\": \"img/Meiko/Meiko_11.png\",\n \"revision\": \"d4b3919a8b3023b64d84401b53b5af55\"\n },\n {\n \"url\": \"img/Meiko/Meiko_12.png\",\n \"revision\": \"7cba8beed470245b6810e1c46eba7eec\"\n },\n {\n \"url\": \"img/Meiko/Meiko_13.png\",\n \"revision\": \"705b11d13112ce3a5dd2057be6975868\"\n },\n {\n \"url\": \"img/Meiko/Meiko_14.png\",\n \"revision\": \"85ebe7a9a40886256739d37543a4ac36\"\n },\n {\n \"url\": \"img/Meiko/Meiko_16.png\",\n \"revision\": \"0d3594ed37bc64f15cf516ffaf488aa9\"\n },\n {\n \"url\": \"img/Miku/Miku_01.png\",\n \"revision\": \"29f71f47ee4c5b3290f523ffd495420d\"\n },\n {\n \"url\": \"img/Miku/Miku_02.png\",\n \"revision\": \"b0b9d4c7b93b5b782248bcfbdf52b29b\"\n },\n {\n \"url\": \"img/Miku/Miku_03.png\",\n \"revision\": \"1c496fa1d06646bde607665e39c3611c\"\n },\n {\n \"url\": \"img/Miku/Miku_04.png\",\n \"revision\": \"c9b9b70d780f32df24a1c231e1ee8a7e\"\n },\n {\n \"url\": \"img/Miku/Miku_06.png\",\n \"revision\": \"c3e537dadc1e85ceb61a3b80873d5b6f\"\n },\n {\n \"url\": \"img/Miku/Miku_07.png\",\n \"revision\": \"f1dc41a1f146b23bd99b6bfec071d131\"\n },\n {\n \"url\": \"img/Miku/Miku_08.png\",\n \"revision\": \"d3c9cdc8df8326e0f493a3a5fd4b9abb\"\n },\n {\n \"url\": \"img/Miku/Miku_09.png\",\n \"revision\": \"05efa7f5fe4f757ddb6eb9068e4b0490\"\n },\n {\n \"url\": \"img/Miku/Miku_11.png\",\n \"revision\": \"2d66f96ecf4d8fb9fa63c4f533bc60ca\"\n },\n {\n \"url\": \"img/Miku/Miku_12.png\",\n \"revision\": \"1ceb732652a8649b678a8aab4eb4ee66\"\n },\n {\n \"url\": \"img/Miku/Miku_13.png\",\n \"revision\": \"881f98784be5fc7918ef572fbdb7858c\"\n },\n {\n \"url\": \"img/Miku/Miku_14.png\",\n \"revision\": \"5b2a0989bfb2e5bb2a7635cc815a6dcd\"\n },\n {\n \"url\": \"img/Miku/Miku_16.png\",\n \"revision\": \"5507673107f9ba8025ddeec9e734eb02\"\n },\n {\n \"url\": \"img/Minori/Minori_01.png\",\n \"revision\": \"f587e6ef5f652a0eee29fe846dea7feb\"\n },\n {\n \"url\": \"img/Minori/Minori_02.png\",\n \"revision\": \"2d038a9f31b5b57dd618a315f8221e3a\"\n },\n {\n \"url\": \"img/Minori/Minori_03.png\",\n \"revision\": \"9b95e7ea81797cf768e7b03d93874809\"\n },\n {\n \"url\": \"img/Minori/Minori_04.png\",\n \"revision\": \"7c02e55535c05ed39476100dfd6eb653\"\n },\n {\n \"url\": \"img/Minori/Minori_06.png\",\n \"revision\": \"28d620e074d35a9bb7b11dadb18f4435\"\n },\n {\n \"url\": \"img/Minori/Minori_07.png\",\n \"revision\": \"bf34f395ebb4bf39aa970fb031e13c16\"\n },\n {\n \"url\": \"img/Minori/Minori_08.png\",\n \"revision\": \"a59072cdeadc103c7e6c154418c7b749\"\n },\n {\n \"url\": \"img/Minori/Minori_09.png\",\n \"revision\": \"d6000df6bd13bf09888e676400ea3ad7\"\n },\n {\n \"url\": \"img/Minori/Minori_11.png\",\n \"revision\": \"f8d4e049a1f168f3ce10964dc2d74d41\"\n },\n {\n \"url\": \"img/Minori/Minori_12.png\",\n \"revision\": \"3304b89ee1c0186af67fe13fc8fde5ad\"\n },\n {\n \"url\": \"img/Minori/Minori_13.png\",\n \"revision\": \"ce4b50e4d27e2fc03deaf2f994b0bda6\"\n },\n {\n \"url\": \"img/Minori/Minori_14.png\",\n \"revision\": \"18fc480940875b2e6b3fb97a3cfbd2d1\"\n },\n {\n \"url\": \"img/Minori/Minori_16.png\",\n \"revision\": \"dd59791b30bf85c622596a7a3d16f9b8\"\n },\n {\n \"url\": \"img/Minori/Minori_17.png\",\n \"revision\": \"04afb7e594e8d0cc332c6050684b15f9\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_01.png\",\n \"revision\": \"98e35e206996b91818120ab9caea2708\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_02.png\",\n \"revision\": \"98b9df090b32f27d8de7ab8a2bf7e234\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_03.png\",\n \"revision\": \"d10bb5312777e86b6a19610e45387849\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_04.png\",\n \"revision\": \"5ee51f55f9619fd6fe8f0d3bc0ec42f8\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_06.png\",\n \"revision\": \"eaa6ade61599d8f9b5f14ef9fe00ec22\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_07.png\",\n \"revision\": \"ef646c9c7382471d61c094db310db67f\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_08.png\",\n \"revision\": \"d64621091b1daedf998a8695daf4588a\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_09.png\",\n \"revision\": \"80641beaf73679c9c14238103fc0f7b6\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_11.png\",\n \"revision\": \"1d623824ecba4b0b806d13189ea7ffe7\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_12.png\",\n \"revision\": \"5ea39c8793ca31bc63de609b5bfa1099\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_13.png\",\n \"revision\": \"b37201102a579423dc9adb74cc59d317\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_14.png\",\n \"revision\": \"e123eee04e5ffdae32b58585e71bd0da\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_16.png\",\n \"revision\": \"2477270933d46147ce1003b4185a95ef\"\n },\n {\n \"url\": \"img/Mizuki/Mizuki_17.png\",\n \"revision\": \"bab80cb1689ec75c0289b9f60fde4ca5\"\n },\n {\n \"url\": \"img/Nene/Nene_01.png\",\n \"revision\": \"c663c95d793c8f67bb7af398537350e4\"\n },\n {\n \"url\": \"img/Nene/Nene_02.png\",\n \"revision\": \"af31035b84486ecbe6c5fe0489de3caf\"\n },\n {\n \"url\": \"img/Nene/Nene_03.png\",\n \"revision\": \"49417f82d0ebcd7ca92a6a8e170955b0\"\n },\n {\n \"url\": \"img/Nene/Nene_04.png\",\n \"revision\": \"d191819b6d39a47ff449854f17e64ac2\"\n },\n {\n \"url\": \"img/Nene/Nene_06.png\",\n \"revision\": \"5bb8da4f22a61e608335016fb7e66581\"\n },\n {\n \"url\": \"img/Nene/Nene_07.png\",\n \"revision\": \"cb7cd74c84852a5e4f90a62093c47234\"\n },\n {\n \"url\": \"img/Nene/Nene_08.png\",\n \"revision\": \"21cb6ec9834cd4693239b7c47196d68b\"\n },\n {\n \"url\": \"img/Nene/Nene_09.png\",\n \"revision\": \"9a6216ab4fe1203acbca893c1695957b\"\n },\n {\n \"url\": \"img/Nene/Nene_11.png\",\n \"revision\": \"248c7abe48089cb3a107fb96168b3e6c\"\n },\n {\n \"url\": \"img/Nene/Nene_12.png\",\n \"revision\": \"5d5f31f3282dfc18aeb59e3a3a94e89d\"\n },\n {\n \"url\": \"img/Nene/Nene_13.png\",\n \"revision\": \"cbfb9be24a074beca226601cdfcce330\"\n },\n {\n \"url\": \"img/Nene/Nene_14.png\",\n \"revision\": \"b10280da8a33dc53fed2d173478d4533\"\n },\n {\n \"url\": \"img/Nene/Nene_16.png\",\n \"revision\": \"3571c9d6bc4eb6916e4c953a4099ef2c\"\n },\n {\n \"url\": \"img/Rin/Rin_01.png\",\n \"revision\": \"54b6f17ee0add2db75a9f46b920e24c9\"\n },\n {\n \"url\": \"img/Rin/Rin_02.png\",\n \"revision\": \"6dada0bb73ee0cc44230e353b099e66b\"\n },\n {\n \"url\": \"img/Rin/Rin_03.png\",\n \"revision\": \"53a47a51bba7fcbda08f2985025ed564\"\n },\n {\n \"url\": \"img/Rin/Rin_04.png\",\n \"revision\": \"3325775d5ab068c127efb53613b68680\"\n },\n {\n \"url\": \"img/Rin/Rin_06.png\",\n \"revision\": \"b7e77763b34f5b94c74616c59a276e40\"\n },\n {\n \"url\": \"img/Rin/Rin_07.png\",\n \"revision\": \"ece2c8017fa2162570abbec7a98b11c4\"\n },\n {\n \"url\": \"img/Rin/Rin_08.png\",\n \"revision\": \"8aba8278f2bfa1dfa7af14eeb3e9366e\"\n },\n {\n \"url\": \"img/Rin/Rin_09.png\",\n \"revision\": \"d4dd0fe52d53def5ffddcf2062c9807c\"\n },\n {\n \"url\": \"img/Rin/Rin_11.png\",\n \"revision\": \"7dedadec50e30f9b2bfbbc08101c7ce7\"\n },\n {\n \"url\": \"img/Rin/Rin_12.png\",\n \"revision\": \"cc32d85641cd6f2cf3ba8baa9c5bd2d5\"\n },\n {\n \"url\": \"img/Rin/Rin_13.png\",\n \"revision\": \"3ab97be058ccfe03d9a7348e881218ac\"\n },\n {\n \"url\": \"img/Rin/Rin_14.png\",\n \"revision\": \"d96e11aab221ba941a550b760e57fd3c\"\n },\n {\n \"url\": \"img/Rin/Rin_16.png\",\n \"revision\": \"4757fa66fd488090088f648d546065de\"\n },\n {\n \"url\": \"img/Rui/Rui_01.png\",\n \"revision\": \"db3325eea580890cb06c70c9cfff5bcb\"\n },\n {\n \"url\": \"img/Rui/Rui_02.png\",\n \"revision\": \"3199346fbe76a8fd26a413a56219e3f2\"\n },\n {\n \"url\": \"img/Rui/Rui_03.png\",\n \"revision\": \"53e989b2c89b74d4dc06618ddb24da47\"\n },\n {\n \"url\": \"img/Rui/Rui_04.png\",\n \"revision\": \"bb401830bb88fccccb37ab5006f9464e\"\n },\n {\n \"url\": \"img/Rui/Rui_06.png\",\n \"revision\": \"b13db5b7d3cab0b33050c6d8911394d5\"\n },\n {\n \"url\": \"img/Rui/Rui_07.png\",\n \"revision\": \"495f4346375ee45c43c45f26a269d75b\"\n },\n {\n \"url\": \"img/Rui/Rui_08.png\",\n \"revision\": \"c5e99fd09f0c93ee754d6afc13d0bdb4\"\n },\n {\n \"url\": \"img/Rui/Rui_09.png\",\n \"revision\": \"977ec688f702f6d582995a505e769c1f\"\n },\n {\n \"url\": \"img/Rui/Rui_11.png\",\n \"revision\": \"dead171b7220f23502fddb6ba8d2e516\"\n },\n {\n \"url\": \"img/Rui/Rui_12.png\",\n \"revision\": \"1fdef3258f07f56100ea714b50c6841a\"\n },\n {\n \"url\": \"img/Rui/Rui_13.png\",\n \"revision\": \"52157ee2e03e4215bcc4d02d50851da6\"\n },\n {\n \"url\": \"img/Rui/Rui_14.png\",\n \"revision\": \"19f3f8fb9aba2f9a89a3abc2f2fbbd0c\"\n },\n {\n \"url\": \"img/Rui/Rui_16.png\",\n \"revision\": \"fb0f23c7833ac718a7295f8740015414\"\n },\n {\n \"url\": \"img/Rui/Rui_17.png\",\n \"revision\": \"460b8602d0f7f6f6801d8d75b9fc6b10\"\n },\n {\n \"url\": \"img/Rui/Rui_18.png\",\n \"revision\": \"79e727be23e1a493000a6a617256e9a6\"\n },\n {\n \"url\": \"img/Rui/Rui_19.png\",\n \"revision\": \"8495fade8979fd826c55382703e99807\"\n },\n {\n \"url\": \"img/Saki/Saki_01.png\",\n \"revision\": \"0cd7b87a4c9e9b3ebb72d00aefd49601\"\n },\n {\n \"url\": \"img/Saki/Saki_02.png\",\n \"revision\": \"a1d2a0b5ee48a2c73ba4a170fe345438\"\n },\n {\n \"url\": \"img/Saki/Saki_03.png\",\n \"revision\": \"4ab7216dfacaf5c60960901539dcac11\"\n },\n {\n \"url\": \"img/Saki/Saki_04.png\",\n \"revision\": \"0d54c088202b78088086d1fe9f96009d\"\n },\n {\n \"url\": \"img/Saki/Saki_06.png\",\n \"revision\": \"d12e075ae8e3e5b0fe279c1a424b924e\"\n },\n {\n \"url\": \"img/Saki/Saki_07.png\",\n \"revision\": \"dd3e094261d09daec71fbed0b5a424c5\"\n },\n {\n \"url\": \"img/Saki/Saki_08.png\",\n \"revision\": \"0b2c8bad6ffe5ee4c9177f3d958dfeff\"\n },\n {\n \"url\": \"img/Saki/Saki_09.png\",\n \"revision\": \"2d1f7301831129c7a8519aa5fd123239\"\n },\n {\n \"url\": \"img/Saki/Saki_11.png\",\n \"revision\": \"20c9e17c7cf46755826b8662fae556e4\"\n },\n {\n \"url\": \"img/Saki/Saki_12.png\",\n \"revision\": \"c97e5dc8580d14e633c1d6f7bceb1e2d\"\n },\n {\n \"url\": \"img/Saki/Saki_13.png\",\n \"revision\": \"2cd8f3461ac8fbbade33c84ba43b51cd\"\n },\n {\n \"url\": \"img/Saki/Saki_14.png\",\n \"revision\": \"9313349e732bd79477f6e9edc5c87e10\"\n },\n {\n \"url\": \"img/Saki/Saki_16.png\",\n \"revision\": \"699e4a669b55252cffc02c933136b131\"\n },\n {\n \"url\": \"img/Saki/Saki_17.png\",\n \"revision\": \"65e10d22205f7f206c10c25e007a8b69\"\n },\n {\n \"url\": \"img/Saki/Saki_18.png\",\n \"revision\": \"448e0fa30f72aa897a595506feea036e\"\n },\n {\n \"url\": \"img/Shiho/Shiho_01.png\",\n \"revision\": \"cc71b9aaea69e2463781165c3fe241d8\"\n },\n {\n \"url\": \"img/Shiho/Shiho_02.png\",\n \"revision\": \"d89028cffa35322e0b43d6b6b300cad5\"\n },\n {\n \"url\": \"img/Shiho/Shiho_03.png\",\n \"revision\": \"f2bf25a5ec710f3db84220c987ae54fa\"\n },\n {\n \"url\": \"img/Shiho/Shiho_04.png\",\n \"revision\": \"f802d59de0fdcb4c36e4173f4da460c2\"\n },\n {\n \"url\": \"img/Shiho/Shiho_06.png\",\n \"revision\": \"d34af77a3dc22d4fab6903174f8fe310\"\n },\n {\n \"url\": \"img/Shiho/Shiho_07.png\",\n \"revision\": \"c110542b17643e284cc673148481e111\"\n },\n {\n \"url\": \"img/Shiho/Shiho_08.png\",\n \"revision\": \"f4342140e18c89982bf792398380ce65\"\n },\n {\n \"url\": \"img/Shiho/Shiho_09.png\",\n \"revision\": \"7c39606e1149d0e7130e7f3b814e3c6f\"\n },\n {\n \"url\": \"img/Shiho/Shiho_11.png\",\n \"revision\": \"f81e75ea5cfc99f50e76aa90e3f635c5\"\n },\n {\n \"url\": \"img/Shiho/Shiho_12.png\",\n \"revision\": \"1d7091a206a16b2a2979b41a87088622\"\n },\n {\n \"url\": \"img/Shiho/Shiho_13.png\",\n \"revision\": \"aadcfeaae791efb2625f07275c363fdf\"\n },\n {\n \"url\": \"img/Shiho/Shiho_14.png\",\n \"revision\": \"9162127bb636ca173f644eb428283ab5\"\n },\n {\n \"url\": \"img/Shiho/Shiho_16.png\",\n \"revision\": \"9a7b705721e6a0c503a8d7dd268f6a62\"\n },\n {\n \"url\": \"img/Shiho/Shiho_17.png\",\n \"revision\": \"6779617e712d3b4e61d4cf2fead37194\"\n },\n {\n \"url\": \"img/Shiho/Shiho_18.png\",\n \"revision\": \"d6729176473e0c297b70e00c8147e8a2\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_01.png\",\n \"revision\": \"f2e4f5fd24c80ba975134056428717bc\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_02.png\",\n \"revision\": \"1b27dcb35e5f8cba8186a140624c90d4\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_03.png\",\n \"revision\": \"78bba0e7dbf5cc42611e182b01abe22e\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_04.png\",\n \"revision\": \"59bbd949d6874b108903d75fb68db235\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_06.png\",\n \"revision\": \"7ecb52ee2bd89d417c61cd8f22bea093\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_07.png\",\n \"revision\": \"bc7d5de7b7e852e168b779b73ee5db34\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_08.png\",\n \"revision\": \"b2b29140920bf8f8e779d0d4c059cdf6\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_09.png\",\n \"revision\": \"4130832425bb7f66e776b41c8a6ff029\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_11.png\",\n \"revision\": \"d5b9424b4a728c370bed28abfe934941\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_12.png\",\n \"revision\": \"a90f57b9293d15b0c42644dfb5a26fd8\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_13.png\",\n \"revision\": \"9acf0a7007ed1360f9f041a060c3db54\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_14.png\",\n \"revision\": \"ca324edf1cdb145b4cf8f2cfdfa275e2\"\n },\n {\n \"url\": \"img/Shizuku/Shizuku_16.png\",\n \"revision\": \"055bfe3f3a735233f85a04094e76c4b9\"\n },\n {\n \"url\": \"img/Touya/Touya_01.png\",\n \"revision\": \"2ad84d607a27c21a1d4544e1379fa33e\"\n },\n {\n \"url\": \"img/Touya/Touya_02.png\",\n \"revision\": \"67500bfdc24c8c660c143c190bd32a03\"\n },\n {\n \"url\": \"img/Touya/Touya_03.png\",\n \"revision\": \"d1de1d2abb18e2c2e33796b31a8fd585\"\n },\n {\n \"url\": \"img/Touya/Touya_04.png\",\n \"revision\": \"8828a12cdb0759b307a1615f76115c8d\"\n },\n {\n \"url\": \"img/Touya/Touya_06.png\",\n \"revision\": \"8f490016fdf7a9c32efffd1261fc3b0a\"\n },\n {\n \"url\": \"img/Touya/Touya_07.png\",\n \"revision\": \"bec958a6dec847abdc18c221d8326943\"\n },\n {\n \"url\": \"img/Touya/Touya_08.png\",\n \"revision\": \"eca5ab64f30267ca7eacce040b9f9cd5\"\n },\n {\n \"url\": \"img/Touya/Touya_09.png\",\n \"revision\": \"cdb1241581a090f9f6e6108fafd01819\"\n },\n {\n \"url\": \"img/Touya/Touya_11.png\",\n \"revision\": \"24c563185d96f8ec4b38fea9c490858a\"\n },\n {\n \"url\": \"img/Touya/Touya_12.png\",\n \"revision\": \"73e8277cab2146eb6e7232d4bbb8b551\"\n },\n {\n \"url\": \"img/Touya/Touya_13.png\",\n \"revision\": \"dbb446466ec5314b853239fea208bf07\"\n },\n {\n \"url\": \"img/Touya/Touya_14.png\",\n \"revision\": \"0de3f0438e2972cf83bea21b7ad5099d\"\n },\n {\n \"url\": \"img/Touya/Touya_16.png\",\n \"revision\": \"9185b9d033cb619c0613fc5b03e3db99\"\n },\n {\n \"url\": \"img/Touya/Touya_17.png\",\n \"revision\": \"9a8db10b811a94f5d641e46b7b3150f5\"\n },\n {\n \"url\": \"img/Touya/Touya_18.png\",\n \"revision\": \"ed629bb4ae08fcd8c293b6a237bf3dcc\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_01.png\",\n \"revision\": \"fb5a23b67213c7277524e9a7a55d77b8\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_02.png\",\n \"revision\": \"d3c5f25f0c61434158dc931b325d7cbc\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_03.png\",\n \"revision\": \"8bd76c0f003c34ba8af755fc8f76ff22\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_04.png\",\n \"revision\": \"062f51de1c37366a00d6aaf4e7696072\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_06.png\",\n \"revision\": \"61d211ac0f7ee282cb03366839d36e6c\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_07.png\",\n \"revision\": \"3a7a49c9212d76c86da949c776cbaef8\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_08.png\",\n \"revision\": \"6a3366f66534057eacb8abf1e215b8ac\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_09.png\",\n \"revision\": \"2d033d14b26518a34598bba9dc2bb79d\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_11.png\",\n \"revision\": \"7a81dfa2b5ede4008971590bfa8c2ec9\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_12.png\",\n \"revision\": \"8fb50da319e73e5c1b6bb7fc500a898b\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_13.png\",\n \"revision\": \"55bc711d10d7a05857e9e81d57f87a45\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_14.png\",\n \"revision\": \"107e8c0ef0a01a81472be26a5af12c2f\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_16.png\",\n \"revision\": \"d14799a033e87528d28cc782ec93e80a\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_17.png\",\n \"revision\": \"9920acce982bb366139f5488750ef3df\"\n },\n {\n \"url\": \"img/Tsukasa/Tsukasa_18.png\",\n \"revision\": \"1c8ec2833d67672f4c2fdd9406219a8a\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"2bf808f8e69c6946a22b39b7eeba67de\"\n },\n {\n \"url\": \"mstile-150x150.png\",\n \"revision\": \"da1c5a5e3b5ee06879ba9da5f52ddacc\"\n },\n {\n \"url\": \"og-image.png\",\n \"revision\": \"4bde67883ac0ef75f218f453fa86199d\"\n },\n {\n \"url\": \"safari-pinned-tab.svg\",\n \"revision\": \"cf9c80b11e8bdb3abbce645876008c88\"\n },\n {\n \"url\": \"screenshot.jpg\",\n \"revision\": \"3c478f11f2e72d5f5ae0f3ab74e60040\"\n },\n {\n \"url\": \"site.webmanifest\",\n \"revision\": \"8695b1d4ae5c028e80464514dce7577e\"\n }\n], {\n \"ignoreURLParametersMatching\": [/^utm_/, /^fbclid$/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","ignoreURLParametersMatching"],"mappings":"0nBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,UACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,qCAEb,CACDC,4BAA+B,CAAC,QAAS"} \ No newline at end of file diff --git a/public/workbox-8a9ef17b.js b/public/workbox-8a9ef17b.js new file mode 100644 index 0000000..3aa030c --- /dev/null +++ b/public/workbox-8a9ef17b.js @@ -0,0 +1,2 @@ +define(["exports"],(function(t){"use strict";try{self["workbox:core:6.5.3"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:6.5.3"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},h=t=>[a.prefix,t,a.suffix].filter((t=>t&&t.length>0)).join("-"),u=t=>t||h(a.precache),l=t=>t||h(a.runtime);function f(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:6.5.3"]&&_()}catch(t){}function w(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class d{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class p{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let y;async function g(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===y){const t=new Response("");if("body"in t)try{new Response(t.body),y=!0}catch(t){y=!1}y=!1}return y}()?i.body:await i.blob();return new Response(c,o)}function R(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class m{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const v=new Set;try{self["workbox:strategies:6.5.3"]&&_()}catch(t){}function q(t){return"string"==typeof t?new Request(t):t}class U{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new m,this.g=[],this.R=[...t.plugins],this.m=new Map;for(const t of this.R)this.m.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=q(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=q(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=q(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.v(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=R(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===R(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of v)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=q(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.m.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.g.push(t),t}async doneWaiting(){let t;for(;t=this.g.shift();)await t}destroy(){this.p.resolve(null)}async v(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class L{constructor(t={}){this.cacheName=l(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new U(this,{event:e,request:s,params:n}),r=this.q(i,s,e);return[r,this.U(r,i,s,e)]}async q(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this.L(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async U(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class b extends L{constructor(t={}){t.cacheName=u(t.cacheName),super(t),this._=!1!==t.fallbackToNetwork,this.plugins.push(b.copyRedirectedCacheableResponsesPlugin)}async L(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.C(t,e):await this.O(t,e))}async O(t,e){let n;const i=e.params||{};if(!this._)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.N(),await e.cachePut(t,n.clone()))}return n}async C(t,e){this.N();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}N(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==b.copyRedirectedCacheableResponsesPlugin&&(n===b.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(b.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}b.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},b.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await g(t):t};class C{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.k=new Map,this.K=new Map,this.T=new Map,this.l=new b({cacheName:u(t),plugins:[...e,new p({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=w(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.k.has(i)&&this.k.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.k.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.k.set(i,t),this.K.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return f(t,(async()=>{const e=new d;this.strategy.plugins.push(e);for(const[e,s]of this.k){const n=this.T.get(s),i=this.K.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return f(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.k.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.k}getCachedURLs(){return[...this.k.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.k.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let E;const O=()=>(E||(E=new C),E);class x extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}function N(t){const e=O();!function(t,e,n){let a;if("string"==typeof t){const s=new URL(t,location.href);a=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)a=new r(t,e,n);else if("function"==typeof t)a=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});a=t}(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c).registerRoute(a)}(new x(e,t))}t.precacheAndRoute=function(t,e){!function(t){O().precache(t)}(t),N(e)}})); +//# sourceMappingURL=workbox-8a9ef17b.js.map diff --git a/public/workbox-8a9ef17b.js.map b/public/workbox-8a9ef17b.js.map new file mode 100644 index 0000000..89c6425 --- /dev/null +++ b/public/workbox-8a9ef17b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"workbox-8a9ef17b.js","sources":["../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_version.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/logger.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/models/messages/messageGenerator.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/WorkboxError.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/_version.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/utils/constants.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/utils/normalizeHandler.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/Route.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/RegExpRoute.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/Router.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/cacheNames.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/waitUntil.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/_version.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/utils/createCacheKey.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/copyResponse.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/Deferred.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/models/quotaErrorCallbacks.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-strategies/_version.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-strategies/StrategyHandler.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/timeout.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/getFriendlyURL.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-strategies/Strategy.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/PrecacheStrategy.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/PrecacheController.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/PrecacheRoute.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/utils/generateURLVariations.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/addRoute.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-routing/registerRoute.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.js","../../AppData/Roaming/npm/node_modules/workbox-cli/node_modules/workbox-precaching/precache.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:6.5.3'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in self)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:6.5.3'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:6.5.3'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:6.5.3'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cachedResponseWillByUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n"],"names":["self","_","e","messageGenerator","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","asyncFn","returnPromise","createCacheKey","urlObject","cacheKey","revision","cacheKeyURL","originalURL","searchParams","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","state","originalRequest","cachedResponseWillBeUsed","cachedResponse","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","response","modifier","clonedResponse","clone","responseInit","Headers","status","statusText","modifiedResponseInit","body","testResponse","Response","error","canConstructResponseFromBodyStream","blob","stripParams","fullURL","ignoreParams","strippedURL","param","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","mode","FetchEvent","preloadResponse","possiblePreloadResponse","hasCallback","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetch","fetchOptions","callback","runCallbacks","responseClone","cachePut","key","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","RegExp","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","statefulCallback","statefulParam","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","doneWaiting","waitUntilError","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","cacheMatch","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","cacheWillUpdate","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","paramName","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","addRoute","capture","captureUrl","moduleName","funcName"],"mappings":"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"} \ No newline at end of file diff --git a/pwabuilder-adv-sw.js b/pwabuilder-adv-sw.js new file mode 100644 index 0000000..95c3637 --- /dev/null +++ b/pwabuilder-adv-sw.js @@ -0,0 +1,4 @@ + + import { precacheAndRoute } from 'workbox-precaching/precacheAndRoute'; + + precacheAndRoute([{"revision":"5013924527096909c88d2bba3a04cb03","url":"App.css"},{"revision":"363cf5ef8045b76ae3fa53f6f630980f","url":"index.css"}]); diff --git a/workbox-config.js b/workbox-config.js new file mode 100644 index 0000000..4d38e95 --- /dev/null +++ b/workbox-config.js @@ -0,0 +1,11 @@ +module.exports = { + globDirectory: 'public/', + globPatterns: [ + '**/*.{png,xml,ico,html,svg,jpg,webmanifest}' + ], + swDest: 'public/sw.js', + ignoreURLParametersMatching: [ + /^utm_/, + /^fbclid$/ + ] +}; \ No newline at end of file