From 5b7a533e5077e70d1e59ddd443890583fe653836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Wa=C5=9B?= Date: Thu, 9 Mar 2023 12:40:18 +0100 Subject: [PATCH] Use a more efficient xml parser library (#138) --- .eslintrc.json | 4 +- action.test.fixtures.js | 2 +- dist/build/Release/node_expat.node | Bin 210140 -> 0 bytes dist/build/Release/xmljs.node | Bin 0 -> 1840416 bytes dist/index.js | 19578 ++++++++++++--------------- package-lock.json | 6422 +++++++-- package.json | 2 +- utils.js | 99 +- utils.test.js | 27 +- 9 files changed, 14538 insertions(+), 11596 deletions(-) delete mode 100644 dist/build/Release/node_expat.node create mode 100755 dist/build/Release/xmljs.node diff --git a/.eslintrc.json b/.eslintrc.json index 82fe39d8..347b9c22 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -11,9 +11,9 @@ "SharedArrayBuffer": "readonly" }, "parserOptions": { - "ecmaVersion": 2018 + "ecmaVersion": 2020 }, "rules": { "indent": 2 } -} \ No newline at end of file +} diff --git a/action.test.fixtures.js b/action.test.fixtures.js index c93fd2a1..67a787ce 100644 --- a/action.test.fixtures.js +++ b/action.test.fixtures.js @@ -146,7 +146,7 @@ const finishedWithFailures = { annotation_level: 'failure', title: 'StringUtilsTest.require_fail', message: - 'Expected: (an instance of java.lang.IllegalArgumentException and exception with message a string containing "This is unexpected")\n but: exception with message a string containing "This is unexpected" message was "Input=\'\' didn\'t match condition."\nStacktrace was: java.lang.IllegalArgumentException: Input=\'\' didn\'t match condition.\n\tat action.surefire.report.calc.StringUtils.requireNotBlank(StringUtils.java:25)\n\tat action.surefire.report.calc.StringUtils.requireNotBlank(StringUtils.java:18)\n\tat action.surefire.report.calc.StringUtilsTest.require_fail(StringUtilsTest.java:27)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)\n\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\n\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)\n\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\n\tat org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:258)\n\tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\tat org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)\n\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)\n\tat org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)\n\tat org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)\n\tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:413)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)\n\tat org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)\n\tat org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)\n\tat org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)\n\tat org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)', + 'Expected: (an instance of java.lang.IllegalArgumentException and exception with message a string containing "This is unexpected")\n but: exception with message a string containing "This is unexpected" message was "Input=\'\' didn\'t match condition."\nStacktrace was: java.lang.IllegalArgumentException: Input=\'\' didn\'t match condition.\n at action.surefire.report.calc.StringUtils.requireNotBlank(StringUtils.java:25)\n at action.surefire.report.calc.StringUtils.requireNotBlank(StringUtils.java:18)\n at action.surefire.report.calc.StringUtilsTest.require_fail(StringUtilsTest.java:27)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)\n at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\n at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)\n at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\n at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:258)\n at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)\n at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)\n at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)\n at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)\n at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)\n at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)\n at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)\n at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)\n at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)\n at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n at org.junit.runners.ParentRunner.run(ParentRunner.java:413)\n at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)\n at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)\n at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)\n at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)\n at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)\n at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)\n at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)\n at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)', raw_details: 'java.lang.AssertionError: \n\nExpected: (an instance of java.lang.IllegalArgumentException and exception with message a string containing "This is unexpected")\n but: exception with message a string containing "This is unexpected" message was "Input=\'\' didn\'t match condition."\nStacktrace was: java.lang.IllegalArgumentException: Input=\'\' didn\'t match condition.\n\tat action.surefire.report.calc.StringUtils.requireNotBlank(StringUtils.java:25)\n\tat action.surefire.report.calc.StringUtils.requireNotBlank(StringUtils.java:18)\n\tat action.surefire.report.calc.StringUtilsTest.require_fail(StringUtilsTest.java:27)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)\n\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\n\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)\n\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\n\tat org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:258)\n\tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\tat org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)\n\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)\n\tat org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)\n\tat org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)\n\tat org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:413)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)\n\tat org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)\n\tat org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)\n\tat org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)\n\tat org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)\n\tat org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)' }, diff --git a/dist/build/Release/node_expat.node b/dist/build/Release/node_expat.node deleted file mode 100644 index 042f48ee753cf4437686193fb276033407e48e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210140 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 p-I! zl=Uceij-=~BFM5I=afa|dF3-eL2^Z%CB&L*KY&+!S_F4k>}oAiRDqtph=jp@7|Jkn zEl#_J|5XCH*2Z(s>E)yZaupK-3AFZTX7{6aj)eZ3|?x zSBwrzkL7yS9U&WFOV(#hE)t$A13Kw8e8OpAa({T^n*L@Ef6ahZocfHZcov5X)~A;_ zP*3tsz(lsrcG>83azJ{+>u9h-g(pZNL`V*A#Ro$-g2*mw!^m1;4W_gqE^E=>@ZhFi zWd@g`0_^c!ibSlr2_GCMJZ1>vp^E+(DUJZNW;U5ys;KWR5AuiCQHR6VR(xT*#U0&& z7s9YNU}bw2BkW>#^s>QB5ysn%GJ?pth!dfUQ3`!X6s&Ytay_CknGAGC2jDIFM=9xV zVNT#&u_t*ft{D?p;nr1vh20sG8F$LqlWtJak+CrA3ki5$HzQ#CQ|KAt$&>^n#~-El z)b1M=mmK;X;Tdcg{-Mv3ys($u+a9L*oHcj0hq%q`M2FioeJ?2e8~U%Z?uRTxz0)%F z{`io3S=mMb)LmKpm=<^@tgdFo(C5%$)-M&H2>_HcQLGklhoBai4YtCxU7rvM6KsY0 z1d@c(V`s4O=de_RIPU22!O&YW{IZJ2Nj{+Lpl?Bam#WDfxe5iyD6oBfC(~Ch;b7Pz z;n0p0q&cg_ji+X?RVo}m1CzA^hAS|nQ*-3xQ0Pt|CmRKZ>c=m3*blRFt-=lax#)Hq zqn|5`2*hX1C{13GVH7jOev_M2D-VNy@E-B*sCKI@D1)*#6OjFS;kzOW9n&Is9b8U~h{wrIT zW|)$z+dnjUu_R{unsiT(os3S7hNVV-XJ|DA30gm;D=^U>7b`?zgWmB^NT?ikx>-?G z7*F;IaYG6`U5$`RgQyAwgAW%B08*%(zB>NS!rjnv2jP#fsW1{3q&d0ozn&3~&TsHkW;Vm?!IGNM5F0F@hu126BI6ZfH~S12Y~g6H;JRO^s}i>c%~fMo zduoi$esggP`zZXm3xg6@;Pb!quL#8p#T(anB;5*Bw>Gqr4CkO-@+?ijoNfQo5G zQ!!<^y2sNZ79k!!Q!6GesChL|$Ef1pn;prIde&Fk4c)HqScy>#L7fY812}+70qY8g zA645DX4VWZwK{nXHjYaw!0(m_GN?&U$w4_P6vIG>s54SmE$k)xec%q6+%8|jFen46!E0k(t*dhLvcyT00NKb&zOd+;uvZI;? zyFv%fc1PNP5kyX8OYmwEqiH!yN45k;!G51d1!=g}5LgRhd{P*``260u8`SxAM=!B0 z*^4hl)0}GB3tV%OFC9VbF=EUG>}}H^0-=jtbKH^3P(AX%p)RMdmP!5`eveWjCFdae zKj`Uk$Of_8!do9AAAkTDW6))lnqAhO+#*rgB~9+w*-{MdfobWmi9=6O#)01gesZtS zG@DP(QHXr{4h;fNM1Ko@^P5if=630ySZQR7vV^5 zHeM`~Fj9D|qoG|Bu8({ip4$QzJf4VLEqq;{Ape0~td+3FsX<0 z?*l?w1MblM2;+DtErhUjG7{`vg!M2k#{0^uhnk)lRv+Nk0rtpSkb>9HjHeI{m46%Sry{>xzURBrZ?cgFzLIyK zc`_MtStUH3yaVx!>X3yT$~ux05e1>_@EJz)5>uF4(-APzoo2S@vUlbWDBj--@bSW&pK2<4ZuD$^7-(x6V)Q?~-Am zLvQ=2N}%6rAq%|yp_*P(?1v*@#h&z1maC1;t0bo^28BaX!qF6_DaIXX0z7D3qCcL7 zjrjZq|6pV5Q7oT~0D>NZu7p0Wh24L$2M_Er#pvK^FFTxFdDs4~(~(rWVr6 zHiy`3?v9)(?6ZcL1H%*e6+gz(docBDlnQLsIV8LSjcwy@UPGHYz3q!gAk-#Dcd%Uv z{;VsemJZ@9V-*AuB-e%3Nme*Vkffn?%2pM97+>83&mFl}zU{#morkYvjMOkpk{`TV zOK}im{Efn*hj6?aAUvIqL-XpRy}HVYdlsrpf(rHn&8kT=+`n)kI#$M3%zIJySivPc zj^sJ`(-EfXQjEM=gQ2aFuw6%~Zjw1mCe4a1vB55qzH%uAk~@+_Nn3@pPAd{>#ON!D zl{7@<;>pOQHT;SygHdo_dZE%T7K;R3!Rf!FzzP1O{81t#`V(YLE<+R+P4;pxDs|L0 zV}KoIxtFul<4q5+q^D<;r)QL=XB1%(MG&&kOsQHFE1{dgJu$^S8M|7zg;}tF<|a3D zc?N6XbBL>rz~lNUyhyygqwS77$n5qMhT$g5MCj+f57O!60+p6$iA*Js8$=PqW@cpw zUnxo?)tS2eh2F$bSH0@q66wzVdidp%?*7!xd!-CIlnFwlV87%ftOR3nUX5r{0Can| zxg+JE1Kcs(k@HCqvmO)dr!pr#Ag74p{uXa~aEaGwPsTsS=2`e)|5i+aj@80NIL{Y8 zc!GB|W_JAgNA0HMW(B0n9yX{9N0@MTEFk~jsGPy%aAs8Az%T5_jp{KfF9bKps9Y`- z%nJVhgTW}nC_5Ox2AuA}C|r=81>KSDQcGqqzRtX>u_|*U$=BZ1r}A|N{-9l0srVt= zovAyOVvuY{ynlo!IDzva_t-?wW|JTEoMyPCY6d_(~VL2vc0#*lU-P5c2; zD=@t5?15T)<8dwAZ?K|&O|~4v`_cjK?V{cy>=vc2@vbgLk<=LPYG^qQ)_}#1BXy}) zIx6)e?`ncfoeS4VN=E1f7r9tP&c459sxC)stP_z4!%z+EcndbhP?B54_U{Ry?E6@> zV(KbF!%`vdYG?tD)K>3m%-4?8X0M!}OKotU>^J}?#}_|Lr;C6(y>U*(^9m+|SD?}T z8P5lJ-+}O-c>Kw9`XxL^q`pY=sL{cAjzV%!?wEL%<9Qm-b9i3C(~jpac(&o$2YmP(1t0JdJb(L0J$L;*o#x~H zXF7c);_E+E&wu0H!V`h(<8(ZC;+cnMDUP2GLf+|kCg7QjXBwWBcwWZyF`hwt(&@JV zhfn?4fh)vV`0kCzIR+TjD7ndD;kj=)gQw$e zv*0jH6I__Jhd3$WKmip(XAtgPq8TDDMrIL`9DykuX>#^5gil}maSd60=F`PU73KIK z)^gQaL#NNVA2LL)0y<#fhXvKJWg*?@Kz)-@jtVJ))QE}%uULB^5$-%G`5hTEyrvmB z9f4!*riz7Q9H##dtbXsKhb!>^$Ek4$sl(IX>H;mkhPY%3aLdZJ&zH4X@P0+T8zDM^ z16tV-UZPLUgnF*&e+$wX2QuJGs4DMdmcS(y3ICCwx+6blq#3RwbjbfJF=I+i@cA06 z?&84gEUDcF?-XpE=uBiEYpQ!_%w?p}h$fCBcXU1eQbR;k3U=kN05qfy@(rso`c>c#2!8V#;&KJs|9Cg)o5IVum(~ zAe^@ptqfB&#Z*l(r=elteMi9&GzSE%;+&0f4_a2tWPOgTmzC%bz*!F0GmjXFGxxyV z+Kc50Tp(~xl|Na)qrI0GLGukrq(=P;p~x53 z*|bs`ZGLm0-<;?1$H&9*Wvey}jur*)f_ga9*bE^Ym|5F2#o;%;)Aw%Ihi%r|KI=uE zbk$rmEO?TvdTWdiBU{{&>j2%`boFq@MT0A}_?^zcXVsB(u*i$kvvO<%d+pdk+xlhA zuy?9Me{oj3U+B=vHnf5w4&8lOhvv*w9Q=)+eaEXQIJR*j2SBcI$yI*NH?^&nbnS1! zSO?d8Uq*mdjO#Ss)VF^8)A$L07l1rUYwS$JZ4r@jH&dh1#hyS*`-Ar`ERicUEkQY;wP_+x@~Ocg-8_7a%r1(aH|Y?1k$aoL@_s z;0`@r@J&D?Ct8%8_tRZX#NJ)-Y+EZt2sc3Z7ur-cx=&} zs(kQ+)D?2Rj$p7Va`n+WMtQ37K@`+oTOOVMp9u&`V@hHz4LRJ6`~V7;%~x+hanj9+ zXuxLSrcqcf%!PWGPQ&p7SB@9FD?fyA@isb|p24yCTNIYKf^9ydR8Nn>3JeDIf^Dh3 ztRK~Lm3io$aZN*Dry8%tM?3XaM+qc4GSVbxyy0H^T6ll)?4i2*@y=OCGp_0&d}rpR zivxYz`(WV2j@8oGM*XS@XeMC$+N@RW$6=EAUFpzW>0-@YyTAR2jH|yox}Y0y9|ys| zqVuJ>oKmPF5n4wtZHN2*gi%m}gACIlB%nk>3LnL>dpD4R>k(Y5h#Fjo(Fi$Vkn5y} z186?;DNav3J=lzl)~D*kd*B)kKgSctu}1sUJKRp!TZ8DJj1H)xl&dNVz}-Dkl0Y%; z335E8PGJn+7{e57f|1S}hjW1vl(Uh>z8`RllV23T6|jFLZ^=1Sb-Pjg$!0<{7Yg7J z3%OcQN1Dfh1au{N8jZBml^e=pW`(R$x;BI}92c#AnbZ7pm>oxA;?taZ{LVU2r!b;0 zJU_F}$z*~{BD%EQS5+D~8n6=ph#PnaH+gAyb%jJp-Wmk7 zzTD5bj$6i~aC#AQ2evesL#uM(Rw_ff1#<^H{K$|wUcwN;s(TeZc}rD$BhJYlk%bMW z5D(A;Rue0MRnZvfY9BSonfg=S6r@~S!LQ<|j30d{as+W!Yo}GJT62yseoGN<=*2>9 zq$e|Z<4Q&Ryv6uN99EbqbKiGB8sld>4owzt!UMKHe0`eV*eG|6%f-bFlZqmnf`z=~ zuOhmA9?mt7D#j6Ruu&tr4o3DOt?IowUxLO*$xU3remJx}$Pp~?8`C}B5fe`cmcm91!%ot3?}FPy3aTpQ^<{-o|@R4 zPFF1^z(Q|(t;gwwOcS-NM+>|iqfWpY#IcUu1L$z>#>|B=`Uf<5Ylfn>Pcn{xqVC%@ z^KxVXM{YwI9N6$^WjKJNxwNX+=3a%FSu-KtFvj8jZb3yXep?eTvj4c*m@fuhEB+rYft4rOHhov_3LHvsTT2-ezx&#q5 z<}8o5ti9H`hmNR=2O>WlPy1umT}(|Io+{=@oTnw??#OOJFnZS*Gl1C-SFbm`kqRLn zn?lSxP>g8cDi4h~0zUwZ*Ld(T679RZD9Hgv{-`nU209(?7)>VjFK^5p;Fa4TTl-__ znHo^*OgG-_jgJP7^KPJ`4*aMB1jgw`dyUaZ)G)*Oj0=ziV;4w<$-V4rxc|oI^|#JD zleAL_dVEZOt!y{+iataIw7VRPKs`ggJuOZuXxSUPa<6Xk8*dm}t;;SHdCd8}D6&0x zG%i^y4h#r2ri+6|XlZynVZ?eNS60-TmU|u<4WUNL3sbb*%xAIH&_a< zhXZm<9FRq`HhC=)?^Ctb*g`+b1$XiU{0Z+n!5uvhFW%70C1NcI4)j<3u7r~>E{G>i z4N>c=o?QI8u*5kZ4iEM|PS7ipmk2#<#;ceH26fCrKo?}>0DL5@CM z)Vxu?hTT+k4^z!8b~Pd7vokdLPF$ttGr1ru=7QeptNLcnIyNhHrMI1A!FwmxtqC>; zRB`DII7X;Jna6~ngTo{jCieHmL9I1#T=GNIkWUK2^JBRW7p3HKlu_aooR?gIyxm_9 z@M{SEr24nQSHXef_Ov;XM>DJw{JGzFP96N4bZ8=c1hDFW=2VLAhiNIVLsDn9(hNjs z?6cJGGLYnFdy=wk-MDE4M$%~PH>eB7_doq@)S0bE*XAT~| z_k8w2^E=1R$MXX2Gnd$0WS?8W8mhC#@V|v0urkB6(fQ(&U8!R<+qPn?VKZUp zC?|?oZ^5Za>%coBZ^O`}=7{wWEYGjW^n48%+mF8LUlOk?klXXCzMg#|M)yN(cEjMM zILVm)Ff{iqM{r^*;iQ7JkB0Z18KeQe88HrAwZK(5cD4^#Cv2v&;%^~DSt}dZR}8ON ziUHZH^;Beb*S4i_aaU~u_CwXNC4|oVm~ceNsKiW(tyGoFo<@gbCCznq?qw^tgP!Z~ zypD(OJMd&^$Ey>0AcxwD{6q(;lQSQ%IocXN_O-Eo-47pTs|i%c3=LT5a}Rgtu_QxrY7*`UHxo>gd7Yb5N82|e z12l5qy}B5Qh9uG^L#P592PlkXtVC;gQ)_ruwk^<9*n9+0cmcd9UI1Fdobth3$GL!U zq2a4ML5m~CoP^`W!2-iq?lIiy4aTGbt?k1?Dx3ii+7$43QiZafH#+k!9+YXT&dZ;l zP&eSO)JPp@VqjieMrO!`G^u0Ol>%*OiprHGmEv&0gTWFYIOq5c>t=_A zOQ^}79&ph(aBi1g^=e=kT)oNjy@Nw)%655;QG>x&r zM83-1B0!nIe^5_`PawJg*E@cX!-*l%3cj5zWBB0-BTf>&_}Q1q0R198w%XUQ&+q)w zAAe5fe#iqT{q|C>8un`3Yb;#$nSelBpjL1)r2tiPD+c<(^jJ-6SQcX*=N1|dvFC_HPjTe-g2mRW0`?@7;Qec0y&|#lVFNi-Fx$ywvNsk zWQ7XZrdp|Ul$9YXW4)YR*S?Bo{upWsMQD$0d&n!IX2|Vi2-r*n?6q8j1vn`ywRnkx zrkRCT1*irickON-o;9<#b9@E&s%FAj9h@?2#+2J`p9P7!O*4MFOIv;0?Ke)pe&+2r zY87pWu(Z|J&zv%S%1w9Oim%<;>RD3)cinK~lz>X!rx{m4_rJ_TI^xE&fEx!P=NyY_ z<5xL@|Ac0}1wXaW$~MBt0!(&Vzh`I;cwrWC<5l~+p+9>N)DP=Naba1=A?4x zX87h*y4P+>Zwl}4GkYSo30JaZ4gH&-GNnK8x?dP`I^6KewIet4{WQFn+V3TJFSg%L z#e0$cehS___WLlryYTLQ!J!?wL9dtyTL2&pmkV#B(#A=$?7wIX-;m5pt1{ z3Bips<+?MWwIv4lFzDJ6#Z(8|)_b&y*K{XLuIrESRjkJWE#w%aRdi}?ZN=#~f`8_( zGy3>Th5%t)(esxIaNdE5i(T#OEn`}iU#6x&t}w%uVQ}5Qi#7$ zN*@3kY2p9F(<9@cDf<(;@wfC?h&8^s!-+!d61W$AiQ?Y1+;T>D?{l-e?Nge5+!&Ss zQnDv?9_rQ2BgC$Uxa80H-SCJA*4}XN>k!9WKmiS~LAJx*tJ0kB!m`$aWf8r&4Q$f^ z)jFa|1>s-NXb%zFxaAR&k|pAC=7f_XeXXsT7?3Cw?LB~X;Ab-O#XYaym?luifqQHL z{yYKb=KUoWa87qsY)W3j#EeW%_QjW38}U{}N;q@EX%C7!yNLQDYhe2!>v>&=L>Yak zc1x_?c;|Kv?eA{17wcws^eP}JS9mp`6Lwg)9w)!J8y$gYZ~9)Tj0n#Vgr`Akg!d1W zrcHrcy-oL*(2xiN^JLs7dZFHXR8i9)d=1jlZ7~{+oA?HE;nyfr$};6F!+X1stAy_n zbdH_%um!Ptm)eC&x_M_2{4IPyg14G9iucpUXg97BzLy>9j*Jro?J2SBE8{h9`t4+g zMAnovN*kU!3u~v&=RC_&MJ70K*o$XbS$luo_qI zm9|^HKq(prntN>#XfoJsQkFbebmg^N_X@Hlt`WmkBxN`&`|Ca7TNP7 zS^gNJV05f2&ZI$5R|_>pBZWS=h|qXp%oVV^!kA8?8Ateym+jXpu+F-oSZ{b<4ZUEO zj$7GO8>?|?tjC*Hyo^}{s^x6RI_x&c2trJ?J^K9SXiZOdl56A7b9BK9Vh=aasu9N< z)WDfvjXNLovVTc8R&@pL@Ks6nS<`U)tX8%Uaug1o9PO|;NGr~SbC)zJ-XA8#D>S{~ zb;?r19?CUESaQvUCt{CUVS7EK((pcKa7nFkd%14RFY?Dn*Xi*|MQ|^)Nsqq8B>b-R zGYApNg^yh9+>8)78^ggC0vB`(0QQiwdd!U_X;{gM0;Yif+>yN$u&Tp3a`(PW;-r$h z5WN}&V2Xi!Mdr-#h4~JKnrV(eKM{}kNd*k+T=BzSo9NaYFNgSTu{|BH_+jnwLJVtI zd@{P@E5wL`+twkk2Ue+7gqzVAMTeAYhD5c(y~A))^WcFg6C&Rx_ovnwFi>~_m*NhF zrX$g;RT z-bHrLHrs7?1c%*pR81#kPiAr$mq6t>VpH2}T~ef2U>Apccy0onqC!Xv6CdFEeb#CqO>zz;n_M ztr6c**iYBcfChQ_9BKs^aOetmT)1t5VU7b2}k$CbYX-?$SHpOZb<8u(dG zHmg7Kq%?L_mo$!h@w|INIvop z6j5b3fADtryIwQlr2r!r*LMbte(;-slu13sDpMudHe(>u?9pUIgzsuSacT}k<&{;ea^Nko+(GpH=YW4K1d)7O7Nz&XFtB(z6 zCmM^~80I#x45_kICM-ZeY3%i_g^pDu0A7U$Coy>x0J4SidJ|R@*I~NSX9||^5M&$O zi@ySWaIFnZ9L6id|6ZfvTQE{Q@!e6bI@l}(K8q$ zQdM#hYVsMD-@FYNS7Sjk=T(Ql>Puz3)6IJD@vG7kpM~zOl#Vz|54;W+Keqcx5dl4V zKr@eT>dmXp15a@|OGg&=Kwr5?rNz3>F3T&JagmB5+dy8VLiWsFqSEn!^}Jm+b6Z9 zwEXNs90$Nwz~hKuK`w&0CQEi;S0c;W$@vFzzB1UkBab0d51I4WbC4rVh*vXC(g6g# zYfnX0$$#PxL|H=iAwUe7@wtA3*PXQ<%QJckQ$8cinbzx&lH`Hg&|ElNMSp`gDk4fZ zr{{6EGLIi~Mq0+cg(=i{4fkhtC08MyrGqzNMMUYcfyLHh#p1}Uj{?5b1j$kZ6jzBj z&eX97*)*kqxA##?09*G@?zhnj4)m_Y1no!-CXB$1w#06R#DKWKX^oj%*K=t@kgam2G5ZS@0mv$n(Z zkb;*&MoSZIDJOjm(uJ0RyYuPjjt)cxsWI%L30nLS&SbC%bIWeBy7TNyR0S)-yVS;W z=Dedh-(8Jv1xgC?ahbje;^u|gX0Qp0xsp#)fS`{6)hoX|Ex*Q)jbW!Ixt-u$%RQsy ze7v?p<`*D515Z7kTkzbEXV7l-oR5&tK0LkQuX`b$DR}O|^A?`t;Im6O=OWD5B$ZiR zGgopMgJTk0cHNH(>3P)9P>xM*h^o7*$HZ?v!|AK~B5)UeOagZ1%i{fueGU8JC!onK zqWkBQq$*H$D?km9|)G0B&;Vqx}1aZ-g0=z14rnJP*2FSKkXij+%RH3iv z!+Lc&dKMc%@atz~wv@E`{}n#%Mggv3P6X#9|A}>K=x&e0`;0RHJ{%W{Zkbn#C8%@+ zW>5Ye4BSme{MSC5*h_cd6Mj4I%=seKyQb+#f_M4MnsN`!px92pXjP3hS7HZ}R@bLT+RBl9_f3oGnwecxy9x z!BloWv)nrA{(KI(3z@UOrX%Yr>xHcV$a%J&fQ4 zZHhX;YqE?r+O~c&GCuexTMs}sPDAxZTilBuh&#ZD;MW)ThI^2lS#ghsV{e@0>`~mx zp}ch$eo1sU=mL=zg5Z%KG@>7x$P*iVcjOP`A|uL-Xjuv?zaV7D1N-=mYR>dxO-acH z81eqqcwV>gt(y<9gwGh<7ad{2<0$yKp2o==DF}xyssRr7;@hCn<43q=5JVh~0BX|K z;xk|h%E%KkD(1Bien`!Tp3M(P$u?~-Ts-7=*R(bZ#FO6@tHoZhXsudHb_r@E3!5mrVS!rOYAe@)a4W82fU*hgMp(-n6D z3${t$=xkCr?bz$C@2XV`d#NH*C{aecJOjB9n-;FhY?D^BB|fN)i6d-P~?J5s50ay)TTm2_ucx1+!4%57 zGfw00SvZx5(;X3RGV5stP0WTcKi69ItXFaLkF^no6PrV98m*=4?HrG;gHExnSF=HY zCebRf^8YCuOIcx@zhjhh2&q-?<$K;tx?PW?JF zG^H)Avy;uMm^0&oaYVR7`Io9(=Jw||+GH?@(60L|vcut2MhM^S&w0(S!+n!7slB3X z*ByuQ20&Ba)^*`5yF_zgq-=W~`@7kMMd67j7BSk$y-gC9r}s9+&{7?;d>QcXQ63wI zR&MO5+^W_6EJa-e6dAn4q>1M3%8$Jx37kM+wCMq{Xv_+i*i2_ytW+lKoQN^#l2?)y zvRGdf0m`)mr?4z_AT&&|Na`wHhl`FKmpYF(_{Y$FQAEO_YC*MKy=3>`G37 zvJrV4^aNf1yOvPEl34#Fux@T`|j!oxWu@DldD)dZs=;KPv^PgxC zPu0xJKtWc9U@@kA8Tb`|R#|u&A%YNTbnKWowjJg|rWbf``8$kvn@&Dsyd(HN9JqNm z=!`Rl+Q!NB{}}Y-P1~wxazVbH*D9bq#Ed_IDxlRCvZEb^v~M2 zPL0gm))q32p$`96fitE*MiA@$fvtveQstKTkfzFIoI8b#^Uj@Z-`?ljzeWXv?R>hq zt>1@`x{luJUSD&&*JRnE;_4vjzC~R}aG1ArjaRXkvL#;J%hF2mH3yJ6G6G=FS!sYs zrsP%44J&xVYbTn^QOq>6U8rKob2LZk`mfkT}&#mwD)Ga`*o$dI{F^smZX zh)5$Uf~rFTE&9ncooc?S#Uf$1f1p#Wkvk@_$8;;n6}MG8xD1I@F|N&tzYnsF42W|V zVk4AP@<;u!vS$_}-nc8fvpTgm+H^aYv~ZNAIwq#Dxuq3UBzPa+VlQZ4@GgZc0!)?6 zb(MZD9QMjbtY!7L#APrXcB!AkP%zviqjC7KVW6udnO1*942Ks`LNBZlL2!=_2br5T zc;```m`ky7>nb1VV`|RCAMrUp-id)Ike@u>7lT%T1g5#vK`H^!wzhkJB1~x1b7^T$ z`@{iC7%|68r)N1@DB7#E6J>hhjwcG@r>~Hpoi{PLdz_el=Dk@p1z{}dlhe#*?e0G1B-q!rkZiSFM*}&BMSv@AwD-h`3gly&0?Y^_TwLR)?^x=$D_W zD4SF-E1Elt?}%`c_7dCOeuaD#|BKaL`ghv|Q%3BoK`OYw{)OE-75bfKiV3uf=sISrQUuX54N?r?c-ZHx#Ok@e{~OMMDwK|_mi^9y*$m6pH(T;+uFrH z=pn@}^NuC;jZaLN8$S`V+Be0IP0TI4F+L{!`J%+0o8to#bBk-@eG+p^3V0QUfo#}; zIB=_n9^H;d#Wam(j&aceh-QWiDh|P5oAOxbzpWuQr{un|wLQ+A*!S2NO0%L#2f=^u zPw*%cJe1&OG{Vl(Lz`&JI^S*OBIB>D^RbM@m=~c?_nhk8Ql%6j#*P<1?H^iYOK5&H;`65L| z`5&dF*cYPc#-<<$xtV78)c~Y6jx|E8=rA9{G-9HP3^C0bV!nli$8(nh8M!g)RG`1x z0i(VhgkgK;zK56D_j7g=-gR_eH8ICgi2GbOtn$B9NbOC8;T*Ib^`eO6^`Mr%;OVwg zFbYBUiz-w5tRiW?TxRZR3GJHIslPEj?qQmzE`LI=o&~H>Fhpia#2_RgPR_t352&jW zmCMX%*1=rb(QJwP0O&o2@r^`@ufa1Gwey+IC6V+m32Ny_Bgovg~7-c!?nx2NcWw$m@OomMt*v-BvPRC_vG^3x5rCGThr z5EHb7Be*LyRtp3bVpL`HV6@rvh9q~7K|xfvQ)Sg-VwXu-ICcS)cP74~?cY`ers0>Q zo>vyNS~U5!p6J&)$FCLL8Dwyz3wrr*{|flSx~DW0?y*Xe>zT1?OV3)kbbLTN_PR9| z3=OFAak7$_#m7*DFg1Mnh<8W;Eqp!Wg~I2T`H7a@^l&_@GtR@Uxr)w{Ah|arfcm@9sv>(=C3wGW?5i-RXgG(I#UX9`ZDHqi#kd zh$?m$MhvQ(uH)zm+N+)!8#@@Ww5pk3lr9!G1#vVV>c*n_Fcqd_GXRJfy#=&3UXtp= zpA{4hR3G4#eINwkt3LeX2OK$0GB9v z+*t~IWv#Kp!^u@knXE{Vvq8|i-t5d7w z4Ns^TTZTMMrljc}@kop+A-&OfF(IK!?_jB*Z?79&wcm71vC*bO#_!;C@9Xme4sio% zFg?69%j#ZpFFmZHK%mRRq*s=$*R;=pQ@9=67^!{I@t|tI=wKQ8jqy$7C*e{vclqU>f++$zT)^a ztD(h)CF>Qw!N#VFP_H!SSlHyg z+h_&F3WtYN-{OQcuqt)&aHC=r8Xr#HsvBgZ$COKoW^UmCbE5{n36Jvj|?|mJfJH1*D+OPFU(#=!+NPo)^&SCios%P zp$V2_1XOR20A+jJ&tBOpxqDwMoWv;AWy#(B!ZqXRkVStoKfr>2i^2 z_Y2zXQ+vd#Fi%QZ)`j1GSm|^@Qv>2zM`QKoEcK==xw|jcUsJCd!h^Q9ow?kcX};ch z6g-}zpq@Q9a#`MR+vF0{LjQfL_#~PI8FacmC7#4(7;Nj3y+~{M=b80M$vZNMX@L%& zc7e6+P>STIYb;eE0GpzFAS1f>H8zIR$NHR^T=!nnVulv9z2k~5b<>u4Gjvd{PJP6H z={P$oHbDhoqZS z0ED~t1IQ=dne@&FG4bqS%`ju{thB|$#t<_+)yvu`1CGYPl>r0nhxWE}*JiV+78Ds% zugc)>>urBRI3?9W`2)HB=sM{;2W7MdWei0_%(Buk&X%-onBdm3cdR^G^KFeKb``G! z>E8|b^UjxTtxC1vAk#_P2irj2G8o1^2d`lEkDqP!ho&Qa{Avd@JIp&KHVBrW4-{mk zj|CtX`vB=30Axxe)91e>4o*(1T}~_-ZTT5)*I?NVOQSKm&KN zq?AtwbG%^A1geBVAMRH*KskFT-8h0Nf=RKPz&&EbFejzXr>OdOWr7Ou9~w?C@w?Ki z8l*{I#&+)uSNKeEn1KxCYi)CzHFEonnt`uT_Q4v)0FdiBX!0|5QwGFF>Pn>iRpj~f z%#|_sqwuOp*9@5brkIu4on1x;JT(DZH0IR5C)xzxIy|5%Q~X!S@>VyS|0_^k;;|(9 zTHSOyqL+W=!s@@Vw;_EVsA@Ws;{g+OecK^(BmfAt1Q&~>E2o&b0T|HuUEB8XpS5zC zTZ*^xN^{^t%POnV$!23$u50%_J zE7n56%_ir`8V?atHY-%aoN-jbZb=i71Yb^FYU`JRs`i@7O+64g=zp8NidW2dEbU<` z?p297D@9bvgsx5=>)ZbLgxLC(TXgzZMSkvT=RrwK;YcuLK>RS0u-CRNB9&77kQ6!< zuu%m!G#6O{J)C`}enXX5>P=I|RLLMOQ{V9tjMI}-#kL-;7CaC$ zkdkm%L5%fp+JCCr6i!crcT~M$VYm$MMA<2As(iqm#L>}+x|^9aA#b8H1-+%35E4f$ z+dU^fej_5;Q+Ts&ZSwWq^E-A?1;{Ad5=pif&pyqYW+HaY@7S3aQ8asm_c;@>bACs& zB8J->g*9B!a~G_yvfZ^0c|$83n&-afIb6dOdA)TR1int$)Aqc4?!tyM6m{;phCjDaR%rUdC;qHLlY2tu9(2}-=8E3C zXPujBh_}&7cP#%%Y%+yrox9!!0}{NpgaRuynaqCTEcz*_A1SIBx4U~i1-Y!0xrGK) zq_S-(Qa3iwy>LDPnD8E#@a8A$d^dsuz1SLl$*I6u-nSQ$5-o3+Bwz1|(84Cb`R(_0 zwkTg{g)3fs_D$!(S8GlT+BnpU2Hws(yENB>g6|joScMn&g0{{Sw}cx{Ps9!h@*U>& z4!k4J&%}-~Z5_fPi%yv?1Dzik=xEQNMW;*-6~Mj&#THl1-zVzES#S+&SGzI?kevhw zz2Vis3txPdU052|XiwhUj4tJd3RElWGfNenDbYDuF=$!d*rJHW2NZ(JrAgNKh)p)Z zPo@HzZA>#kRHM63%Be74m2>fm*droAonl(Pi==Tkk|NdK(r(T4WxhR*^_A@CHT$^v z?F>voYz$HtBMiEk`3(0+=bRlXNIWr6^Qd4(tT45^HPxQn7$PyLGOsfvA2UV||GS{z=)v<- zTkP7hTE?GNVC_erUf`9VUSMkd3fd`zrFQmedz&F_X*=S8D;rU{Gb3fs^Oy-a3^)1j zRh$(w_iIr>o$|PwEK}&&!Tw=qb#W7eJ`xoz_JOJs&WV)0>MTl;vpN%P3SoxMyBN8J zs;0-)yXw^Q;q2W4nbcn1Z2KX%<7^Tfp(t=|)d|C}@>F+Wr0Ec6`9Rpi%Z6$kBAHm9 zz16ZV@BsoBQFAkRW(qSQdc2PAC!iy^Y(DuCM8bgfltu8x#Y|RzU@*ZL5v4%>aj9GM*W7s;`pj)L5@i2vY z)7j!7xfVxK=!8M9XD%+RN(~-6D+SBvbJ4PWvmdsWlTHsg%Qu8JVx*L6Fj+_oyVHA2 z?z^~o_vc8aAZQ!mi&pHnXc7e8Fb+hl96 zs${mu?0<&W0Q0OKD3J_y1^ zj?_AuiNr=QtZn{kU!b440XODhqwdOioGsucxFk0{0t$HL1C0SWI1s&^y%fVq<^mBO zKZd9gyAZqg0X^9$Y0R6NWhq*Gu2VfHsSC=mJJU=&!ZNzsL{uk(rWy@Z(`{4Q+MxzT zzn-7p4ry-rZTRYbZLsWQ+WY`a-=)#inVcV9z$`JBvZqiu+qFGLv}Z4!TU~YvmeVQC zSzY-;a_6hb<~7OPhdD`!=~BTsHU>jM7IA76YYLOMvBLr*9H|ai*|z`L%NLp(-PWHPZJ3Kj%mib-Lw9NGTF}r6zL=Bv#0M~L_qZT|sMsSU_0s@1K24wop4sv0} zLxT`iGj9#AuPmVO0`!&G-spfgNX0n~-0Nw_WAm%@C-~>{h*!lhfXy6ME#cm+vff=Q za~c*U%U0z#pFXJp%noEjlm=-22)= z*aTf))7S4L3{dY0%GjWrPsi^Gz;dUO!@efuo`u)OOz{5M1ur6reh)2TUGQvlq^V@m zcq`JP<5lL*Q^;49Ix~{7qDC1bl}x{B+%rsS6zZzVM#oMx7^9@X&x$mR)2I`TXrcLk zRq^EkK93C0Lx6>e&Ie4&z{MAi$B?Yc7(Ax@jSfoPCnu!6b zSG;>Q{R!~yslGoS@0LLg{x7`S4GFHUv^erQdUOCBc|XxUj;!=k z91JCj_1P6Aenw(ApMF!-6doS*01lzX3sFjF@?YSDU@UoPc>31c;$l2J}#2-JD$f^*mmEFU;duzp|-|ByY33*je;n_R;;z ze!x#%XHz4L_aW>BY-d-e+CjX{bjhXJTJ@#dq2konB}V{Aw}hNknQKDHj?&n)WXGU5 zS|RO`QdyyP7N1FR&hnygx*;S87ZD6)A*QRNOvAD#p8YmVQZ3k z-zhJNonGD}_Qmp^@w>z;a28FZ?Up(84E!3*?E#gbRfMHEozqo#h7bd!BMAx7aifu!tuDG3!eEvV4@&=<@6Sh5|l*$t$W(of=O4 z-5sOyGt*E_0TM0YRltd92|Rid;VkbJ%!tgz?o2J`fs8s{0Qr=vD}0`wk%N)*8{Ye_;lhS${9Nn385a3jU2OV*_J&5)B`avJ>Ed zdfsGBDOR84Kkeiz9}*i<-X}J&ytmWXK>F&kkDUfRs%hIIQ6U(sPgP~%rtjjlJNIiU zG`mh?x@sV;aI0t{0c(twpk#~mS|r)YATBwWIPdbuedt)V=^7@1){H?8$5EoQ{1B|K zScK3q#98t!!V(=NPQ!_GFwxP2$3cy!r_(5LhTMPwqK&`;gkYvVm;qbs*>4L*fMq33 zD{#*xXVBsi3i!U3v#^V>h`A)tF(tp1hn~=x1*;GCRipeF_Yi@3Q&t#k$xgyD7k_N# z>xcLg?T*uMBdtxe53z6BxoUgR6aZ1+%D!z7VAKism=sSN@H$HIHUZ*cyRYD}bK8Ah ziBfzWrW6}Y1X}A^ca=#zA*_c*vhMFqM4P-n!|N=^EWnT`Fv*#vGS!SyAxRPlc;>Dn z(J|C%7;J`MI4?^Z&nWjF`fb?>igNDC08_9v<+ag+TzRHZ+L2wIR61w4(2>Dkjm-=T z6V++l0q?=>NvdSWp(t16jnQc3|BwI^BXc?dgpN?mi$Tn$yqGbH(R-4)nZZ*2J>T7D zhSsuX1{D{0C+1SKUgsYmwHB;W(?_%1UgEbZ#LU*t7GCv^u!i=xO7d1?tT%J^7bsXl z5JH^V=F-a?v&*dokFm>1xZW^`o#orAW)A*-G}MuOU5KZymbu8uH~W2|6w&)&RD1C> zSsPm2l|j6)MG$X#F(Eb>gERIz8EPZ|oP%dVlPON3| z7uK8xvNQz_P{xzY=pIMUV7M%|NSC0|wJ)wL=rLwW#Cfo#=4qP)Vt;=dg-`E>glDjZ zvtF*j{Q~z6PGP4(>7IjIhI#O48kmla755 zwiW;DxVfbJIqo^!7pdng+7>u{2kvrqp}-&f2I+1h@5$JK(r>=YPba_9fAbS~`nVwP z3-~|A4TH7&GF$c+@|?c^ms9$){k;0kcR^mI3Ca$_g6|`N!Jo;u9w)!tv$W^GxVs4J z?p6VBh3WSX{C)}7v)ix2nsJ+PC*tjE{JStHED zykpuK5}s+-rxvlfeq;J;Mf&7AQ`I%XZI<3{)rvG5^v+;|9%x8&Ht4>Np~nt&?s`Oc z3`g;3tevrkEuYo-J>EvizMey>pkQM^NVlvKLD-x9zR<6vbcEc5yxffx!a_D1G3#0z zah`aM`{Hr=tqHFJ;1=U1p&1jCAo&ip7zAt-;I_rr5f@HOhUk-+l94mEvH2~VN+O*_ zs>QRFDtgwKeuXmox^Rg5JF<4m#U{~r|6Chr0J%OV1mWG@EerI?i_n4HD%xVQ#LlZu zVde8(_c2mf;^ME!0?!)MxzIV*NK!Al37dwzX?)c@k)!hm@=u>wV6t@rnQuV{z)UUlE>L-OU+tPs z;IrvO5tFXSJC=0CbrZX$6U=P7BW=23T7Zm*=_s7S&Du|v3N9&hZAq8o!0_tCuF+Jd9|;TXdmn}^rGNI`{DKgB{XobvQ9iwWnCj&72sA` zcFY6c<>t_%Yd~}8`MU7{zH3RAo3}u(f$#izn?DoHgqJ|D7M*)MDGgW*Km|erP_7&B zjB*bl+ThV9?UN5LWdlOE2Z z?F1vHp6T}l_LtUc!@>aU0OR#p8F>j?aX~uR-osSoS zmA-{sT~^EDHbU49&({9aZFzqWawb^bxt)^E)3Se2U{qE=>@Kv_Hq0!7#%7i$*WYG^ zuOgk{1=w?f7C3aio$^Q8MfHQON&KULKk31qH0}YWhttrL=5%TMlJkW*kJl04>x?qZ z?|}kR&rIawM0?@v;_@N!DP2bU6+069>y$8*?k}P5wB-pAn0}b&9?B2l{TX6{u@xM> z)tzIc^<4M6ARpkcArmo+Y+>Gd3mrc`!0%xUdz5_c19KD zvp4FWa<@ZKb`N$IuT>~zA-4rDFkM`j2kK#da=rCrm?ZTtyLXemyuZ` z6HGb4IIkR9Q{FGWlA^eWY(=RvuYb2{h@m-xsYw%ElH2LMgZsw6`<=f&6q^ z{B-x)bj5C!O~+!Jo1ad*gl569M7uYd#9ELNc=g+8_gbZ?wq+H%qcm`4L5eq(OQ+?i zbjR3qMecuqi)~wRembp5rQ6FdeJFPSMmjyj)aVfs&D6jelWItgcYZH~fv`z1@!E&f zpPOihH8!91lW2!E_G9B=myqQHTjjUq1I%U>X~wHcqY#^HEpeBa3`1kR6YayDMuSL1 zpWS|dd389o!|2LY-lzWBM2o=*Uvn?D)d8`i@~abORdw28G)msl7F>I&HP5 z6G6<)*x;LVYoN<5)4HUwO^;ni8!#Uvc-I}%C4q%^ z48p9nNL7PBT#x!JYH~NQGwGd0%V=;rxSa{7o^%=?QMkQng#!_CUn2sVRq42?b+_pj zhis|s+BU7|u&>KD$1jm6qpHb^N2Sjg&iEIJNt8{-!kO$b1et(Mfg4s-`ysJEB-#hY z)_W=2o?h+^)Prt|3ky;16WlkjQI^I%jVmVlES%!L$?x5`{)GSTBhJmZP3#^AbIqLj zcj8WD7wDd5z<+F*e%sic22jrDa5quU_xP22#s5~=r#Ypabr2Wi`?=bRdk@!}@(!U* za`)l%-QE4ZTe#8=r>&>p^qcR3ykluY6c@uiw9EEg{hvr)eRp@~cMDhAPk@Ee1;5?% zR5P*SxF6$If=Yf)U2^gV?xSwsL3ogU3Gq*oU%&Y-NOw791un|8xdrzmE{^*#PH~U2 zYQ>+?8%HPe{Ud(mzJ_1l-Cd$vn9_=`qjbS<_dMg6XZh~)jMFk)Gp-GnAJ>IXa?uJ( zx7VBdKq`UWg&tVz&L24pLUorAPbYumWR#iKD_fTP1q_+zHp>j_h~wP5#EFJSw5zX< z$cD~~Bs==l&cMn?-bt?ROFFvB=J&F(+ItLb<1(MxYwT$&*k# zPneMq^8|K84>3=kRCmNXfyICDi_^H}KLr&17bsA$4y%vljK! z%mVVgYQqqli=(0UAvU1{(OwA7rMpOxm~dqLX2KcRT=;eqes%ncY~^#Vzq7dysJO2A zA2I1>#82*){~i-Q8Qm#1w5H1Ev~Pcpu+caxyprX@y5iYfi-fRJS(tcYn5IFW z2s}YZ1n&@~{Iz)%dAyn1-ftChuOD)p+VjH|VAQO)j6MB3cz%GBoKOsR4Nj`8`hFO< z&G+m3f4P5>rVHF+op8GrxNV{Cu5hc!T(ma~GpP3Hu(?eKq-#5YXYR$lL1A;X?e!@i z9s6e3NSIXf4oVJy=!{QG6 z=4AU&y<-;uaMsdg^jR#aIPPlPO#l0*{K_7V;6c~5E$Hg6!Cd_n?banJlex+Ua0kW+aISKlkr zA@ojSMA1@XDSA^N_JCS;unY z)axuCkX~jxCiduvnnSs~4m%HStYPY}-c(goyusU1y31xJy*bm8i5=MFV)GqRdkBZz ztu+WXH+%og6M4GqQj~qo%%Z+)Sj0RSD6OpQx=LsHbs;o7j?)@TwC;75??~)9toHTF z)GJjpN8S@f-+Jbj>>HJ-4>_;JH`_wWw%pND#Y1`LrA{9>bzQ~4;UOFD{TkaE*!>8_ zeo6*Bh4FjsyeG#JsFyc_4DEfL zMu|L9U~k)m*uVkV=I~01Vo$tmyB4sk`lPZhNYxGO z<^G-!iGLdT@TIad@(>|{_*wXe@~iI--yNj}<4*R&6(^_gz^~r~-`o7S;5R>BVOmP* zX_&1kpJaFF^11PErLQPTbntyA&1MfN9uFDAMipL(!Ha^b6@>CP4{7IZne(>-HUZk#=w{~KzKY?n#w`Ck~1 zC+3A>@o%Ov6IFiQEhIAZ*iV_U!-X=wyCi>U2|--EL1Z( zl9^6bJ?QtaNE6Br)8QzEW>uv4n(S={{f86p%d+U!&^FZn%0f=X+PwYZ^6+J{EryQ% z(~;8W&8(F^?c#O-incOxCZdCkC9X=duXvRGplfP?Q<)*{wi2m z(En6Ps%)Lz(_6a&GqM~3yPTnzmzs}qaq2cpN=GK1(LAWmc#j+PO{)^%JmrPZX8&HbEB4mB`dEo`+oV* z*cZx&$1X1)_v$|ow{J1QufGwf>wbf$SkX+-zyP}HKRP(Fv?VUt)o zhi4p4Njl4=Et4R)Q`a52P0`Ce2a6go{Iib_=H;4f7|)0%Rfr<_H);_HmQN73d0 zGD;^ZuC}{GKcHxxN7POg+?9DCO4d%25{}6bXWhUALL~1fj^~yxOJZA> zG(rpJh_31UM@^~Fv$^SP4cRlDB?fzdWxIg%oy#_#$>%H*i>0$Eo$J;z`e2d-^SN`) zT1KCET|Rp-Z@uzpdKX5YPVD|#1sGnJ zm6QLoIHf(>PpjV{xYKc>i5owoySH09ZB5Fn-+UL8*LA*GN+`UB#Fla9YRpm}CMKT* z-x0rmUknbnh@|llI+J!JHC^dW^nE=NR;D6`MdFL1|@wS5f4tW25rEW z(p}WN8xmzF#ix3A2wPb$*A2PM{$_o)K~$E@Rh^5pcnUKxaJdYQG9~&r>Pk9@>4ww@ z4{b@aW5e*ush#F*r&tD<_oldYRi#FB>?H&ubjuS*&`WnuBf>@)-&-qY(c|X5-#=3L z7xLUF{MX=a$0<%QUtcJDXOYr8++e^H*&)lwFuapc% z9%dO~QcC~F5L!mwAIv#~4=gxThH zY21<r;0&i&fpm;w&ppODd4um*oEgeSvqFFD;X}|m|?x}9+X8Ygz&38drU2z&Z`jOOT zP8Tw0WawN>y){kNtDVoR1kLFMYF2`Odd z^qCxkhr>W&h4a{U?2{O#PkGN+Sc^;AX)LzJHh#_d7CVZfSS4y2PQGzOxaAE=yH5=z zcb-$xd;6>~2A_F0rYgC%(ECm_)hu?nAyPNy7r^q=HcSCMDPT}gK+Dd)l)=|kg~>P0 zq2%7JiYlV)%#Vh14UtW4$L>qNg6*iOQq%l5jNzBf#_&rx^#!VJDW>XTS9?~jxkYsm zYU!(TL$=(C-q;9UKDCg7yR^B;)#X7|b}e=xT7$m0+7Mv?gqpp+7T6``2pUZdg-6Zv z^#U)XP^zWHElj?KEtDZCdWR71z~s)N2+#j!25*p{Z|dom_ezp)hD;&P?u_()9tQ3; zzrm75@gHm{=^o8Hi%rr^EpHblUw5cB(i=N%L(VcK7E?YYqK(5V7|SmxJYb1^^GgiQ z>RsFCKJuB{xBAzgseRu!C4Q#%-I!mZfkk5S+Sv}=?}m-H_TsUI_BGD;eeO*9io!=i z4cq3H0Eii_>HdlKf5!*I(ODDkpXgXs>#o)&@W(aY35kw1wL8*Rgq-CcB-(ezhb1~5 zaPDqNzS+E@nH0R2v8=h*25%)Cjz3dF$Nkhm*X}2_M-F!h4`!FuSgHo_#`@ZQAhhy=kB%1*ZewKRL2(YD3U^}CEAy$j@O!3 z`*pl;>gf20I!tG}poid2%1OS!wq+#yx5BDMSl!Y>4~JsdqujZV$Aq-4g?3k^TEgiI zLy7hs^QL9OW6O(YL$zdMGca^_EmQlPaQa7Q>ujHB-Iv&NRPCe{gZKbPK$CwFOqml* zTp<-+SDdd*cwBjL&2iPG?FO$_8I98_YQt~@*W%~k3#YLTmEBwWuE&;kja%ZRbo-89lCf#<0^5QIH_aYNuIqnqbFryr`nH%x zVCW|u`;Hi_7^aSv?lIe6q-?XZXf60Dni+LEd9dYu66I0sv7mQB0B9dh&z(lm;(i02 zJHM-5oeL81!wp21S%~-wTE{5X=w{s=4QN66*@Le@LogK zFB>}!3(D~mWNjw>gfZR1_zatOL8i8i<5=*xI`JuuO+xAwPQVOn-+*3pFG z;gatST2Q<$+*I7)Jh;V4KGcH=2(Nxcsk$TPIfV?FcL@K7#@=*wTZk9>tB!>D*d%6J zA2e8mSf8lbQ(V{I{X8*tpD+A)d!D5P=9ITf5RdYLap@+LWHmFaAX4^0-3ws=ZGr17 z7^<>mCi*g19(0Nk6&;r-+w0ub0eszG^QDriN;j@}lj_YuvZ`!r-BRAGDk^XqzfQS{ zG87%YjK|bu=k`q`CJAQa8>eY}D0DI&A|~!BU4x69 z%ySAJPH+``$7mVPVSb_=Rv)R2+}xXnMQB)5;H5gf<|j54BQkv-G-8PsY`&WAeMDB5 zwL1;p#e-RdXz6av4K~zJ{Th5QBS8cO?j5R!2({U0>Pm!E0ajJFxAE#S!`PU|Z0^R+ zp>QXhVBv?#Tf}E<_$__GS)}`laC&-C`3`6CBx=cAWM^{%pqKNy#xBCJ$=CQ1zs~Xz zmFZ=p)Cri!sP>N5<%1D(znJ9sm@3CvUr(oDH|g978a%({Mq_t7mm3P;{3J`jsZD4K z{Ebv?(RqhqZ#N}ic%dwBkCK{Z}h z-6$*M=`N(e^oYcsy>oiHb;fUtzX$dwIE8E3XY+6hn@#%oe!7p|=S+34M}93n!ESVmEL!)i zOI$z}#0|#>vz|b>@Px(q~?9GVvPHYuz>VOD4E5PFi^a5Y;-X_Ve$*jN*sYTLBPjIPEj)(5m7 z!sqI^D}X7_(aQ6<9cmLWRsp}v3phpr_xJ$^SwD$!l$g1YArRWt^_#QkYo;Lv4>AA@ zBb&)GGanLb-;qksU3Z&cssCNi5azl<(|UkQqNVLtPHZFvVYrTHw^r9oui?)FFOA6JuxY9of76}L6wS0O`0CfWXpwZz8-kC|MBPI8D})BxqYn4ENq^*J4%K_l_kg{Ngx!6Is~ z@aWp7bE>`00_n!+wYPDr`BoU6&FV=tt>(LMcjFY^-91Y9sZ1cH zJ)4I8mNdby{Bp|Eh6|JK%eZghf^s(D-+`+j{u>~lD{=DwlW7$=eg7|~v_gDJr{8?1 zun~kQjr_rHP^P}WM;k6B&9ylB<-USnGNBRTySsfLB!%hs41UMpenQ&(U-_ruF2zZg z_WJ*H{>q>4zD$}agk48@m*V7K20R0&@4)>6SO@;#H%Rvf`ga^ozxht-GK49e{Q7O7 zoE^9zZx=#ea)IGBw8YA&UZfQ+?m8x_KFN{#eMRcWrouEw;x0WcRK8>0p_z#ASIq=W zR>325hmo;Z1p5SuiA&0mo-$>1AGC)VY%Zq9SQe`LHUYAn`w_q8*?37}^4{9VbSW*h z6P`9k_RL^{KPY47>{Fm2(h;34>W3#HzCoYj?N|_a_nN7&_3P**hNOD;A`onjNNt=&g)N#BHlZf@xwE{B3MHC zX8ZC51v&g`+4`5AyZbnI=@N*;_g09aocJ%oWK{Sfl$r%wj$Zqn5v+g$(#=Qawy_Ys zY$V64$sN!@vkB#8%*MI=I?E?irW?vd165`sd%}r!RH#qTPR6A(pj~7t^s!zrW-`Gu zU0cfw(7L7-rLEyL%tujf9YRlC z8R^k@8{XVYJe$z<*3W(Uc)w!5`>aw+NkOhUi*!Mxx}C;nXp}L(qj%6FnG4`(Gdli0 z(qNK_oEA}LL#tG6jN9W+g z+&+R7?(d=dr=%wkyLV16_b2wt8a;6y&>-|3$o|gx>IHio?Tcm9v;Xr0D3QKP%;tVG zSp-9I-H==}7KEOp%F6NEV3}?vCFDp926otRdMe;eAlz{45XLhbuTA$T-|O6|^QL<< zD>*(-^DDi`Os_y&OokE61hTY9Q#ABq_BB15+&GCCq(zu&FGWi?Ma$MYiv%7x4%Bdm zIm-T=qQmJj_0PEz#t#NB*muL`gzhZZ&OF1{sBsu1*3}7~Id>3*ZZ`wd$( z1Ptuz11yRELQdJDJMrUB1?>w;K#b1fWeiK^Rv#DWq@$5D#q(-eL8fRAodXV6spu^$6u&U{MZNe%Rw6+T0xK)_QIl` zq;n;zow?Pl8Yg+4KsX+a2h2hspSfu51U6b-QmiaT-PH~`XQuwU;0k~7o?efVWu1mLWX}E zRCs!*Q9)jh*Qg-VRH-4qVoK_zHatzMg4SlC-G3z7eIK{=ToCkWe^oFxw5gDKvrcX&vHu&hS+X?U{F^@U9jIhg<+ca^f z?84R6vo|0BDOAIvZ&0*0s0wmY41@G_Ff7N#gX4vvxn}C+2Nw7Hc2Dk{u|p}eay%-q z7B!C)YIYi7eFIh7(mNm5_&x=7X2YH3%w>z(B&qG(B|^>~UoU1)%AJnQj6}-IB9(v& za2EZHHra_eK-)*E1uT5C5h%B{qe4`NwJem*8WzUo~0eE31-|=v1<@%2L%&!O2f_?3m|d&NEc+(3M)N z-f0Mr)4sK0q|83X8x8pt8^lvV&_r1B_K8rh@A!=(a7$L|m_4cbDW_qe=~b`VLGaQgFR%FS{!}d)(K^-sB|3MC_Jt@l>){-1T$eX-UV+dZwYR4fNDby`A)H zJfFBL1z%&TrTbR1_`AYtW{KVp5b&`?#S_;Oja_TVmV=Gos*i&4iUs-)C3cokkfp%SR%m zt(_FWB(hixvQBwK0jyH;fC6CE@p!$ddtI(UK&ik*qB6Vm6?ACjCh#!~*hq)@6a2sA z_uqcpYQDeEw=7`Xf&U@jukQo72U(e|xY1y!?(uv4y!!nr<+rjde}|J_{0F(6{{=?!9i|O8Zqt;w80*-+ZUMrxEt}zq8r-tg{<&@}Ey0 zIoW;FcXyZW7Ou2EV;@ku;5R={9dTC>H;VFm;pAUIn4J89dlh&G{_ej@`wik3;`E#E zl=d9LK6tOwO=lKL)m`p-++3XEpT>Qcb(p}(-;-atf6y*{cXvPP7Ou3n_<4ih{5(RF zN!pX|hVXqU?wh#Rs3Sj4{GiVJ-lMg=jpRRfyq57Z-7tRER>1iI5AB#Y$YQ3NG9!EM zzHjh&^El#)Ys!2b0Ok$sYHdo}h}Kd;l$o%syOwVhvFs7T;5EbldDO0)T}Dcx+3vqf zRPxG0*<>rz7opw6Cd7`>v7`PtFcbB46xZ~%YI~$Fnm4mLv^|$SRKMA~gd|x^rn4oV z0`@u;B)#k`kw;Zhk>1Mx9839Qai<}Qq5Jc7OO(L9u86bS{^Ndxn`OqmYTEZBxWOO z5^z5xp=-gHz9y8|v!niqMC-W39 zS+CkzsMP&18rqS4Ba*oSGOIOG`fRl9S!YqRav8qTz4A>w(h@VI;(kJ@?Cp?=rP?T_UYR?>Cv%U!ChyVyYbiQ8;A$E{ZZuBg@ooS2MSj~D7sZ+J=tKZ!{#r#IBDIJa2VGAxw_Sb^jI2ms8VYBo zirsry*hn!(Lzo9K(yzJ;e%1XM3BzVmY4N>=aAd5XDuhP!+yt>JrOFqN5PS%V}ZWiQp8 z`02Blr*S@v9YU#QISXugv)cPNa?6V;P4o9e-|4pPSl|B;zpvs9?DA|p{D-#s3zAqL zcsmIMc)R%dOu*yr^5DQjk$F$gg9C501>W`QP1|S~=XvVHR|{BD6k}PVL^H#U5BdK9 zz{3SV$qE|)+7i10(VMkYFg(V0lGHfD_y3gNmvMq0pwSJtPR<;fchsL{51}>JrF%?7 z?=&T_86D+{)JD{j>+DCmzfn@Yghcs@edOd_tyT) zdk0y?PVKxAHP50cEY{DYjP9D}dr!?;dKraD7Uc}wWB-rtKJp#NsXT=XmcAbJ2}owb zeX@Gc(ri0Q1bKX<)S-u|cb)psFOlv*`p|DK(rn$uzN-z_F{|7^=~j4WYhNv8WuM4- zI=#pmn%0H)h#Eq+qA$I*=4ha>kr$gbc!TXt${@B>9hCc6$~uI(tvp3))4*d7s7^h= zs8jbboC;oYj=kDVfE%r9Bi_YCI+2~4{i0H$YX6CX-qY6%)nO2ze;Y?AhK*yTjCcK~db2iKIsvxPKLI4quQO zJOVZ95yNHmgYDrxvUm&8<36gZ8n-PBWp3v#*?tJLxlI+>H*z&QjWQI*XQvkM1SRiM zQ!d&aNt|rMkv^FXISqYnW_3+>2aTWXgJdxBOC*tUvPXalGfhV9=6UzU{3Iq?l(F1oH&yg=3FX2)gF87<%mAOV6EF25`e=$5$>C)NC zRC1PWpi5tAg!{Gvu`FXpiUD;RUm%FjPKfIgsXN5|X!lpd2`uqRxn2Mg)Zo8O#C{;* zrpAYc`z>WOn%n4=8eQ;Q0cz|es*@RH>%DPAFOALF1pYwE)hlIg-BHX( zHZ~Lyl=z5nB0DBF7T)TQ&JjuL_0vnZ2t$_qMSLcTsX$h-@dFM6=Vf9ehOg^khW&NE zJLQ*JHvw|lPO7Iy>E0j9ufG4H7U1^bPGWKm_0uU%PT_%HztzO64EclK{CI^4KN+It zmc+c`xp5IlJrAN1o|s$^FLzd7!OMb^VliJk{Dl3q!$%xcJ6t%TVk7RZhN=z(BwJDDn+*L7OO3Gu?`$ggV~!z zAT{cgV`;|?##b0~8du|EqcF_>KjAkT=BD!?pHQ)r-+-eZ5IbVCY0NR`|daIKNMjl3eD273U> zV(%8weAjV4>f97dYOl0=@cd|KgW-J@VO&&d>Q_MHVWehDw5+-AaMLg;t7C5_Pg$Kq z(FcKkIuo1w_B>^Eku#mz>X4s~(dL-ZD&fl?;$k@YWpif-PVm1uc^;`4x*Wc)(zy9|;{q>DTe_hmiAQR7H zSZG8rixU0&xy>5arV&OR{#CA^IZutGREUVE zQIF?a7SBOL8=>6yCEqHd!WOSbrtU8x^w7i2?_vDvX@qF6R;85-c`le}6ek>3Y4WX8 zd%voee5t`t5nebc-25711FxM**9t4sR~1Q1Bi#H3<-F0iBK0A?spz%2qSubZX7cr} z%G@fw{qRCi-<#)9S0cYVXDPGPM;2@W7ikXuH$Dtv&{?>ZZ-J`}?%zJeMNBtaqoq3l zUQu0{sj4`!d8aiKKn;f*C??)4w=k{f^`U73O_v=3C2)U9N#^#4gBM@{xem=e^{AJY zOV?@?qnW`2sJlAVT2;D72idZh=8dS<5h#60Hu3syf)X8Qm@I3lb}F6?KN^anUNe@a z){Jx>D~M#SWOWRjl|mbjr6u_jEL)d(FJW4xvSEj*K8&Ft((A`3i}a-0rmE6y29t@A zfQfFqW?$l`B7GHPHs@z?y9fj6}tCx3VT!Xv!(Z38&{1s3VTepTn5>e;RH1 zCj0u;9&`T8k$>R82l_%-Kj(WQ?vLHVXY(y5e2{y)bU!<32IuLm;+$9%Cl0AO zR0S6d^+f9EaXBXs40FK!f5LG8S*TpHOGgeLSLV{P!^fq0*!p_L`ngl_TJijvBLns~ zT(ivagu5s3FW~u0bx*n;+!&qx_#NgJ1EB^a=JRDreloZ7%D2q`s~I$>1N=_DqM4hE z!Q6H8d>MXXgx&H`B&dzb42ZY3Lp1G$ZimcA|aQ{C^lV)+4Z*YiH=iN-xAf_4o_z=?XJNCcdBiRQp~ z=0KU?rE8g-5Smjvo(sN(kx+{fLW2|ccM2pIwlu>B;D9o5XsKtnm0u}i0&#vsXRWt@%MYoJsChuMqUnz3TnSoL zr;c@RRT6WB<9-XTR7bQ9lfM5Re&rON?;a#g{&(P4+EPEQe)FBu^v0dyyO;RQcYox& z?jUhNx_07&wGYbNT2=bKk1}Os^7o8uj^lk*IP-aP=veR_g2l9sT`OZ^H-Qw_m0XZ1ZYAoz7>~L)jZ9WJ4{k=DNfX-8 zInP#=erR}ORb@MzMOz7{b>F&8KmBeX4;X>BC8==^qGd?9OPwcvdIk6X94h8aak=&{ zh@VM+Cv(6xCyqqxp2Qx+781nJS$g?{Xz1DO8{y0~>e1{k<1wtzuc{Ph`74{$^}`yp)kTh}nHc;53kWr18b8r7I@Xu}totnB^M;5e2;;B7 z8{mTz#hwyFMX~>ezciyY2rjzA_1;mb$}v(oURk=GLg!J;4{`Fh`cD4O;*|a)Kd*il z^1Tdq2TuOa;zWn$r<47Aed{;hDXbKyIl3QD@pbxRj||VsCqo3A@N|-*VM85Y{m5Cg zoCro)bD;v}IdgPJJywnU-TyZ2{>~!HMTdI7+3fu%Ywy>E$!HmDGAg(XORw6}3ulhJ zw>q>roPERW-p9uqBy~HKU)Jm;yt7$5G&+zC(q`<`$jKaHV34?6@MMe1DF}`Ee||r zBBiwzmq~)+uJ#9(L*D$+*dO>!p8Wyu{)3~PHnRr(i?-?<+Ifm#gLbYI+WE2>m-I3- zEUb+|&SJx?NpuWzmRx3%>S?<#Ti?*wb?zd04}fW6guD7zksi%}3DbPVe)*W@!gwd9 z!RBv1raAqVd`u&P#g1oJOe4W?Fip=nW)2pR2TUVV^#{Q;5qBqJ8J~P0OtX%d17I3w z!B2_sv5m9f0X{wp#<{(-xfbKxz{K!w0G=hWFY&)eEX;p2!=7THd)4@%LPn4VAJ}Mz zLeG-qEQ_uX}c5?Z=gks0sSWkrWafYK5Hcp3+sMm4y*UGa4US(dB(jhfzD`B zM|Sl&mpa7LDWWKH7}LqjL|u_qAN7Yfzi+-O5!xWsu0@g zJ-c)}-dPm;H-6>+Ebcba=ckhmM}6xz-zjVoPK!~NIsb5&75H(M5AIo!x#a%Lc{?j7 zY(lHpIrk;PdMK*MQyajCgvi^|r4$o^>4_soGN6Xw*{9J`7cKc3e!T6Xrr_k|Fa2e5xIE4h2GvxJL; zg86&?@^7Yp!>^1#yAOY3A;o|*w?$MaAPO5@hFU)s0q2VWpmvCtUy<9PnR4f}OoxVC`|KTX44r;k9x zo@bwS%$sf%?7yG`$2A-{W-%S>(I!2phW+nY#5pZFt6{$oXc%GnnsIr`#Lxj(Q5za; z$ckNrFPyFqas1j_`;J#Eztypy_)X#APtma-aRXVq>)02A`<1J^j{Uc-wp~{pdp#(^ zt^XEkLdSmN*Yz`G4u~V1cF;>0N#E`5e9%JYPN6q9%WprRW1G+3Ug@ zC3~kaiAVcfsjq0SvwB5(d`{2aS&~rUzOFq&dREu|Ap(tIut3*-6!`)UfsE2x=zY4f zy$(_q7~Pfad(duo6?Nn*+n0*RCBc>}F@KP!ZhuLjZa;~k8xu>uYk#Rx zB=!GLx!-~mH|_9M?r)}U3hGq3|FR8$rSS_A5(P_RvGt(|FqPO9bOaP`RPOa&pj}5@ zRqk_XoXjF_2fTkW>%3PFrh~t3N_u>tg0J_jjSBwF-1g~4gpH7stF$6f!atN)_cwe8 zYS?em79)3q5N{~s0cbtcvf`z(t1&z@jmctAz`&rwhsML=iq*_!AV zSvCCc19qw5_X4(3!|yK`W5Kzot0Mm4j2lE06KIwhH!0$ewZ1?Rzgh#BuZX{vIbzqw z0TuDDKD9HwQN+Jn=?|!gKbIIY16(x&9a`DLvbGLT#NWjt3l#A~bWMu*i|K|G@!!`X zf0SH7%Z^pRIKO4m`$eFlz||unr07({@1cM|5x-s6Wq~68JA4F+_^*-IUld}#Z`G`s zMrFZ5VJ6M&AWS=lQNh2Qub?HPRq=g6%%r@SBNWpR#2lFyGe$8|xwp#sFVRcGUKo-F z_&N21oO1pYQu@dy(4MyH`6p@ySoQqV@vW``JX2y5Rz+WiFankCmQQ>YeX(aA-DCRRgFWImW^*{>A+oVYTmZyS)88jG{UJgQ z@iRfaLSTF6MBGDm$0(rD4>*Y8`RGzg?52e;T`03kS}8!oUea9)UxcXb z%J&$hTvupG7cKnW6a>%uZVi6o959>SIZ}a8EWtdoTKJFp1s+rje>D=e!3u$m`FlRS z?bL}TZQad`)>GDd{mJ2VcZ(r zjeINYdHiqS&IhovwQ(Iz;oaRr!b?~tO8YMHSL1?T`Q?=79^6pUoq^L^-9b6`<9`Gv z*>Q)-ct5}LKb`0F{lA>jPXGfdoqqG3!VV=&Y2*)n1j7bkhh^I{EecE6VvRF31}&jKZ=B-c4u!Lg9n|!`_?94Bm;>glQ5a#a5*B0KsXd#Z&^h}MMW1^ zTyf>6Ah@85D=I1~yQ1qsj0Y+zDw6;6R=qXT)0s?0-T$}y{XRRHu6nwk_pQ6Sy1MJ_ zM%L^n^P2r;;g;;?fh~e+7*V^J5rv?}IPol6@MS z)9Y54`NFV!6MX(9`@vB|4@@>Ukdmm{1*A<*C+ijcNjRmK?DzF&6CSO8j!drYhO=1i z8b#xR_*L)VP@SEyTD3oI7L`M&MYUrt4?JO|cQYs({cG1TE}>znTD9L1OpH$6Hm%xk zO^fzB(R-@CWn@MJtLd+$O9idUiod23URp(FUAmuzv-180k56Gn$h36-Je;vC-5-bW zlh?FBILqZN@)judr*kE}g;cwXuEe}ho)WI!gN2j z;{88C#Ikt56ZIB55iuVg94w=uwOp-Di}$N2u)yMa)8hRzYR^TaI8HPj&5QRt;;1SW zT6(%?CPgXCD&3EQ1CY;D@!AC5YG_v55>dtUB1WcNQS|b`5MJ91z1F_9L)K*!EY)ST z$gdXi)Oa3;y$cM5^b$lY;a`MM$wKpOs0)oQ-_OUb0-6U@2D(ZzJ|p|c_-knf%)fd+ zi`prz-X}Y1w0i#j&G2BJ{Q5~b@`_1X#vq&r21ufri zhRaFqnFx}W@6*IFE#KcvE^gXsow6p=(;ynA%Gc8LlFBN&7cw!{Z-M68L!jwZeELm; zU33hs0+asZFkgf0I!)hGxQ3SUA`z&a!Rz-A;6+FCiv(I9=Ba5d!LzkxQ0NaCZ9X5E z*6$}_TtivzUvr;^6L@WEecVf^D0tBiCYV9N(p|aco(yO;vgSU{6auZee+Q$l+LPd; z?%~B#>LKWZl(L72R?Xx585HYKJw(sT0zE_(^-5IYU*UBa`SdD&-6j?78061aP=W_@ zb(hLoj$4-c#qAJWy>HN(w0f+)A6xrJOlJ5-pjW83F1}BvI|5j}=nBSqwfNp6y>iXy zLU^HLY!j>Rb3oJaqx>d|HuT)J_DAG^n#uA^weUQF3QAW)B z!9-#6OMB?!QPD+h9!|-lblDABvWXLDt?}0w(1_~|E+pTf>QlW87;T^>`;-u}|2dtC z({50P1-+t@!iGW4qVVOiYI^5F4T@C9a1g^ax$s~1?mek@M`c%eB-+HU-X~UKOS0G54I%>|8CNwg%E7d2hzXVnUZCLqF zA2NO&AzN2(25laq}8m|1W25C(Uy1be{BH}V9cca@tB-Dj^v-m=?y< zt(P?mk5C!{S-7Q^R^G>7L$7R@hi|fgP&1`p|nlL^0XS)Mlg>i8UwmWbkbtT(yOQWwMEB=Cn>RItQs`+8aMOF|# zLMIraLk+CVKVP+V8HjpNS9=R}ul}k;*J?RVl18FNB3N1W^{DR18H_~qHM`~VI5r#5 zy7oP4O4L%?A`SHHmAwc!b?th6@%SbDI!zuf87QQ5a$F+13GdExQ=DBLVqtTQC z%@^5`K^D!Z%a9F&4AT6$_D-nO?QJGi3GQK~g&b6RU%c*KF=-~>A5@*xo+;pl?WL$5 zQz6h&|Es9Oe-lvJ#z|D%u)J03gNnSGF#j1KW3T?1x-zn3eg=o?Kp|1j6 zH4Pi~0)uqA_BORP|1=s&EzKwB{v6XG>zCqOtu$)DqZ6{pLLd3A+e^#(XDU%V>q9S( zDhi`krcmfUXEZ68=08}QOk>eyy__yg95mFei>HHW zI7l%^gz1yA%7c|+t-KSYeSoKAuf--*`u~mV85WJcf*|BP*=3Z2i|9&|C98}ab|ycI zjscG&WSVv%O|S`v5*M|%;|S(?d|3ZZzk`5}A|8Lo@Avo(f{K-V?owb)pI z6Atyu#&I`(yF;A6iDk(plV?}sHvvEL8~nSAF&zu{BmNUuPyQk@`!0k<{wVnAHy@3a zu=Tgfa$NG!QWqmWQE<&al6?)w>8pk(&`e*%kNjUCEc&&8F2dH|8J6S3t>I(ZHOn}0 z?z7L8UB_9_NB)~}jDF9>?I9W(z{S}<|PLkDrRYvy;uxo*f;^Y0Oa`w4!{aC{M5 z^EsM#3OuP!K-EMok?OtGM8i1a3LSH>z$f9|sKY@g{gPs&CMRutdnl})IZ3DDv(lmf8*fhX_x;zY@ z>%9YMrAi|D#&QGwyU8}dLA;9A%zGyG&AmIMZGdO$dMC^Ir6)|r0Uiu84seIrI6#_# z*&?}y1@VQ2$B{@NhWuY3+Wtk)v~D@1b%1AJ69D50TGpo~OX%q#?({Ku^;-wH9X0{L zp;g>!ri6_3BBKJ<0elb&&T~xWJO-BR0)x+>ALK4Ds`ds@^pa|*!16U*HH5SdK+n%9 zZqhn{oI}zJbwXPQ_zJ4NL0zPuwhhn?I+o&h3x4ztFP(b=epEm8E{>{VP1**a(H1SK z2(k^(E66ke-B#nS2375p^uaX1N_c2-Ln&SrnIHe>nJ6apP8A+k$1I%Nm~DXFBsL29 zeFu4#MZq?}^`z2b8-U)D1Paex%0y`gacD55teLm3CaDJaFv z=Px!6u;C+wNxxqBEy3>wcHf5kG0KI`$#+W?e#y;SBY+W_ZafribO;z|y?U|C4hPU)6aZTF=_LZBWh-m=2x|$c_w^YLZh4??9XAfF|UW)@k%jIj|G*gsm zfW0^r-Za2HU^G|_fQ{}9(Gf-p>j@HD}O^1w8z%)P#4mD;PfEL9^Xd2)r z3^jt%N~Qsh(ZOKT0I%avkZFLuEEq8R;6E)t`4Q4Iz;zI6kR>M50A)BI#xy_sC?oH}d>&ZUAciAf1KgT|R4FgD8 zQ;9)cz&-#ysCa@da%l#>INzv!0HUn}4aN%$`ux1M4}hoQ7;Q#L`v7;pte`v5o%`v6c1`v6d??E^HA z+&(}j9uX?@0Q2dlt0?$d9HD&xm}ilXuhXLRZHN4rJ#LGBg?)eu6ex{#XzS9s2;M8?z74 zkL&|DU>{)4?p-mB*$8;!=h_I^guVq2Bj1LTvIffoe>9s2xD+!X_9a*`o zH~p@&{2l81g#R@xdBd`7qJGq|0_W&1b;L?kzI&_=_E^fl6Vg?9S0^}p=fRz9|ISIBBKo9qo zZD#tYA=U=db5Qfc{l={X(6j3Qaw`E};Auo7Rs!fHVfjcJRsvAcky;4|Jg&pDJsS12n1C~0jaz`#?G2(1Ln*{~kt!*yt5^elq>H}jAD z<{w?3%~<=1e>QW;HUEgy9KV75I}F$S+Xj49Bj+^lJDk_;A9e!dfB;e9*{?sL796EF0lY4j$PJmprEA0ftv7Lb1q+OLA2$9s|Sywg` z)zS{CrJaB?^+|L9iFA^7w3b#H3TRPF>yG5oTGn3y=+tpqr=m4E`NN0|w*w?cGHW&-xWOu+5R zOn@o?8jB;QcwL2NW9o*`?3OkYKy&5z__sC_(7~T!OIkn-PxxSPDcDrN$*85U;z$xb z5X-vv=WL*Hptci0{^$5d{z!hr{}!c4Tyj^zrTOk9_>n)7-)0MMB4cvRKho6?KdPe* zs^`CuAo*PPb@D7TU?<>j@X7qEA(K@mI{{DPgx^j8EeAK730OiSfcSN4MxBg&$?N}M zy8aJEfzOmf-+-Nfb1ZfOW+B9=x(nnCTO@`8*Ou2y^g#gdYXkeUQ0VRAVJG{3K*iP;suVLeTN5nn%9DR znwCS%J-jS)l6N*D>6@AB zOZR8hEJb0tV4Z%-j?9|cteT_smo3T~xfHMSJd>HAEK|aOTh&QN{Hjk;@6(?WX9)q# z0yZyUF5obZL5N>FtT~)faOY||X~2Bo6}zDM&CD9t{!AFOqHxzv*@4f-AkgQN>n~lD zRdXzJqzj!+>YK^&DfD| z%hEwWJ?S9h| z-I+k!(y0SMTwn@D$Aw5lkomMWYg_sSUE{0C%2OaI{t|Z~<442LForMhA$?o~StCa$ zzzl;+%^#-3ryNbLI(2sZDti4drRHdG{3;SndZ~bGmilu(II*&Dm+r6I3-S2dlns>FHau zyXw7nt9CzI^?f%_m#ST_Rh=A)?`leu?fC4c46@>UQ*dG9EJMf~xl~rkx*KHy)O5iW zu#;cI;qDUr+fMq;KY}Fg6eVY z3X)nME#FoF8K*?ud>q(A$8jKu4$Q)1J^D0adQGdkyo`cMS;N;48wXy&P;}KburYye z^z2Tq&q>1FQy&~3!-3$@l&Eu5o$ld_U3+nd9Txz?*nd12S29DkL}{~q&zueEK=f+I zO8oFjlpI&y3zzeSMmUr&`zEx3kFx^0x}%52@v76YzUDi~1_w=IH^V{MuaVKn)0|f@ zw2$j~4e2Qu{dBtVZvDqHhw8kPJ#C?jtli>WHfdt2ZYITiV)EK-f7CPUE>M{=J~$($ zCpOFoQa6It$&8?Md-woSg+~%F42hTG<+IGk;Qq)znu({lSDlXccCR|!--|(2J0B`} zH021B)XEGHPB&Rk;j9B3UPJ zQ}#aBiJp+ihrYV=C`ZprUYpk8X;~R|d56~}K&ZbIq9;>Q=rXEEu@Lg8NMKRh`snkK z6bh1(gjY4G(j?DFzCxKslSNG_%cJ5(ESH~?QS)-*uJzg9RDB=4a8O3gA-sx9(^38x zgH_w8k}2!vEt9o$$7o8Ar|R@6Zz&y!GZ+5lh{T_8xup6*k*J%05d9p1lV~dnf)dmT#YYFI6e%gv##?$p6*VwcbOsb*5f&8H=Te?f zo%)IO^d>#~g8AQJ8LyS!P358b+Qcov{Fj6I$_f<1IFDuUDut+>g|u#X6$z(zo;m`M zn-7=9f|T*dhti8b+clp}Xae{(s|)V*bJj*M=gwqe&0P3tQV z$37~KvUYIS8?5XLWFrxS(;D2*97F#>oPJ8#+2n*&MjvWzs0K+jv*%U*j>%||e>GDsK=R8efvcJ3q z9@*V=_YS5ck2iOO+2=Ow2uGl}zd-EkGU0g!<&O5Bye}=5G(H_mkwP^I*+Vv$+8Xwd zWaAWLOv8AotzjBUl@ghTOTKR+ z4M7d_1xQkP%E^y#<@v)&Yk3Cg(G46cp2OFRKZVfK)_XQ7yFgw+)&?5eK;+K~6ThxU z)$$HB-nx=vy*@4-NyR6{VW&5K?Sxo$l_o`f=@NW4bMdf(xIF^g9cWYGBN=B3RA2mY zNnD0D-pxCz>U1A(@2bCFf~#bUXy-eJE{l3pP==nwIx6Uete8P*35*JopY;z5 z&P42zAtf(oG%Qe8KpGVkL5S*n8~A%8Lez+!rAnVtgO3L*m=bki`kl=72>Jbu8+H$qJV0OwdzmHs+W#jcocW> zsyu@R|5T&{xpYv+Ra5v?y7(7nq9uKjQV{UYp+PkK*ioc*T0OB`#f)=T-x`g zA~17hpy_Lu?qBOW07WTH_4_c7KAbJ%Jm9NeGqR zgp)1#Oz>*ubo}~gGJ`D-BC(>j5<5ywYr2E*_Z6iO?uPXEyMemP(+eJ_&@zqB5!zUU zCVLU?LfU~(pU9DXoD+5D>QS-rJosHTKhW#^0U~nZp{7~rK1P?fH?it;XCFGLI9fhT z85**Cn1|I)x(2BpdVSjGcu?(W$$d?KIqYdC3#IuEvUG(OK-nBxU-t(3SdZ!^YI*#K zMjKwwYqXrJ!PwA0oI6jZsre2^Q+n1m(BsdbF;%BKdRteW?gERcm{>qL;Jb_K<2IoC zZZx}SU0iUq8c|oE)jg;>`Ovxb8P=Z#tCJV8yj;q(39|ln_NGx=oi6L|%ku6qt~rL* z`WmKh?6OcXzU500#&I-IR-Y)WQ1@FUIPbBdDZ!!4^n}552U%~Hv{L}@g^YZReBUOTVsHDC$6i2j7UVPp3 zs?!NxT%fx6P)N~sbyda%N)|X>@#-iApQ;OyK8~B~M%wECXaz$!OA`i{$(n zeK8;KXS5m?Hs4{&=qvVYSd6@)5l5)s^Emznejnqf^0Uvf0qfKLLC^YEttb7c+vNDu zG%02WW;gI^#dX-%Wl+j65bWrkOu0O>9;Yc^ecrl3aY0pR0Ftx>acH!E?9o7bU{s#`EZuce z?uHzgZ|R{Mf8c7|^uT;Eq(ThL7a$~bMsi@jy3TY(4t>$2NFm|f<)Ckyx`ZL&6klZx zHr$LsKj^1gfP4uxWur@`Bb9eJJx4zYr3dq&ZM_K;w=pP`4k6+;LCt22<@>aoiLyS< zOR-Y-bkY!C=nGIu$S`qx)|T?4D}6FI`W#MQb4oyxn(C$5qP1MsG!zW2y>*cG4OH3C z{~y4FI35(#LJsj<2y~@m`muBEYMLB`hZSMJB3#OZmI1;VMR-6FhBJXCAUKF(MOdi_ z9hk5`KuA{vmm+)(hvM)+fN-`Vq$t9xOjsEp(6l~Mai$_X#spV@@S!|2+@=T{n2-`6 z>{W#Kkgv#xGA5iEAl$16yA&at3AO;?3`Mw05e5=r#PnnD;Yz{za9W-jj&IIU5Z}PL za`^OPy8?v!F_DN=JS3gC$Km|Ni+n!zhX93)3xl#sQSKtjLZVz1piEPgKVxS$TrvGvQh?A#Mf7z=_=Gf+Oh48+K=?vw*scg46QOkav2Sr1 z=A`~z5q_@-{~&^U`mxsoghPrz7JLxN*NCum`Z2n)vxW;)9F8M#AdCe1%hjmb$H?>q zQ@SY1ON!EmC@YBK2Bp65=}T!ZE~C9o?(K5lOzvakzNOs9%6)6OZzK2ZeUjXdlKatef05je zmHTmWpCb2Za-S~u6XiZr?z81SNA4%feV*K3D)&?6e!ASxko%c(KTGas%YC8T&yo8g zxxZ5GOXS`y_vLc$k$bP)FOd61a(|WFFOmCYa$hO;E9Aaf?pMnFYPnw{_v_^TTDjjK z_czG>jdFi8_CgfVu67ivV9{jq4I$qq@|{J#1LW&LzE8>5j(oAG2DLP*EV_hzr?D%l zA>Rq|9U2wmhr zEv%()XBAB)-v;vCOTLxli$!CsT|&MwB?Bo% zQ^+@#e7BKr1o?K8k6wo^ib1un?L)pC@^v9!Ir&f zH2GGL?*#c4k#8{OwQK42rzo3zh2(RSZ#wy|C0`Eto+n=#`931wX!7-ng^z}KMVFGV zANj5&UoY}KO1=){dxLxk5h;&@4<5Xb((}tp@J3W_ec!iGi8d5{N1Tr^P$-He&JptU zAm6Lx8&1Ccg9f|H3S9$Ti^`qeK?MbZP`*T>-07)si3*oD)m>0lSnQrl z{weNx?y`k$|Dm}!?eUa(M1{AkTzFg+zET%CF0a6;@jj2o<@RP4yItA7(%CML>EQUX z5?`si!QpX>y{-&*p=*)Iq3}Ioig!*@uGd51BeoP_r<;C*ibRRa?HGNbBO^O6KP!1E zqTtDQ^uEwBL`B_0{_H84nK?F4WlTTI5xX@r6#WlTIm5xu>ka zRZ)R}Gu%+^EASSVxkW))sZ_J5v?Rqn8@3;twqyyufB_*?+ z1@i={9C(pBc_C%NWjG)j2|z_-;6)j3ugl|hmZTNCN(#r9`6wPzwaj|QY~P$YE{~(s zSK)Qcb~#ibILbVZaqNujFD<`RO4Ki9LJ?op$VF{n|Od5XQRekcZSaY258v%)*N zpvdWQoO4k>2=pJ|KtT?0Add$)q>!#%qee~1OH1nSK!U&sQT-5I9lMIf?t&sunY+wa zQL@-k>|Rhd&sFG{<0&h3INc6Q(KuWSkm-&hr@OF(s#tKrIZB=7N^e1#n+nKLHpek^ z_y}nAR*2jNjlhBSf?}<3IHjc1<8dygP5@h(PYRd1O3OTp1>)#+E^@eJgK?KRT&hYs z<{;|}(e%8Ig|3p4fpf|{rHFe!B*IxzTvA}~Xg{-kUYEEM8R2lw0ozenR)DsOT;N!U;*t{A zTquNMXQ_)Qs%|?_t6XTt1ujIP&@~5*xsXqxHWv6$hZndSa-F6U3D8*+(m-V-ljl!> z!>#%Ve|W^2UF>#x7Kc=ThAXSD4!hWGO6kZy6?m|?;*}l0b zv+^fraag$GduIT=X*RP_#49Pbe4aQMiNNr1IuMdTf zNcs=R0tq@uDRs_9-Y|(UT1asPTA|LR3MD~7_{%*+DImlJRJ1ZL9Q|;C;oglxMgQy1 zu0pEVDofEooH$*Cy5L5mttfY*1jvU{ZK%(Uboz528aex=zJPYYF)%azp`jj9t3imU zB^*L<$Q42kAM%F|8agOZR1{z3Dx1@fD$;m#RQ=5dGSv~TWK^#C<0ob3rB2PuA2%&8 zHCG8?(CQr(lmYCPg(im zQI5V9j)4Pl6<*YL$T=m89R2#1_#Cq_bgAf113~|GrjUJs$VkEe z5haeUB3w#%rVu^E(LeqO{2B4(d$5ZC5@GNmzwg2~y6lsN2#F$&zKe|ciQcaf&=!Qp z2CxiTo+qAplQCW%C&uu>oBJL={b)&?gC4(`w|XMVP|Qa|`zZ&;$b4KbK6_hcOpcM0 zxZ>g214v-3c%hOeh=hnSY%;fkckw0|1x;fJV^23E(hrMF`A5!pIllgkBQly}GfA1+ zREcOLL?yg*BkM1j`ZG-a`sT8HtceYXb8Vm)1hz3voToPig0@+5*`ld_S3>V{D5PIK zQ_0JltiLL=^&twAj_hip{{D_*+<5&xU5^^}bSL7O>Mu3DdgL~5sK0oGbzyxJ9@^0M zb^VxL^)Dl;pWj9G_4(KC8dhGR?7gmZ&IDQf8Q{zx5a7kMY;m zsQRc)&#C%*y8hkxXHVCUIgN>rrndSsh_ng6)Abjb>dYB)0(Gf=p)JZD-K;rg6I!%v z6&u$&z75Uf`?q%O1>LZlwvL@lpn=!;cW<4|LHrEm^2K|zY-9eeQQf-t=!yA>GaSA9 zoSD$qn*Osa=|B5_S^6__Ck;$W8a{GhqL`99FgbU8MuxyW$s4);HuUpgMY)J>T*K5tr1s>q#|o0pm;a;A*S%owjnamjgknHjlxA~iEL3j;g< zcvWO%kI$Tvk}5JLWKWu$DzfReFx-GJvlHQMMcY=+Z_GTOGXV||Wc97k74muvcc^Pnm@ z@>6-mia&@-7KUB}v)@q{MhW{TQNozfOxU+H7sip6!qzfQ*f+I>vi2hCq7K5|uA_*) z0sYDcokaAw&cb-Ri-@|jtFRY!6Sj5Tg?)7o5tZ3f7zZ69>R@lUXNu^S3Bq_kLD>8C z6=HT@VZ;qY6b1|1)WITZ`(R-dT_EgfqlIk^CT8sy3R^DhZ*&_g?0-xawu*5=EFUNA zx20kTlO}9OFpYcb1Q9(UU5L-ph4FL-j!zW!sS`!?;}eC^>tbO~$`r-{w}@_ECJeg= zPlP~Dxe=NiW9!G^eRs9|#tGeq4m z!{!)a7(GTAQM*PP;`bLBQI2s&^wr~xsBy4^Qj=mBqp|RKtILSqQEZ6M<{8H3GDAG? zF>Kd*4H54%Y$*#2BjqY1>KGm{JiW|_N?&0Z2k{A&Z>}+-kKyryW0he$vdR#Ns|}-7 zjbX1|V~FDQhVkXKhPZlzVVsF)Y9ntjZ2N97#LC|r#;ThPk#>t=?|Q2doqn4kI&U#%qqzxy?gQNnWlJK z;g_4{U0l^{onNaE#6N-G?aZIwL_CO}fUu9GEB%?)cw{%!PtSTzW+?tJ-68Avgh*#K z_@~Ig9JV)P60N%IE8xe*VYe%1dsfyoOVR*y9voUXimB*OUI|IBv%xkP) zAYL_iI$Y{=;zfY)iN z;^9)EHXY9p%cq4yt5;S$4>Cy z%~yKg;%NBWvnAdXk59p0JxlTFtw*`(cyN26^mV{w%I(a1lWBgvIlI=R0_hkgU6X1Ok0j~!-?SDnUO9Agl1iTXPUXOrxBY1yjUbuYO3Em4$@H%k* zH#WXKc!g@WZNijO3eN3dUThd%3C?X~9=*9DH{HK5r2gVY{BB_0TwI&wrg;+^_Ah%u zc!B$)6nl6+^&2$4{YRln*Vop5l*cc`>w$Aycvf#JtM&JD;{)SPx+WZE-V7_xG#)Ae zFLtg9mtJO+n@(4VeiOGJqM%gqY3vuoxAfnXZwJ7CwoLKwj(|_&+aVssr+1I!rsHGj zmq|a3Z*!P`Ez|w^Vc}E$(fIaJ=BHTsru?HXjlIY`{~UQ*!~3YM;628?2ID!_PvIT{ z?@8wMv4(5noigd`9)_2II=GqjO|tS#>Bt1{Z_J~2t>qRX9bWKuFwZ{`8-lkHyayuS z?FH{<=CuzK?x)~g&Af2=OkY_pihxJoL7Nl-uMoTu%xf1We(S(|GO95{p^TOpz33wMopzlWT`bNN`@ojtrybr+pzP#yr5R38OznJIH^-A}Lj1%Av z1Mi&(^vwY8dFF-7mum3-9D%;A;BAV4cL=;S5%5ld=Z%1ufN|nX=A9KLUoyd)!Mq0d z(JV*T5ifXGG7r;kYSZ}~;ySV!eBJK$GTn6D@z4Jp0B;`m3$a!nV+#KSc)H)BxgfbU z5k5r;Pcbjt zb%n;awag25U7_*qVdnL>hHHu+jc?zIfJfuox0!cQ7=1LpJx~%nR3Ehk@54f^cVm*MfPOIvtj9seV<1 zH;{RMxAH9GJgQ&Y!T%fc{p0A2hU29p;O%A}-n3SmC4ACnkHtJ4^TOrh0Pud_gg#17 z9(aqG*VMR@!mkGZR_0%>Vi{;Jrg?|0;OTVFv+_dR7aRe<*+Ny1$Y{FUboxWg-_i^5 z$C*DxXRPLj7@v;@Kj9Xoe+b4_LHa|KTM6-RSNsV~_qTUbI_X9F@yz=YW7MYf?giie z2c>t8RWD=8=TE^K$2@=g)9K^+wgKREXe~qq^VV7QS^8(8)u;RZTCcZPk`zP~uTY0H!KA-Zd8oY&DmA>n(yb$4U2mdhh z|7PWzuA4`|yOnIzVDsOXrv~?v6uun~?+!5UAY|mG^FKtp9|r!8XO!L-neK1LA@a8n z{K4#P4V_b&`wW*fA|f>SEgxAdM)vwcn`qMb=hIXKd*^&QoLt??|Dn{#{HM?k1yyd1&0~J>PZi!u=K1rNF~utd zzj5y>-nKBj5}bRHdD&rjH{#rJ=ILf{4VUtJCw{LnPkvv7bT*Psisz^J%_h6p*fNPr z+w9jXz>0R0gtW?hnY995q*@Nb>RJjdEZ%imU5Hn2Y>Uw zRC?~Q@-6jQrXT!HA1FSCG-?Zxt`4X(KeFC%ywTttWnO_*pXqv12wry%H_ys5U8iZT zb^`Oxu<{sFI<|v%5%cc%EcIFhyd&W4U|swCqOeX>EBB-_q_VK84_KXs-B`)_P#6Hwob12)@0A;(w^LhwOiLg4dy? z;(Z>5_W^jPn0Ip+UM%MO4z^PIMuy?hbNcs~hu8Sjrt_B}r33F6if@^B4j=c|KgN_l z)!?0E-a>1BTJD=j?{@IFwpQ`n-iTh}9RV+iS3lekhG)lo-aX8_BMff9=EE zZ)Zove<}j~!@xh)S@9<|!KZSd=k#N{Dt?3c2NgT{{v180uVUVH)_M>kojbu#@1gXr zVLkr(W#LmiJ_Y|C=F?|gpvA4#O)1uXit{ z4^dE?4woV6TL+%Oyl~-e2k#8#g$wrxcp1zK*RR_#&o`EN4ep~&@f!f%2IkG>ShrsH8MZ#xE=UB)V2$1uDB;0;Jtyk1tGX&yEYyp(Z@_Yntc%_oZA67Y(~D_(LK z-e&NwX5NA@yaV99%)H@^@Th!FfOmv>>DKd8Yd;n#Vkvsq{^?=3|I@OY@jpa}@szYdli}?}^epX1`p;!|UH_)Ag1i<>OB9 z^70gKIUf&|KOcbiF!TCZ<7o;v7Gs|_QU03<)+hXsgK0p4u0$$#eY45{^A4h^T?PAwv;gaMJ#k}yh`!rS<_`s zKX~>fiWjcGm;qjwrHU7>zo2={A0KWydBI7 z*Iy)HZtr>KO|;e@OZiZ}%mY8OO2zZZFySu&?;Yla>n}Eg_hhxw7p}iJ0N$)?6fazV zaRR)Tm=~_U=z*I?_bR3D>M-d@0dF7kPFZ=T{-OlDL#vg(>DGJ<(O+x?e=`{d!uGkf zKAPIuUho{(Dc%q(kK;q-Li3oJ8x${Gf6)Q+d-pQ0vHpVE;b`z;ZdCeKHIbgC=9$uO zQF{7X^UoCj6!=q__m-7sy8f2nT$@{!zAjcCW6BSjXA;bFke@c)?Q|v%BKW7-ZN(2J$&5X&Mf&v;nO@* z!JR7I$yPpN;?X?Q66U3b;cW)*Hs*z^zX!m3DgxdK@ZMtHwbpP={YDSW&y2ZCrDKwn z$2b9Q3V3svSKbJZ^05TGN16Avm1num5Pu{1^EavR$r7O4bUzp(-|2n1Np~xLxO}Jg z<%*b>!)pEI$(Yhb@5^mqUbuXx_vN-lz@zu&4l*xXe$xAL-!;Lb{Gs>ddflVa`r@BK)9k-j>8-T#7*qa?2G2nsJjV7w7+xXiW8U5{ymjDt?^F81 z^{d;#yN!7>8_`Gka|FDXnRlO+7oz^e#-J|Wufh*kJ~YoXk9pzh#SHM)GS6!bpE2cQ zHF$3_ud(!K@m-WKY%lg!Zspm^oqDEnGck6iZKy*!Vpo6V-iom$ZPi_sThdv%ODF=^ z7V&_j6YjxjyN3rx*Y;8P?O5gh&{4TL>@Mo7@aVIY`w7S6KzoJDqi~VIwuxPJH1hr4 zhgHM>JG+P3eV^S=+5MJXxo8yXTW(cy9oX%~Za;R1vOAjHGY1G~4gyP4fb+1~3dQn!QFQbbLbb6WG0o-9mP&*}ae5ee51)_cL~XVz>35mA+Bz zu3`6ic6Gkv(k8dIPb$9J3xP|3-1=CKW9TQhVSJpS-|ot2ecZ0j=<1QJk86QO+@-Io z6G{J6?yN7Ad+bZ)uHymF-V+KR`bN12zg2FF@06RyZaKSoWd0ai3{L>w&TbCh;J?o9 zWw7Buo6ZM?u(ImA zqf?mkJra8SoUK!U+^I*m9#BnNh;ZppW5+e!f8LbTU*-KzmFvkCsw7vm4Ak$SvZZq6 zYqB|k|9_Wj%&**{o7kFJw&t|?6KELkwNklocC2z2vwJnW`z*)1#wlJByW809+?sQf zUo37jK;goDbB$L?Ns7bU6V=Z;kF;8DsI7by28c4uCw zupBKhMJDqQ2? z`Ty$c`F~)X_P?cnSe&Km&-Q7`9Z;g&jc&%}$}O6&+$|pE9$eg5Aw?)t4<{~P+@fB(4a-&3yU zy!pS`f97+lKkd)%0CtD6`#HZLJ(BS_b|6SOJuCtj?K@XUg*qO zATF7|D|*vOwHl(n-q;{dl;DK*Aijs(@YurOW9=ZFk1rn<%*!t*nwLM<=kyec%40vW zdZ``f3-L+wa)F@ccw8=WOY!04vI6pXT-sZ>xTFwV-|T#R!W|M~17c3G%RVpL=}sIn zY4(-)K>B4KXL;h#%UsTRv~M(&XO)KnxmMkX?QM2`GQ zcjAy#cVTLYi@s%_nzJD1Vi^wvV>(YCK~KTA#?|@a+@bmO^Z!%C%>udfarp6tPOlRJ zmXnFOE^jJ-B$A>^i5WU1&F7XMd)JAO@ug%8ztmacbEP8Q!C?%QVFX1x2l276hEGwS zrS}IY)0dMtl)ja%4_aiB5J9WhFOTQQ2`=w=AHHwz_Kw5ntus)Pi+*{shYks-%Pe-g zvVEnqU7lZ|FEPhcR^Y0rz-QMp+!bDrPnLoz<_6h0bZ8*-@nt2xQunV7|GaG1!e1Wy zVY%M2@?RmIhp)+VjSj8@!)43(<(h|2#;4uAzg&I<CU#{T%@nxlrwdeDvmX-wC zG77mkIPpp74nnuxBou$D$5ZwTDxBYiGXJD;k?eb@$4g9ix(iEO zxdmnAuEe3^(Up2#>QHJ} zbBAFxke!>HPnBR~Zt+~V)9drNklJD#NF0f3p)Lqzo^h@s=YnFidpa>Jx46)iI%f_B zA9;wmtTaah5gs}uwW7dT?wno1ZBI7G5%M6~M^HmFH@jm^sR-3#j+=xoO-dY^S0<}< zYH7K5v1$`1gBj_pz))yTQUb+SxhA{jxNtQ`D+-eJ zS8Y-m+@Y)vQk9hDoadsUStEgCgu=xcVg$DUr9)*9G`91X!iJ!LMvgCWIXz)Ql3hwb zgbO2agtd{&`VioEcj%DZlCp(p$3Y_8pEO{fM@==k1Qpd) zm{TS@^9;8|l7^dN{*H#SNgPtJe43}M)S`jpcQur!OCNGRkPW78lM0*~QBcn8Z>WO? zJ5*`>b%nw@*pP>0Mjlq~a146I{KFf-T2Xf z9-YDw+*oAR9y6V%oSW6@l zVw?{bHxG>_EA&M@Ro;r~Ayc4xS3{xFU^WY9!*7oBKP9r~)JszjNnuaO8Rvhu1vx}Z3xSayOtOgw+L!}V7xIvOpfnlNld3(xm>-Li1i!P!^2JY|HBD;$`Q zn&T`kp%W+R#GG;rZoP8|S2iOo=c2^?)dc3cye_xOdWPl2g+#rTp|`lyRW_&4xtI=a zqJw%43tfzauF`^1OmgAQK*MrL-odc6Y=MhT?_ylx@)F$N3{{94cYbMEp|8Y+8L_#= z73g^BtT2Av(Z6H@ z;I3vv#e>bx7YAda>^FD9r)q!xB*qEb&!4#1+$_reHmt2Q`^6J`S4aQaDYuo;zj~VO zz2=S0D1Ov@h^T8G*-YX!Eu!oPdWk6et-VnIG-mwS(>8`E(1 z>_6%V(J5?f}7D6yS(PZc1Rh{67rm`vs1 zS9TDwsbX8J$u7(YxU+NfJjLZD;CvT5Mf?;y&WULMJ}y_h-g>-vs7;RetWAn|wr#d} zz8!{|CFrbadQnZhdBjWYImh&Yx7uT1Rg~*2@rn--XSaB(m3sIfo@mVj>{K@u8Sb>T z%!44R@tXLdRiSt}UKgn*yw*NS94|vk7Ks~Tsm-a2ym$oJgH9fkeoCiGAm`K0*m9@$ zQd|OXyC5F#7$r8(hhdZ_tME#x>O4Kk6&ygaXRfG=O)K-ba6L)MOA%kj+QkoR4Df5# z(*8;8g$-9@8i9-Tac;4$on5>o&z+!i&Buu^<8sSg1;ulUU4{NJxtu{0t6FD>^{pv# z7?Pq!dwmt+h7Pjx7?08yw|3xr6LDvUG)!w^o+cCdEdGk*QE6P=T8>%85AE$@&pL|F zVeHWq{Ncz458{ul-Q_+n-{6S%I@rY*lBcur<<{n++Xrnc*OMN4o+D1Qo>yF6?kZF{ zsYRY{FYNpnMjv`1Ud|uqVulDgtB*e3Hl?hMARAM@kAGc8x=NdoImY!l+Qu0V!l()>6P!CVE=-q8G z!YB$GXWPwlmo0Sb2Vgq1-H6@IQn1V`-ftJGV6JbE3P+`C zR=2i2s;s-vSyJZaIX{oMm$DhU?BXwS|C-!?DEHsVea!~Lpl0<1n0IU-=F@WjlH7kJ z_b26k&GmG4quf6#_lM+u%?*a3Zq`I4RppzBw&!-**ZhI@C*}UYUF3fcdl5y?;KZH| zfeW7axP$pomiVlLu&K84I!<7ATf76+C#8zJH<6+j<$m?uQmNcOc@L@1QV(u#>NuGn z;oi|vcE5Lbw2K2^*u}r({*>Hbe=i+*_&(adaGzn&15dFF)HmdzI=MeVW__b^Zy;87 z%EjE{q&b!clj6Zn8SY}Q_+uwrM2PoRryOx#XJNxb9J(8MtKBl1kjiaZk!!adqcJOnX}nUI(dfZ<124kb;|~ z_f2>=DDOX@i|Qp`7Q|mWd&)}6WUq(Eqe#pb;NEtt6#EyvpKqer{wVjW?!iLo>7l9S6EBh?QN?yzWw#vW~ZH+iH#d7TY7nSM~$8?akgW9yJ~^zOt>8fA85I zGu9c0jEP%~K_kveZ`otqtxlDcJA6S^Y2ElxQ=l-m(RQ1_Q6HlnoamJdd{?U#y-2}sPS4<{#VU+ z+7?}Jd)M}X?R{gnalLWOn6a_Xi^h+gr~W>wGJ1>gsI4-3){2;YQIFfkKV=*-zP9Z) z?lLaA-oDbUO;5kp zm{k6?ajh*mCp~@Aq}Pl;+A58MD8a0m_ZgGYz4^UO+nHx7a3*dHD=WzEGpfrqu;+~Qz9=J=0Ot{-0RmZzL2AlA}d!JJLen()_+GZDc;)>Ku?gYj4KnbJ7Q6U#u;TSgRBj3EGf{Y6*k>ZSSlD5r@Q%U$ z5`}m8B148(G){$gDn*5N6d#06!1=8cmE7jbRCw!(Re0rY6<$oa;-$=2?rPYNpzzkg zeguWr4|XCbycpPnpzuyDQ{in`p~6eJMuiu%O35F>kcs4W;Sxan?dagio$-5)FWi2l z2OTSw(=2q8gfllIesFJr{m$0tZM7Z4#~JJOI){OK8I>ZI*YC8%ohjjgY}a!o;|<;9 zY=MY{OZvX-uJBA?;@{Il;Tsqa>Z$N^jBRWu@et!o#$Pekb`)*UOZv1u#deIfUB!Wn zwSC2jjI~|G0>;|D;u6Nk+1}z!jCY-*;Cn>y^@wsCZzJ>AB6ot1l-op45#v@YI`F}FLYofxRGA_7S;ZuzN zpIc?aY4T!n`*zL#+-FA$n zJD>4!##xMeJ+97AV|?cm3NL1Sn(=jv#b4Cd*a z!m}6`GA?JV?Ix^XtnG{5#8}%IeT1>LH~Lq`+V1F4#@hbqcZ{_i(wIIfJ=z{=Z^qg# z=`hCHKIu5d+D_?Y#@b$K5o2w)^cu$6Zr(=5+K%ZT8EZQn&oI_@TK>*>(@!eD{>eC| zUg6IeZ^w9oHUonlYA*@V3U_3DE5;YJoy$0?xxyDP*7hRO8EgBSmonD&Ckq*CJCq*A z+8*Wa7;C$fYZ+_%ly@-J_9?eA)^;lYhw-*J6~DhT*6Z@$V=TI<^WQMmb}U;bsPt=l zmi-uOyO!e_Yx|a$GuC!4OBri>m#Y|SyO(z`*7h$SVyx|8KFwI$!+e#owu^b3v9^yH z(^th;+sW*~Sli1Sz*yVOypZubY)3PjahowJKV~wH9j|Z&<87%5uV!qYpzvLcs~B%% z+~#6+{wc=u8Si1N*R{XGSlc0ckFmB#_7!7omn;VM)2V)H`($S@9)NKsZRa!A_R2CD zYrAEaGuHOYJdCwHjVjG&J7(80)^^SQz*yTidyKKRb9R8Sws-a(V{P~BE5_RXSv_NI z2QBVwmA-nmi`Jd-u;nU!{WPvpcogHq7$?(~$#}pjg=aB-n6aC25=|*$t7iP+wF<9i zd>rFz+U{iB2IFkn9$JTFqU}w_3-46;J;pm2*D;Qv*)VM1FwS9I&-hlxE&8kS`IvEg z#v?EZMq5wDEpWd^+u4kh?ol|A@ealpFkXGHI-kmT2JY`@o5c7*#?u%#zfYYnWW1Ge z8RH)rU&VO*{fd7L<0lzk$GFo2>ii+b=QDQTK8pIMsf;TaFJ}BSbXk( z2;()3e`5SD<6c`-_#*}={ust<7|&w-Jmaewi-C%N599M0KhN0B_!#3=j9WaY!h4YM zIgDRod@H z2*#TjUqUzOU7?8#uHds9*1|U_}dc|KFTfU@zx4| z!Pvoeh<{+L?Gm>*PsLB$C+@;n+b2GUv9@PCit#SCqd0-FwyStKV{KQll(Dw2xSX-J zuXrQlscet&0mefdD*jIrj>C6u8Se!ylsThzal?Xfci=fuhBz^E_e^3?EggiNo{wCM z^9d&W0C2TZCHKU~Er4jt#|UR*XU3#Y&u8vneHv@|Ru*|PCV4&o`45)YI3DwQ=J=dp z!RJ}%>9Dm!I8r-5q+IWF*b5YpBa-rJ)avjLg~|( z_>{ko;76O5H)E35-+5Zj@*4jSusMI;vS6*>V@aq1-wAu2 z9$%wAiQ9 z&lsm( zR9=5SaR|$6tmRKx!Z%|IUw=Pw2Fq)#<<0q(je}-P^7^}r3s_!bEuTUjY~+x<8I!#J ze&mfTuQBlx@EdEno|`er@4`F*ZF^W=V=XTO#(BaNz8OpTb8rmXH(H*tmOq<3*tEPE zle~VO+xtRQej01}x0JYF-i&4V0~BEz%j@rJYI$^va?|0PG0E%a$9J&2##;WcMc#}_ zUO#VsndLRs@@W=%GbVXGUlVnaO25WhzPCl*j7eV4@1(Q5#*xbF`JfwFUgJpR_59Jt zEU$5-@_N2$@EDbTjU$!U^HUWpuW_XEdOqtZme)8^c|HGin&mZ)R9?@Q<&IV9*Emvn zJ-_x4%WE8|yq=Fc&GH&YDzE47MkcHHYaFS(p6~OryvAA{kHO?dI2$`Nruwhv2OmyW z;cHBM>i^9AQ1W^{@qL!pSj+d8p$GaeGp6wM{NsI8u2%AL?RxjU$!U^QSc|uW_XEdcO5lme*LzH&uRmel~8r%0G>p zl1~TU!DUO%6bmi|KFc(JLi!46$J|}tVQ08Nq!j1uVs0SwR|s&ycv_ce!uE2me*Lz z&y7+F2vhvcnB<>IROcUId5yJvial7~j7eU<&-Dz;YpmtJCJ#1pD10*}`Qw-epzTGL z*O>ST_)Vpg*tEPEle~U^>>ZZZSj*2);(mEECi%@ticrV$8f*Dg&D43q6n`@&dHudx zt5j8=G}iL#Y{BwoO!7}AtMi>%USlnPw?*EJNnXDncQ(swtmSi*dVl)OnB?{QbSW&a zv6jEqB5%eduiw9Ovb@Gx9@#24!r9oFG09&AIojMTud$YoSEv2)H)E2oVR>??|JGQ` zbMx}cn=#2h$?_XnUSloa#}d97ll)sOzn$eZ*7Dsg@@7o(Cs_V@me*LzPqN6HG0BhT z0qv_Sud$ZzXpuK#lAp@*@3OqcTE4SI-i%4UjOFWDUgJpRSF(H;xKw@`Yx(w;@XeUQ zzm4Swv%JPy-dta@anOuOehbTA%<>vXD*q(QyI5Z1Nag>^@+(+gV=dp#l72I$_#bBZ z2UuR?Naa6a`Da*OV=dp+622Kz_)!xS;cb@JSj(H^OZjicB;S$ce`I-$Bb7g!<-5V9 z`lGRyH^-O4H)9HaEXyadyvC8rPh1=wuW_XEe_{C#Szco;Z!WJ;<@XxP+c2?6<*%`pZz}&NT-p*?UgJpR zzhn6nme)8^`4*6)&B^i_M=IZ)ZG>%k$Bg+qEd5t5Lf0X4jSYBf- zf0m{E%$UmW5X=96?VSshTt|K8#{^h|c^JaOS;L8WnMdN0dh{9v&Vn>*$%CcQSTpjI zY}1;)BQ@&jZg=^k0f!if7ck}($0x~# z5YB;w{l2RIcl+PfJ);@P-aT=2k4kgDy7jB7TUEF2y>+YpT`^u-ydUr9_2V`9$AaTF zZ@jd4n;w@xKY2}F>n$!cURwOkG5VbMn!MI$yvcZJ@&0{@`S+T9ytH`#yhq+^^4~N5XU0p5_s@Iey(a&2=HF}bTaCZMcxmyzzQ}t`e#ZC@880pVQ2qCRG5%A=ON;mU9hCpK7=Nqr z(&D!!<>xi?uk~EtHeOo%9SQF>`48`i0sh8#Y4Lu%h57fI{B6en!gy)%7{Ur0HF>Ye zf5Z64qaWk*i!{Tt|2S0n-EaJJjF%Sg(;Jk&*1xSYURu00@4Wx=n)%myxvj=ai$6D< zeYgMhn!MK6z0!DT@p}{AYw}u;cb@Um;{PLeu<;Mi-)r((zjvwe(hSe?uly$d!zSKq z@>=irR^z3`uS~|@ye6;pf$uY3TD(18=IMJ)Uh4_3F;KWhw;+leSbLtPp`>qedBkHmlprVBz>>RYdz%O8!s(>OLG2Rlh^u5EYgnS z4;RD)#kZ35y(X{qmX9-DTKsnt-fQw&pZQGVrNw`pJJ|SV0{?kUUh6rZZ@e_av;CIf zxQX|gyw-od#CU1(|0ij`UX#~)(Fx|Z4$tMhA4-e&3dCH>y=+(ytH`#{e!&M967rHvS>+HF>Q^|CRC53{QRxj+=O|$!q=k6Y*Zl>sMO* zCnKKoUX#~)_fw3Q7XQ}??=^X?k3Y?LY4L6DVB?<&{O2|K;^%mDXecvYn&El=H}N1g zYVux_f3$gAV7xRA1^!CH*r>^SP5%8ig~LN{H(r|InZAF2CGR!)?;HOo#!HJoKDmCS zuSfWkAJttCb(d+ahx&bl zSLJz$`BAezyk>oze{&3Qz~Yk@|M7(Pn*57yi2+`3ytH^!L)fU9zSrar82^XHON+PL zQQjWCCjVOF|I~PC@t;lFlh@=oelh0nHshtm<1ry@)XcxvmZoIVk-%NO~$;)2J=Zu#Y|LlbKn!N0reAReq@lQ&4ugU+$mt%k*7%we; zG~vA_FMBFKGhSN!iN6*jpq{{gUXz#ol}BUTiS1dM;hzil2<~9xAM#$4uiqIC4?V?r zX@)27+Y5QG$-mn85#yzo%3o^y>BdWo_w9}8d(HG^Z>D0rw0PfM$a_s*_G$JRFD>4; z7xG?{|Lw2F^1IA1ytH^;e++HF??ldBRj|&(h*AeMCH8@m`ac zeV~(#mll6Dcd&`~n!M}@z0`PV@uLavHF?<|I@@?@@y92;*W_idsA;^k_+Q5C=lS=V zyzCoYWW2Qa^$G7adD%nyBjcsTV_JXMs3-8B*W_hC>7&L=i+@qVdre;UmToX!TKs)U z{d-Mb_L;t9ytMdhlk~kNFMCekGhSN!TNB=E^0NQ*uf|J@zb@guCNFzYPsNRr{kgRG z*Co8y))_A?9-k${Mm>T5ye2RERa=ag7Qcr(*!YLM*W_jI z>P+LM8J_*eN0R%Y*W_g%Yu0#a@y(?DcuijRw9YqPT6~8)*!YL}_nN%yZ@tNQX@+P1 z_rh@#?=^YZ>$=)_Y4QJ*>lH##pAXTHfpBtHF?=5yWecugU9!;5o)ii$DI!F$2^S_|I$dvJY1`URu1r-pPAS{zCqT?e)e> zi#Kyx`Ss&{>R%N zAn!GK*~9yx@zUZqAP#QS>@`*}l{Si$?3G|B&~ZyzCdg-*{<;Xa4^y z95?Y^lb5~2>x`EczlJ-G_nN%yBi?GfwD?~p_3t%#*;D*00Ji&Nrh9`e{a{gYEmp#ZA8ZRxr zj5xSaGkveg%YNjD@zM;>^v(QJ&U;N>_9kCqytMc&h=Ut7)AyRZ>{Gtncxmx3#+WrX z@m`acJ&oN$FyuaU& z_nN%yt?o5mTD-sCkoTIr?6V#)URwM`uDr;5Ox%#ryjWd9TUK ze(g7nmlp5uH{`u0FMGE?GG1Cde<+6=HF@cOL3n=elzqnI&NglK8BdTl`;5<#HhYI7 zre&Y;rKV+{aon`*Gftb9ea5nB*=MYqmVL%Io0fgXcbS%b#t)j7ea1gGE&Gi8jX9p5 z>@(g zqJ#K*GW4MD&HRNeZkOTsbFnM^Zs?1{k@z1&@qY3=^P^^a^qTGY2NvIr7N4~Ee@u9< z$=_}Eoo_K-TKowK?=^YZhyIcA(&A4_c(2LJp7hU+mll6x!h20#_NR||MJ&%;gJbz^ zOL(uz%U<>R%O3VKjF%RFkUQA;hv|DwUiPzp z+jwb)=lQ=8j+=O|$;;mM8snwKpBm^c?=^YZ=YFa2(o5xK&wJc>Y4LbW3L7=g-)p8X z``@?!d4Gkw`3KhJpSrSh_0{%Yf;m&(iD z`NhUdi@!N3f3KN;*+;+JcQIC>Srz@GQR#aNMZLdre-yC-7q9r5T?5Bpf$t@?MkI?++A> zmll7h_M_h`*lxV^Qu%jY$&gs*V!X6?U*F8X*UZ0u4`If5>80}e{e(H=rNw_e-PhmZCbw{Fl<`CAMj$+`u%_{ruF*) zJ51~M172ZTzaKDbTE8DKXIj4>u-~+PKj1Z{_4@(8Z(6?}aD{38e!vGz>-Ph$HGS@1 zup}`qZd$(|@Fmmw{eZtTt=|v0$FzPw;K$T>AC|p)#_HdP`Pt%$@YH(VrdulDzD3HB4)L^y^H^-qBl4YyJOKrnR2@Q>L{(o&6r;*Lv;0Gp+UCkHN8U z+%Aw4O>2Ga3e&Q8#BpVY*ZT9{HLdmdTxY=Jvaj?u(^@b6Uej8?{V~&8kIi8t^0Lox zyJ^`g__k@;vwOgFZch#sLSFXi_%jI9*KfdyV>{Wj?7yuuEqesxre$BFVp{g9&ND6h zL6@7BJ){qrmVKg|Ov_%+-KJ%Khx1IBKiShc9^-J-vJdiGre!Z`qiNZXn=&nXLM_v> zkMm~JviI~M)3X0^yJ^`2xzDuhvpnjNF+V3-hxkI%vcK^=re)9OOw+Ot(=jc3Id3*C z`yU@REqhRRnwEXCADfoFmPes)WBJJb68k!8*%R7qTK2JanU=kri%rXZ%O9JTJ)m1m z%f8t+Ov~QM1EyvF;$NhTv3(u?=$Iebcl#~Vnm>N3Y0c-|ZCdlyUu#55tcHgC*H}9EZjk6NB>MhDKl1Ut{4*1M zZld3q=(`hr!V`MqJ1fzbB>EGHE&k}tMK3pI(d3=ve^zn&4A<-u# zdN|Q*6aAkOy*bg_6MbgXdH*$+9N(Ad3le=vqTh}C%X{FignKXCRdDZv`(wDP;ocAT zCvg7*?gMZig!>TOhv7Z~_ffe23HLF$kHh^b+@HZ+19vUlC*ZDwyB_Y(;XVoXDYzTp zZiM?Z+-KlE3->v=o8bNe?(=Xr!`%Y+1-M(`z6f_4-0g5*g5$mNf5F`W_Z7H1;l2v@ zHMplNdp93C%J6d1MudkDaN@s1`TH2J&mgj4ovH4ajt9PPb zvDIp{raG-^eYbfWXqG!?WUY3!QSbK|ug^B*+sRt>a;;eJR67SJ%dK|S8f#_cP8N@E zZe`h6quxPE+ZvUu7Jav5osH$T1)-Rqoy}VLG0WPH_ zp;-hd#iuhdlNIMl6Ph_On! zQ=ZCZI%rI3z_C5$R(S@EXcNNp9c;|aq2;9B)`A!JE}{k3D|ucwHD)>oo7tee7Hb(( zS>#ZfQn5bMsN~lQ&ahaoEOwGOyjc46ie;fcoytUcE^9Z-GlO#;uDXF4Kj5#+9ocMO z)C&aI(6Sx?XLV}1y=SUivnBwKMKd$e=%CftE9F|Fo~6m*V42lFD6eQ$<+*ML;>&fi z)tJfJyr9PG?M`ccU=!Mr;hL>aOij0{&6*l4ayzxR+H7W(7;~B-WVN+u!wdlyskLx? zfqDza7A>ru^}Y4R{<<1cn!BC#Cc9G0`=CPGiH??+Oy0oHnydAP>ol7Fngz7E(aNg3 z>zk%GMG{^y#D=zIBDR3J8oIuno!P?LarEA?i_aVV!Usbyqr;<%pnb=T9Isb#HMx|$ zhYOPwAWmkk#-NG65#bcAghEj7p)jpRtr0qI^z&6V`nej~pZ6>FTr?rXRQ3F9`)rbG zI1&mkoC>@4xf=ASWa*rVRTJfUVdeH+uR_0gW~&D`9O*|`qQtPab%B!^J zl+k^}#|#|y)F`StJj*UGL**K71f^PauG%Se8l~C!TCFsXPO3DcXEHp%;v!=|RERf+ zshLJID~!Y^{ODDjoR}(&R_!KHSb1tzZpL1XM+&92CYBx5y76|Sh8Kw?L^DBSLW2vR*vuVT~SRJ!Foy|3wc%guH&u5QveI_g7OxJ8}%#>^6*h4Miq|r95hhww} zJ;E+iH^I%-tX2t+{l!?T1AuUqu|V@v=}EG%R=utA=M(QcSSX-jh&XiS`}q-Mf2>w+ zxA`p78^PN6wzzoucy@>-muI(I1O2J3L+{pU@F{&M!TXD9a`Qg)`BSBZ?n$UT-ICn7 zOs&TKbYf~liFLYu3YSE91;mL};ZazRT8>Yijn>9&PkCRp(IQ<~Jyoq_MZCApbf%Hz zcuPi=j;t)UXUfg;u9`grhihhS@I+hgxmwa|V=%i=>mE5{v@kN=2o170*X$hZHe()I zwW-=}Hrm;iT4NVp&<~L^fYBHd4>WjR$S^p77T=TIyiqc){wo`aj&3XO&G^W&Kyr9I zu}T{7WU~)t&XVnU=IJflGe*~s)v|JHktB5OTiF)Yrk7x-*Y0JUw}}+YpHSU}n>SyJ zePrcSt+5|hSEjpizsv7u?)x%q3`&^HsbZ zpdh>F=(;La99#NAr`>;9rLp5wmLB`mn)qnP(~3Pt=uvqR;d!{HufwA&>z`SOVMFET zou$rVt+nX9GS;y?c4w`^8jvCCdOMVL?_J?lIunKOKi6(rcJnE?2e|I#r3<03dU{W* zvA=j=CTsHTwzpjRia5vCp@wWMOE;1HWJdLp(Vx3+6B$*nzM7BSy~(PW!qt>ic6HKK z$f&y6Ree>uI&}EF9AgBl`KoD`C%frp*6JM0hsE-~Z+%`8YvS`rPb=)dWpu-@4^_=k z$lj9~z~o(Ye*yI*xA4t!bsb}Vg#uoQ@b}DCH9TXWg{ppvlQVM@c+bi&AnfYSfh0!J zGlt=xc-|qlwQ(Sh&q;0F^orpvNY4x1{?eWoJQvG%>EYLI&FZ^5dk&GpX*j2t@xn@6 zBCAH?N%WMGYc1jO=rU`^+tV$)z{Qr?^+zdfXtm0^+w>d=sq_=mjd);*DUXh~?V&ME zdvv;CN0u7Zbi*E0mJaN!vaEXB;hV-5>)vPg ze7S`IPw(!T1Oehq3YW6nOpxUpZK-AV>4N zO1r8U!$-){Ia^0o=46a6)<%E zIw+yo#U1LocBI=qAtk7I(o<{0lkFJq_anWJwk-58e#2aB9a*K@i3V{vAca1j?~};c zf~Q#MCY;CU$Fx>6p56lO>jpzTtmIV^FVrzydA{P(G;Guh!P1eg)#VPZhCMcn*|u)T z!sl;)(ktzFOh5K2%J!rHW#S#Kw{rYd1t!FufB%arj-@sm zjoMhFc`&9hR6@s*e>uZDwEKq0@HWiVK&V5 z%p?ZDT2|;orCOu0cOD&Tz0pD+i=Jw7epjtJGmaj3CVnb)$)QiSv0XkPg+4le?jph1 zH{e?3r>;sii;tZ7;dpQh9#C00$UuH1JO`L({5)blmB#pPWGl0ebwedQMt7ylRvq;+ zHB+9QZPY3#bKC`*@ly?M^sX{_8(_H`+4~(w2W>QLsI&*)n~za6qJrE>APyv=FOw*J zr(7_!RaXU*=mM(v@?5S|Eb49}jb&*Wb1|?pt#`luT4Cc>?25_--!)&wJ(9Oo*GM>g z%#&F7Vi{TV=qelyp9@3kNy}HP@hWp!aftI}MNM;rBft1CE_g7Weeg$F?#X8M^5ZVL zQ+;-yj~~5C)i$eYsO0nxx5C%fmu!;@KS28GfSB=2+#3+;8XI$dtz{}`dgVlqGl#PYiE*qLz73+(&XK24QgsSnzl9h_cS&uP1Ui&1kGxe zN8aAN2OC_ER*UnVd6Sc8(&psN6hfmzpO~FDgQ(Tl;I6|9HE)Q!s=IsYKWJb1(Ic(- z;M-sA!FxcR2miFfgJ-w4gY2*B+*|b=vDle}{k(>QN~$;b4X)d8D6QDw>1#E3s7kwn z^%+!NnYm(3c7>`j_sQ!p_#_pWhYGdVv*IMoSzb(@fbT_e_r zKspi4<5(x3_1eLWxPlo4V>NtWkY9lb*yBmeAYwvmtng_P$F%Ew^AymZ#WZmSaVO6X z>dH<4pzVRPJ!Hi80N5Vlus!70_PVj)WXz9=#sc9f$35mK?lC8E53KF6AfjKFMY<|X zM5A5M+C`Mw1!bj;z3%*l<$uc_p236nFw*NrQaIfC8H3_F!U+`vqCBjR)C1yK_GE$q zaU90?`vI{me-6QbNRE7l$e>6cgvlQRqAeWh)EFOUI!tniv7#eJaTVH_S7B+RP5mkE zT*@F-#A0eTfD*^5`r}InofZqBv8Sbn@h99(sW%?-1g#&PJXc5!N|?nrVY~@T=Kzld{e*Aj^gHlo>QrBabkKLX79Qs5TXpePdZnCl3nJc5*>fudgvb>vv5PZ3x^q*EaeT|f_8oC|BGxkkSdB9% zsyX}#b*nv;Id;4C1(8=$cRz+2-!{2*ycna|Q9OO;_zn}B$Ir68;XbGXt;|+i*(q_jb%pyR*AC*8@Ih@w7+G8~JiKCvA)@E-%*=xm?G8K| zm)qHj#;#WlqfbTk#C*i0U4r~_x$rkX;Qn^Q&}9=!fPefYF)X!-9uN$sGC;hnOy zAK&Zx$`h}dxJh7Wy*;o{5BoKV?NBvSIKuZMAJ<{M82Jd6{YK>B!*~_)`10R@JbmOZ zKRvNM2yZ<;z9W9!36b$~JNm7^m|Vb^T+rr3k$Pu9=d`rb_YfJAl!WiM0>p z+be3-UGa??J1d4TRvA7t4nN2*@k(X5{DM4*#tY+cP?#vAX?}R;?9Wz?m>COCBt|FV zT0)Mig!53eVL&QkW`-gj<~Tsig}d{BP39Md;jEsiQa%fqBiT#nU5k%1TF90GhkZ8r<^Ej*8yKAH5sTUyLEypmOjw$6 zaKq-$=7k&{78f{%$HfJXaO&5Bc0H^-d#3}Y>DpstpSPRMkRIzk*DhdfM31)%9JcA9 zX|%oG#U&dS3EA1Sh~be%&4L`-2E@c7Mm541=t6cwLdF&ifr47}IFd#r3mE$-_FQ|ES@hPBCldl-w_tm(dfr1?E-kZldD99YS8mL z*c^WP3JbEvFgTeH=^x6PQosGBffkP}nyz_+ zGy!jZARc2sI~M0aI;&8JFnxr>v43Vk*(GUdYbLSz#zevi$B&KX!8IjIuxW)NbYD9( z$tLOQtGF%LI+MC4iN+Z`?q;#)=v?s@z82!1IrWgt6(9KQfl1<=pNw(gqf^OC4~MDb z`G<5pd&S9Ryg#L%v;XaVWoKvRda9*;cg5p%r?K~;edK2XeBj3{{6ks^8F(G$nM{oz z;ckkVG=;Tc+=#cMx!S^3l-TVicl-aBiwlr9+zyc4+!}yJyEvdd@WlrOhtIgE9G+N& z7cip5bIYUS>Pv|uS;v4x!(#*f^7$uRA&V?*$n)5Df_x>*kM^H|9rouyFWwi?+1uI+ z?_)Q7<9r_Jm9CvY$^)vNA#K8byxDSr!(tV|PqwTI&GJ9G@FJZvZ6)JpP5YG=n7rd9 zXYd%2&z*Mq=)w!E>8f|wD)aRKepOk|f&LlznjwN2AaTBUcWsXjA$C}E>-X^$lUl)0nzpCal z>w1td{VYF}QsHR&l=3i{ba!B`hUGWeL;FY_QV4_SeU?QRe2B4J+3FyyqQQd^Mi{V$ zh~qoKQfcpK8sU^#@3#|>*&fN+(o-1V^b(!z|8(vw2Nx+-_9Zz^x JRoVpF{|mM0DA@o2 diff --git a/dist/build/Release/xmljs.node b/dist/build/Release/xmljs.node new file mode 100755 index 0000000000000000000000000000000000000000..1573f98e723a0dce207da76f6e04003180d12917 GIT binary patch literal 1840416 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 z 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 GjOAO~CR}jcQCH^wv)r)mr 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≪mZjEnd;D`p@EF>SccB2n#8U0KhszIAten^;BtaliIO9zpB}rica? z4j3)46_s+C4a7DtSiT9OW!X$mw5S_E^)qCb1?8i`s+%c{Yak_)8zCruGl**gU%|`3 zG|G0yH(nZn6gGSQ{j8tA$oY?hYThGJ zmYV-q;5!)OiiO&4ygxg^MTmtPj||9&C%Q{HUwrlk5S6H9{8mkUJdJ-+o}>Xpf;4g=Mz?^!P+u=2iGxHbUcy|SoKWN3;JKJE!G5Hvf|sp%h+fe z*cGSBvwwk?P>A_J2hu{VzC1eZQr{@2pwHFAo2$*;S2T)zsUx z<>bz{da(LFsKfREk0SN`v`)S+biQ|5-)Ub))j|J0C~yaYXECy)a{QgPzlQki93Q?j z4&44w!N&pG|G}vb2`?aMhfiN?7wLacC-|;LD!&84-v=d=-^X+UU*CC7{}*)9|1kCa zP2|V#aC|;BzO7Gm{Cy!pjoJSdo%Ih*g5Nu)x0+pR^40gw=p)~Ouhv=n1*(2$^Iv$7 z_I)`AS}0)PDf6#M^7x`d{GEP~@gu;S z^Q-ENJ{|bo(#iN2I_tAD{4dO9`<>Ir&`brNL7lWeL+Gb-e&-u>;Q3Xug1aTf$+QVAmeX7NdMIi{5zwc zCh$%6Kd6)WRUdYs@kJY|Q-i0zMg8JH+JU-a>kDT#!LT|i?@PO@aVE>q3XZ4Rg@ciS#Pov4xI+=g?7Q&W&gH=*2mfO_n?DlQABdiP4!`aUe#MSF?rc3U z1?++FTkXip&f523BiecW*jyh>aHDC1!~C$Ce3}om0xv!7fu*!IK;d@x&(3;lQt)=F z?5B?}bl`DCC-9ndknvU@gq|lIM1N$^8Ry&CdTbW?6isTKjBiH1s^1wro1OL0S$*HZ z*29So{5qpYU_jOb#wkN=umAdT5Bwe0tOL#8cM$n_gP#vU zavWc0^ih2fdguKHozpY;y)*wYos18|KVW@;AKyEd2h|7BzkG;RV*RR4_9woB>E{`Q zZ%qIya37q0o*bLYpgK5c%si$hxdmH!{fO9u$8Cl0EW|P#RWoND z;n`dHDvh7i?An&E#@dAw5qm;xZZBj?i#@n-3tR0HoBzYRFri|&dyW%^75(9iS-pZZ z^8eTkm=3Oo{W_!j8rNK}A6jB?jMeCgake$d2|y<^t?+%Cbau}VSfmi6;M6#OJ`YKI zhQ+Q9ks0i>!V^1{x>5<%o#I_Vh_HEXPgwwJiaD5hAbStCa;knKc_#MK=+P5f_>!G zB>&^X-(1q%*?2=5BwePjubSjPQ6@Iu!YJ`Q`ol3K|A+Ao>?cM3BF1I?7<;64^|q=g z680QbldOig*8A2Z4}%7v_l!O0YvS+^nbm9Ag7)yJNuH)gQIotveqcg?H{jsG(zDLF z_O65NN7tY!^7D@61&(#J+C`X3dqZ>{43T@`VrUNh3I7I-(s(qHamP6U5M z=l|#PNi7X!Z${wjeM>o``{FrEwYq1pvlhSBw?TWv*W_qbPOn*c=J*`k2z%rg5=>JQ z%xHvnKk>tSzpLPqQ(Cmy9G4Sq&C%vQ4@@((V<^4(1_jM=h3dT4->TIjw$Nu@oP(%C!BGDUkSZ4mBFaUpa zMtGf3W_%d(e-laAgE4xASC@`AqMfugVKcUd?S}ohU}OhS6!6zq9_h^o`FU{h!Mi~- zRERH;X8cnz68*v10MQ#|X0g2fI&p%FPmb-+Xh%rz0sLTM593{yWFuiTvYDi+)gFPa z6}eVovRK9dcN7&6syCD*c!ZPHtQxS!%VNI7-Lohg#3kBa*&o2a9Q28HkwSo zh#bF*VF>0VVG{%FoA^1!6jS_y={mS_zp{%t0C)ck;1${etNGsCvXUsgS3_j^=t@C1|@>z;Q{km1A6@f!pYj{YL6zdZ%wSIRhr@C2=nseKIU=`!^q_fL4pyvwiSRFDsk4;zW6epB zUWe;D5wNB2aQlZ3)k+8{EcR8AvxVA`MAJrFwdj+4;9Nn$Us-wEE-1l~9%}IJ_u@Ph zrl^ws-T9uN<{Q`Z(LGvdfd{vYxHu=;vw2MdX?(}%Nch~h=MjhqTOJrvAR?~R23e+~cX zdJ9`3T7D5UXBMJ-#D;j_=jjVjI*+9hjVJqH0#{^J7kxmqwO8c%u-TR0UkHE`_0k)_ zeG`vi9F8`i|1t5UqG#klnU^-cDPhcy72){-ZMY7gmS%hDK*B{M1nUpsW%SOR!}Jq9 z2nFG!WnP$%@9@73nrCu$YCydrmjW2T7b?diGw`D@QLrFn<_7)e=INgW{o{j?|3bY0 z*-t_$iSvVOV-fJi;+tGJBHT@|^^!BmL71feAch2{aBZeCXy> zXs`p8N}b4R7MGHHlKR?U`8V)|z~>&{s|sHSW5eEMBZxKLW!-^p6HhtoH` zY-wUM;Q|j0VM~s`Z}gl)Bg?}6={b?tgVD;|jL2ehY!B!-`Z-l+M6E39K6A^^Zm@h@ zR>RmHP+)z=SiDZ^FQ<nF0^^D6Ii&7LmiQlXW}H>z4?!XC9KJl7IBl7%=_ngAN*(Gtm zw_czhKvNOqE9XwNx)Ec>F#!8qLf3toY*kzwtH-bJ98hx0|F6$nZ zWyj-hGJd3tL}i)7@$MXkVGbc|P^?X(WDW(~8>S`!^F|7CuW0<1Gun=&hxJ!dS@e`@WZexz{d%)Me z5`^L4M_57^`#gDrb?dH2+yG2@6xVaP01vlIhAIDA5B`u#q+=#Ry261y)|t?fY=gSv z@+G{F?&&q_SZoC^mN{kpPHhD-Of-xP0G|M?92XcWmxR*4g&5HH7Z57=@TSrdt5MV! zoA4822WK7wMup+60$o8^O(6e=d{f8cLH@o;emiWBDJP(RNpIMj4 zE;hKn3Ea6TzI*AOj9gzN142UNo!%nE)+_OqH$J}6@5Gz|oOtBx#CmU?gKNk2Whl^h zrl-Gf7O|dBY$ieX0rKBMx^{;Sg}nYCU1$l@X-C>WHr4(zI9J-%#h!n=%U9gLq*t}< z#dmX3*!(p@p!d@4?(8z!YAAOzA|pcPYXyyhcbZi@;|E}Y!2HLGE1RTR|1D{Fo*7e zt2yF&PlRgWGA8Gf`h_SAD%i<20sk)xa;o0s%vpjJyQ(5^V3kDnaA2j;N5+9JGtgyX zO(*jIESEk(S1tMx)GnI#Mq9h_*t|9;Y+l{3HE8CA%|K3>|8v|K71GAN7aV!GHg_r*QCaNnfxd~c9;1RrStGt{ z_t4k{R7{BV`J6bN7#p_F>OFy!R)%B%@o?-q?DsyH6;7PLK=v6=vXH4awN5ne-q(th z2aQ$#I<#6g%UDo&yJGtf0sXU{vXwC(Kt3 z<4X=B6dSh1`fZ5uu80ZwQiuO?88=diV_DAs!>q9w{LI(TcoXl5Li)fhq?|JU&fA~l za6d{coW6hy_2E!-C&$plG1#*}_@dEmqK&y2zS=i_wB+ zMI+`F$Gp(}68+-3c+i}>X!iLbqt6y@zQ|c1*FvzF#CnJ-hAE&rT6%{7w!S!30TR{X zKsP3%55hI2fI)xzRUaS-lzU|aZyr!WM1FJY8i_$MVDW> zY8lq=*CZpjrmI+Q>@X&?6ka!g%0mB&&dbkT&lDR1AT61Pi)1I@e2hqr{0(@>6CMqTK&N~} zx~0i$j~`?ogKD@to0S5rzQ(>9fN{nt>P=c`m@B`azm0gZ3%c87{qA&8BY$H{2o)PB zF`5#MZ5XD*&%@^M&Ew$pO{a5X@0+=pP9WLO3H}a8_a5>l9QGtftQOvitD3^)iBSFL zndn7|K`cV965-b(K(468Y8lB0w_g^3ZC%skI*zM&1#S&u*|#H^g^(_U`CmTC@J({) zx#a@f-nYsnVV9ao!e;~&2`8RWbfVfhDXpDL+qTnTD_<6)6~y%w6C*pgB*0*BHP#e? zEY|f@x$($ZA?Cmpr4Wm~9YEZUR1k4oKvf7>;ASL{Jg%(D!TfNkP^ttb(F_$vX=fGaWJp>&>n6ka-W3NO%!cUaSHZD{V&rDlJFY zC`Dj+!)e-gS`$mwpS3g&Lv=gXgH5BK-PgXR6L#%IyP%r>W z_ySE2$sepH=M}E0hLtXMjpb4r7L=?1P=0(yxvJnee3ODB=HGY7)-*U?2)bL>5d{8o zjswR(dGk%GCE3wrJQ?d@ z4LP?Am1$|mo&eazWqtKI5Kv2z`^6nU>=NLAY&IH)m907Q6;l(J_#3J=%6M=;>oH@& zC+c@($_1@P=|jSixW@sreJWT!0^hng-@s16t#-QK%!-FVj^(*fFfy%kM=+XoOj=7z zr1VUj{HXVCD~7zZ9E#Ii)^ zz~e$0AM~#YkjGZ$H#nt1nvHrh? z06)aWDwYTm&58xi-$wpTbXWajAXotif3niV3gAsyg>f}oNSXoUOl>^Z$a=wE%XY(-8X=qYfL#O=QhF*is7!2$Fvnh)!9%7pi7r*mb-Lu{s-uoZ^%;8O! zRtJt@t7s7|FG%(lMDyPz$=)_o13Ke=D6NOc&+Q>g_3*J@#?3S(SGqme>v32EIEr4V{|QhV?eF?HRkO-XuQ)%sVIPF8VwM5)*pdsivJw;00|a0uW4Ncb*`4ruH4E_o6xPB ze$Iq4oe3dVkhlApzQEC!ap}`V2ulr2Ei?X`!fc+|&775m6k;*aXU$nT!SYrEhP7Cq zpJXgU_CWaNhhqgBOAWmstJJs~_7I~-K`G>Nj}TQDDF))`>s)U(=TW?g{&1*P%XsnW zA?@ZBTEEiVfOa@co2((a6o|m+P4?A>cU7~ontfx=)qL9gE+B%8mJ(>!#w-}lL1R_W zBeTR_Zj`MK4rvzVm3qO0c3|SS}haW2aU0?+1tkpx)gln4$-;j=vBPr z38VEP00+gEx(1A|*^it_^aaZg1r+|v5%C0L$Xh{kVooqxkqcu=!CL)N!Ue26S6ZHi${<`{C*2P4;Et`~d{2^lmf;MLZ8pA(M+WC}U00y0ySO)c5RD(buF4(sXjS z-NX}=3y%JmPDRGlO(3L;vy8|`z!&2B%htfHBldevipo-X^K|XzvJLoW>KafN{+50O z;0h}7Fl|$C$T!oqs{mr5HRL0_YMER(cw>Dj6up2krJ#=xP!`!x??7y-+@v?B1|0;V zKOL&y^{rM}ng=?|?}W}=76bWMvq#a_H>jKeDVu%L2ym{8L1K6yi4Aj(TQ<6ktX>#d zPmi2V0^vZYx$Cte&!^7UKo5C}9_F4&AyNS=o}#JoNc-72P30?^n(EM0zG`EvY9rsJ zsm#vX5Smgqi22g#Dc=|Qr$=*MgO%n>8A_S>A{A!*5cRHGV{r7(9>B<~-L8B&of=@|ClJ{jyjk6d?56Jmx=8 z27SSXx<%OW;}?G}aefY|4>rWfDrn?h|3z^3n&2@|mcS~_F+8!4euyJAocGl|g$mZu zAIOouR(mX3L=O}Rsq{SfTpR~8Am#}_xhv2rMhb_AovC znJJ*04uF-#Zic(X7g}@yh98b0?mhO4E||k|%wajKp>+#T+&TkO37hg;fbus7D39PT zji_~h0LLgZR=j~0;mV8$XJ0Nfpw$k=8uIAi^Nj)+y$SI9$nJx04m^PJJ2*NM1Xov$ zUtzOQERQjcf@Yt8psI9&Vd#aZUjSV3qf>!G_)CJN9w1r4EjRb^DNGCGR)M*DG z-A=e7Rl`bvbUDbf3GIjcFrvJUa@Z=1Obi>Zv$g+VS!02Qvsy#3k}MdB1nQvHYF5I+ zC0jFMLLElky?816w(@0wWaY@{UZh2pdtr>Fa-Lwm)R)Kzn!oKUAdZbXEa-o&FMHDF z^dcs4h3%Z~_z^Z==e&h!lnvP(l7r9H+(Y_A;Tho}En)xH z+MKgFBBS}|@D2Mgly&eJ8}$(g#kv}t8V%YFba8`R37YqBB6$4wHxeRqcVh|i%6g$= zhq9l^=JXR&SRSb#{f))i0}UnJ--SIGrG-g124gYOzc!~D*yFkJT@KM7x1H;~G#>u&4#TpdqttXmoF;-Uo_Fw~#-Au#*Ss z(d|my+O{ej>ys1qzmKa2AfHtCiqoqx%&IOSql2&64(svHrT3xeJ)b8UoG&K|+LUR> zdcdtAMzm|S-6>CauY(UiL^Rq@q~JF(HtM^uvBxTaOhDWA+YbC3%;IKj);1nf4Cpap zTk-*lVZ{Hjez7MEzFsSc<;~W!VKn|KXi6>M*XF&y3SZV;FyF{^ed;-AzRWhmhRt%! z*xlxRS{p~QjRllXdG>uEDhL0tPv9N=Z9$ISSgvu#BK((Q8M4Km_XEzqX*E{h6o1iR z?BzJRx2AqZ*tyI~t7GbPdlLR}7jej(lGR!kyD_VoSx@BD>3)HUTHMxmYdo%vLwPf+-;HGpEt#&M4dAxBdhDUiK@bGw}-7D1&yf)G4^)i$aj6?DL zaO_#aM?A>^I^p?WStoqTQSeECD7db(P%fAuqS(tW<&GGU=)6-@22a(e3q*oS8GEDqj?m`54AO$Vpd|LhA~0(47~y@W*rFh2 z<@Q{$UOtU7!I}mOf2_gh^91Y$Y@qMT2{hF49W5xO#^XEj2X9*OhnkReR4?w0?t(gl zQSB4iw+ZEp1%-GB8`UHDj<)tc;%(4eqK+4@fx^6qy*OIHG}oUj z@Y*U2IPeAnN_}<-_@XNxU_yvx-+TlOa65B~RwZHbjAh?-X(rm7oKw`|Y=O8jHZ!k> z58oQ+FzQ0*n4n8wiuLE?)h-C83;K7c6kE;#zW{PwaZq0^hY0)uJ>KYJ(b!C zp{b%(JjKNsMBJLtNuvt?Z5otqd-l_L*iFjtU%Nz_cDHTv7mX+W;#q(MQ%?%$kY^5g zpJv}QRa-nE1Iepkv|@(4+00}m8Scv640m1X-3)j2%=^SVbd96AGn#cR9Ru%Q8f_f} zIdsfhxU7f>alJ22r#~&DdJE`#Wa0ApapYILCzWS^U zy;UXmJT$g|F(6n{@SB_YBA#$SU9;z>L3nx`Px#2?220U{OB1!=3!H?c)jQQqt9J;8 zUjKeM%l+Y>^qxJq9Jpw7;#mtvnrEGatuji}5Mi+HdB=_{~%EXzS54W0=lvfTF4v zS8uJ4ww|ud83RzGt+OLNt6wJ^eOeul=27t9gqdV#bodO?`)ajScpHqp&Y_hUE!L88 zJjz^=xH%op0VYb%Sx&O^atzWLLG%KsiexpJFAv3_t;K_A6Q$4##0GQ?mP^vfP)1gP^$aAL zK)Dl-H_T`Nf>yhgrOJ_+?qx-b zDH^L8oSHksj}-qaxwk8Kq2378u&e?#4uC?)c76$nqYZiypP54Mk!k2X%t5a<&qkF6 zv9aCZ<8im&8E~LxpPEa7noG|DoS9^_&_2w($L*%l2Za=Y2Ft$XqDl6(};AoEhdF|EywIAl*7!z@*3VcU+MZ(B$L z#mwP{ww=vy+ZH;7EtPLZ4&Z^1|9dbuXFWJ;dFBaf9lLO=`w=q-Y}GnOq<1nAS8!{G zuMPYJeJdayQg&ZFO1U>+Bf@&xfrB+Gw&ZGESWLrMx zF<*WC8uk(_?>h&IZwTz!4N;Dd|FOH&UBA`x2KVp+Q%0HfW-*?PsXLRo=G2{LnI(K+ zxqiBG04W|y?+?cjWV&`s_FXXAHWZJL*&WVUKr&G6ZBBQ*IUcsO%HomZCsj^_%Lc+5hSGPU(HLJCtp6kvQg8sw zjE4k`S@~fT_E%0CIEPN|tULXX*2Kr~goryY6+fH$N`I7lwdbJ(+VIa`hW=@MZuRps z^Lc!l6!nw`@QoCG^iR=;WW1-C*@KoaOmo)BIH?5_8>tS@sxAYTreH1cWVUK(+LyJ5$@9wjVRm7o;4Pfag^lujW3op@-jEy|ypA0n28{T>SkJZC z7&$oT=-ddUnB%at$I>wKZW3=p>&=eju0L3>_*o0rE(?vZp1Q9nuPD5{&kV2#Cr;l zaB}PAREoR}Z-~O6zae51Q6Y6OkoY$3z}5AaN8~F72(ff0fAHp}uLWH>=0!OSPpd?z zn^yZ6-UXI$6)_I#N`BkZOTR>7zb{n5wA4iq6du7%+~D&&QI@e^B&(%mnA|ZoMOE7T zym)Y^$v`yX!QYQqsuM`a6n&mwh!N=H0|G}F|MYEeCq`tieIwRGT6;4KRo$R}pZ+Gi zM^eMp>KIUz_@_hfh%fOs!hVMV@@Uq0H-Ur-#G=!wqW@I9b2-X&67PHz;+?~Y5=^ME zwW%+0&9rNl_!}z_|DG1lj5mm9HtO-Wve;eE^tMuQ&HUUhu6Zi}1Q@E|oVIbzA(VFF zn(HZ3Bn+RBQE|=n1Z^s=S$Pvy;~ic)am`dMRa|oo>Zid|oWdi0>_I3%dyNxSoGaxU z5dV8Y+wx8nd^e85ji=uO@e?%9D-Qb4FV^aI@`;i315rkc$%VljH23#`CHRrFGo`kQ z3!Z{gFPno>QNhF6u^SakB^Z9|lgKEHqvXNur6->l75qG9Uu+*5urI?um|6+u?cW#q z11>v|dzsS~gu}lOS6L3%*s2`+5$yj#7q0)R`~3d28^|m zgF6ixjz5NTe*k>x;10MaqjEGHl6mD0;RtOP5!3!nm4)c(1I~1(^t9bN20ew!`xLN9 z$P5?cNVzJwz?H1USzX3ufd*`jK!b{@s`W3k8GB)*QI$NEi|vXIHKE zAE@a#Wzrje(wmd;BH5d-fCwH#=V-O`h)DC=gzTpLE)GO1a(dCJC5x^u`iZ!a6G0tQ zFvK7tV|pO8<>aN%5z-tsUHFE|2cTpHB8YMOv6)?xxfKAo{DjaYmYFDuuU5FJ2 z2Are*l{(2D9(p+?hl=3en(Wxabu+9J6hMm2!BI;5lh;4%wUhC)+W7<9F|%*%)6P@2 zFP2Ff##8W5+1ErUJSNuvl zsVy=|43kf6^q zhc)586a>qS&BB6v0CoIpDlcYrIypS1z&xDG5 zwc`D`6iR(YW}u-I1u-QU%5XO5*~%7-u6p1hY!#oy$Jj8=>Yx3%tYHtt?o+vrq3t7N zg5|x}mS@@L5};nb1ck2+&rnYoebI{^%2!=13JJ09L_+u+6W;aoC;yaoN8p`95>-_# zPG}|{!1UzIua0an@e$!IBX3QO+@X`3(61fEh+O(j;TQf0a=(t_Iv3qpm_lwna4N_h z2T2_;y9UgN&nR6Do9yiziO)4W2)y&EZ`IjrwAoGlT6o^9M?-khq--3dmKPU2b$kgfUbO$2c zrb<+dHMNUGFvQ{VxdiZkT86>}AuoJpwtbM5b%s|69Mc9>K80SE5 zZI-bi89j&dGNlv6HA?!ME4#8%VuM3`48>K%cPdt|M6EHNC!GMxP>=Hr8RK#SYo})= z9>PM1zk~Lm+5kW|t3{yI=CBXAf45l({|0a1LI@aL(;ZR={X>ZMFK`BM_bdk?+Ea5C z(b8S3jkg@g_SnN|RpMy0I_CI5gzkq9l{P$$OQjIq40+UAJRb|3rFnJpw;B?EHO4^O-|wv@JG6#uhIL5{rM3%%Ph|kZB=l~_(r~QmJ>C3 z@U6<7kY>5=`k=5vmMq2xk~B97MScMS)n62HM1<@|!I3$U_i@2{o=9_RRdN?Yy8l2< zm3Y(Hzq@u}wchHWtAEY~w^1dN3QR>hslb$+rIV3SN?5D90FoZ$0Zve>yB|NP@L+vv zb@y^bmTPsZD$mDY59NC2I6tT?79qre63bu6Xg>>&ER1YbPk09qGYSINY99f-sSkgQze=)QkWsW*215Y{pRLBouS9N!jc;|Z+w4&9RFH(r zZnw+ujR>46g6t+!ftfqjj|nQ^5kCf%(i>P=qQI4NWdC=lY=@4Nzbx?U-HBGR3d zRJ&sT9$g_Xv*3(Vf?gtxYJN~G{R`BL4eO4HY|7=TqLCqONoln_Q<9FPjkQ-7WZ4#$ zske_qvKonuRxJL`Cp?jS^RwQP>0Gq?V1E(O-W7||Sqkr`wNm)AT6qRpWQe(Ah>81LNkG~xAiAde2#n^wz>JZKMFc97ptF1OeP=z_~l z?ib{GTZ;8I66;M+=Xo!JzC=hzt^<^hJUoTIlsa$#>?w8NP)8k5A^~36;n>NIdXdo^ z*K+aR56>OjS$F}fJFz3;beb&7QwsdaT8-}ek4T)0+ zvQH5`eG!qtoMp8&Xk2Upb@%~-_@p~kQC#AR+Xc}LA{;?4$WJ8x9%=pUM1L!9`wCaU zY~v9DXgxiyF!-uFTucRgJT*>ju51o*_H^492&h~xQ5@L6N=6$bxgyrgibiWs4s4z` z@u{J-5hL>@9&V=(%leoD*mSr)no-5X6<=5%$g>zM?~k2r?c*{<7#~EHfieraU87%T z9NHP(0vQhIZO9RF}O$@AU}X)0){)Se_zGQCB9jJ) zGK<7kW%R6H;lYP`zyz~TE7Vz-S8rv!S5K}7#ChewWmUgIq|5{}Ybd#3kqF>Vk;$i5 zb1_^KYD#^eSFs;FCjcjR+q76@b$ zQPY6}Dm&fFL7$ya%Kn0o1H@%W;n=W7WQQ<@6@-j_3?Ao5wD~!}tE>p<8I*lg3tl5A znO`EUYGg&&?84fxN$Iak!Y78T>n~ueC#$h8k#JSm-l3;6Y#lr(h)ecr58r>ZLG#XZ zMd27UwTQC~BKewie>1^`ka!a>sdyU!w0Wl}5J#Zo5`;L$ty@&7I7;C~015?i2fihi zD~HZ$K~qBi(;Nj%$b2RHQ=7T|oU>AB42{1_4k*K41t`EU*tTqoZZV&COys zW0!SOL36UKyk%lT$@h2zK>&q3ZRh3M*?13W6C7#-rdEbAl*DdLCjOinKMW7v_!(U9 z#D3+P-LQK?QWS;;ZNwh+J$3YaQ3L_6P9IT&MxN}tqsi80N#Hslc&S)#p51{Q=~BG2c* zN4rpnHZXP$;qE&CNy$M1`8u#hKJCB<_iZQRLnKG`-QBnx5GqZxTM%OnOi2ZWjU-<| zTzN5GqqAKws5OYHkZ!`U&dnrAW5s}xF+`mHM$?u#G=1D7DaEMo1%LHcPD`h8&7Wo{ zs!l9QBVgAaDd;9+-;A38O*wJHQo<#g$nFLMX*Y8MLVP3TFjnXDeK%xF!5K+!!omLV z`(5ew8I!w516g~@*TH_VHf589aWI$jwXTP$!QF4@GZcsB*0Gjf0p~98_BSS={wmaO z+^;_LG5sx-na3=q!D^r^mi{3Isv1KB3X+K@9sLzI%mba)<45A2xj%59m&#rtG0Kv_ zLQ;k}<<%0F{1S|Da(2oiRL+pyNcYtBr8=V8ljBQ z^8;r`LlL|#_ak$M!qNQz%|WS~TJ5bY4tNbd21~K*DFeaMIB^!Eq->*WSECI;4)zqt z3hWo>qe6-QQ*9pgIgka?XyM2UziAIgZY{0$dVUBZ9m-1b%IFU{v#P{|fPk8(|A=q; z47!lj-p*oEUjnsVN!K_ivR3>=0vg}?L)QpJEAxChoHahx=3j?r7TAhK?BEUdrZRIT z5-+ysM+PK2)!}*qX)7c1yf2aMY8=rYU=KJOLK*bHW(vRFMe7MJyhNUKyrv#CB8`Xg zJyymg1jQms1b{h=JcjISEO+#MXN`hg3k$XHv%iBdEBBJX39=z!iI*9~kBcg+H^weF zLXJdqmoiDxT;>8`{$UCLbyesUWTVyI0Vr|E5lCi%qD?27un}2e4@Mcp4`IJBG6KXO z=g#jN7cRrn;i7Ms+LD)hkoE(=G3Q*j zX1G=wgN8Vc+W*8C-M@JqEc)*hffk%IiJXpUM8X(LZ ziGOx5ej3-51_P0KBW)Cn1qViFAlHIr?c#7`Gdd|cGNW>M;5ABl70U12-x^>d1gIh< z{*x;Ea$iLwDH1c}TSxXKW@c}}SzU9=ht|VqQ43ZcKdJj`FDptqh3s3=t(>n@z7Fsy z_=>lT2-uW(9hMH>lxz(emoRlp>WIXVsuW?gTRL!TzR!c>58zI&owjqiYVL91_%FeS z(g%|`?=-U~?aB5f^Oc_G>S2mL0ADA5QJg_>bG?`usMDBCTLehoi8P)$KK*tmw0A9QQErU&NLGxq#O|`y2tx-F z_qknGUu>ITV_nM~J6>6JI0FGv>K7myT`U4^cTV1VgOZ)tnnp2g=Oc$7Vkn_~InSyD za6l;>cm>Jl4rlZ;oY7y)lg4s&-lbm_!YQIppMn`piUlztrq@dJclG4S;5pM8_2CDe z*r*mxOkX4O+-*GzSj%Pm1;Kn96}g*CI4S8E z|6LqES);Ml8mKzIfZs?rcgWaJ_wehE6j5pVNgVDCIA%a3>mX-hJCInC6T`Hs)?@RI zvoaY!0E~~iT8JeihsPhS=OG|j#r>#6O0+pcd+0{EimUJ74Vp^B3w z;!ff#BKW#R;pO5j__J{58_b{rZ<8KJe?mq*6 zAh^t+dAhxa=uYwbPVWy-!{1@V->P=_L)IVDk-{GdMCWS1g)?`y!iDfX8Nn}u5siXGcg$=!&3+xav%-UVp4QEMHp(_Z zdua+95zG4Z=K!=Bv7p5?VSU2*Hv+~Nd~Z-G5=H4m&SSB}d9b10DeJ*l3tPlJQ0l$> z<$%e*sn7?F2jlpY+CMq`OrNEYmfFFP0KvD+xvJ9MkntWlMSjqHll9>}gQs4k2H`^_ z@M^pVecdIq#traX;9tN5stVZKe#E|SzwRkocAHl!?ElkaO4K+zaiOk{)Mp7_EqmLhgnLE53(x_|DU$UKMa@( z|4*=ipN0QpKOwwb{1X4lzwg0^F!KHIe;N`;4zD_z1d|z zFY;W}ETWnDX&@~DoH5ri#pQ167l12Np_{29O(H>#55RNj5*%co1D&deGY<6?=fXG- z_!w<~R*++vJ`~{8RzKCog;G;YP9IkNH-wbI95Fah3&)6ji1tseoVX0mOEVTAucs45 z=E^hiiB-C<@D=G7D-IU%LU|1vOm5r!ksYqLv(m^It3l8NKm7Z@%l27?a^c_Y7`8<7&O`_4S~n^M0kI}G z>5;2<|K9NQ?i$z>4z73i#%=&KaAo58HuL9dJsAw<5^SJ|A}}~{=yh#aW7^rUH2c*p zo!PJ82C%ll$0=agat%c>=+(1N;d^8I@6P&E`Xpq29ra4wiR2$&sQp&tKQhak=Uxky z>X!;+C&q*3J??N}CvP)c?6;K3?NBkfX?1s_IieOiAiTgTTCKewbE#FduEO!4{V#Z6 zDLlT>69w%`tV0K{4js!@*q)wx{|4RB?Tb>+ZRa;E&irv>C+5GolliCKJM&LHA8`I+BRKf{#s2#> zcpg^_^Q#6imefia-EMoz<m`>Ow`22#A8s3)uLc+2d*PMj@+-OunK{bd%k@&UuCB$I&HYP_Nx7~b z!4xiL7iHJwy1^YcZS<`wku_BMxVym>DKpigx%)g=A0UI{T-DX?GU2LDALXywjdC`2 z&D)>|^T=HE7Hl=9*$b5GC)Ai7f_A?94Ns8hH+xkPW%y* zaqZXb=_9S2eGBYKY2a_aUfRJxtE)sG4je9W;V?7}4rCYUaDZP(TXs=_22?`n^|0x+ z1xF3`{Gz|5!y~-u!0FNSDk9IW=O&9;+0qYDsCUFh`_Aj)vwquQ0Z#{)y>=}7*r>POK7qad;PUBq%UN%A zX$XhD2>CQIO+JlLIG1j~;?q{%a2J=(X$!JcFNYa!H>t8^r_0yqa&O_ugSRK2-18Gc zhN>-2F?L&ztaBkE3j@bWQ~)8@Ji2wyZJc_zTqQPoeHg&H!mXQF>h?!@M|}Nur_1l4 z7Pe)0?d@?yQUd}ZF(~5_GCbPkhPGvNu3qqu8V~N*&HXuW-@Dy`yRyf1qz|M+c|U!C z0DV#zTs2161};h;Py?Tl52%&!y9aNj548R6!so_B=k(m+c_5o{U?W1o+P20;TskQ` z^m$LU2d4mzVh&E9>$xYT{?zt7@c)!PW22v*(1j5Q_H8g)gWhAKAHoa!YCMt8DtO`T zJ$T#pn2$5Ietg%RWjcAX9_bVHCa_+c<3*{r+^v^b*=D^F{`ULeeUAR);^QOxf27wO z5`%FG4e|$|*Irc~9$u;aIe3`(SsQv);}gY!sJIeKt4N00c2VJeQ83VNwOcZwX5-I9 zj47ClACo~Wlk)N7vZ31Hmq1pGEhhgfj*jd;s~;j~Vtucgm3~CUQ_wUOV*xH7$${|v z9@IfMPZ4kGv^K4j@Qb_ht@Gb;k(KsQ$#t|-h<08V18|87NcC)I#OK&Twu{Ykx`KoE z*|WC;HD=EjKFx;P1~zK5k-bE&M@Sx?UfAhJ`FJd#`Uq*aWgR;G{%Y&=hN}u~ZV7q{DMI_2B53cI#eXZ&9RPPok-%$9gr^X0+pGA0Q z(?Zi0-nlNk9r-&#K~*)i0&0Wc74U_6>cUrjyyI*3U5gpeu8-T0Jki<~Pxflko=1GZ z7uP?bbV3@C55@kSKrULBY=R+hHXJAb+*JE%4W#TtTJ5)}Aoz1Lj(~>EZpPB+w%v>- zon?+kfcY&sJi{k48@ln}Q4lqcKj5ZU#&193fuRieJ+BeJVGb+k!{qs=Dk23S_za*2(=S2rDgBm;+S9cER=_yN{18x+bs(DVpio7UjJdr^xlb=-2DdL7xMjb>o-tZ(7>`S>@YX+dxvkB z1E0qmarHqr^!MrA(Ks+v1Lb( z!Q~gJ&_>`&@Ke;8Tn4Pd2*klqKZ}m&5!q_}0ya)IlPY;PGXIM|eZFBBBfK_A=jW>s64ltU9<_%7W|YR;AQ{1&0Kp=k(A=tNtnl?0I}3`UCy}1yxJsiYcWRx$piZKK-fwth-=*O2kvo z?d?rsyQ6QZ;yntsh*rTwvDx{v+5m3W^P=Z;pLIL##*6iR6_>?(E*FpxO`sDY5E|Ti z(AK47#PfG~GGZVcYEn8+7=qd<_jz!D;zus*t4y`Dj}@vKXND&dkQZtl!Tyy zj>G27SV&*$XPM)2v4-ki0*^-2M^<4~pP)HXNaavim>>=P<8$twNs6}{fk4P!Y8J@^X|h372~7)>~_fV|HQfxzBLlaPDlSo~fjCh`_)iT#5XVNy4 z{G^2vbEoLUxFO%RQOuclYMKH7PJI8V+Kf4O%3Ejr1#et~RNFJyc0-yv;prpr zCj*tI=@T#~3;@ja)7k>C=SoK}g8aon!K@tX5d?9g49A{}_UV6*E9P<3QgJc`U^_ew zZHuQjR;1&}!^acp?=5SGEAg;g97vyU=E8^>l1DRFT+6!YN6yUUoyuo0f*{dP;DLYz zDDO}o&D(OT&&k*OTfg`!HQ+0J00^$50o<%ln^UiYc-p#0vZ}Rb`Eu4;qR_?&b;XA4Qu3E+*E1a)`*)x$r2lVyq zvi9&9iS)n@d=~9HIDCW&puAcZm!r9k;4?1$y>%}(!yag~TI%8ik5)@nS%GLM{67^f zX>*^Fx0P~H@h!-vL3nAkugcpQSnSwgGX9-8Ag#M$yTjU0LJUm8M04 z_%ZwtI9jKA;9drUO5*qhGLN+LKvnKckA@#Xxwc4nSZzv`yiw&_5aRCu@dlKaEW&uU zzIqLv)RQmK;~KnQoT*3P-bAPLXpUl` z#85*O!CoXEmP64vp29OFqkHck;-#_Qz>b)gU(#g;7li>NfD{skf)wGh{*bE}4hlp^ z6?C6Jbd=I>mSNE5Sn4<0Z(qb<9ePJ}1N1o{H6h=j&yCBec-Yb9c3ZgmiMpIV zw+tcr(7#Zyi$J5Fs9%hpfcn+XYTjR3r-2TT1B##8L(kQJP|Utk`cU+#)t(MOi4vpIg|=7X0HzK!8_9$t zeETv$6naTYZ#jXp5MOD<*GH=FDZPdFXxP~pftrVPl=`01i+I75{W)|JXP!)W^6El0 z&wiMvH38IxN%Fn@K&l+n+3Vg*)9b{0wvzK|tJB^60Cl=?j!t)bzWoWB;J(9ETLl!I z=yNAX*=qFc(837er4j`Tr4zdk4Bq+x?9BcLemVQ1hi^uF6w{Bvc9uQE+ZV070ExT2 z`(>P)Mwv_FK^j|SWnfd}ZjkKvprbkdxvsw=uNva!iyZyKcB`B>{9q^K%hBrI#el72 zn`D8*D#!(1$Vs>h9I5zI3;bxcz^j}E-lIHyfzzKG_Y2UnB+-BF`ler-GuwaO9fvU_qQIA;|CJ8?|JtGdM2i0H%Rpx= zC-k#amD`AN)*-5p(9fBv_2lvc{TyllvXvY{#t^Ne)~@Vkp3-y zd=>2-(bu|{LJ zV9$^uil2c{eg&?Z+TTh3j@m0xVt-yR-v%PAl#jtGKmiz zKKU&Mo4$WM8Dq6KruKi@fK+#wR3!$O-yDNp1h>~ftf&hkAA%c=Tg6YnW!&@JR1E1pYO(V zT5*q`O+m_LDt1@HggcnrDQNKiWO&BZT>|Q|mO-{ra-WIq1dPHlzKjIW?D5xt4hExH zdVu08lVMU@tHT{k(0bI}Z_@vdSEJyMFF~Pt&l@jtyVs)+Y0lb;R@}C+LFE0kaOXYs z?K_W%^hZyZjnD8||6v370V#^!+SDK9jPb(sFd_ zIj!d-Hy~gA1(;p-!}x_a^)ttQQ=*-`itFN=fOaCTuQ|2x&eI~Nlrj!$065*s(rTD% zN^95=$k`5II1Q!M=l$wDnT1@n&3=&^KYPP*(r9)G8rSBQf;ph8zUQc})@XCjz#H`R zS>P4?VE4*D9eY@8l(>S;q|LL|-Pr$*5Sa0V(U0n?owFGY_bO~xDYmIte{VP{vpuy;enc*SZ zV3M%v-v$jE4fZxHD-6`;yeL%DK_uY0{xE?IK@aEzUg^sT$Ffhn3fB_|sQ!)Z=Pxct z{|{kqiNj_6ar0y&e(XQs3)Lg8K_0~C@he68-(g?jlKwZ^$%yx_JS^}EoxB1=>g|hA zH1LY%JO%OO4hkNyJ{c4fX70c!2H`f`HwNOZRfJJ!i(|x#BGuMf#8$pYj$&*}bj6in zS5+Mg$RSS$@DoH?WP4p19I~%=6*6bwD}o+Tcx7=Cm-T_mSn&u#sO}HDgs*__ov2kEAU^LQRFpccLtEGKm8l85Xs6AqI0*>k9PJy z6kWsDbO@L-?bENY9%AR9JEbQYamqE6#xZbT;$!ukf=BAG5#0JjiPk`@HbZd+T6r*# zJ7+aKI_>_7Y~mgHDo1fmcn?cgN$R{t7yom|l^^F|K+Iqyy@Y1E4t6X=mUOq45}3FP zf@vmr#5B!rq8^E#z}*HYTX=K%bFRGr@8Wo8hxx{1*Xq7a>}@4dN9n#T`b9XcKqT?3 zv2tKhgIgQC0}FRuo7puDfR~y5>hf&gE3=^f;cR2YG!%^uzx=o^(1j5r8c60kM*j`l zx%lXkzl$aS9(4q^K>vpQJjZ$vPHRA^Q}k&RWvD80$$hEA=vJrp%E~uZAmI4=O@=8$ z>~YSCXSwPC9!IK!1=!hO4UWsRo`_2aiN_Wo8*{Gf_bGy zxbF2)nWN&H9s1F|{IXn>SPd8P#GptKO~rNA-`A=k0Is@B*E$_6T`d3_ugPd8VKjml z=QZCA!1^bhx^{K((nKh}^*7h3N|4X|0K1tNl$_(5b#1ZJ?2mu|z87LmJmKk^u01qz zlaT)g!4GzN+)6XqxRdchtL5EoOmT2JIwZ*&E39tVbWv@RiQohwZhgLnQcbMzzrmIS zn11oiY#eToeN3AMtD}2fiT3pyWKD4$xoe8+%RN+?86A-oxde?_GvJX1Yb6(sbsx4+ zZM(e9>#{%3Ot{=q=MjCkIqRUk{ZdSiR?CyD;G7O*qeFduTf^<+&pPXbu=LJv=Ha!X z7mmf+^{&jCeE)-SrAc2- zGuEScR=-=U1^6vsMTL|UnfMH0l%nSp|NRsYaN(2k1d8tKqSZYwgfaoO5PCwrI6YkU$nXhP?lehm#-4LDjy^tu1hhNwUuKQ@@cU);~{Y@kgVjr zLc_|(+tZ6F6H6^rCBSa^r-y$MO=9Z;MF;Pv+H=>jgQ*?X4QSftX3ph9pm*TN`WB{f z85D6BP{Vl6Bl!Y%`Ge%G6Wj@?@uZ@GG`x4{5xGBZ^=fa2iH;Xhq{+YkL-;RWeIWQh zAzwR#|FuvoQt-bF5BtG?+~0o|{C7S5zr#QAw>I#HFG{}EZ6mv@5JVVDtvnduWPHHH z7yz>H|0C^9z@(_I{{IaJ(M=bn46V|xkSAHN%Z5*il05zeC>8s_o7l%C%Eb1W_|poP}QWBQ2sVQeHX3igO` z!?UH_(4AtD;BYiAyIwSZEXyg^xt@A9AyH4+Y388cc2yYJFU-5lKUy!Ptz-B(etR%}-s67h)Lr3gzGMUPhowN) zeE_9EuHcQp_@}kI1G4!r#Pv zNY=IVV?jSp)awZSWzP|6&laC!TCKIixR99UDx|pAqK0iFyctQf-Veg?4+CC zC<4?O1wg$601KPlUcQz2MZDtD)S3p7-KuH7yIP%}Z??$wP-v9U=%0MI>kC!i5@ULE z`ZKDC-wW9}S0z@f0BJFY1=357{+nj;HX~=Lc@bQaPX9caA7N%pa$#OU7SC6eRdf0} zS{c~-?r!+wt3TB|LzBiSIpxfb%o_hCL}>5?D02N8pBO&%{+IE4Ez8#wgX}kdibd68 zR^a-6zdZgCZT)6Fw(=!${bWA1+Ge7H3()nNb}%remqPkaHx9dNuK88!NAo4q>D*O3 zx4!E?&x)jI@mr#=&gl@^3kCToS{mHEvm@{X1DtDWZs}kqgYr9-^6$SWpxG;)goR2= zDdaMuc76U3pIf-tF)PbSSmo2w*L8fQGFcB-`rm>$9gCAbOEe*egzT&he*tK@n+B4^ zvbEQx3r8lN^A>EPfEF9+4cDJUa@PUr4UIFz^>TCMP?fkj{sR1*(mx4WaM?yw1vxwt zk)7Uf!z%9c-Pkg!B{iVjjuAV1rEJ3uzf-9B(O13yGFKZ2y|-I_);=Va6-?3Rdl!F&Tqd4AxnfYnZ))h@V|VAl-j>@dV`mi-r=G9Ub*hKjqHAJ)*4-769(5iZ9>!o?Xo#mJe)KqGh>{wyho zgRj%i&lcbv+NX@vq7f$3Y>?!i@O^#xW^YMZx~0auYxSt3l!d*^YVM|P3kF%4$bZu~ zpm}r`Z|>ay0H0>Q&o2|DJ}}7slxzFqPx~CqOOEJF*|o64BMhl!f|qOOt2ZM#eX%vfAC(sPE4ZNgSk|* z0}#&ME+(VMW#~6A54mFn!b*G8EV(bnL=c*!b+{JFOG{5go7SA)i#M%@*rv5Nca8`k zN7l)FpJ!`}ArQk`GYq^s(%1Mf=bSl9ZU*hi>AHyTW{<{pgN>)#97S zu_1gB#1rpFU!Jo4XyTj47wAr4A8ZTvV|nTSQikSWe#QICr(1i)@y!RhcD!^M<)V3b z=@&Kpa9?}ACcNAD8W-QZYkbY^Pwle5?c$q%BavhAKc(@_*iMRVKK{Xyt?VbPw2N&% zgW(15A`!(0yWOwuN2eiO%g<5spG3yohg4;K@Aj)R-6Z7SvXsrk&mYge-tEtb%#l?$ zQ7#H&xyI@=0i0d;kxw=7**>y7QOJqb{b}ES2P3R>AK9C)>kOj3WETd#-aj3I8|@{( zDt%N@gE(xrKVHTFG}F>pnF-U|?T;%!{IkV3 z7wup7a^K_qYm09#+Q0sk!4$_o&tojn{`L6ZinUg=a}6Vu>|cMu2-v?qlmbLPKV)sh z`_~CIv77yCBm0%i%>)&WLS!rIZssTxt@l zudvB~3wc>{A=32k$XCTlKPUsw^f+>|(jScsMAS(}{ehy|PgocE5QFPpq3lBBtUnKz z3B}~#*DmY${{9TJ$e(U~ns`MrJ}HrH2zNTWp3Z_=dW!5vp^S@>I#EXTD;8IDEb&Ka z+L)46Yz`*2`Oo~oq_kz2 zTF>-TqyB?fj8jy;MMd=;wNPZ?#^-`W7Os^(xyi%U5(x7IfV7x-X;SDzMOsbzIz^^aQ&l z3gEos`=;j}y+71*Qn4h|Em*Chw@5EE7WCU%0Pt`0+o4E3>9=EP{@>^~SgoMnE=9!0 z`Yn5P7;iP9L@ynzZbQBFCU7l{xB7rLyNkE_9KS+wyj4L@eu75vXJP5stt*lJ7wgL- zOaoaQ=cHg9BZ>GvJg=kmbEwZw3=WOIoB1R7N~vA^>k_55&8oO~(tpysizmI8yCDda z@zUSmRnVQ5_NeEMVKN~-n;8F3^xT1_KtnxuX0e{T76Ix10(oP4ZVN&-(sS<@^oRdd zuu`lKMl;ahK?*py_#NH%SRV|~_xXkI?=a0`ebA=aULAi2T9bdXi=O)&b)cD+>bYrL zWK|Lqy1X#XFQw;nHF^lgc5z^h-$eHkOL3C)wu}GzS*(w>MpgXR0g=v*g%#!{vY~n90kyC&ohxE7y7ZRM9A8`mB9s?a$&tB`B^HD@EPptfAZ4Gc8}6Ccc3TQ zl{>-hKvePQclFw+R??E^C-VtZ?`^aeCE8?W`7bfG$B4>eS07M8R5kF-n7AceYnAU zzQ6MKVMKt|YVxL|(;5d$+>3?%K_V9-Cbs(TFA)w%Ps$GYO8?5IS&3)gV23P9SgO6Y zaX5jT95A@@HFS_q3A){(u_@_WVPjHNK3!<(RaAs)ZZ2x!EYh9kZ@_EBW@WkiQm z?_9Eq^h#^F@=S@9T>le8M~xXomJsY-5UPY=kwcB`(+-V8*P5d-xXMO>y<+qcT*PD1 zJc2XgXAbu$m6PjhZQ*_x*UX`DxjoFM(elrQVKB|3u^v9>Xw{Q20I*JCI|3f@-&K$6 zr!Sv|i<4rxIfTy)%B?p`;A8l88{_8Nsn0#6SQgo#lkm^s=#`$Y!$-kWsP#{FPg<1m z?I`!8ZFHUnxF=kPdg{p&$Gz`eBw@yh@Yb&2QRlzy#U}q}NIh}PYb)H}kF}4Ie|(S+ ze*8ge1oe)^&K6xmyW4z|(KPTad`eWQ>L;^L=$4o#&*yisv|Eq2Jy&rI;xo=4HcJYE z2>A&VEy)l=W|Hbpz1bNxM5dDdmwH#WkR8O|_hON7?Vu6n-207sBi(Et@-rp@p61>q znZ*-YBX?;ovA)QE|E>yiv6su-Asm^`oXhL_{O_vNQNG7TClLy{hF3a4&}ZdnrB(dM zzt51&{Uo>1YPMNtOA2={@WN)DYu>2$u;UztvtGaRzt@+xb-{ONUF*REy8P6gb|2ct zg=3pYSkl(ZE@E-(5_h)yuOpqsxRw#rFoO7O_a5)Vc-naFe=XFD^i^)#N4(Mo!MZtP^m^9X0JIIy_&WAAa|79oblDV*J=<)dfnVRk-iXCf~;C3ZQyh({{dzcm0R{mvq9%g+*?8 zL-HDZPtZ2uOjB55e$=v>9vFVf!SY>?BLTFb3gD;|tb+w8w0Qi&i}PcBjo1Dg3(%Gm z_!YrV-%UPsug^|gBisnTb-5dbOfQ|M|C-zw=Q!F-J-%4+(YzfYaNRC9eei`@fWV#a z5`OOdKV|Fy#_dZAHB+m?^?t=8Cif<;34Jj}SD6-+rI(&!c5G~?GBin=q$0{5BP>|K zW)yE(J-$-lsmtCtFgV91rT(3Ntl7{$#vPD5L1U}|cbrc-YTy5=C<|`10avs4_I1(&fcHcyiZPsS3hNy zaigX2+sd{>fOI#z{)t<2t(1#>J=4W`CX3@Q>vKnP-&4Y_vf^(Q#moGg?mW(trcV>RfOQVjRF{b(bflWJ3 znR!}rX?eP=77Pt$m9=jANeVL+tl8vrlkyNZz`0!b(zkjnF(E(tcU#JZ$_g+xR&qAH8cpHJ zYbEUVAHZ%am zFysCFgmqeb&V7*g7@TZurWGF=y(SkX7RW~%aIPM*-$xzzJ@}2cNpB6IYRpYT%Cj`Eprx>0A8C#Urs!_(MuO=Bi~jyi(-C;6+P4cn4W zt{e8E*5Th(f4A-!J;p1$rE|Xb_wwgXSQi0>LKKXZABe2wdX$6DO=6Mc=`|3`)U0<$LcNjd9e_#*g#Y^$v&Hwe={?XXGcd4gm{> z52nj$9$J4rLP$~wS+AK90s0ZAt_DBFD5q@Huxz;gC^xn#8yN&+*90zF?+^)~A(4}9 z<}vj+5}83f9*z$1>SYE|Aeg06OU8C^tM%rU9Ris#;6(#lIqK-tshR}?9YvFJUGm<@ z>v4`N2~Q%i;8Uy91klxA2M+b9C5?dMF9wTI?8|!dktA_jtf=!Z1gr7smHJB>$2;C& zozdUl#wi}*WyJ9vvDGXX`9S$ZHe<`M`pn*84s-3cknf#>2_dS#k=;VoE2AD#*~Vqf z7R8PY<|2d^)7j5}z8sE#SEIBJ!XHIWvtxA{@XX1mAe>4+OKKWlVy!P-A4{9 zCf0a!|E3v3-y?h7@=Sq0m>li9n@ht*<%l7LMP;9%C5y_o-JkdWHLDU({&nb89adR@(M(zf8C+GE2+`psIdGlre6wRwkVP0?8yjGT0zPqKB zBb=dpTdLU*D)rC#6=hHin!yE04T{FJA3yMrYFK73#Fr5{`RE`$+hD$|EH$BM9Jk&W z!*__r;bm|nuuy=+r>wcO#ye*Jm%Te%LOPd8i*^Dm2JxlAoyKrwMePkMv{!w*hhJ))~#jF&DH_I#QS$G14>=K3jV_p;JUR7+>7p6(#M(_V_!HgelL0e_Ll8QzwM`0VhQM{6bQ@e4SK|NO_;kCCmTwHC`qt@DnxgM>#~{!hI_b8$J55(!~=_=gkx2|G5dSB@&o zr8Oh_-}0K=QaG3gFZXlzYDsSasYBUfu@5p2*f4SHwP46^WuJuo?{2?9HpJscV9l~- zE9ArP@2``KRxXLB{7Y^T>MM56+oLHG%H`d)FR+^H=%>KgVlv)k`_E!BdK^f%#rL(+ z$@UzboGqiY>|F3(1hZM#j)I{?L zZsdC^RZCrR35MYrT-*_dXPg{{XK4Omc*dv$iYHz~-`IWI@biYvq#gmcvSil#D+sZp zhs1hRYav5sXj4o)v|v*#=Qu`@qk0cE#W@(4t~m^gD0IW+dx0pqK-2a5`t+z6Seff? z9a=A~Z-!{;SVZ?x-qOZ1VxO`!sY|&Ea9p08=XsU0l&jwDa>lb^;kvsj>Mr)*h4_l| zuuhfb7Uf}8s9qSy5jOC6y^(N?xg z23L~D%Z+XTA(U#sI%s`P^DX#~SD+=QoY)UdqU4I1nGg{X7NQib2U=wp@$n3O8*JR5?jsRx0Wf{|Xp6?wL2kBq zmpibeZo58f6&%ZAjmKI9r2@Rzi)(9crFYI@iGHIZctB2;lWMv!)TJO zoOYJI%vQ~HP)WH}rRA`-DEGX|DFQ_80p*bhAZs>sz#A}V7|HFW)07iniX%lNxEbt7 z7X84>T<=z=Ub$f>+5k%Oh^;kf8q7-I7yQZw(IkMI3#~YBP)=B2&xfFqGnDoAAO|P^ zQ$$^q&enPjli$uBjO%=}uxrsHHpJ8m{<%MFSG@IkGQb|#9CJ9)l6|cms{w;X&oO5P z(-<$yv$5y9{d6oEVzdHw%z_T^7He?K7Jbt$A92D+aA;I z^z+(Ii*~2oJVh?ST#AHr73**Lrwf8w9#)P=U9P>SjFy*9i+lOk`R$*0C&817JdhHW z6xVtWDb9VTh~FC+g_c>v$c0r1M0n>H@`b%2wTk$2hXA;L@;4d@eiAn7`q$|ScmREY zKLaIin)7M@S>h2)Df@4e9Vyh*bEpP|J#=e@9ENuGmowmmDQM%aiNWj|zi`~O>dE{S za^>A+sg_m+*T4jVYqb8?;4CI08sTTx6xG}6Ur0S>9ULFlGmsVg3$hdCf=Mhj_x`Dp zCwoC=k!PSEFT#}CUb-s}juc&n<>pVyNtHq*6WdX(-*Wicl4vP!JP4AwWGVkNtXZbX z5ghuq1&6MZyXtM;@NJ?BOj%6XW$r~0@M=(#%d$3BgZz-;)udPliMmL%H(pF`iNCG`^g%I_Ye+XDoJ%*4} zBoH8ISmS?0MsD8VM)>=;#c?&>%Pp;c z2X8gjW$RxH@D6WucsV-Zpisk3TinC3tIMcL6c#Y`!+@Csn4vuzuwb`$D)USLCj=e`TuG4jLMyY`WF(!+ZW_j=IJ(y6+Mx)3KE9@V~d0P@YdFk$qCVV%5cVR7~XMOU!Mg{i? z3xa+BU+7?0$qK#$67X-;ct`UQ%~9*sZVo;M%k0OFFN!k&(l?rs-a%(;NvJsq%;9 zXrRD#K~@b#{c|DwZksc@Vmudy?ZJNAktXpuB8xaq?v&f zeZN89AB?{f54U}$6v=8u!?m^biiLkrPDwuhmCu~bp6c3Ro#WaWrgko+osa;;HXiFq zD98}`RSaZ*Cu=S~Ksxr$qf5f(sqt8x0e>U*;RxCzqhsd?X5DP(+eoaJqnG-I>(Z( zk1Dc(hiomP4@j+9dsCM1h5I|2x3Qu2igZ!F&pq&a!Pyh(JsepIAU#i3%IqJSiEPQ3 z{2ECh8Y^5Eg?^3B`7j(WJ(+f!wFy{l9SpzNb?}3v#qc@1oZF!X(`xJeuD|;1=7#Kt z0zj@};SHuA*3Q6y8NI&^@nz36#8r$qax@KVG4q|_WfQOauVYk(&s+TGdB`PRFP<^W zmF&k2*?$qtt|4Z$b1W^ccxL~Y6E(e0Yyhvc-Y>Znk4JbO*FP+}$^X_rA(!U1n6Be; zb-9T!viP}6ZlCZ76iI}u2oPZ3JCG_VX;&#q)apn6L7dbKhQ{Bw`qv`sY(FQkjExaw zhP4D;DFx@N$~6lM#Y=(L|vqgHy;{D(6kL9X^6 z;AcdTT8EkS^a?-fbfVXtXzIKhqWr`WrI%KGc71k-BT6yKJ-{y0A`Ys#5EE0RsEx6Z z9=0`PKML^=r#^BQh{s5Hs!<2N`n=r3;s2#_GZ{i(V?+S{n?H!Lztew#hjtxcAB)~? zk2K$BVAo>EwWIfoMDO!y0#0Jkj^xkyCZe}^%nSJ>X3{il5=QrmXEnNigCE%2Z*{Sb zO6h*5Ka|#67e#b$bom8&IgBpvGoV40ZFWM!zY7x$tx=y1!4oKo+3e)-#qQ`%gBv*> zMe_Ys!FuSRwEWD0;o*yq{9kbzUOMUbB9>A-i0;St4@*j{_?Lg|3eTZ1wc&*c*ZXGV155E8*;O73JzbzkEnnI;$`2NCaYJu*w zbKjEklw-GMWEXG2#lRvK(>oOfI~?Cl+}>aw)G?qa;3M?+hx2Z1smYb&QhQ{N^F8MW zrSrXfxAXn++<53eXLT9Qcl9;leB&YYDNON3%EeRs9ZQD76upedIiBV;9)jNd(@x%+ zjNLD$aYx|tfW;<&yTha=yQL=k7k^|EeQ3vMrGGR(BiZ{s$r7zAB~Np`a%I^U&|z2r z*a1?uD|l_zfSrfY9g#2cCM30o*$*-L6EdewwhsJtY#Q0#2>#MvsCE2SpL4Q94wrxO z*JPe5OqwE+mKxm!KL#<&kg5J9Grx8RQthe89#t%EHmEgrQv)Z|Hc%yxNzK73&&Li^d%sW2=$Y7#jF%@HMJm+6i+~_xX$R(Z& zUZG-PJ&4^tw!c5ls;8ERt^JYppnXsy5AeWLa}Cdt#2Vv2(^ieV#;-P&{M3yXHE(ZA zbu}xXc}H97R@@1xz1^eC7Y6k!ib9c4`9eBw=Q)g>j4bWUP5Ih{2 zzcXtMFdAE%mwAy_YHSUE-8OlGEzx7f+SnfErL%2*!>>e_onB@UKWMelr=7-kRCE3= zH5rDY+6(ZF{MFZ({)m$zn_WFH+7dn)Do-6?>wZG+D*AIO0S6*`ftHC^mWRs^=AUt% z#9XaT6tpyQFsx(aGb#hons`^t<>_BDe{G~sVtdMMOT*Ds{`EJ9yrWjGfvaF)e-)pzizLI&#%hQMGsFZDbmv#&=yc<&626M!7h`I_Z({qQu86j~$$=c+-}Dpc zu1FX$&)to8%}u)*Z?9d(dn+<=*YRqo7i!S|$9O+I_e+fTLsP24yzIUGUCEz=M(wBkn z(i;ln_0qGPW)KaxrQ47Bs+`-v#i#m@#C^mn(>8Zi@x6LwVRL|npBmHCa zo*%c95Qiv*e585h8=BjQs?k27L`C*f5Yezk8Q9Wy@gDXi6*fQMO)vAm{E#xd_xcbB zbUq>6i;{IH-FZ#aR7b)gN7ph$iwU#Pl`2xZvx;X!>Y0i50dJ z4bi%1lfRTWC7UEbJ3qwmlr{dX*vcmVf_Kc}*92n}=y&QFg@J&7bfx7@)Ba!ZS)shO z>o2(_hTMKS(e@`sVi@v&1oX@^siRuFnzcq41%s=-x##H>SAGCOcjd=wVfca0hT&~B z&2O~@$5Et6fEJw(QeHM0SGG?V?Y0W(p_25{%XyF%l@60O`WD?Mwd2<3k57s?s}8t^ zzY1#N!jKj4_xc&feUkK!e8JIN)ggoJ^TZc;c{tw(um8kb@!DSec!mm4^ve8S*$)G_=85S(@x3|XK15;XL_qahuDc#-Nyz5BR|Ok6Km zy=Xx5R;&@c{sjFP6rrJK`3(^s^VD^fK(WVS>V#Caus~1Wt=}E|2vmva=~g5{NKZ5P zSq#5R3(p3>^Wx`-ZZRS%lCIxssF})XCR=9qmE3=AjVT-y!{2`&M_Ca2{#(oU;G8=o){G$;Jv{_b{9pEkLwoBFH8Cs)*Ko{1tnvdtMlUA0hBq1U3Sg>7M`Q|a)0$ja+q!M z_htPpo8%K(uF0ndmHls9+bO?1i-?FhZ|T*opLZV0L;A(=`&-Y;ZCL5eS51(IhC6Gn6;T zp_j=MBNYs_V)ZRA%s7A6I>e(pPscr2UV0H!OBR`??TOUvWPU7|?(8i&ozy%>5nTuH zdDlTUCYHKBbf5t{!}Wr`HMf)xdvRgO`M0yySwS{zTgvm_S%-A!GUH7|Ux%&SdZz8M)gQ(Jt6LiJOkGag&9Tp2xZ9hvff`LaF7Pt-45CQXcuqgq zCxUqkjCIAn!t5T!#h_#NPUSgDLkUG9f%%OP4g5*mQHN{EkQc2^@ZDX@mgspoD zX{KZAPR?tOR$(#%wYB~U{?OaIFX z{8ss7v%b5tIx3^QnzU7=cP)75C=<%Fl~(SzyrYlccK$YPKMd9}v2?JP{w6=fxHoE% z7%mrnV)~$8GCD%Gq-)c580;3&Q!Ms%B~qknOxo+bThn$VT`OErB%2VaMY8GD(n@Gb zXmr-%vegOGtu8!9q!qHPw`8wTL%j6fFd~yn@1;1NkgMMs4zN%OYy@i!?DSYPa z|8jaTk-NAmfgd*WVv(3Y!66*%hBfvTYMP%a&rK5L{`eqKZs(fGHDBW-bkhz7a3{pm zwBtxGqcd*B@^*d6gy!C8SoJcqkq^Sg1=MTZnatk=5Jo4nJDRp1+&Ix&(jl3BVbp*c z{C%T($WdBTxjEGtodnsP`Abg;9g`If3O4(ziXZko0W zWG_wII7#6A=&NEKspMcYO*);4Q=Q+m5zJsWUg~CD*w5p%649gH?+D*l&{6chh^+FH zI8EtPSqXv7xKzkB;V$E@#?H*vEJgSh$($>&Rs3TP7WP#3DFXA>x)^ED(pF<6=7iIu z1GJWF^AC2DnS7C^bC5W8ZK?~b_dP*8vIjDn*X6Vj&DCd)diOMc2~Id=l3PF%MLuhB zTd!CfzLL=D(j*|_FW3w2i&{`Hm0Eb0F5~jQq`aZ34VcyEuOfwqcAfkl!?btzRP(k| zXZCi6NO@CPb-j1rM(?|~ZsXgnpSJ-AZ^4l~)Mhujll#rv_MLH2+P`Z?%@df4evDM6loO@FQP`Q!<__cO3izD3;eeO_tI_kGIv zhHTIN*+0$vcLRWE)5&FxokIjz`YFYxF;bjX@A=ceErho>Oc0PoLc(9RAFbvp=AI+2 z<;;y(^g=UJrie{178&M-59YHB**!=59eI0r{>R5=M&wpi@o&e`gQB)e*{Wi`cxi*$^0X` z$1Ma+N$TK5$wKh@uTTpO8GKA+0ZicN^_+5ByF6(J_SX(s)wE-1s!zT<_l~wW!xeQp zwDH6I4ZZW%$)nI}=4ZFoV{LvTx6c|vhD5WAslZM&X6FZ3q$`XWs;Gl)>{}hI=|XOU zMU+u0hO6%9AC3@vJug}6pGR;aw(C{*gJ9XPytaV(i+s?`?Ke>vv6GEqLkatRGY4{>k zLPdIKK7INBO}sW_lAOBUThi$(*bk>AyXIOOIq5> zlFK(9Yzye`KDn8TgPV2&B{t`Q(wHz$#GF537l?%e{JE0<{%EuWo|SvCO2{04B!m0Y znKn2rhDY^>X3s+eh9eyyTuh~Hzw#m&BtLxZ`_A)HSFKhWmj`E3*!fp#&a2DrtYHh# z(k>=ZOYw@@Te7z~R6Z#dh~Atwc+J*b9g#UCBe7*y!FW;9pC;g^GO6RU+iHhwL~SSY zV<7##0HHD?5}Wc;YjW#L&F`>+8#wb7nM8-k6x)#M(z^38esLZ{VQt&~A!?an)H03N zg~8S3`r3MRTj}7kHn^L;Ob33{#ZzfL%e8ku?Xgo}CRFI$!JtRPedvtd`}^v9U(=Oc z3H>Q;{9c{&?jHi&Qal1QtEeg*}lO$bW2yg=&Hi(!(kgB zg5V5ZyA@fA7|0WXC(#5HL+^Q+8B7BEpGoRTu_kKh6sz$;We7ONfx*By9?`h`0~yEp zUu!pxlKlar-@@71V$Wbm8QFFVE%J?*)jb|9rCTS4>qBBjWW(pC8<{;u?;HhiR<AKu)rJM^C@xSeZIEcg$A?og1hcZ6?xxxBFs zh!r2y7x)*nSUnB-mrBlOpesGQiga5$Erli|)t{ZC=Iz>Z6(NfMv!W#Jig z--GTKhz6SY7OoS#%#C5&Gr?~W!ovHLV`=jx@FjnKzUGztzwk1f)Iq^}dNu13$%hfx zNHttk%(0NnQxws=cV&ZwGGj6CB1Sd3GGzL-+4mg3FWtxZ-H>T6(-MlAaiR5|x{7q{ zBRB-pwEYNB*MY_5)3v#;b2rU6C)3V=mrJZhZ|=naK}ZvzfmF!90>AEfZ+%|=kF}|T z0AN*wKc0_7B^|IE45nJeFz3^j6%O^E@ly&%R^Q+;V7(iEIj1>_{N;P#ih3}cB|*;@ zqegj|mrLMmbjif)a^rD~k7DwQD1RDCJEg{yw!nam>Mc2gFfLzp0YrOYHb?PaT4&xS zg_t|DiVS_%=vn7a$cD&W$El0;{8z)AyiBPxBLg;({Wy{JAL&FB5!TGyKBJc~*H7lQ z%?o#TDekJHIi*hqZtVn#>^h<6Qiq<<|D+Xna1yU<-rxg&Q|jpmKaO`&4>RA^+hGp+Kdh7t5?T&ip?k^lM1LUq)Db{aRt!wME z(R!3`?fI!5ej2?Se)2LC4H7i-+H@uAEhKo=seWB&>v@JqegTtftdG)dvY?H_(93B|9RC(%OoS4rmk0LRKu%VR*oWx8sDv{svH|cX>Cgo%|aG zzK#Z8?&c0sQimpk&iB=2CziGTG&C_b)MZm;cE(ZYiR7XAi(Bl|&85nxJ-=oDg~97< z{SooPaTq~jnqSFP5o(VC;kz*=x6Uvab_?IlH~622?83#3$9JKj8rWW3KP7zE zgnWqJ$qG{4=Zvf_f~+tmj}Kp71_>o{=kbzx4G3Rqi62WB9nFpe1mxrB=npq~-#<*fDr z;L+BHLt5!4bM#u*#8e1ua%iuR|E;mwW-@gWSKpjjnap?6;ShA#tH~kjcv{{(qC5H+ zzuKczC-`6df`PgZh5T8ZWHAG^U~Y*PtFeQO4i~B0{Y=(7`gHQb_S4T{4MeNS+|1G) z?b_VctfK)yyM;#}Xl-X_hn#Lj6eRYj%l00$yDE|stH)Jo+={&3+fW$>@_%A<2kx zR}^Ap71%5PwPm^Av`n_V#bZqgYK}3lDhGO$U#f-)3l!;pQK3lss1Y?Pi!B&QtF~(D zNi#qIVz>g`*y5)uwO|T9rf!k7tA68cqTN_#gR#sEZKeMGbIfI;r2)*rw&!zlCCBY( zFlK2$Atm*^xmQv}fSj(s0OdmdiX3YrIHd-*gQx7a;09(D$xrt8s*xEXskHf5UM|P9 z5+8W!Pna}*gj@eg%1T1*%ZHj9FFlf8WEQm6D{~9hL3jc>3)TA?>bR$&QF+` z?Ua2V)2>i-&r_W9dk`4M1RP_w&3LC1uMw5TP{JzQU56jD&~Ms4g#Al(2qaf0o?}+v zaLX{%Nk6Ck+3&L;hu|lCl5b_i;f(`jn_k2Tkq{c0(~M>KR_&$V0|bxJBJI4JVAZdz zl9~3diWB!B=p~-becPA8nIA`Ah60LsADu_#U=J^STrUuz6n4_@Ua-_|vZnpa>|gmL=VIMCy<9Vw!%YqOI+s zi(!-EB#eS5JR69nltDg`JG0ts(ckl6D`FkuiVkU|X(xv6Q8jqc1~vQN7`4yLgE%Mm z_m?_gMzj=8bNY84<($TQ17?BPfm`FeM+}>*STV{xlH@rl9ah^$WW+SaW%j+n*Pwj` z04>nVF1&O-t%`@ftG{bgokKnZ{aZq?A9muHNQmOi$@5bZb+|4`(5N+-S2$;H$og>e~f{+lthA|%1; zq^erZY}91e*PKhjRO_ZKwY26ue>=EUi@^bmm3GjtUgn?l?Br`p`D0oU;HeFIg4bw* zFWI|(K_Apgbs9NZr;q0F>x>w~9nufh6|wDm$wzG=Jx7=B?!zZ0>@qtLB2um6^pBu9OWOWeIz0Tn2)=1>hxTh@0j5q$(M>ryRhFW}i;uZ6F*0|)-XN4bs z=RTf0*s9em(`@|X!;k6@VoIG9y0-;Z25l`A;&_9KA?8wTd0L~}WVGmie7KW`pTSH8 z6z@S0DLz}=of#_LxUrmHhiW>xiX9_y=|UH@i!=dWZB>CbhL}%ZHy?j4J@HuO9yw<< z!@an7rAw18s>tFB{%ZJ-+0;igGYwrR#vFT6fP8;>I!^} zXk-+Af7kj4t~{G3`)=?%@owu&w6ZaL`%YJN!WE-sz7KF7)7G>p4T$J51;*I5bX2HZ z;bH<;P)Y@qB=Ru@*9EJ^8~NeW!g2k~!FZ~BRMD+~!M{zd%U`QEcd7MCRldzt?h#i0 zmaE*QQ29{+;WwzVB&jM-Qe_zgK?A?y^@!OMKcp*1@6Mjc@+|(cl2O%=)L8h7pRV;#nbB%AqScHb>>vI<7uguEr(HXy>2np= zoLC{vV=bZAp#@SKX@txd+VtBF0SHm^xw!dhG#}c(tdma+>L4dUXy7+u?V0`sSZ4$O zP?%gZcG{X1Bb(k^|I)lkI|AOEDL^iGpH&OWBlUzNP1GCAZu608#1Kst2Ae4viKF$b z;DoQG{AG?+0{l?=ER}~|W`EwP-1C%!`DUHqlnArcZYVZH2L;_Mq!$I4+^xTdc^QEu znZFS`j7XMkwx6-8X}bbWmN#u5;N88Vrt*bU_xxE~$<^-7y@y&NfK#az_3y8QTp+^C zp%pMuH}| zjgbLw`Cv@nhVPZp+qCWzd=F#~gaq;y1k(B|$va94nGUm-Q6r89x%;b}F?ijmss+k8 ztg%wsM;X?WLw5QjIV1+Ev>{IVk@P7NUXY5gO0-A>C#M8}RzyM()jY~d*>pe%g~REL z<^o#>u*;%2CDeK6;1~3_uprpYo@c`h_ha_6-Pu|d0K|fRf5@~D@y9ftRH!Y@n9O!G z(!sy-esb%JcFEwtnO6%x`%;%sw{I5YM8Rgrk0HEiH#NOEazVtq7XL?VP%kbMF}s0{ zk4bFP=Ej<@;Js3$=Z@Pg(!DuS&o;S-sZiKXS!nY-+*p+z4YxT`>Odf8 z6OSd#vzf4KNpFt8_GM?2_@XeI>?dMn4cvBSO1)S8EVTPPQ*f7TMx%#$8=zUOH{Xx= zGbGQyCbP%MhhWCj&$a8Js3G`<^1UTfF5r8;6%U!`eG8xJu=<_lIYu#_Dzq{^;uVw!m(FmyXAk{X6fW zn&4^v7OhaD`!pI4BOhPm!4sQL<*vBD&*bt?jPT#CVWAf%&vp7SI_I3saaX#OXbvpp zq)si8U(jsgjclkph#4mH#WTamg7NtXUgi6|f?=3(_YwL}0hnTj+MCQ^N+@~an5#jTGD`H*@<>6NTL|1_zp^C}b$M@*|F z6LGsU5jrG2srl4>>T{RjKjA3hr!%k5?Nyh31&rt{aRCm=spoW(hmaG@SX;=TWd3;P z4IA<*eqbems;tj))d_-I2gf$V3}5%-BvJ|8E!ZqWs2D9KTRQy z{!q+K8HuvUxQ z%71}TYsyzMz5ZP6CvbU={Pom|P{XMJP z!Jfmx@~wMnWNO^VVr%3jo(0+cPL-Lw6>aTT@zX_GH})6Cdto6o?yW45L-(!8^+ zv1?892rd;{Pcg36QcJ^FgfQjELw+!AHs4eUBgo$x&fiPRa>|j02Wxu~q@Yl;v^I3& z0lohf2BehzZah)%?a1RPs6Z}un83X3f1pC}IbBBba}V`yw|XRJQ$6(0&8m0h|5;CH zeF3AghV4NexkU+&QO(<;ajs50Ze*#H1+@w;`5L|2uR{<)gr@ZuL5w znCJiKBv6q}0B-KD10Biia>Gc32?M{f^JMVy7QpWW9uwqcB4^u0-1ZiNPVKiN@4vIg zW?r=&XFVyx>m$?QyVk6lIB9h_7PL|mZW*%nJ{DQ7awf4WAi#T!UPNhUVlA_fJzpKyp$=&Q+j z+2pjEd_#FQc_o8c1c{r58YYGpx3>zL`R=9;4PVQ-sSu8tm(0~kDK7VqWu)Z=@h5kQ zy7=}8lh^23$YrtLUE({JSS)JyVILg-Okmdi$=vb%{kP--aUZkK@-Z51u#5-)J34Ge z9C$UrRm(kTxh_|)Y_kMWJVKG&FnD?XL;R}Ga+A^q64^Cm|6Z4UuC*$*9|*V{`R42a zI>=7PE{Xp8mV5SH|1IQ9P44(Xt>lY&yCM4ldGhMHl4&(aLgUKaV`AwFm=`h_Hd16@ zh?nwYb{L>woD^nUyNS4o$N)-dYCToTDWrh+{NeaC8cv=K1?Y5}GlCXJ6i|x`IwS$f z=mlv&nd?|P()Z?9@$+;;|N$AiH{d3OAjq6$k>_mC05EtUS$ zqub+ur{Vuh3DyF-kBu#ZoeXPt_-=~vJ%*ta;rmZiP?I;E5aC-Y`T!s*R4bbhQD8v4 z!3Z66SNe;`=;f@%vcdj24z2eZrTp7i@&H0Rt)&JJr@=aHtP0Do7!Jw>mifB3NVi@- ztZiA#S@;HBCbQ4BcG1$B>%rSW^WQ4UXHcj^HkJygAw9dP_#p|0`%tgi6ySuJSbbxr*bxFKl7^{=H zQ_rY`A_^uWS}lM4UzA&F@7!Mb2_GpL_M9XFINU9k0^8(ogWzP3k^MzGf2n4fjg3uF zt|2dd9WV=R#s?XyY{txVE3808hmA&DjV#XtX1xj0ttR8cAR`9DG{69Xox{Y#0Fw}|g2NKpNRW8Fiuqe4&M7n!0%8Y*X@IC?r$KqbGhgMS zFurjt zNM;`)Xtw(AA=%ioHn$f#1ED<%$ybLQLb5?yTWZSRQb#{X3gedA@Y4Wd_=6Y+>T!NrkK&bOe$>=fiJi2 zwBBt2e%t;wc`3!V@gPV`lOp+6+W#qG{|!a`7kL%h_wVA(LVnrT_3wB-6c|BgUfTLC zS_gm1A|Mi!nfG{zX4h_N$MMPXbCcPLEP3SF(F=J+xGBNXd-`8Tg5nez9Q>S5(K z3*hO*Ph&vvClTZg!EXHp;RBa?*C3p-Ee0{sGh}UoQq$ca)dYQ0sUA~scU)SlovDlnD7%Uqs;dqfSLJ`qDM!5x33Zjf`BVt?JQ|h!Q2?}; zNtn4%tO5t4o1IL~CJ?~8%8nb^^(vM>9cUsR(N&Bn5|v(BTWQVLSK+bP$S*PY(+)<9 z4Mt5zhA_fNzzTlaQ5FjegHtHp-oXD9!fAJ-`G9>iKod*D2Pqzp=B)|`pMG>?fJsz! z8CPXD5JdKUD2GpBeE%V}T&JFknYS@5er z?JySns}kiO1;4>6a{M3Dc{4Ts!;vp#2dae5NB@5q`g9tJV%Rb}dB{!go;#45BU-MCvMkUIVGC; z;h!Ua;|=^O_~jy@JB>yQjWytQbAGndDIJP(bz#RN{wPueDrG<_%Lz(AK z!#m*QFDzpEM4QSrxrQ=0biN{2SWY(C;_e=nd*qT>eOkWL7re&`6+h~dpX0Y_)#X3e zHv$d^AN^Cu*!t?8XgPgsY^;2T0T$L*$mwuBU07fJ4U4-xF)!wX(bUjPzM{y4Tmym# zd?b)JTUf?c`qNqA!xJ)DxGH7VBLC+sPnA5sM<_40_$?=agp)5E#H#aI3z$LS>5iay zv8j8D7Lc(4lASeAE;B!`D$XdJwJ5eKqh-YNy{*sINu~NJ!jp@InLg0L79p8F8YhN7 zS-bw(6^xYoY62&Ew<+_>|>oegcE%!ngcvl=F+p<(oPtm;bFJVy9=aIjG_|bTWT# z*Gf4Du9R`*!u`86Kc5op$hp_ zRx`48&|vR&`A8DkD+f&oma`#B_2>6h^&XY3`sBEJ&$woA7bQ*KhLX9K>>9)ko5hTM zWkRGHdiP&qS27_}H&00GKYezISAT6CrM z7xn<8X=)nyR8u4_-^$B9lpn#TQ0klYoxT_&DtMH)+`r4@7Vo+07o4w+@$nLd2V@+4 zO8Hox!W@3*s+ceAGT&v2KmryN_8;p2f1IVh+u!@Td1v z?b4)o^$KC(&&k{Zoou_*yK=eLbFRM8q*iZj&Bq}Q zw@RPqho4MToY?hB?DRnSdSd(T^nunpalgM8`&2yISKGRMKJ6vmu)9+CF?LWKR4@;C z#PX`@g!th@zatOP;>%xEPA?Zy7L5FfdhF1V8?N_XnosKPrLShv&D-|zGIvv;`6PbK zSIMbkoYVeRS1sPyi=6hC>%DW@U!;oWv_DrbBd7g%t2ul!0kwW@N9Wj*)~jh|>B4$C z(W0SvnU;^#UF5RgBmLZQ#VI_26tMKYWXvQuS1r8H`E6=9n6N8g|C~5 z*$MWckRF~qSQh5A!DzLG@)z_-aMy~-nb$&n7$?aDSXB;}$XmmuDP412wJZo2PXy{{U3s+07;R1v;T-K7w_oA?_5;bTr!g)y z^A88o6&8WB0f4*z_^}3UEiL>-s9RGhW}5b3tU(3;M490=izz!lL>|#57Ygb54Z=2q zckFqS-=wY6S9wV0#yFrHLUs8|GW+v`ybu+Au29m2qpSOSw{_u_m+8pAZYyh3#4!H# zZ!u=$A>)f%X|cc;Gk7w-xXL;T`Qqz(D`uF)54)Vh776|-_|k&0yo=rMj!n~o22{^a!LcIJY|4`eypf|fWW&(cuN#)rI+Id+RnTjJ! zEl7Rbggi^;^4Bt!UGSdFo#i}Xe|R5jF{AOu2BRV()L8&c^H*Fa^1BU=muA+2_!&4^ zJ5!O3xXS<0P;E?bSC^OmzRVfoBxRZvn~8PYd198Lj>gpH3`k~Zih(YqzT=5pYLS12 zJ&D9~Q|85F9=pYP-Lyxy_!dMC4BO=2P-Y@SQ~A*L0%$L|vejtPzp$Gyv?{pIe0m9x z!XB{plJ4vtPcyr(z#?N!C_>-|?O`8OmL(Vq7tbJuArCcB;}D=i7wkMWnVEgqv_o_`qA0M|`LxORt! zGG9ZOC38RC1Fq%#!{@ff-v!qPheGfRR!z+#Is=i$>7rT&h>MvOLMLE-{b0XgxWQ5~ z!L1T*#?@f>67qg}w0cj>t2-I3}1mGb=g0YpOn2o3sK-OFSNHX+z$L$+krLN1af6uIe)L@G;5_l zj5B7$r~+y^RPSTopl&LgpbA79&QY5x4kn_<4=b!niH>!v(!BbNH~#A0Yir9cFK?Ka zz}aGoTIY}zpnc0%Bxwwptfc*cXdfiaB1szAN#P#2@=LAqk2_L=<{HRs0iWs!$;x%q zmCzBL)n&h^9l68guFu90xQpB2}_;jdHgSGR(n#}+1tNNTN;o}@Swaf`g&Q}<6dmPsV9Os9h z``;bhUJ;gTThC?qB24BU0-{oSZ%v8d-4(m@aK!haM(EHRzSe(p@?VWO)yj9%Ms zpfwe3p#2jXHYyE1fI8#*EXZLJ-q`#3IoX$_SDJTV48P2Pytz6di73auNHy>1Ml6az zJ~bhev2kjoRJ2q^>mZ4oYd6v@ME{Kxdz|&IluIMK6kAe*mGK3vM|a0<@|zLYk!#!H z+}(PlW*PWvT;4Y%&-x;W|h6xMB%i zABG4{37T0Fu#OM4W@@g5du;N5^iGjRyoTzU$zL$!T;Q0OzJPblBRVvW%WP;oJFIls z0SKSa-KF5MxkE~)KtC5G*#s@zvpt*|Hm^jETpX(k{t%tA_fcRp*ZL4BXn({r+W&-| zg}^VALW#7)%^xIdIf7TqYOHxDX46$jf*dznP3@R%_=6exhw!E@H>H08Y^f1~8UX=H zzZdVgb>daGnjE>D6ZcC!VNuNgGniYQ_ya(PD&B=WiJjL&>%j|~6MragIQbIT@_k-V zj{;KuwIg?U^Dm=bk>`s;RpTnp$aUH##{O%L`xQ9rQKMLtdd1C*oyK)Q*|AqD>Y=(? zDu=+7jux0Qn}$Tgc(2&*=7xtu(7$kB3!-A4V%IG`1rwG}J5bZC5AHXyE^sP`W({D* z(#rgph5(1Edg+BcNY;!1r5YN%zSM@3T-~Ws^Yb!tZs~gRe<7)Cni<&!;8P8^^l=h{ zrB_SiWx1g!v2PF>1lOFaJ&Y+Wxb*CVPWEN_jGEM>A`NOszBl_YCwfP{T^wn!fL?OP zg+*?8!~8tl2bH^IDGIb@wdxDR5quZu2B5HAWW54Lj&2w!T=ZgQ+U6(L{U{Yn;|WV)`;$dJ{>U(j9Om}+gqJ*R$NcY3u)c( zK?WNcw)-COlai5HJi)CWYy&=c)CWTSOJS-%2)o>ERNi<*_Ei+@coSvHCLwU#~= zMYBf2ZMGa+%u_5K4h>zDm5RZRL91OFKFIT8<}7c53s^ikW8;8vnvQ9Yjin z=y->Zibp!iNbK=R8Go`FvFaoD3}qVJ|NTR($o%jH7st1|_N>oYiNZ2HL3!|BlYP_p zhbi2jn?R_>O2pJ)EStf?zyP6g;Oa3|$PFMjW-u~gu%^FyELai96dpfojsLrYfq3(* zg=Jp)=W^s>0IB}o$&rbLjVO}U{!Jgq>;)$!OSS5OD%LGGp;9ZhfbF_>fP4m>50YC~J6vNrrk&HAYSg6qw9SVku6j%<8_zX!0X zcO4YJ(l@mUF8LSE1n~n6!bN1(CBX2LG7E*4@O&X@}m=t=X|j5B-l5G4|Sz) z#U2=$xZO)nGfKD}_tHNglICq(FQufyxr*zf`Fw;!v@oArH|=4Zi=+OZ zEGa*XcB6R}fHfTswn2Q4!UoSSyDhgeDtCp-70yfLEB+sQUjpA$vHd@{S)gf~v?z)j z4GLP6rDf5!BCnwdB-)nR1#qn)O=-28X~N01qIp4A_Z4K z1r!xTg&V7Y8;cA5f6vUlNxHBI`1}7q|Bt;~a_`LCSWRVZx^TS3f{B{gMc86`qPL_b;2gv|6&nw9szejjhXD2I3{{l1BHgGYCm3IG9^ea(e zR~~4ajd+sl0%X`SgI2$rx%W02CE#tPshLBK-XMgLi6V4!44-0bpY4A{OPTn8vicYN zjwn*;H)<6X9rqtbda0~HzbzQ;aUKI;XbwE73D<)+WiFemvF$Hj%{t(0t=+tN^OvTCsUp!N$FuPC|HPYV@kN+tK z${J{iz!RUl&Ur0i~03A{`S}*0AZ6Z(_w#3M7nzd4lQ-SQ)Xfl(HuY%RE zJ5k3UOfJ>YFy)ap^!z1k$AkU3bc6X-STg2nln%l%!=Q1?i3a z%>wo~5!q|D2kIi!=xt@QudoUL{nL=3Dw)w_=V?s0gGLbfOl}bRD5|DPN)X)9CRJ{z zucN4rl9Fv_8?oRzYTMV)sEYh@@Y;zi5#RQsq=-_veAaLS0Lhu!o%B#Q86K${qA2T$ zcrQ`qT}48L{KWUv)?belXyKrJ)I!_L;3arRVlh8P#2F%jK7-VPMw1$5HHT@2SSWrJ zFADR12@-Q>%)8+hqyhc{_$22+sZ!llE{fx{?mrdP3$HKeMP)_#d?9)`zICXp$SIVO zB649nAkUU>KTz=|_;nlDN=Q*Rbvi&%Ob8yXf|8!seV2TM4 z%?5%m0|F7_uQC%LteAZoKz#r_h~(UzBL^^H z;se1;2=+8oolZTk%7U9{s1Vd;_rI@-#=)P^Y?|i=y4HP*wXv>bz(dPpfgu|rl%e+_ z%foJ#WWy&wqO)7ZmUm**T@u-o4Ut(rN@R->hi=o0j%Pu+pOK5brVxe5% zp)!(^CPa*;@*pfQ3KkZej-gmAd~o*2hY{$YIDa(N=5hsb1%(d>-{rDjJ2-`4)I1V{2RdB~zN4^6GV55Q@W&9lgdr42@Zem)1o8uJQMU>?A!a8i;FhM=;%_4nZ$MUDekC)vexH+jJfNB29he?-LY0#ZZ7_5# zARoL|Oq0N3Ldl}rCVLJUb-?0=#|evfh1;o&ktC6%VY*C9q?M>rn}vtF{9@r@A?P>w zAH*s{o~eE)!Nb2stfUd*qylEj1dZ&2N%8iI4qpwS>JneQ21N%y0Pmn)hWVUn#vs@v z1-PgSQE8;I8;+}AzOnc};~0c}TBKRNblRDnVb7H)pyhL`|10do3+*>jQAibi>fb?` z!3#;2=Jc!dS@1jzVk888*SZ_WDpz7V-1pwA#lr5iygH82%xg*6nB||7gr+%ABmajj zILQrUxMf;TvA8?zQ^MvJzB}+6d4-n5I2&vEG|T^0R)BwJX|@rD5fKN|6v_!{uV^s( zi0}X)X%nbLowNLVk3i=Nb=%X{cn1oq!>TYBa4_y4h!<^(N83m|xs;=m@9Qv`@eb&M zPE=cZD{YkH(wxQrIg~{$*er@lQEPilgD(m^W45jChy04S_;dLK7&*0UA~4P&JCLd1 zV%VhnTvD8W*?@f(csfg_VcZ-=g$dm}yaZg$2-<3AZE!GZ(jA@`mSdrwxG{vA}ys5LR5(2Bc-QVNEfa_@L_QJHh>S&Qd>@| z^gzUy<$TleS#agSB~X$a-BzmZnz+U;k9{?Jt47YvI$YS3)0 z8-M-iN!^l(6$W@y&+!XvdeD{xu*4_dZ-9N}Io`7YwD)B zy%9Dt{uOosXM5eQ1K{$xNCzD(OkV3&j9U@Z{A7QAIfe0Wt-ayh1dMn;R9B9`#H4K4 zu=WtAV_|B?9I%`);}w8hklhft%yQfedG(XbII?Txd@G=Mfq??GSC zGi4wzg9-&gJiSBShQ1YFQWgy)n`dK+nCftGpTpD1za8Ha#5V+8P3aW=40IIpNYzGG zUf8V6Rxyr}!svOb0qN}a;33ODm>R&xUc%&eAQsg1-!cer1U9aXa6Gb;7vkR1-tkB+ za$(%THL;65@X>7*rAs-$T0*h+Fn8ej0~97Ett9tqIglKA}~{H$LUuBYzwVu1IrW z0nf>>AL9K3)3U1(8iH*7)94B?Wz;aZ4v$b*qC-7+;!DhOBjw}5t13^UE(gD(x^y2T z>hkKpqL^hl@R}6*>8?|O6ahFh8d?K2B$PgP+9hne z*&b?NXy3+%)cJh#DGWdTg_tK`k6Cp&HlUV54ro$#M5_KI9B{Ql>rp_9H8KfRd|@4n zQ$!5Yk(DrjgWpt6nWup_a3i=lJcNux8NIl;Z;f9-KVT8wGv%{dfJx8`n8g-O%7KhY zU0v*f+q%;FAgW?*K7hr+g?4`wH;}OUQBSd*iF$t}@(Q(&i>9lS+AfKa94%B2zHI<% zlGxuBUSSNLzgiuS<(7|k6Lz&M67VKw&-c&m1O0d}z@ZI~s3fCO^;lu$v}09>RMrrw zcnHN5KN1bI&@IALhkVwIg(VuX1*qTO#p+s+mKaq%XPfdaqKvSZA2OtCS7v3qGP(Va zS|<5X7X~GY)k$y%a7ir(Hb#JO4|%JGQ#92jgX%(uYS26e^&qt1Z0{L_!Qci8gocOl z$al9l4tWdRj-d{ksv$qfU$1Q2dN0z!I0$ZZn*_9R>?Qa~+*e2@tqG3fr9iL1;fphR zQaF5*2%XXnQ-lQBjUx$c6DVB*PY2B5D5u98N4Y<^M5@?b(mq&jcex7>@=G$L0&Z;^0DQ`_nKAXTN^A#t|9si+5d2vgBy@I{68@v--!KO+*#WpwZ?-8T>K=ItQCUaQF+>(D~3& z_Ot`O9nwC#YmKAv)HSfngLi}#+ckFhPZPDz^8Wzza5QV7eZ;;Bl!^1JAQlju{Hsv6 zUOV_&DHMJQr2YF5Y9d!3b^+tpd9&Jrg{0IE|ke0IG2OSLQK4I=tKX+zJ+%o z$deGWItr3v-D;2rIWe?cXSv=|1kZOEfA`395l1Y08~TCJehfh{NDf&_U?;68vB~;L zp7txvKvo4O0JQRk*?gV}ka;u6Qoorr4eyBUB^hS;Bk|54ySiUtq8Gd!A1GOo2k~9< z5adLP1!Q(6;!xcmF}PE0u7(J8vJQUp zfco)~GWP*+&c?#Mn5*msXqcP_1rsE|y;xH@04XrG4`G}yYTYWi2bO_V`Gx39k^O>Z ze9@NP$XZLt_>m>8MM)&lbE};|71kLh0S|uXL`f~Oqvtqck=p1ErBtd{>jmVp#SN3as*x{`nUTR&_V&RfnV^duz@eWieLjoeZ&U7M5gc= z7Rd&%x(GHfQe^|Ew@UwZe=KM=4|YHWs}%ZgR_GrLa8-Ny$E1j=0qlTN8mI~Z6O{*? zNp{EnZQQGn?wl`(2M{eK5H0QAuJ8b2vJ}t=)D1oh!cg&-%kzc2y|lxUR&s(P@fwN` z=zaiS;gdn)cw#Q-O+D)Lj~f#ZzW~37nlE@h&or!Gb-*13^m~|vk)2^y;|nO67Edpp z62+FSMG)*=-k8eSll&k?5F(7kwbax)qEGum66*nR^iZ8lKY_aK^aJh^4`UJ{5PRdR z6a&3fK&Sm&OG5yBosU2{VScRm0Ny3v{|+E?J0QdHf<7m_2>ybQ5Kr49zaWPF;D68> z8apw`Xqc?bIqZ$+=uzQZWyY~FAFGh9>STlF88qwA+!!T4^ck8_xB7-4DeUDp|4VF9 z46+SW>i}PxA`bZhaY$$~%U4)T2{w|ugw4%n*s^khC-sv~F5Ltj7Utxs!HY5Uqp_2= z0X+lV=YNKu#-S--is~F{HWEbe)jjfOKcg>aMvUFD|sb_eI3WG#XQ%aA$iEPpVQc~lX`LvBtumx z;ipE^_Mz{A;*bo)%)#58Q0KDWsYo|eVKR+E*TKFL>!mO`5)ktyD-+>qQ2y&`f&7>R zFWSnR{hwRaW+$|~7LtdM>?)qD`+Xu=W++*=mPWEqaPLJ;Lgk@@XH0A}sl3_Sc2bGd zYA2Vz88M@L_GP^+qF!NU5{1-y1$1FekcUJzupHaVc!QlbTbf4gl+;* z;RJ{HO?hFjU(0Q2fZ#MW{cN!)Gfo zK6^yyd7;oRsSekQ(C(o+d>4y+M~cu1=yFloxm1T_5xOB1y8KP#dnQ78qVBUXRYQxX zcSR0bk+v|@;ub1xHzZj=XIChPuPAhj2rUb>?Q;rUDMCLCwe5WhohL$Vpjc6}$KFOA z{zrsf5K6lf0=rx*Lf3^#n?*U?C_-C8X&WiDK!pAw*dAI@N1?+-Xi+G15``v-(3eA@ z9t!OyLeC4e;+f^B!|(6$7XJ|{?F}5zEAJGcMWLEyP!8)Ul*^DnoVf9WFw|ZPuI>bf zM};mxlIw!sfxsgWRN)^1-L1sC2p?hY{@d~!FnrPIBea-viD9T(%vxI6rauT(q|5Ak z@b(pyTqrRe{dyby|4nGJvfFBxE<=2|1pKGAye1uT7;en3ztm2NsI4*S*EwIG;)g3vR7D_|Y(yMZ8cjs6xwFwe6Nd{uE^? zAdf&abmG{nN+^d22moz6`H$c#@)4O_c_RZr)GS&StMC_WQ?d1?0h=^f*HdN5NANH5 zcb^DqhdSnEOnopseEJcQ;vSqtfmB44a_aKXsO0mg@-hx3t4$y18&8h*9ez5JY=qQk z7srb4$A{#2K4t67#@PSjoFRu_9P-t8t$jTbwu*!kcaV0159{3C{JfBMK)(tjoG8Kj zD3K6{p_qT6KA54CMKakxZk<*^VnHeCAY5XNCZ76XY~3wgyJ5)$B4)}u;0=Xk20UH; z`|Eb?uWOZH;eII2*9GUkr@iBiL$c(wccx-FYa@=L^T+em#a;4aK$l=Q8oomFSK1tL zVE1k^sOTjKhBR3dDIwI}tus@$1~0$|IJE%KfvX8T!)1R8HX0!o^RCA37h*VFR)OiK zOh?m*)0)Eh^YO^PcZHlt)UPg-_}^I(OpIR3i3y_k11q|&H8s2pC_}8^NInP8v?yh& z|1UkE?I01XA5cdGbOX0&VGzA#-Jsune-u z!hZ$5lUsD;&-`mbW}F-lCJQ((hl`LertNH5!07`rN7QslD6%0`zU<-rf@mhCbD=T{ zLS^PggU*Q&@gWbrIgYO$W)cr$;c?ylBR|(`0X8|MpukFnr&6Z|u zZvr`qu}L;R=AwN0$l|{iu%pD7(|qr>WT)*m)lGM-f!VC+ zxUV*}YrUy{He!xS3(Xn4v)a=G`YKf+gIN740Gcdf{AG8A+?D9_@BM|53D9oT~B}Xt*!)W3f@EDN9%@er1Vu3m?gE$Gd?ntHa zE163!!E=!~ET3fsN?weH-+Y% zL(59T?c6v9as_N6#1$!2{MM|{`&_|K#CWQW$fwsaqhX=DP}I2N;P@A|GS=c)8XGnTl3!IBo+ z+o!8LsP~?a#WZ;8TjR~P2jU%RANf8PjAR$_i{NEg0pRT-E6yZ)+T}^U4`@vyIqmXf z9~_dx!vO+QeQ#1=M%v{WzWFW732)&)3tiYN3zbMa;JvzWl!UG7{@w>DbIyrWxCeAA z-T^-6qK~j~k#A>g@?NcUJ&8b({Yu%{U6(dz@;+^Owq)iiiJ-P=otF9ksil?1#vy+o zE5NXsW-d*HNU=Oy*QNYSBBi5mDGPPel>=<0JQ@?_Y}eP9H*3El7)JIJ7<4U# zDfs6d9q5v_cbY?BV1DB`aIpzp{fTKmP3vWM9fDy1R(w&KqtQDI#hfaNkYGPbYjv)z zSeB)!lUhUuYoC9Wirc@Vakp`hS}g%$p9IV>e}#$VHV()8w+T3sp1vo#g2hQn>a3ZmQMh%4=5LrGidJM!HF2gH+KzPRnbf*H-)G4v|mbSw+ zI8jD?GozJa6=`V})=!aF9!Cvn=Z*uKDq>$r3L|PGkI+KFmN!L0^I;RBp9PA$U{H@JKQyFe*1~RMM>j$Ovm0=hA_NwP+fp z?wPVrK9`IGILdOT%3v0=vCgoJoER#>#6ZelCI%AjUnOc8twvFN7UCn=n^=E7*7{7I zOqJ<{%FF`hwyn%5s0{kMeSJQgf8_csL45oA(AjclgD(@gMW6+!UBv`bJxMRefDQY+ zR%n7oeH2=d8H%I*fYW_}(+Zy@KN~nkg?PgU3rX3ACCoK)Z!FMS(t6&ujnDXjIc=n; z2zn5BQC}R!i^rYEf)|5VD0uN?MDtaB2-?3UQokIjuJ8`&*ls9U28`c>+9IM(5BRqciAzUxtUNb-$AE^t%{Z;p?-gg^37sB#)qjw?{ zj&(ct)E&a<3Qr=nmHfQ;3!A|6t+1_{JO+q(Ke(5oTflaA7$X+a7zY$F)st$ulfFO? zBsXLCFZD+*6m(ofiYG>w7)%rX{Ep4MP4Dm%#pDceyl0TOuw)kMVkbhM^ zOpBgPLf0%WT#PPPx&{pu{1WCh!GSXMPA!T7Ux!K9HY~w#dRZmc<68$z^U0j|T8N*^ zOh^zr8ufo?qp6>)-QvsHC`1%&KHz$OzNr%DLfz7Bjhgs&g*vHqy|`swvyd|h|V(ed>8u(WpLW^?2)PhNzzNo(3*(+sh0M+aUF*-Ntg z7ubV{HA0v!y-pm5HU-ts!xPtY2t7M=9X_}&8iO-l#t?~^8ZJUzELdQHH=Tl?eQEW7 z($bUCIRdxjVwnhHkSPo1(DJnqEwW(O>|a3*!v2cQav7Kq*kP`Aasai>!szua`>*e90=1BDlx;PsT%X@@p2Nn>%Q61!|WKqUZVNb*;yBWs4N`D1% zG6EBmsoJlAnyA`t;@M$+7V-K0d?gKX(JJ|2e5&&KudzNR`1}k!2|iC;crwzo>=f^z z`SVuvi@;|gEGUO%ae3jG@tNioimhkxj;D_epW#23boi-oW@=jt|M;i}ZJeP^pyQI{ zes5EIgq`d-AT_u6x&&zg8qyr~#}mvtvl{#Fzb1;cSY~1XUIfG@|3`0d{C?sz;P*R_ zzJO&*uMXjN0-?ix+8-!?0(`(GLAag(K8lTk+5;S|X;YDKECFnX6_}Bq5f?Wl1u&ckrcQyZ=Co2KZy~ zZ)nVcFNiPqTL`=HzK#%FZ*9zpf)ma_24tZo-zH4^lInI#RzHkSf0du2m2F_dB?^8i z&QAS5P~=@oBw4yDcodc+_REuB<@}ED?+==T!BG?8U_{@I*?_*|@+9bkR$fE=#~QFF z2kel-ezf}EmwPG&!Pki@M*ttuUve?D1H!Ucjz(tiZU-?4vPUnZ6gc@dnTdgc*oa)4 zynRG@ozc^ZFrBCDQ`--^=Iuv*MECIb=ygP7w@Ia+PUtftKa!ej(Ou|wc&jRcARD|M zK(o}X!&%OhZ%Cg}00|w|mOdE+`gVEF6JcKaB0i@b0&;UkHF_ITWixQ?NiwBt99n;) z#IS2%J7l`aa_e)bbYu60*x`z(D}c|$4uT?dJREu;bc7Q6p$Pqq_Cz)gO;bXbiqO-@ zwzzTVKqd4U5xO2bVi7v@Yf|^@lJ6Cv7mCn0CG9^clye*?{;yjVYM-)H&dFZvQIg|d zM^dt|T#jaOrS0o@P!3x<5A!3HFdw7fy2;55>UV+wd^=OfGIlYGg5$qQf=?5gkwSQ*mFB=XZa!5BmKxFc!&G}Y@c9f~x`9cf0zpm-jM{g@+37s-PC zL1|>44+Q?8fLm}P&t;Y1tnxEkVTeHv9F+K7h+kHP7;4(T5UDh`UU90359OaA>jfp$ zPSCw$iHa=5D(GNVDwKCA4B9YlQr1II|0yq%zN!@lHYkA?ar$hM>c+%V-(lJqd;72D zh{7?1Fmop0L6b`-Bi6T~8|!}U;)4v<7IR^$C|EGMMFujf*^(GJN3lnhx3h3vC0oV89ZP@kLZi3(G*lMSz&ga`` z9z_U_e&$30YNS0c#9DZ_VZIJ&d+AzVBBjSR)HI;`3D3M2f_G5ItNo+mBe}zf#K+I^PWVXn^n|x|EI>H?M$_vV zgs%0pqJ#!E^uaF%Ia5PF0u`)_kOmD24#z7Wk06i+u{|9xq+voQzdl8>Hjdh2sXZV~ zG-TAaUTL4dgZ`JPL78wH^)M@B+bMGsl*<_%n>+f(vNa7s{^LS4Ls(LOTu{ zhsNfFCvWSV`*Oph9$$kQ?c|1pYPdO1rBdg$OpoCJjUFcy&4>$DY>~Pf%zwV_$)u;wkui#>g@L7Hw z|I~dmGFnF5i2DAvO~AR=sJaT5t^_6%RnQhn)aJ2yT39d*;1vpXgJnFZ>2%`eq_Lp} zfNrR5HNFB94#NdJ zW_x!a+F^R~El(*{!F`j^+<0Ok0i6R?TlAHffu1!Q5_;p%?+qajrKFfcuF$l7?R$lC zy*hw}6se_~pj(QcXZ-Px20ORJQPDP=zULQ$s#6 z9ArSBf7`M`FQ-`5WUNhpm4ENFQ@V8jxb!@m#S(n)}# zt$@>s9628PSJv&=k3k8O*#mLDt4JTZ0%-t9@2KoRaqk`}8+kgOcQaym-u^XpJNH9_ zE57Oi6iD0PJ)P1gr)`+}Ay3TBuL$ZX>stOjvtgaZWc`4IxLpK)EC%Hg!C`)E^k=^- zUk00zK=!*9f0H$Bg=q%OXV5W3UzkD7e@+Vrv$l5^^^ZnyWA|y_i!8j_@l@k|9eL#E`IKMTF@tIL@?Z;?cJdcZdiTW{loYtcZJ{<%!H)q9=-W#1kg1u4-P>;KFpB8riJ zSCjR{(uSw`ib?)^fWsuR;vV>R+=@;LF zr$}D6)p8N)=C{>b)3)FGM(t9{8N%S1z+iIwVyh*34e+8IuHPM+X}PiylS5U7cndPj zzNjSE>UTdx6B@<-um-_=Qb=wb01UL@1_Y5;OcI{H!*Wz08^>6>=i*Syhj3Js#s6+g zafp9XE|T{jY8@|@7vqCbji>fQ75po$Y3oHht$lY;g)oz|_&<{0m_rho?^1_rwXN?r z4m#-zV4x{j1yEc-!g~%KyEo%h)XI_eh3~=4Ms2@KZS$th5O`$`phEC{Y)y05n;P{1 zMG)>#$sY+wAs@)WJ%nA32TnTOG4+igbKz2z5HaRQQ@@NJ!dE!No$1uoK^;C*^axyk zE8lrP#?}~wLLUV}Y=*)QSWe{3%XPb%Ik z0b4jCaL+f@mjn0#&NLL9x8kf9c;_O#$N7}<6_6G1@od0vMD0={M#48#YoV!u=Iymh zi3Wieu#g0|FPtq@NLHG)29|Pe0d>v-j1!a#$dh;uksHz?n+!819E9s|0nHUUIEoR& z5|0GtH|P;4U}(o4C?^fJIbj>_w>#)M}o zS6<4WRY;26jL(XAV#FXx2&a%~8QD|3{_<_z!^FslwS-|As98uU6WMxIef7f#LBj+y8^r|1D`CfNT!Ulw6K@ zI2Xg}pEZP9&;m(23lsvpYp4QntN|XL?f)Q{*e3hnWWrBOh61xVuZ0I;d*jq5zwb4B zqwh7jhWx4Vel<0eASE1z(%Prex4}yhMD1||iZC{Y>&Hnq529rNejnN>)MLODa3D^7 z93t(3Ym#BkvN6c;!pGx?aY@D25@42mE1x6qjw1E*IT)hh%s+|u1=M|9)rCIgQm0%s z6P@z&0p8`5MBcqbbh(JmrRa|lE$@3t)jzh^Pm#<;GMcG=2l!o}3pb{G2B#@DO<(y zyTi7V>^ViIWmycsgroN^r?zep{DsB|WijGsI*`Mb=4Q98rlPa_2g0SVT67j4S#_sA z#bw{@$04FOcJFQFlGVszA<0TT{{vNOS%h&w{s|qbCVQGcTu z+!q~AxGsdmIc<5$R;&Ucu^1p)%nCj58RPb6wV!oi-d=pc`%}}5Y-A%&^@70#Mz>w? zZ&G)#+r*7rFMz?znAi)@cwl8#nh#_~`uO^druy~xt&=r`CwG#9vTo`U z$#lg>`MEG#VgofLVE z-9NN&gqrgQ5rOU*U>W53?T-T4#F3~8K{G(Uh$B5-Hq~2ESGeu~ z0J8l%0Z0f1ruv%^*lZ(>DSGuiwJTKEO)q>y?zx&^Csu2g11P4~3*P|b8#3`_2!FR2y_A?*Qm`n7oyYC*TVwU|UFtFyl%>1R2r|%;dVEu{b%k9($Q#u|kuu zrfmP0>O9QboAzUM^=}Hz!LUlxg}7$3H(JcWnx}5&NHv2T$_eDl#ZzGF66G8fU})VQ zDP<#wq@Lg?ws(9CE=v+&+v!~lP49k%*LdWRjYYt;U#D&82>#$LzyqZZT7&V(N$8aB zhuSjWTLN7Xmo;}wT-=NkdG*Nl@1Y51hA6*KEq_I5g%y)hUj8Oiy-_WH(^R#5oTj37 zfACif;m|k`Uha7co!AwbWu>`6ceQ9=Ky=__0bf)7qo{3`|3{j#`*)&Ma9r{cdA<1AVqQbybYXN)=-YhC2m!THa!@)B+itI%}G#5o# zE$dNHtl_McZB*02_y8n}6Cij;e6Ijkb5Kmwc_Vs5r|PqiZVi(zKl$j;NVqwUK9&@4KBmDOTekc zuWBD?s(%o@6khG<#4;fXdn!9wg}J`=;5DX(S%5(JYoRdgEOjoH{LLf>W5a0|Z<%V! zfI%+OO6;!bq4jHJ9VfNjI!=+|L6kmaXVLk#@NxxS9F<&dv$&+3q4Dl_bh~Gdb7Vaz! z^NT>2+SKcOfe1*zd>B>f2)9W_)cg!67WIl=u8okfN@(YNL44b?auxEWc{omNx(@b8 ze7J;u75bnVKcbq{mXxh67b|>bpSLSU82Lji(q^YkFq`UWip$$e1`kS`Eos-m1ul6$ z5uRjyFnl}pQ-}W&*n5ADQ1Db=lRaLc;jvk1n@!-f*g$&Q+`wrK)|0{+L%wL z!^%zI!5EUcS1!`O6L?}_m4aXX=^FV(Sjf;=GzPI;P-q+`N(&52l{a9v36_fq{u;Rf z^Ri&FlE>P))N$BBjwS`Mi=R?0lz*fFlnhAd6QxA@DZ@{)WK+ClDyG=h-Y) zR*+}2vC)MExrGHRw=mz%DAbk*XQ2fJw!9oRHqU`ymTwuC!bTS4GJ6638)M0GSXq{B zlqK^jmYFgnhmAveJN_@oW8)k-nOTKa8*^li&KbiT`J+=)VP?zwJliPSxLjr_ zEEt^)Cvglf$UoC=%eLezzXf@tb6EChYhjixpIL1q3P*|mi?VIm%2Qrp4!b(bF#@GP z*>H8Xg$){zHXxOimyMrXQC>9B?WrlNs#IUAot_%Er+sL#d%SN#k-O44zT92RO59Gb z&*QF9zG28F+g(vugD5=aR2923t9+GSwfiTQdAvSnxp`t$S+P0CS(%_VkLC!YHc_fDyH6S&7^XBC0M@*E=y z3v5L>L>J1RQeMG@9g(WAk~-}$%`#szsmxnyE-+tq80cQtrac@Zax6I@sRH|GYf+x9 zpfE3|sNkwx+hM*(?>H;mN$o$hfb)uvE)C-S?)V(0X*YEZ%JxCu%>cC zdV2V|9b|ZR!`1#ifqD_`|CQ|~xYkrVT}Lbge5A(X8VG7AB2?l8Gr;9yy#yjh@QlN7 z9B`R(ccppQWoAcCK~c7497xntWbUQV{>jEWYn97a0d}UKoyrf6886iD)6>TYUVfAw z__O^R&VQ8KYxNc%CHoVofBs*be_mCU_h_|;-oC25*zGYFE8SvtmV4aJ;wk1*XN}ou z_8<>4jZir4Hy1HEn=VOl(^v_l!Lf9jCX`@l~n@a+yXaP1aDLElUN&ijStO^VpcN+ zvQY&d9F@HA4jmBgE1Snt<*5lJ9G7oZdYcs%jO?GvfCm*$FRO8vmt>Y#)wsE+#U_=O zc?A=u7O`>m0{riByQ&~bvdStjGFI#@F0XPHGgOg=ae60COuqskNJeEd{(lX=n&k9U z0*p-gtzp&fVrM19ImC@GcUIn1!)lz9Q`qFPN>{lL#8+8W>GtCP;xZS0YFy=RXC*7E zs4g#q6k1v3LV-^FQhH9TuBr-*8(s$5PDw@tI?r8FHkpF>tcX|zqwF{_vLdg7R;)R{>LQs{CT^7h0;#u@H^O=Ja{Jmm4v26Z# zV)Y`C`N&9j-1+CAzZBy6OW>O8aZmg!^Urfvmmfverw$0q6CUxw0P{#^859*7>!exhg)`+kEL`{zy@6kVmn#WMj2yx0SBrKAqs(m%347gIH)R}P@GeDbnJAWWP z&iMS2k!VvR(r{vCB^YP%eTev2b(m1-&-3 z((p^kU7d!i`M2lDht*Fg->0YlMdL&$|D%i(S5^7ia&Pc!g#n=1 zXW$S$>GY}=aGd(2kg_8^-A=m1_8k#1G)C6HeX_&$S4956NC?A6Dj|YWLV)A6!oNJe z^3f^j>EOplDi=9(y=5CcD3MuuI;7>IP+hn(w1%q?|194SxrLx{l-m4x`Kew0M;`3a z-s7u(uG2#*@%FtRfh5P7@3C>xQknD8Gd*GNVJGA15Enp)^)`wy?IVZh-s@022N73Gmt zmysTUOXWpEo1ngxc$^bhDJI56Y68+QFl8h!Dt5cd`QXeoz~WWOo=1gvhlo;D3()8| zJ>HO}0rPjR$QU0k1T%f)!$);R#^9s9`t0G5WiCPt>YsN{-P<}FcQx(|-0`@#pR%`g zKJHrFxwy@^_jcRc+Jt*1?i+9?<7T+mC*WJ$8MtTTX7n4sx3wc*%y&)(8^HQqdU{!9 znYRpzgENcGB8&WG!68_+4ElW&kR9i^{_A zWt~Ec@s%d@gu3W4!BaIU;#Dk#nEA3my4i~sV{%qy#z;EBz|OzfSLMAFE;3+OpyeC!hIJQ@dy)q$B>8+DCbS%rPa{e`Un^2m zh)EYKhP*NX)y-A1<3En#$Pd&cN}fsyg?SF<^OSX#kfKI<+*r~Rbu~j?@k}xIsWEgC zY+$yW0!P7B=01H`mLum1ZrK3iA+lO3u$kEiOFsV3gauO8=uu{79i3U2jW5hBe^hps z)s~rMX6AGI)SSy;UPFMV{%lh&>r z<2_Y3VPXCs>AWQo#R=e>VQLi-sMdim1?69rUjUP++`*sP`g>q=mMNH z38N~taiR8dIIz)UY69ZVOmiw;f-q>6;?`exg-Q5>Xkml zW|A5rLC1q3Iu#cKlcBtfD5Q`l6lg%7cwjHZK~mtELhoV?(5#{jj}rA&0EJ~es6nU% zZ?)u2vNQ(5#i1}1_TsF2ib2qIuBxMP4WuiTwJaNt0< zms^w!R3d2UvxwW<6)A+lLzL&Dkq)xQ%M`>{W9F-qzG?%rmes(7F0z+>HO>icR05>K z86g_179OsfI=xY2c)htOZdTeJZmEH_iwMIBJdgfLz20gxY0{)g111d~Q01905RDm_ zl9rYVb34VphSI^NuL?{HufiI6O*+pu z-Rnvh)30>!>dG4WKV1bUm4}H6mXJC7AmR%(7Ttjg0&j@Q&^@HP1Bp2+`C_XAWE`ku zb$ek|2x7rvw2vD#5^X9aaF9_cOrczbMpP8+XZCTTB8*V}+TwqwsLWHgrG&$$i-0=^ zOaH2BcO{3v3wqr$uh$KuM**RM9-t!@o(HB3NLEp90L^Xbum8Y-qb>Q4{DA|l1y-|- zPnZQB__zfIEkP?#F^{1P2HN1+5A6;uih!q>eU&$1*}d{`c#rgj)!>{*APufTXctdQ z)hftUK!$L;s8~0y&x!_O75mlvU?tRMj1gGJhj5^Z;P908 z$mzs@K*U3ITYKQPaDTT1?}+COY4=~3B|)zzaD%=~zgK@yUlLsvy)$}GbcvzLu+y-|P!dxWvnys# zOi652?9SLdu_bX;ak<8;jO&e`7|o`>6JsG)_&O_D=1+y2o`->K5r1>z3-4 z<65CxsauWf3Voiw8rLTMXZp|e+w|M@U+Z`2W&OAM@AXo&CVCjI;n7*q*|@HZE{Gl< z?TWrVx-NPNu4TBE<7$dt9o-zgHu|0D_o6rB+7bO#bd({=FbvmlT>rq8VHjZ;Ww0Br zFk~C54L2KZH`E!H;96#Q%g}6CXL!f(oC z|G_0XKw|J(2|v=Uo7wh1I^vL&A`Ov-OBTs4T`oHgt>VDMq(x>Y! z`pfk<>)+77sb8jV(!Z}?um4d0F|Kd)JN3HgwCKxljf-|hH$>kZeNXhv==-DRMn4xl zKl&A1uSYM6{w(_Q=xxzoM(>UOAzEiJ7)*wE!zqR&!-a-q!yv<8!%)M;hEzkE;VQ$m zhU;;83|>QnAz*04b&ug*!~KT2hUX0P4X+qpH7qbJGAzZl9hWX9HpUbaA9G4fQp|-h z$uWas2FF|+lNNIsu4`kiiz$k6#x%tID`rN_%$WOPX2twF=07nH<9amav6v@go{E_p z^IXh}F$-eeh*=b)i;ayn#>U5Xi%p8XFm`b4(Ac!t8)BWY4Y7B}&WN2EdtdC_*ymzj zja?ACDE13n+hf0s)y2ie8RO#Py2T~MT^N@ZcSD>rPBIQKCgU1p9Bj-m+Kjgw?=aTm zy307-_%B?IxE?S*X#BVFG2`RLCyjG(J%j5x-pcFvwI%w$r8IK_DDP@(VS>Yv?pdK<|d9!yb9MfxUR!hlsGl9Hu1H@*Atf{F2l7l zadqOF#CH?dCw`c?DRFD!_QdZJe@y&2abM!^iRbq^zt@GmF6uP^S8cC5dRdYmNPax| z*JNEvzZ5p_$;~S3YWoZSAo$n*Pm-7Bc*6x)c=+D-7!D3%DA`V z-hz8Q?zOm^a4*C?ANO3`vvH@y{?K|6?%uf1!F?KT6Yj3KCEULv%}=<$!+lGfxL4tK z3GM~BU&Q?k?%BBijr%^_0o*WXOl4%%m~t`w;D7A4>7SB(@sNxA7iQ-7AH?wgpmu>n zC~yc5q>VZKQ}|;R=7%}r+038KBAh1?S%@V3SxF+od6L253?uR$8V(h8<7qDmho*)f z)A-|{D8!5t&xZc45I@WXr*pB1g`sBD*EW znq|w&SD=w)Qyxa(A-}&RKhxm|mjqKuf|F={L^D$&8j%vwij;_E0LJd|F4$)>8?Q$H z!hGf!k=;Le@Fk+oyo&i$Szi0($$gRsjWc)l!_GgiPcbwv1>Xo{xJr?p(xW;7-PE#$Ap32He}T#cj_4{^GewxfkMHjf)?R z?{SynuEqTj?)kXa;vR=|)wrkQo{c*m_W|V5u@zF+C=KJs({+ra5N+qd#~E6C`yF-l z4R_u(-T$w^-HkKunR)Mh_dhV}e;$13-~ajV!;d`r*ldySGwfORJbQt$`EA4Y+c-%tH z_3^iC-it3Se{CVt^Mm6=*kAqsQ-8LA1#|xF7oqgez4^tV(901XnpUi2tJ#|7wd>w~ z=iT?-|A4WLAAZC(G4{!)TR&rL+x9Pau&>!poNDrI%Xi=J-UCOcKmE-1F?R6R-{70E z1OC;r+u0qgj@7dUb|<@wO=o`gFBV{Tvqm<9-NRAQ*rV(*Hk)ZB9i+c`=APyoq-U5@dY1KwdY(;@USPLK|CHvlmszYdLYgX_V}6~z z!KO)Z(iu^US)Pmj=jy^Vehi{*!%1Q7B6K=8`+2K zBbF;|VpmJm(kJXwwv~OxdPrwRZDZTnmuv^qNMExq(oVLE$t=jeWi9MG_C4Fp_OJxW zD*ecQVn4GhrG4xg>1OF5`<4C1erIP$XGIY>B;Aoo48G`2;@?r}@9`&|WOEqk@44sa zz3}2o^Iv}DRki^1x9ClxzvYa9S^O{k9UK0u^eZaWo_^J;E~5v~FYtHO>bJu9yM6=k z_v1~Qw-Ek*{srOhS6_b<#^1d^0DphkxBmd)?;nT$0{nfPJ;9!2^UQOYioef+_00qG zdy&1w2!CH;ud=Dq0w(Zx5qlG?P~h)!Ch&I^X!0%A8UC(k8<@b~k3prI*%qea@8|3b zrsD5cpxJL&XZX99{lEnN{sJoA&kisZfB#^II5|tv+Ab=TJNZ4i=*y0ZzYM@+gunRz z1v;9E{^)$V6Z_M2)sZJU{5}4J_-Y*Wlq-5~gg3fY!gS&C3n8n~Q;!ljn>YMu8o_?92Unc06k3Vhb zmkIi1f`0#s@h7UMrstCkiWkYy^BGp#^I3LB&zPP+_9Xh9EcNV}*wZZak}`T)dcMxa z^t`?2*q(JgZ|M0`&-$JXJ)J#|M!#Mul74UO8A-nrrK8iYPl}}9n|eml?<9$jKU%#` zg>GlRCzpVaPQOn)`4oGa%YPVuApfc34_mwhi2s+3J^;mQk9SIv9e}d>EnxGyQ1FKg z;|Gb2B>zz8*WUn%gQ57J7{(7e=K=B$|B7wgB?dN|$L|eIov8L^-zM{CbGX3AYi?MfF*6gHb`g`{~@%#R6##VeOp5OZ( zzaKyt>+pBt^4B?L8o!=mJS?_A;M(H#5PsnuJ zm`)l9r9>CVU*ABYIt9{Q5OUw?(s|M)(nZoR$qD&ur1TTZmc;l~16lAI=_cuSb}O`n zXPC8}DMccnbaJtu9n1I?QToYy)TlHL`R=JXPd_s^LcV(q^4&tncc8E3?fGkjd_MGR7MdjNOc<7*92J zH=brZ-Ppr;hVe|}S;n)C=NNk$6OCqLFXOq!^NhWXeT?TDFEAz<`x-AaUS#ZN><`W6 zKxj5oxNdWZaj5ZP<0ZyaV;Z#PYD@nCou|b(!kB5aLiafm+H||oVZ7XUg)z&R4bA#! zW3KT^W1cbJSYRwPjxmlkj>8(o)y8W=Ibi;vr}_Kg|Nbw{->E`0e-{;_`8)q>+71bd z&*=sKdUnwhuMp3A`&%Uedy-2)a~3=W@3zF-=F>hw?u@gMVqc!ba6l{!5&c zvF8_W-v6Q^C4F)*lmMcPN(P~@lkuQv5RNG;G5?_P;~j?i^LoZ;{sF!z<{wPVKWO}D zVVFNdy+QL2$lZMY(V>VF$A2xj?z!N#N#MB8uuG+Q@Z1vc))&}~SW%e|4tol?=|xgs zaMU;0Few2%bpm*2ck@ls72w@8e^%!o133TgA-%&+lf?XaJ+nz!;NKrH;@_px7Uq$} z{8`LDB#GwF>ilCM=ig^YE$nnj%%AtNky1AJ_s@*@cbRm6)ktFgO!JRaQffzOPA-af zfN^BNQRSCE$zK)uRm?wy{-iVcRm?v-(Vs-tEmC?=!;e`n#y>bV9gvzg{hm1fiTUqS zP&$zOFc9*^>)a}rHrTbdUh!c4+U*d4j3sOm@} zi#)j!^wII3^gkru68_Wr0oSOA^#hF4oe^tfZIA02(?L}$bhPhJ2K|Aa8RT{Fz|Q1# zE>9e*KJ#eRJ!<@k<9`qH8D?}D{#5=C`Hky88S8FV^`G^c23T;s!KQ2cu;N(E?$#`2 zGc@;TW@_%$+^4x;^MGcS=6^H~Y97-3Tk{{ye>D$l9??9ic}z1KwjNLkYM#=}(LAkr zMl)CQtmZk*^O|{@7c?(wUee6hysUXe^Qz`G%>vEqnm05HHH$QFY8GpjXqIZ0X_jl6 zG%GYKHLEnMHE(IwXqq)^HS08QYu?ekt9cI=B#iifr!e}fWRhdRf6T>|Kj44+zmtJ~ zYM%V0NA*Rl&n;(%*RS)Go$%Xm4#)9y;`k>D4Z%#QL#)0N;Dzc(hj`InB7S@6&()u& z@2&5nKVN@=K1ttKf1&;&eLsDF{Q&(yeX>49KS)1VKSV!Nf3f}&eX2eU7DD1{`ac8K zLL>BobaeSCNl9uFrIY*U6Sas03vZy0gNL5_aPFD`}&&8m(5V)9STd zv|Y8)T7xzQ7Hlstqt>L2*CuGYX;0Cfs_m{lO?$ewhxQEZncB0oXKT;V_S7b7&Dvht zbG7Gbdu#h>&(~g{P15$&UZ}lD+fUnHJ3u>7o2*UI4$=E}|X=?#IYKpW$WzFR+(Le*r}VQ*{sR^%v{+ zlExuYfAKuGQ<$@W)UB%i;=`YwASH%cC$7I(8lk@sIuD9|mal}&Tf&vSJbi@zLRD!n zEM&L;YsE6*vHZ2wKkzU3`X}ihNPpc{|G?w<`X}ihI?4aU@mDLQN@Jv_SQ50oH2=GS z>my2_f0!!K`ln9X8Z}mWjrD~#w>fGdR`^LDF@alq9!>vnA+#B!f4Eo@`Ujf-srrXf zXpy(U!0kx-hl`-?ApOH7lF&cU{7=G~ z-#cJ7F`GY;`dfVIIs_SNsZlGf4xg#B4abxrg} zW6G8TG(0@_=Cg~wI3z|8%IcGY>M9_cx8$Ye#QzoiRrJS{NZ>E5l0N&K^KbMe43UKX znBoQg!s_UEA(c^B=$AA*yM4#-O~hRlr@0*8fOQV8?KUvyvS4if=qh?(X7# z<{G!yDGBH!A2=K6q)2l*Hkg@d(;5|b#B|s*OnZVV#8x><&C@&JeWR0%YmjrtFUt5n zWO%4hT=A>h?256g4jY<8G~W{4&pdt#e6K2d*=YBXfY)fBm%Lf)(GkjB_XV8FwlD3>tbVo8V>6>Z%$> zo3+`nUdq;DrtHfyGqc!ug@+s~wiKJgY5JJi`D_@6UnX}*td!ZVNa_!cBW@mF=Ee@< zwv`gi?JS*uCG8#*9&UNcPV#dBu4+$toRzdglh><#xu_=Xc~+qz3PygG;$o|}SgpUh zfsJ-95;BMDcbIhKWs>j&``@`+UvrIbJiJ}C{jSP&Z25PRPR$=4M>@}6v@^fj?Sc;( zLbA?a9D-ZhbRA%VbXH$Qwc1-&xaCO)R*Rz3LmLsvw-0R-hx;Eh_wzF>>xWkR6|n8b zJsWp2-q&CLLo2q7_bE;{Gqw5HPYar+knkQ}yoC0$nsF2dwnPeNFlMIEDpSaTIR=h4 z<0uZ{R~S#^Mb*r}Gq7_Rsrg|P*z3;SVAlvw*Hpz&h?;MnyWBasKRjl42;km+`8Vpe zOh!k6psf6?0@PYzcxEPiS9?9!YRgmrDSimdjP@(5{*l2)gzsc}AWRAKAmLb9ff2U$ zbAYDfqyhy<1{SK0;$|Tnpm<+Ko;g*56M(bT&<!+-BUAhVHI-Zps(w_u`krw%~Uz?wPnJDIzwOFG#~6lVTnfPOSf<^Qmv1Y$ z46e&-eAU%e9@;D#>gGN*Yy`3KbY-stIw`#O+zrRF#k6A_{y@ZQz^$ELN*vzF;_fLljnq-l=ergtlg%*T=^_e(`z=+|F~CgvRUk zg&7noA(Et>%1*fI&8FJ@(&0@zLC zi&?pIJiJ=LjR`sn6jI~zlvTskIzP9E{G+g&;k~`0n$^%aP0p^$ZldE8P^$^d>jnQo z9V_Tu9|&yy%!L;vCl9*VjEzTdv&^X9u(3iK&F z$4sD`{Jexq9g(bNSzYd{AunUT>Ou71U{+BEL=gW+elRrjfz#teba62%fDcj_DpkQe zyi(|F7j}B_pF#X*@DNsZv(H@v44>d}PINPi(}kmnn8j7*aRKY$a~m%{xUIL)2?@+% zD+khLy4=NO<;*5Nv58M?{1Y3cb%+Ruh;Z--2SwoU9hM_99WBy~7HLNFG^3R$N;BcL=ymb zYPDN@0!az2c2n9i5m6>0;5P^nWfbA|!mY5#v`VC@5^1VDcy=ov+(Hp>7J>iEsN9=)x#gnV3Lm^VvMQxe4@v~NR5;OAUa%Jh z`;>gDQ7F7UGrZyhDwt?%ZLMPwvrP?S}9 z4KWiB|NsB6_byO&W>mgR92O` z+i82cud1%3LZzy5-6}ooHkj}-#DEhFI2k86fQ=_Hi6;vNgCTTQJi!KMFo6jM3}Xhb z6=%i+#;ChxW4QDC?|ok1z27aBY$j{g8m@Hed+qbuXPU?KqWqF+=J2o!TwbwV6FLrSM zrN1j(V;(Se<-8^#RJ^0BGc7oc!zf#Q)swyJuGZ}I!*n9Jl>Q{DKe&Hl(mpL;L>8?s zca}RF>+r$$O0~JsRv%sAbT-;(rMT=QIBp0Nt!gG=H?C4aP*^Mq_B z%zVeA-JNm4h^0{rDWaqKQ21Un0+VO}&LDXJRjp}wtU$Shd14V+;~t@fU!INj=GulQ zF=^u?c%n-!b|CN#|7%0JZW-JR^3MI%je%UOR?e=halXw)xEQS62S`JmK}x+)t*pI4 zp@XKu0A4m}NLMd}$#6gf-ejpbJq?QMGAs~P*yfC#%`6a4(<0>HQWm-0FqSRV27BsM2jnfjf(Dr~Is~ zZmou!vq-RlJhQU3!3Au~S?U@`A!?>X!4Tc(z>$kP$bu*QP&k1BK$4i&F@d>heXXij?W2Chm4FEt_*5onEAlV22oqrupCA z(rDPKzPWv=-Ewib1!|Wiw43igV=$u?_ha6o+Cqy(!Ozo}zpknsn=vrXmO0wI$Yr zxZ%_HGZg7U%Z?{ND6k`^(1}LYA8C=aro62RF8nH}B&$W~(*hMrLn(J0f z8af-C+i6cra|I#9CODQ9oS%7LsJc;j%jQ-A>yhSLKGlMngji;2)VPhR z2EH&x#XI;F6Au;DKrhYoZC%buAh$ zi@btXWJ%g0cqm#jpYLi8=>0I(9$goBr|gbGqywj0-rMYuNgh4_97i?ep5nwvx1oEB zn7gRHynJ3Tb!?kq)*=li7iOLi93my|>3F7VQ8p<=b{~6+SZ%zQSIO2Q zl24@~id$3{w^lZn$E+c(*xrDl&xt|P9mA7IPo2}^8%D#MOns(ritq?AErw>|DES&o z+TzeM-t*GC*_m^&OU9l>1S<^{@;FF0qkv0tu%-ftMy{Y1kXu|>dDTX2(bz&VV1tQj zry@f}9`TVCzalP~T4C+%SyLFELsVJQDXXB2xxfbVQk~k%q4=b1mF8dygp#iL(^lyOcnzsl?P zTO1~bki{@A)-N7Q(i;F>US1+`zdzrR$Uq6gX@Yo6?F}=s-SU1B@bXKrjqh zEIv#^0#aE%64g-B^<9SU!U{=EsoChq#g@l{-`(KF(K&@L$LysKBFIwER#KL-q_&ln zfr0U(?e>+NcyyxFzNQzPRAWsCh5Dh^WvQ5QV&ZR7*lFRc2A7;6Mpe9YjSX;CEc&f! z&b>CCuPN!!-%0bQ1r9WtX#1wzyKG)cv~tdi7+S$M{!*)bR(xT^m&MS1TE3RvbUf8@ z>QGoU+pAPr2(YZ1({cZYL(}okmd>1c8g9*)xDBt`2o;K@<}^iP<2Y^9c)h$Tu?iR~ zThrPYYr$OF5PBVx_b#$ZpzqJ4ncTMbRuLOsg zg}=_=Cw1Y}_^Ij1F%|r-{o_dZ-A?k#S+<+4xtLzsmC7pp$h~S4{ZhTvp$y7Y#YluT zvTA^%%BIGKeJzX0uUd+O=>?5)i4GUAk1v&b?Y{9ad`hwP@g-!ZU2$47|qh8^S~Q44M~P>;3BnqTLgzu(7B32xNjc z-|c+1)e+X-JH9L)8>xw*WK>ovf>LeiPeZMS7AYs2l~@L_9E zoV&bzdM8iF>o~C6!_7H!r2N~%krqDB@!>p)YhnBC2>zjojgnv8sx2)|q@@vo z2JiE%_y8Fml#{8dcpH*WD_4lPh~-Q$09R>M>hvxEoAyt#Fu${Kbp|?|3~w;VF&z!k zkSn70@1HQ8P(~0s&&{#*H7387va4wkV8d!zt~dD$wv}MdZ7r{emvE?$8fe0_Q7Pf> z8nEZDuAc`lM<_8uD3asaDl&d}9imN1|Cgd6GrJKN5}}r(h+DidJ*~BZeGDnonp|sI zv{Xh`dLjLZ<~@89ZRs)N`;hpq%J!US3lHOpWMM zzoq4K%g8bQ9+f2%t&m6`Su+ok^3h{4eeI~Y<-3ql__By5GNxoo%7jQ;wrNR*X9}OO zVXs5hrdSPR!;-`bh(p=oNN3CnQ*yls5fV{CXIkNtLLc$$Nb7+P4&axedifx4w;rI_ z7Z9x?M2Mc&oJ6O#{I$|9iWc4k;F6{VU*doxu^O?$`w%;=h%yuEE^b+~59ts`>m9-t zS9jJSd>wXJe>ht250|!9&e7-7iiPSRLXg;gr15pAN?NrQ7C3jSA)WK>m9zbc=v_#m z*2DVaJB@{sh{>c9*1v?bQeR8_(N=FGb0q#I9{cIMwbvoCb+SOAD{vP1)nAuJ49>zd zccV4oMBuNc{vCp35q%m#a4mfryv;f1?Er@^8I&TqiyLeg+-MV;orE?|ZYMs_2 zZx=7Gf9{{O-nqm4`uO{#b<_}dyZp4g+-jeJvkga{U_vcyT#7|%PIr1Rp=FMl*e**IEysG`a6#ZsuNB#8V03N4`E^4fyv3wz3fyb#G_0tfqACFT-N8K*JvVOHrIIO)xetr0# zDtlf~gG%uwW}HXusoJpHOiv+w8B<;8w1yPj3`Ih7=3dwce0s1wcGUkuys|xtt~b0L zL%f0ZC_3PF{cB_q&)AdoZkxn{A zdxs|N@1M1b1^BW(bMI^@SAZXA&sx_U9fEO(2hcG?=m=eGSKz?b;U zU813$0e%3VwGJ^nUO#?vpBRFlt6rb7eB1U5v+=Yzfn3WD(NM0Cet)@|`a_!MMUHsV zXAcKn7Af|iD#5RoPlR4`{(0bKkzNl5xRkEXALqTsW{qlfIN%mxB-)t1$LbEoiv4a# zK4JW?*ZjaMB6%sVvL0tWgY#=^Qf#J8b=R9~_PFgRKiC6f^ko!XayxQzuEyA7mgqd<9oGfDlSj1N&oEgssKx>k78yD{M0yM&# znQeeK?r{V7V2~SPyi6%KrYnQp0QBYu@05x|<$Gc(O(eZdV|vVDE(Qco?1auR!Vc-)6`G^DoWW2#z}nyx5#3l047vlXb+-sR z6b~4R1o-Xg4P)>C*GFwb@N358A%+c2xg=ihnw(ekde>EF=$L*DKKK5k#)}NRA>E?) zAMIta5OhhL%9f!_i}A zV;}lm4Ns9fxYBlbzKJ`ylGXtm>cPr5s^fx3OlGoe%D;r%3Ed`c;tJTI<*0EJH}npb zOMJ49hsYg#@E)3O;v%jp9SWDY$YepS4fra!$7Ckdz$hEwtsija@kQ*Ho#~*B)7}dG z96nUNkZ)?>2NQUJUtg}Lm;37*I&9T2<275M{bp7qJ8nC_f4^frtZ#spHbp&Z*qFm8|{1W0W2 zhLyt*$fi#gfwcz6=9I+?Ehlsdt6_&oSh!CTYGEjiUFR~iD+QOYHEA&sV?hi^y$-&A z)1$H~%8DX+CDrD^{dd}Y+C^sDFhojPx|MeegzJtkO#@em)}dYzoL!gfa1i)1*8d&f zb+i9YV-I1^i5phemdTse$GymRT5Fo=GIm`{tXs0)LZO|!(pup*3E0Sx6DU@#!zGCxe@~jBqSnYnVZRl(F`z z41PBHu=v&wy_2_#U1BEZP(QQDQ2qMS2~$osRoWCUmXRG(q_T_^GlfZpGJ5DZt1DK)1Yg^!>0WhOQRES#;EJMy>sg02W z4^~-Dq)a=)z?*Gh4@9^MuL-wIy|FwAjN;&a6B3P_Y?mAqA_HZ$TgqV3bO;9-LCWMS z*_X<6E;vt!TfTf3R+^1tub|Bx*kHHXUG_+@=Ok?G+Hcde47fUGeT>a_TZ`&A7y;T{ zT#%svrXZoPHfMKuvwqjYjiVrS%rk6tqn69v3w`^^4%BNw|23_OeG>7-)x0Wd{$|bB=KAn>fU?CBJq-|5-CVTnVo)h*H-euLGsn}AMoCZ+S7|UDh_<@ASzk6iQQ4TrIxu(djVk&}&jzIU7S6!LZZ7)zr8GPjuz&1|m0 z&WTF`*Uvb)+O3|E>+0 z_L)ks+;?#UXBw8?%U^ChHHl3Dp6xa4cT##pz|dNJ(~X`EzWn9ZbTNjfFE)vMQ~C@I?EO2r?qOF#Rn1R4lE1MtZ$`U18RO=Sj}Cs1+hZEPZ>=JxK#f*}tJ;!NPak|n zGx_5(Zf2udEq^)^d;i%4@bG!|R~m`LcB#QZ3fe^nMrPn)8%Pd}k`7seV+Yk7hM6Y$ zc$ws%?n^wbYawm~MIr-t#WOZkia(K&U<3V`nN{5{|l4cigh)DAB7~YOIES>P)x%|M& z+L`vs><;<@@Tb>dbxWO-D@!|wFqOO31RlDGKCO;j_CD?X54#*HyrhXyun!+T&JYLZ z=ks8+Q=JZ5uiLAeqkBB+X`o<*MNfvpFCEBzRvWM`bUN!TMzGZjY42$ZFpS&Ts>Lob z@6xay=M0sEByO4b=XaPX;!Q)lmwi{R_G>c0v4NCrmo2e6U2QXGn@vz1JzYj6q0xw) zrFvw5Whbb5pn19K>)Un4QtPM7U3Ti=bj8xGeZiD}ZRL_<^=dsqI(O*PwHQ{(2HwNO z#Z*IsTq*e{8~hZeIfEa-!$#s|^>Q%~M1|P4sh3kr# zSJ@eTgY>jPh>m*!-*m<958vL#m?dA5CdJsk$GA<<_8s~>Q*&A;iMi>-ktw@mE+(v1 z-`ftGAL?(DFTfHs`WKYo!bZ&C74sqOESKv)@Q^+I6%PCQztnsz4#b1;+IRvFwnF&6 zY1{mpoH+7LtyayRT$osxIXR1WV;8~%VML|Br=#5T-P){P$>eY9#v4| z%M5&S7P3^~melq?mcA4Z?XI~~bYZ4?aEtNDH+i$q_JW+iY;EuY#|3fwIr8c1QZ?uP zFe54T?RTA9TVGeBdrH~?ySqEOdub0YPUp6|xZ%p5Xtdq??$qvN=jE-D-Cf^~Y(7pj zfEL6D@b2B+d##RPyYlSC1#ECvt7C1ZzRV}qya%>S%(B#W4gYqC-N7~TqI_rMZ)9dF zZK&Q{W0JOfj()3(Px%T$*r+8Xi>%w7@9s)*)CRC;bnBA6&3X2i%>!{7%BKEEvtDH* z9d?+jVY3@d6#H^}K!w&?a#=v)Q!rxGd9D(w7i->jx36|^keT+jAHJV_sNjKp`>Wb_ zk$WFnQ}%Ua(=7BINTr_JnjCnHk@^@iJcBk42K_1rrroP3{;oJXak}%&W0#6s?|1K} zY;{bCqb5$0eXz3i-V;KgYeD(Z@$=a>4lSD#H!s(u&wkM3GxG~6QRBX0sKrfb5R6oe zLz=+aP1oE;Kz?mJi&S#M)Y-s|MUoP_nu+_Y!)qyL3G12?Xy#JQonZ%a=m5KyTC?+V zx@v7EMQ5DLY4#4qvN432+vfVA@$t)-FYgOG-dSziKTereyW^!()*wG34O++ARUMVY z$L`RkRxiDjYW+iMMD?w{SWXKl6L50T?QAWrNg-Ovw>Vy35$fDas!NIPA=*1ay}zm| zMd#a9t)97{88S25M~zcFnp!$+YewWp3{E~Bo~!R;*l^icr;*V(bR>S0mD8Tt#~wWW zz%(jPoAea~i=$ZzY8$_o!e;EMnkx5uOa8qIa}QD#9Si4e{wvbyib`-Hg^LC-&Ho@i zhhg5~ah8i0$8~Bwa@ZMGbj(4Nf>vxi=~lF(7G4Uc!5aS(w;34Ls(EymnisW3UiZ5D z1~LdbA&L?lyDPENM~}};?lm2f+*UId1lI*Barrf7O9eOGXs!+`_(|t!t&3Y|eZ|j$ z`l&TCHa5~4^|gvI=YxBIXDCdgrns>CQjQ}o^B1{`F#%ku13y}aH{rMy`YX+dil+px z0-w)=HfU~w9@$e**RkFRYUMbwe5JEA$zlb#5dUF78hK*Ggp)mY6!J+E-0eOL7Er=l znUqnn1RZJ{r3TBk4{l`dNY1tfTF~X8f-b|zqjhvN$inUrQkCpL(=7!r8)^I)d9;>I zERSlp>3)5Usdy?DCrrmvVLk1d#}IFNUsyjWER{iWfYKO|7_RcqR- z5>(Brpsdh+?n(pCK20>XO@p99%A(= zBcoaR8Go(7$Ln=*xRUG5sCxO;D{PLz#=Oo+o$IfBA;m+_Dz2}kgpuP zAU7;8NoBYZrlgui@e{waZ;YiB<1!{b#;j2510ISZ9Rr991vD2;HWE?jfC;fpy)t2! zcr5ndkAUJ2okuZa)O5)a^pH>DM|Llc6oV43Kj_1H;aO`PIuS?c@nNn+C+~FS=ETQ+ zt*4p#Bn&*PJ~8?j$p?&XH}N{u>i2S$_1Qs=$tWGt-=n;9v*qd=e@wuadp2Y8fsK0| zk=si~9_kh8cy4CFJig_Et_lb8;kbOIH3AsO=VuyGr+A`M3mgktwNPhx#0NxqPE?_EXm$?~atXOMaVd zoHl`96ss17AC<$9@{i*M{L!ZPH|nvC^FHBsK)7{8gB^HEltFKr{D#ak58pZ)bV}Yj z+qDlkb=$;RD-EqjOxPMVrp~-5rt&4$rZK;fcw|)0XE>c%w^Y~OSv>+160llA3Tv?& zP;mw?&P>NN>q}#PKc3IXg(;JuIH6DTNasUSG%0FE9~(M-bTNH zw;!8%WO_>2%HwU&7zB1*W@rrG$W9;~_!m6dB`}%#7lA5z=dzmd@JPnGP2U^w1Y? z@;t|Eu<#lrohhIBx(JTcEyc?ci;8<2E=Xnau21XWaeE7tpXqKv@dB` zzX6!|a7fSmVbgRrhL4J%^85FIjzCOd4!uKARB7pPPH(al^Gn_oya=VppjOV?y(p~W_m&n zz(tKDGK;6a1?mjzH%!cwnGSk@ud&ck=~;YGOYv@*H;{zk|Au~Q-2x}f_R-sK;5FSG zh{dH1tpbX1n^)UD=&E`sto5M!H%HAFm~LLis3=L;!K1TQLR9Y^x_{js&b7W)zirdY zZeq7jZ_rKbj^LxuR~2O2av+SJnmKxUVfwKYWn1_L->}=l`(jJYm+Xw4HymgemaY9+ zb{uZA|MlH08QIVHyft=|qmUlLic{TVcZd)!?->1D@6J0u*V9$u%AU{lzK3uZVVdv| zA%5HLdJedyy`SrC5x$Ec*dO8gUc%3X=V9@Gh3~%`U_Qfjit?N$oGr?wxR-f;OL+H> z!u6kX{UG6^gx@3l5kas$uFrqz=X$pi4ifZklIt%}&i_F8{ZOwz4p)7zLfrp`>urRE z5U<1a65+eUvtZxB{r^b#`S9*nxqgE1e-r+K@Vro;7S{veUh$3=_w(HU<05}cS84Ac z{0riJ;w7K!eR`i?b^m$pf0(>a5f%wQNznTng%1Gt5yFQl&u{X*qV6vY_hVe|Bb*G+k8^!J;qQfKrT>H6{{-P@!n=RZ^|uIfq}wKJg!I3i z>)XS<;=Q}L|DU=4<>I-l>y7Rwz{4jm{%P;Y5Z=%A&BeW*w+kODzR&#|;{NiV_CE0M z|FrjB!dw0q(*4k%_O5XK?7!t5;ayMuY47=jityoI0+#S*!iS0bHp2Tq%(o%Gui$+Q z0@1yG@fz2iR@Ziihz3TXh*^_gxJ~h8^`k{v(dClK_^tIK0|JdX0 zGmFR|=gu#G^M#d*t8448X9wigrOQ{YzTu5eyy;uMwK>=SdT)=(V&;$x>}-F9RAOdB z(LSeLb2>%n3?hxMfJv@M&p|$V*v&d`A_WfBV$6wxg$YZt?b5mRGVzS|i9uOqYhwGa z?2mF#Tn!4xjwF4p3s`$w6jmqJE7}R2$fI*fYUh@i;n=RK%M6;0`qU_Dgr&c$8G~3O z48pm6UtDD&zj;e)VQo6@sIZBD0N^|3LazO@v6qD~I=N0f(T62wbdhHOD}13nK9LDSJ76)vGLL*Vmy_IkSn4nVcrU+;yK=G@d?w z9F;v*V^aU@;`o_plG6m=(nQrLDaf^jooZdO4dhmBFaKgo6&oS!bK#uidHg`2;pG5t zP{7VA&S8u|($lg7FC5aXIi*3%&MttSo}9m{b@0GlcUE?H=UoR5R+6o)d3|!i8S+>f z)!#*QD9K4*;kWvbtl9qPy`r$FVzU9LKds32B_(9~ME?OwYxwO)O-6E>7r5+?KJ)Kf z>%Hkk*LvSa_@xj&_Knwi3eVAEZUvvFN;@rRYTJP(|uJx{Q{Y|cK5BCdPA3T4px1aE?bJuz=AY3`??_SAuZs}U@ zZHw1>AKJXuyX*3`-irxKx?Z~0dmmwH>ss%t2=C+j>)v#&_uEfg>-}5^y8jo&b9}Gs z7_fiDH3mKRhY0tAZ@JdnN0ss%XTt^AdCtQDvzx!mkJ{hj>4cE7Ey+U}L@SxriUO;&NcVFwhgYag; zdBPmwZbFOjEW&5W=aYnw5uPMGPWbFw$@BYoPreFoQCSJ`xx7}qFT;MGAOHL0MH-*v zs&9gSkmq0f0S_M~?H~RAYrP*Nd^h2Zgf+q<;bFpI!kvUW2)7bmKzJVEuM_^9xU*cR z2`_ltwcf``b0^``z}+Y)9l<>Q&#v`8{FC75J+vM7*SXHU8ys=3XIoewy%Gx_s-`%)w_l8(>(uUo=LmPBtKu#Fz*D^^ zzTd;);$H7Q6W;6oqs4uMA9j5!>FnD#&cSlnmX5m=GtOae?JKM2_AO!-iFv$h-r>i# zZ3s;)+N47gRBY+m3>|h=7*o%1#_CpAXUg$_;ZS^NUn#z{ujDW6PH(SF=`4wE75(&w zM;0I%!!;yjOT)|Bb!ZC&9D{J>xSu;mR^cvl`%o^nacM`Z#*~>UX~5E$Uyi@F+Q}Mb zhLtKjZMiU^1+AR4qFES`*2=!P5Ha{knNFJxmJoO>bw*pDDrP%WQGyP{l*zx8GkKwv83z_wA|<=e+GvG3_R(<_!d~t7@%w zk4Unr?%UlxJT6I0pT-L?q0HXJn^Zh|TYJituy6H8uZ(@jw{~Qxy-Rl)gZ94u=r+{t z75h{^q{R^XQhW0DrK;4j{-w76T6)MbMJs>V2cBx?wkEeTmDBA2k;U}1<0m)aV zK$0+Rv}4xg-wTyJ#0Ouq1k+#Vn%*FkfhUn%t}~h2a7TF_%0`6<1Xeq!fyO3 zoM^lA!Z2;{`5h5PFE4MoMWhsUpj$Z?gFM^aF z^HrP2f{TPe#%w>MZ)E}xuVcB3K@1iZ&{K&N)%}m$=EQYd@g^4*FAs)oF*iJZ&{TF8 z65+nJaB}J-$CgK`59>xlxWa*P%nIkNI#DCF;F3l%I#K_-9Bg>BfEMTJGr}suMK~nT z#?ByDg_e%(V-f)S0m43$S_c$wk$rh2FZGMEgVuOYvA(L6z#KS9mA0yj{ShL`P(_ zUr0HL%@1IOb_p_9KZe`#@uhBMy}lVv1#m7La7t|+G6S{($4x*K@i@%B%yS4>b!zqj z=O{_A#@*dj4KOsGh7+_oHWGQY<7gabBAmxI&UQPrZa5QRSKhdGP3o8TkF^%B;-pbT z28I|4+@3!+Ozd}YzXK?V9F`c9I{Elij8m4QKVC}Mx=U0+4o{*?G;%Uq_)Q{=4VsZ` zsgK0-v}P}3iZjSEtr2H$Bepy|k~v#sEDiC3rY~~Hf*BEM9`C6^gi4udry_evF}4a! zwUlx~yJQ(+aF|g2*b%F3mZ?4&9(hkKLvxp4MSl_3877<+cAQfG7A&o1c9HEeCZc@i zp4P&4W3;)eZ0iXFy7B0a+dy=Ztfpe@1jMt!<&P4gC0v6Oc^U(Vwn}b$ zqQr4Pao*eY+kY!%nXG9e6#NaBZ`?P{Z&>EsQl{2pZLnyU!J z6-zCbv!>5i)_v&&X+28cLMF^eN6VMpEvMIC?-((R$I)_zVJ^yaO?55n5mLaHWSHflV8)4WG~`d=ES(_i#$_P& z*Bj&;Vi5m^c^7zRJ&H9lj`tN`B5vriUc_9!(4GTgOR~SR2*>1}ATSdq)SCW{Gop!c zh?+xJpu_qQm+;{60yjz#!}B&V8}qwyw4y(RdX=4M2(79gB|c%>@6TfG&Q3~(#V~zL zauJ=+WI<}0f%0&c>OCyIeo(xEuE;m4Gr_o{+J#FAa6`U3MUY$H_dqFe#^X_slKf7sJLk}gQ`Kq!>@?vykZFK z4$77C-LBod-ZfAw$FTI1=5Ku5NP2v{9(M=vGU@h5Cg)-CCATN~DzY2~Z!C6b`jG*o zgwkSqsvnXMJAP5dIVF2Ofl=)|+Ro~eGDSCKWIx!yLVXHIYo?*_-mdyvmVYqa8eTK_ z&~!sN66CP**3ym4Z=3cF=_bfw>3Y2~2}M3L48B&5!Du(C=Rk~M`GoQ-J1f!+;B2)* zfWzRto?-I64P32$8GLBEp_~bFSpKzi3ys1s_>gXb?2`*pk12PFg<&+S>8NJ{G!ZAt z>wyV^FwLK5;uvA9lc@>rQNnn^NSjiyc1TZ_UN}v))Gv~!ei~X#z^TonvR2&ep-o&1 z^F1PjnYB_rZ<&#f@aBAdNJ5qyepY;Uz*gx9&4z=ZHw^0tc|5eb`Xp`u&Q{W3uDfE0}s-Th$hQABa_mzp5=Fbr2^EfL413dyB zBYPU><2Yyd5+Q7@`qY!M#UW2ay)Wwx)B`C$u2(oh3;k7`ZJK=L@!@-|!*+XLCMAm) z%MrdBl_0_O(VPPM=w2-o*8`*A9A^uuuc#n_9$X?i1u;gk zzAY1e2@Ca^K?dB8Y72WXr=J|n#4yvj#5F6!2mXS>mOM(1vK)Co&ax?ptwmc!`|26c zh@Lbk$ea4MGT3Q6mymWf_IKkoxxf7 ziufqVAPUu`nl`RnY~PsRZ-5WwcC7KCI*-(>AjsYAbGWj{iK-lJv2P@Z)9{(Tb&w(R z+Ndn-@3OXd6%(VJ(}51+0>yo?XQc%QQA0m{9@4TW>qiCFyxk&ujq4Y--*YDl!H}Kc z#beyJbyVv)b5Q3_eAD!SF;Xms{8Q~%ADFZwQ3q&j!jvmx3|`_F@U{ALorAVlY>uB;Kls`Ey$xM|XJo1-Fgp}~Zjrjy?hU-Swp-LbLz zD*v9TRI41YJd{{ zyu5kZV673y!6L3QTua9zaWKSX`5M7Y3n50J(`GL_y1Tmvm9ux7fCOn>T(uT73TbcP z&f-OdPjD(0=$gXs3w8FawUgVjmj;EZVw{C!pvENsoMjR3^nmyIn~NVvXJ;8Vw5Lfd zoDU&>z;dCft*fGZiL!Q*&O|NqZ5G{Z5oP4i2n_gwFS>+wp0-`DIaM2&B}UfOnR&lx{-9ws zXO#O*>YT#ZL+a-~3Oi>s86H1iK~A~V(b|}P5Fl#l75yM-v$ek-ieyL)e&bB-8yuY4 zTC3alWh$*2^Sf-Sc{xl%B^U5BTj2YwJdnov_W{!-S&UkgsSq2KTNo~0ERCQtg84f1 z!$36kYk4$E(X+*Zt#DPo&eg@+$Y%bOp;x<)VH{;1&UBN^9pr~CJ=ok|%e0Q4`~d{# zhq;-2Z~QC8j|)TjyO>;lT8!h36retr%pV(GC7PfB7TOxj1nKVQkHwOg^{C!Ad|rj0(~@QP9Os6Bw_pIsi^z4SV6 zQ!@un9(8ZcDlaY-w5Y2u>JFN36RKye!OMgOsNNPn|q5 zc6mcv^^1Mh@Lk?N%9!P z(6tQZyLew-p9KCL1YOHezKi$e_0s`f*D@%L_#E%c>*&POy>}7jjy~PHo2$a}x!3#n zJjZ>6(=|TpK86<*_xk?G-(Wi54*!P zK9|?8<=ZE^4yUW0^^!>r__Hbvo#^>_-BEEff_^zv-^j2UE{OvV|Z5)U*G@XKWz@@``-6I_s7%stq(rk zd+HaT?)}CuJl(q`gjfC2)4i$USui^ZF9c5E%7>rs{n)QQ-TSqVJl%VC2p|6s{{GiL z`gHFs-vqOhFbbT4_&^*PG!(6_vC++j0_i_FZb{s%%^EB=Soi=xG4aS_Ohg_#K0W)u z!h=Xi7nfN~=(-;ro1r9U6tY|JF@j0Qu8K_&Fj8|ott9m|aN?Ja?W@M`zxU89t9uW< zbj2m}zj+q;Zq&7Cvn{G=BeM z`)+^9y+>5tYTv%`oBAJoC0DJzt*Z4zOL#H)#f7x$Xw5JZt(^M;Z|&Q+ue$&K`SVL=A$b+c>XtcTl8k4whtZiGwAXU`9V=e43d$HGM2x=7F4Dm|1vDxXw)TX7)S#4CQf=y5$0Pi zKBX9?Br6YvQcFZJwl=_P+MHB4QWQlEzqY6jd`#n%zPcEjB5N8I^^v(bW6i&yWzFX^kOq)IHuVmM#AN^4|UJ{bBV z7-Y-DIRD2_PH5byy_Ox&*19`$f%=(!c$thW!}^SwjK>Jbaq-rus#MPf_;jAdP{>JF zoSs0mSZSTvFt2%#JAQF-_2_qijgyh!rfZHg-xtsaiqPq zxrTKg#!>xQ$E=DPMg_B+-$?XAZp`=%C6tmQB1d*&*7|4H=$e;pl24;@)?cz+iw3T- zwpkzfr6vL%CYIvqN17N*qvosl5e=%V^=k>7JA|kE`-Ey6_}Cmu|AhQG-XQ%FJ`iQz zmzC*M^JMBUgh(68vtVl;&ht?oJ4d7w*>A8P_;@fphyHlU*-aQpwvXxMn}`ZIZ;@?E zm>@+-OweuMaXs-1jALfTtyu?<= z9Rx&--7sDOFS_@Q4S6K8_=puZoAVChZJTqFDwE6QS>#W}!lkUcu7YfsWm zWdkRrW7t=ctn6dID6=aUMX*W34pc00V8}8?)m&ahkRW7{jQ1Ce#j?!GH&gP%K%i*r z;K&)~+7A^hr-^cG0f(=lkhN2C0gFo0pnbBku|A=7J0(2t#~0C}L6H&?Rq4w*x)2eE zSd&AnT%}x-SWykkk5r*_QHqrEHVKyzpT+nrxoP)OO=42vF!nQlb`84tLXNt*bo!Cg zC@-iyWi_+-*1s|!hmk{)oC^LOy~#v@*4D#Otb>`^%pp&$Vaqnv=b*lTFwzTKMMKM| zl*uh}$?Is^EWY@Dh%~K$hPID~2G29xd44S5#YoWCO~y<4&B|ai`!8=I$2hcFZkdi9 z!%Y#WZBTV)`hCdkGKNDhEuS?mjn-OD=a)h=CKlrHcha7rKD1&SO@-N=$8VyC$kIY1 zec9<{`q~yRc1RLEI$;5Q|90&KleHDdy1-nyqk!pPFQbP-t88)?g$@hlFZ)AB* zcp1#?MpP5qy-s(QPR@1PM7$ggbT?QSh=c{EU z7BA?xTG{}j2yNdN84kP9+Jf_>JfE{E=fIr9bIJ4S+*?x-8D)8EGBRV?`Wgpp$Y?Gq zg9geO=hH*y_ngtOzS8EX&|;u!;6t_X%@`Z#OKD zsj{qtNe|&0=x!$dbkbMY=66F(#A_02lR&AAvc79jjh2iSO>Yyq#gORve3Xc-dh%7D z+*&rO$u_~jB}%7>l*~5`nnRjNN}5Pc<$O7{?_zsHM@_~#ytQh9zir@>xKXB?Pwp&I z1TtEl`O1AjaFNfp@iH^7MKANs3QW_Usc%PdBY#Sjac{@MAv&wSyXr$*)ptTD&FvazHAcj~TA&bF_qjt;4!xdeDiQ)MKo6qRwJfJ8J&GQMNPmej^>e zYSu3%M^Pffn|WCijYLo{c=-E=&wr+;@U9TvUtB-N{gWZ+`z_TLxfKdt`TnG`-=(h1m*`{?_rLs z!sEsD&D^htpl>h!iD!CK?|!Ct*N;Eb`w8wp%2i>hxc?N-F--mBGrjL1C|-YvaeMqq zKc+(CpvRU2_uO;O_?7dU7gxrsu6eGi)NmY-yadH?`s)=P!+j_==9r!s*ebM91Mj?{ zhUKA{=0V81yv~7j6U&*CzQY`w4p*+hAy&<|c@^$tfQo7d!_1`w#E`*rH77kV!vzqW z{kaUlQRd2WbjWjeabtO%eL40HqaQmp{1od&TN@lhdSr} zVy0qt4V^A)H6hLt)|NUrzSWkI5WrI?uPKU|OjpO0ZRZNAo~~ud{%uyLy8hlye$|0k zMV`bocc}uhVKgiQoZVXWGm&M_#FtC9C_rR9d#!Hr0#`EQIP{dKQ_p%v`-_*BwVjwF z*{g-PD1ldQ^skhwo8MUzTA_>!SizWyW`G>YEYq%HS$a`u>258a2d$Tu7dd%6JQ}LS z$5P(YS2`SMEImam9I!$fMZClqE8Q^B`MA2ab?&^60G6H|oUqb4i<^2ir{!}jqC%Xi z@T_JjlvSRJ1u&jw7V`#^oN`(gxdzfv#0JV#pj;pc)-Po>c+^)#)|c_j1r5k{DL3OO zXkp9_MKc_99Zj*Zx}DC2lw+WzqUAT2FCv`Kgsgr-_1Kt5;9149{o2NbYUUy_WF(@d zs#GR6#)Con9Yr>xQp>0V#MP`&6*PqxIY93!&fzE?b~|U!;#2OtZtVP8-CW+lwn{gU z1;;egH0_o1Yiw$aZ^o<3XTp6xMZn#Z2LCf@IX4htc+H-y%UX%8!KTGmdf3`3=asBz zdjQ*D%y%l4bPBd|hI=bvxL;lKR{*g3tC?k*Rd?$5MsFkfN?Tuv)CEZ%h zH0NOS9t?0m@5Zt=D+jg!H?Y+GjBhz-wF290nVgskreCu?x1<}#PkU~`_C^}&p{wDJ>0Ev zA8gBhz??kwn%2be<0mI47N)19kXzZ>tEK;zrW-s2c`4QNIAX$~7RPquoI!OAR=H7b z?SnfBFGKjZy4naa05`!(;qv0pR8x8-TtlkBo${snp-EYbfxbhn0NGg@rGl-o`&7?8 zt&#Yo6NoqBgDsq=%c5mCtfvoa%Og++P$?@ z#n%g`CMKsz)YElBQJzI+^JXeN>TgmHWO;N8hU#lKJc6s_h2UzhB$EOz-rcXU~dX8hR zCMV{nTUB^-{N%%ZZ?KX$K3#)3adK+r*v#~)6zSx`gVU$xTh)n)Q?K&BkIkN(ou8YS zoMB^zy?#tj(~~Dp9G#iXFQ+*;`sBPl&z?SUR7v{vv8n0FnG+Mo)3X;ZJ;og8PR~v* zv^dQ( zk5C7!uOo2;QzYE|4X(|~huI<72S0Xd`hn?3<{q18<#hG|q)hlUD<}*xOm83K zsEXeIe57-t*4W%Kg4do1xHK9U+s=^tX5hKrl^VbyX-}aWojrO7D)YBDmX{UHHbOCw z#mtmy_`uc`jBU#=st_hyuw< z72T|r4$od&I0qYf<4F1RrrOi%$|t-Wh!c3dqWokgVI5zpGInClg3yEDM0VtLBe|4C zQ?YSLLu5o^x}N0eO5#G6B;g#P0VT6)C9#VQ8=<^B+Fc)-7VXHXBs9Yz1SKvK(Nd!m2 za7Cg<5a9)1<5%4) zR6PIMU%%e_F~Wnz7hpS-zD*Pqk;JMd(e+zu}hiCP@zXtA0m{0aSm)~^%(Z26L)AuZxf7#J%9fSUEDvx`)l0){eOME_nCiny?2=Vsh{((#PvG}?;|Ye z`tu&%`a!OQ&k#P!yQN>c-uuEYaQ!#HbN^Lb-$yvk{r|!HYaixHCInv+oeDDdlrA6AMSN|&U5wm+4_@y&m(~(T&8(d%XHYNzmXlK z=ygrj!y7X93iFycd)lkL&FFEZ`jS{`UIkhsuN~2Tb#!L9;gkkNbGS1dX1;h?FnK$E zAb;jW%-3vYXQpHpt2U?dS~7{z9HtPJ!;C0cfk#~Axyd92vT0Y}l*=JA+^Nnv3ZYpH zVtB4bx2k^TS7;Z)I|*+kJV96?yq0jBaG0={@It~ZgfG%IpCNpT@FBt@pS|9D9^vUf zzTW%Tr#$>#xc_#p)5ZI7?*Cfx{6X%cy>vz`TB$7>B&pBBCZ#yPO7GLbUO}}@Z831F zUUK_^{rBqco%(wZe^xg6b54KS7uWA)pU9)OgZ9zay$%->%S%UauTES$Wn1^m5zcWP zwn(OhxazjnIB_3k)5-lrZJ{^S0@so1He5K9L@e47n_Ptr+edC&UE>?nkzQQwaBj!_ z?A=L~a&3KRXp;81{Iu+ZndmWTv6&H2iSQuZvGMVT@0=VT*Rt^=wy}m{v`|LkuyTBy z-9_Qo42SnxRP3DsvKek6^`7>Mr#gtDg;Ty#c|c_ew`0=1EN<>w+FT0d*kL^OTwB3X z%pJzdGtKsj#Z~hben|>{Sb1$#4oME9hHbZ$%NQQ&moFW;ZPK@ej4iMO={8$kV9I^u zwoUrcxCr51YY&iT8`K^>-&xU`kY=D5@~m#YuH}2zlhwN;paCu$PKec@$~nKx);(!} z_}Ri^vVL}_9OkHhhINhOEM}gv$+(^B+qvSZ?S0S%)pm#e6ICA~ zVNT3PR`jAls}&UGimX1g4yWsg3>X%*M7XkSON1aWpx$4E={Ca{Y$#$BCt-iB-yJoM^A%z*;+&9t_x57*}fGz`B*La8~e`%pJw> z7MC{`x7aWOT*ObpZ^BVBN0W(W@R5_yYUvNg*%q(9)zUnxW@1rU^^4^&!i1HDY8o@% z*K#S8s`9!{7me^V{!qNy&gn@X8&5DYtQ=e0nBO|n-F#qUZEJlmJT&hbAh+PV2A`H{ zO-2oY?sGTVX1t2k0n`~yPZEL-i&4Up@6#IT=CV%0aE6J8sf~;95&5v8gulH#eyxC z6WSt-J5I3`nK*FbteC0U1mW*AZZ_LVz8XGq#%}xfW#x`v%8aRVef-8yX2{`BF>bJY z>%&GAY19JYJdA3h6_VK<7>e09Mk6sZv$7;-I~;EzxhPGa*d&#VS!4S^D1n_Y94@vc z2MGs(21KthX( ziqvbR>`#0o6x+;?Vu2GM!$H=AFyEEVJihVq_c zpb9czLV)a6iQ1~@(kKHPET}nRvO^1g-y}Q)hGnBq(Jw-Z5~u>-$b8%|X!xAk z!e^Cu!VR!GGvyR=WBdadxq5UjI0D|>eQqQ(8&`^U6whp<@mM{FgaxL>OYVg%3b>&l zRuAKkZakeh7ghJMzb|1CsKLweYCL);g0f<_d~pkDt5%l8?=2oI9V4kNe2l4;QcSE( zhQ<`bmUOEKS-xF?0YNS-3u5ivWf(CEP=)&N9O%ZRn=xzIP@)Xi43fY5Si=Sh>_jOB z>|bS({{t1;+agxQ-EJw1!T7jyg-E+MIapIGW`BKCd?xzF0corqB{ih{=F8c~U!e{Y zMo_tG-Ecv&I*lGs;Ut#PjUlPGaSgyrvSGc zv@yL{jg(qdF*U{AqecZ8kEpJ7j;DGK%n^ibWSN`g*=o7Qa@Di61}@;NwC0>aEBN58 z7)fgBh4~k3$q-k9m2f$|L9n0)D5Ayz%GCkZW|~kHz*3~6j zVdR3z#aiot8m13knX_@U7Dwd-JzJ*c9)VAvG!s=HQm~uUCt{T|SwJwT|0WK zdhXK0ltrxROVnlofI4HFO`X-#ETuucPcvwicglR!k}}xAV6KJ@rD0WZw=9~N50*QY z%i28ydfA%G)d*@S3(ut{N+d-`2&PO?uu_(1mp5Sgk|23Vc$jsKhtsI>4yqO#C(~yk zCr14id9XRrr=r-1h2MaF?3$h-HM(S1D|1^!jTYbh*U)QkBq`NmpGALFvhakB&b!@e%&y!2K~qra1t>F9Zu}MmN-f22QHPa zIbwk4Ie_t#hTV3}iI|8G(m@gt>-=((snL0BZvLSe>sp-XYxAT`==J`P_((&?a1COe z-Vriy5Ct~qI|p4+!s29&0jOg-+hTnp;y|Q%qIP`q%_mXROLegkn~eH8d$+3BXIoGe zE3apy`7c|JggMt=w(8*^*xf(!b>LSv+9Te;lAwkQT#%dN-{)fwck5q+5f zu47s*lsVoik^T@iyFQbT@-ymc(^dxo8#NVUsBN5fd3655^7^_uj_n*VF;wNTJnT?} zVjalZC+eF}^8IZ{;fz0=JP^28A9GL@i*{l?wRXP-2^ZhqeuW0tR(7}9&Jh8fTO!B~9=XO5i zD)pvZ+rH8eq6))}OlHUqMHz~P7%t46ZgKI{3tPb#jORSR<+t)JNpH}_=KKa)mG4L+`j zhkZ;~ApU)5lXPBv^D+ST3$DIXtbycgG-*gHN~U4%Z4H0S)(_x1nu`>j&~pzX1MOBv zt1G*ofSy+ng~NfhPbBO1Jwp9xE*F5Y4_QCmbB7&#I}u;rpPHrWZ@)C?DoG~q({Uw) ze0j8ERkSdo$M%)l*Y=h2>n2MMD^orzegYk{PjAzUp#HE#kGm?wQcU;d)bI&uqc%J9 zw%YYXoYn5RDX`om4q6go6pHqiv?sqv^`reS9+|>Ju@yz(_Y1Nv(Q3&NO z4%(L1;raU%LlxuHX?1^2q3LK7fEICf#0iG+!_D(suJx;>Vs#0JZ5}S#AaE@TI=Y4| zx+Vh&`bRLGKvqiVtKT-|>5qkI%^}|&tx9r3E>)k^NE8&7Z4oew7wEDW)-}2x zPH~M(-lwF$^mH$uM+q-)11{qFsd+iQ>=P~J+9=*p?K>PZe4TWDyUsF19 zWJVgxW%Qw^U^XT^q_zoD7gvIs)>mBsVLG^!WU98AlZGO5N>C42#2y@Q-Vs!K`e{5H2Zp>doQC#>L&S2nfhf_W8 z)2V%{OJgRj7=BK!VlJT;P87o$C4xfGo$cizDbkECN0yfu3dL;MA7Vmp5$-T55>x`$etp+X{aD^qD2b+?qn6i6RW5uSb3Ogr=DOm&zcf&>nHe zpz~f$Llcsav$hyIkiz$CEIDA5+5jK%*a+X(e@h#Q+~Z6vb`D>t9loT#`{m@<-Wh*z z-CkRArc={+Mp>~qZR*{AIkqM~GaZuk!5u6OM(dU%4A4?R=efEij{=sxTtSY3N#(OW7MCnj%(^@lNA=}xIr#`z0RAx9CU$x+=AK`+VmP_DDD0EL>@ z^No6ndc%gry7V%1Rl}0gr^=N+TN|kjq@a!%j$g6oF>SUZ#gq=qo2U$=;t2B*`Wpc`;F%e5Y6yN&o&~k)z z-2rHd}*d>7I+ zrr$Y3ohj~YES6j48Nt%My<)mfSa^o^;w82pMSLW)q#KCSu&P+tP4y9RkHrdPfyuJo z1`o)AgX`qcp0l9bm=BY7>~786UK8K#GL2yIDJ>myU=; z_F)2k38zh+OLvDdB;c0FNeBg&|$ zq^pEY&!)*_eDp=&F53#_;Kca=#MDIwGny`Vq3Sg(U&I-om+I!`(iFaG?Ttj?dL8&=P{YP|2JHjKPN4r3uj_GrN(&sQoSM`B-m~ zlx78Gb4A)%!t%1MO}Oeajek=%5U~pNkXEk{EshB)F8ggmFXvgtpFcG@xquG91m)aA zgJ`Ed#Kfe=e<$kdQxJ&|z?vKloKGUK8T$t6HtJYYhqC>PH$LP99m{=^l^KzUA2iUp z9Fg5Ca8zOlgYVlot@Rv_8xaLC4ozV;eGakQXn z$Cg!+LG$e+s%9J-D;L|FSSj1?gG9e3CmS8w%J-L3&WuCl5r;8f)vVRcj7cyw49y=K z*GF3KhhI`ToMQU$b%=50JanVOx~+HnjBL>d4-t-$pZXkZcZB&LN`7rv2`Uc;8jTij zEKB*O&{=LQxtQ;|W5jWbT zm;*(-ckmT;sBZufca&WkvxT78chyi)L*rF0S2xrK0Xwy;Z-og{G&m~0ux<`*|6j*K z|GY*$X(BE!obGnIHV&CY<9ww9$!%-E0l!h(_4S5=?>U<(2vcT-Yj~~-I?s`WeUqV} zR~k4Cl4i%zr=U!lX2?D7u@W1kHZAQ1&=!GF_-&11!-qZ2(pZ7Nw7kYSn@k*R4hJ#z z+fxmdhYO8rpkc=QfqJ-FC5&%gC6`v%8BRD4#yoL(|yU zw&`MI(-a_Ofy6Zs+fb@>YxT8ZvMgLgK%5XnEEukZ#DGtsUGi!)_NzDDP3Pk*vq)cr z8XK(Zd!_am`yHMsH4Oc(RzcJGRFU^S|>6j*2nHR{(#kCR%y+I~) zyzn**)4517`>b;DxF+(~H9DrpRX-k#9T`!iel0a(bRLiw^Qhs=)elA=Z$tv(*bvRc zZKBhCQ;gZ1(`7tvmy=H#%~+;PSgjVEb}g z(e`S%ljuKG3(}M+RaSfVe-bC|dq?jIjb~r>h#-LCZ%wwCnYuS<+tusc7sH^aN?Y>z zo8wslZgMVP|3Tu+sQIsC@4jQ}_Cju)(~?n>al6w|*8f?H)R!VMa?}wtz6E>tf^t2X zsCN9Qe78)-gz%H30((#j_G({3i?a(A+t(ScC4HPMvxzSarsu9n%i5Z6ZC za3XLdQ-0;#Ayf5@!u-$ZJ}MX_JfTnvuK3@Sq`U)p8dI9`F!al@hVQ^>m`PeYz}Jhp zWu|C#nOr~T$}IebR%xD^?v>dm-6KyyV6x;0hz>9+&=#V!||{bD@&4$|ihx{5)2;iGq({N=SZk z5?xuBoIs42%+9PUL}K5y@n+e8@HhxCZ3pZlRp-fq(=Gbj;W#&sCsof~3sfnkZwI97Yl_%-s zr*<1=>mO4r1hFKk1?FSwp8i2v^-#L~RaeWw%F+q}s-BnyieeT#G4Z&7xUroGvDuJr z=t+%(msWmFI4(>Ok_@_`Z3^fGF-uUH^()32JT}-&(~c%{pDf5gC^Rp&kK0~L$!ZDD zHV&J?{Zi-Th7Bih1j9oxvWUhH&T0Y^jU$O>ZW!(C^HMnewu=|dBx1B<$>boNk5=xTcBbPr-^@vPWjP{rGgUj94=psoV(G z?%O1dU}p15G1Fydd~U#%ldu76XgiklyD09KY=&gZAG(_rabGLhh#BQrNvqM(*dv~Z zZjNMcYy-U7BpV=V^Udh!m(XIQ5?M^Kp@+BN)n;ycw5umR+~F3A1NBmw&6p`rw-~9N zEEnwBoUDuS%I)54xN3?Q;MEVD4s3kaz!Y|rY~t~ygSRzhJkaJM5mU|RYh)NOMR=Yk ztaRgh#({cM)Ft!wqH9kqV$@G$A3xjsSAr)uI9SqTwC-VPV0=Ut(VYH~`5E;$A0p#C zUzI9|R)Y=hnrwg!!=VYhMzk)PYnp=*OT9Ev9dB@S&&{mkgpQVc7n!tcrS@E>+R=zir zuHm8(si}!4TrdB;4WSgh)4mv`lSys%3whbPpqkDN!G#>PkZ8fMXXb*@Zp7#|OEh5J ztwOCVih_Pf^_UI&j)nN3rYYpi?C34&yJACOGNCh2m4BIsyrsoa3gv=mc8S=xX z5+m#5epYKa<~x#fi}rQ=M9c^&4+l6fvq0>o3`I3)m9(wT$~l;x>j>)m_-`an#@^!N ze#|$BF7W)=H_Ohu{pNTlFEC;9$mU?ZZ?ZqDozIDC)9_ll71{SP0li{K#UQzsM@qMuF6#Yo-Wb6G6@~t`igF9TDJ2&b zKx|Z)TbE2aU}YqDRUR6VAy1k&Wcj1SK%Pe#IPn|$S*jAUi~@g{#v6~ zJDV(i&uOD-p<9Q&N6+fPcYny5Y1=-!MPW@Z4q$4{YRLE<@StYHeB0?FHJw(rs{B;K zG^@x8V4u?zeIrV}wXDiy@I>GyCwr>eYv10}_Y&gUQ$?+46*PMdz8@+Se@#9i^j@0B zrYLdDZ83wpx~CEjlhc`^LIwRxb!}`x6R?V^`)ReZRJJ#7tVVTU-=6Bk%)A}q7)x%x zUpa#P`1A>9YxC2uK0Q6liJg-Vo}A&rxv15|>}#siv#**x`S2{~o?%|eAz(|~w6DmJ zDEQb4&wRN3_G(|lVVXXf=yIB-csJgrDA2BOUyUM)s^{-%RSXrzkE=&nvR__&U8{Q3 zX-9Vf7xpr=mc2f|#@Wrf11Y*}ZRjr(m$)-skICG^Ai^o#CWY-@;#ClZIi>B^IbU}6D@j=FrfCnAe%NOqkmRQ0G0TBPu37-MxCWdPmF8?5}$TPAeeE!rZM zRmkus)v8=WF^xd{bURqC5;m&>%~csk-2z2UzulVrb7!U0@wK%JTkEq?50F0uF5Q8j zI9o{LQ2%&VTlvW=MA~d*3<1`O(|E9%e8mqWrBOgbV?I(sT`D!5rI3qu%r-GG_P(lf zbv}?`h2F4wU2U+j>4U~nhL)6LP3X$6Nes8!46K`-ljcIcijLI+e~vS?Zsj!134&Lu zF0ODge(iuzYHXeZjjmc6P&4jfQTt zr}!WqzOO2|{yrtGJ+LFjEA8(oc~)Y9&K#%LxG_Y%FU|NyD%2Tq{3b$4d`7TUlP`GN z-cc~m#0&FaReVk9$I~|>cdqD2l{2-ZYh7JSgzTeh`jXmT^dM?8JXP)#*i?=c>+IQ$ zDF>>^3_#Y}m9))J8IBq@*N74HU&){;qXUiu2Pg_JA}F6rZK>0=Hp>`75*CmG>~Pmq z;-k_sPfYqc#0f3cWwM24C*u&`tr5S?pdV6g7vL210AuPw#E8Zb#(q>G2|=c~S@GLy zWM9909-^A4v9GH6Wgh{2SCuyXR%z33#nA*hLV5)`BJ`tBk8U;U{RrildJz{o)E)*e zcshU0B$TVGqf)E#M#`=N1JP;aEQo<+kzGQZvk5bPpJvO(Jkxv(+p7^cZ-R+jE||#I zswHC%a5D-oW_88w9KZt4Z@hzJfkPoV8+8x0&nXVhqRWPf8QO|U$(U*%TzJh(k7OI| zI7)iTy2J{LT4T7bDy*WQ>#Tb;d6Bzk&&La`RGQ&tC1KM_P&S`dOC+l518wQshx9;a%anqb zs0_vy`K?v4HrtR>jiy^DrTBoTogCEU!Ngg7!R`{Tc9W$liah~kq3g#nD?UbnD89FP z`Ir=>^b(J8;x@XUBI0-f+Y!+XGWXVc3FjjN^EV8JB?YDasbSuj;}lDJh`pu8+&4eL zm^dqCZ6n7yY6qfB+W63rN!YkuV8U~+JR?}V3)|^Y`HBD$S-9(0xtBRW44PC@gVv%( z0OqypYdU57Qb%$fJBo5Ct%n#jRYpTeL!^P#)I%{f5awiMa3CI$bR8ZYDBk30Yleh1 zJss1zMrGlG5tMB|n#CS9?XQRnJz)&-&6o5j2!g3=Ux_DA&T~3?m@0Io*0Hil$8DPS zN>)d9_WGK<`!a?yqR8`|RFiTgy}q%0(J*4YB&TlW)$qvd&1wU#QyGgi(EXXkaFhzV zRdxxBHD_ERTFNO;!(j~D54BeyV+baHn@=Z-Kxsr~U>{gs&d_txS-`piG1A6~`U0hE z6q|B&UG942OXCO;!WPKmgRifp3aGE3w2BjPX$qXO0^<=y?y4rV!Co%Nk$3vgo~Xe} zjf8ANHz%bbHRmdUlVnaH@)iQJS|;n!bBu{@mlLp7I!CW2c?}l{dZn)IeQC4Z1kajI zejPJTD+Q1rL>KTF)hkicI~Y%`8ujQ#xtkDuq25yp{S+MYRNN_KYm3*Hqp83(Tuj3HX% z_Bu*}_#v_EuyWGJEJO9ON;22LxuI<crb12d}&Iv8QKa1z* z6J9`Q5k3ISZ*u0R!mem!6K z1ie>y2lpQ!e4OyEU*}v@!jptI6CNkL1(;WIJ-_p=t_nXf!J+rzv6Tfe@OtHP5-h%n_)@bJWOXnLFQDd47N zKi~U0!rKWegcAN!#Es!ezA3!qq+j=PRXA9L2vc4Kb2njv@J)pBo6;)7SMaRx)0as5 z^5=V>;kv^0Lxe99Ha9=t`_T=`%k{NfZ+Sg^n(IILArHS6t{>s5@V^xy!jxCR{Aa=+ z5Pp|Xep6ay_;)-j{Imb$;qdSJ^*C3Bzx{hTM40j_m>FR95bhzA-;`Dv{@(9=zNhee z7r$WPgW>v7t_uIC2oa{dKD7FU-t!3Gw)TbIWniCAh~Jgg@AEB&37+4>^QYfh50CJy zaQ^%J{rkDbce=jn2fom|hwvi8*AtEsMhL(0{a@%^;krV2oUlOHPZ;@s*n9K%CaMN( zdqNl5G;Kpc+A5G#mKFpFs|W~T5i1smf?5Ob&?E(0zQw=`+k3Xzu(u}+iT{WGiRSkG9+^zIx5b> z@%T^2Q4t3Jf@hI_4%=7aOYm4c1Rq&Vx%eP1$D6Tx726?>dg7=kBYc&Ne~xXu3YX#% zERUD@s4gcg7iZ%17mtcG9EC^VT%0NS0(rqQyb71%5?u4rQSmc=5L@tz_({CC?5H^B z<)gxYJL8VHned5t6utr{;=#Bt{)+VKu`;ha@f1Al70Tq;HTWLvzf(|FW+-?h6%f4zgO($d@K3G!noJ?s19R?~!1 zrkO^XVR$?ajgxtW`gQiDqYec8#5VyNzdkCYm$R>0O%qC)W+7>=!It2$YP`&ALWqa3 zeG7i{P{0p;7vR%SdUJ@?G@+DfUcq1D4{>Om%q!G;DMLEb7x0E^=1|b%E9sYZ?pebe zZxu=woz-|$NS{ys(rrOT5hfi$dev&0P|7s%q)Em-acG>(E7U{TmmV3k<7i;}9wCrvsYfJ5VCUZK8|GNfCZ0-jC0+`b%2YdBuDnkJMoO<&SvU|FZoIGI=(;qz+0y7h*L{C}o;Y@J9R!4vmv}g?cpQNLSYeyyx!#_e1G5q*tw` z38hT)2x*q%+i_@|%q!F}lp}2j`W52k_C_eZh~rhOX+kN}EG5l+oP|TCJx1?T0T5Y+nQW1h-{)1J>#kMf#5zMTv&Tzpocu z4Jhv>|3eRg%k~}ne%JAI>i3>PzY(bZv#5Ny9{;@Hzuy`7URZC_(ERL?y-kA``~NrN z*p}QqchJyzSN)gi0?GdA%O&!Lnf!*y34h+(n?)K{DYyTP<#Fw;=GQ(vw2V{5{iiUs zUR&;E+_7Xc-uW-AT^=}29vf;kztAvsTgLrUyqfM*RF7S`qFI#U5}b=OaXKD>({K`w z!bk3F78Up)F2|d38D51;aS6`FnK&Jfz-c%MN8uy1uL2*$<#;nL!>e#9F2T7t6Q|=5 zI1MM^D13yrR^WrU9B;-msMoBZ<@Ud|daR_Hmr6BG-B`{&H5|6mXC z#-R0{W})DN#=Vsyi zwOO2wKmJA^{lb`0j`WYDw*~z>e7x?TT}^#oCXMv%)J-1yctf+em+)fvAobir{jbE& zQ~z@6dk^l2w^Q%msJ9kxpdRgQ{fTplx}T1{IVO#|tM#=;w1|U2%k6(_^;pT=$Ut7D zL8@_TxTG5QZ_APCZ5>;L9;^Ai&i0O=duv;Si2i3!CC#RofPW&bdaUH#!F-&j377F| zoGk0#x{!Qdq-?d$_4LK8sDSf`oA4hj)BjDm(xJ!7JU$8LbvT%xny(rzsm95&{;g$s zs%74<;(Pvs&*PX-e@*|Xjw4QPr;&#mCaH!?s&TTcf9v+;o)O<7W(3_I7VH1n*_~R% zTGB}GOgMh5%%d_cu-}a|YM!CtGG2|7W&K-s>D(e3C{wNTpd{vd&~p3Vx(COomdDEN zU5UrTj@o0q3%< zm*E^Yf-u$g?wps{jV*+ib_>|czL))S(w9Khf0D=kpyl?z^#>fIS{^I6RfdL#<}1VJ zQ?D68%k6*baU7#s9xJz1hK7gcE5mJu7LjhG{dg7INkJch<)*N;<#{y{X%pgmGd@RUKLGBB(F33)rz{bEJ zrv@2}Rt&)n|Dt7V&kF9}9OUXCHwSqj$i^VM1oImlW@rT%|XQ z8HJ1|J<1Osjf_@SXmFr=1HtMP@{J8_^)jm=0Zt9>rv+)65C|V(7JpAl$hA#PoqgiV_kZ2vW;a>!aA!qznz;d6(Zr@6FR@t?RVU{?5?}-DZO|3eJk#N;6cYj4?nW<(Z?QNwfc!C*F5#~GtOt9dw%V@ z7hWuT>E&0}zxvwit_^RzxpC85Z*P9*-S@U^-L~ER{*DiJez@zS@{d3HboZXmKKFd_ z<=%Z??LTnv>u3jaeqZB2bRAMm=pX(%Xf%rSd3Y>VJQ}4DD_>}oKDZyw#`AGL zz7sFQEAUJBHT)e`_G*+XaQnX(loyqk&}+zr-a>bT-w_@c86WvOYK?4*JQ{s8+7@Gr zsgF4la};Uf!{R%~C&r%{Z-^g?hNBT^Tl|OdAI0yE{~Vc<&B@+mk*uU>Qo>RqQ=(F$ zQ@Wt8DM=|kQhKKJMyaSTIu{K_BU47DOh%8UtWH^z@=VIJDbJ;>O<9-nV#=#2ucz!u z@uYl_vKM`oQlFyq?ATM+)6nzmo@qVL>3MU{TY5gx^X;CVo=UGiz0AEP_gd5I_g+fx zw|Z~x?e4v!_g}r0K8byj`xNxC^|_^wz0X5^oPD0{qe%@= zmxBHPO1J+zM>$6st&CBYqFd2=v;iGJf1#$Zrm%^|iN?#&O?;_+xp9TjoH8-x668o( znes%+lPOO0JbD4WhCWOAJmpKY4>hESv!i;(^fdNN>A4g=+4IewZ})z?_xtEbZ_&H3 zPhlTV>MyCjRFSImy`%5yz6bgq>f7A6t*__@nrFAoZp&_)+ZH2YL^shx%tF_qpV068 z>&LaqwTcy$q1Vwyv>EN_@L`89JN(e$mkw1OYC4Dx#bJxXmWACFw$-rJu-)*!VUOW+ z!*_-s3{{32L#v_9@T6&tX^a>n%;;yN_ERsVm-3vlPN|EokFM3$YX6S;J7#R$*tl;K zzfE)+HyB%5TUztl^4h{hxbTV}#V_L5W5>!o{%@bZ|F`FZY@a#@)V@^b!gE{~Udw9=^YoyA4A)08yjYIHLi89y?9Gg=o@wlXE=0GW`%&MXeS2<1xv9CS^HDx3 zKsHo_iqWsA0{wyR?0aY5yU;!8UUVP2A3ca3LXV(F(c|bK`UbV2C{vV4i*zUs=}{Nd z6(ylFQFk<^bxiB9wqb4Oq4UuwbO9QR#-R!5A~X|SjjlmaB8u-wj1pI)>(FeZ_JyCk z25ay$VFB|(r1Vx&m42u{;zdCjsf<#_DrP=I%~GC4Z=>z#*05W{?m<^YTo-XK+J@Zd z15_W;5TT2VjXVn((EP}Sk^7L+F}7oNbWXGlHN-Z=PK%oscU9cgapCa^@pqxg`f2)R zl+`)6^TMtLUH|M_)pc0n@Wg$I`x6f)ev_yqMI?1h(k4wzzA(9~G0|u=rt&g1!Z^w} z#yHM6!FZAJQsZ=VC3>spTRkDEkcXYZ|HaQCtB8bS>L-+DO!$Jpa+lxJ&abO$IvSD zHTo8{qG(gJDF(%&c+?4e{8{ReojYOl-7-UA{(L|Jvu0pfW zwJ2Idiwn>-$cpA5IbQ~#6hCzl>kSiY88}!KeKTyE5#W zu)?rA!|x7%DB{_O=Of;UcrRjW#CG(4#EyuaNFRAd!$J zBeE*8Q^!tJe{#ncI=VV)qB}&7M&qK>qo<%tqi00Vj-C^JJKBQYkKP%*2mKWNbF@a= zK|30a(~j3(q)pdeqMf3(X|LDbuDwIM1--BRQ2UX#T)PMTr2Sc|iP6N2Mq|;qm*H^Yx5qDwzdQb(ct`x>@vGyv z#P31_cmW=ahU?GMpN}&2GxZ6HT@nW;4o$o)ae87=;-bX26SpSrLLVpYP5chUB*iAZ zgpA2&C#NQ-B@agDCyz?@7!MhLM86pSF!nPIG_5v0Vd~M`qgiQ-Z!@;_Y|CLx=i-I9 z2!}<7MURO#M_(MB5q(GWozdH(-O(RKmq&jZy*v5<3e$#Z$7s#kJJB|+Tl+EkRJ&W- zAto$l3^JpOV$x$SiOGn$5^amw9`k<8j+k9BasT=$9YQ{7j({kjgZVXfo5 z?fuvDJY;^ChTr>N&++e1JIBNPb9~GR^ZQQ!{NBd=4)pyVf8Ph@d6<8mk2z_c-|3&{ z+x+ufj)^+Y!~FAn40Aj%E^?k<>7VD@j*ZKnW8*T0aS5ICa*X7>-^Lj2@{iG;kTIGN z9HS}6#z>wEp9jwcb*%o)IU&dO`cs?}{r%^|`Hb<&=fYbjoda^r<=j8@oImZgOGfZo zlZusn8YLMI#Zz!Dz8$X#`f2zKelF;B@CE!5UXNeHo3ID}j>EswC=s|L*5X*)1$V{W z@CbZ99)-tXGoFYi1w9#Ba6Y~ZJMlYsAFjet+{Z}4qw(d~hVR8?*o}X}M{ze^Lx+$qT%R#GzwjS#-ed(0=f`ggeId5G!- z=v(wX@}i&6Ve~7iK!2c0RE=s;18UM7(HuoBs0}F{ln(MQ97Uoi#7kla9g0JGlz_UR zt|$qeiMpX4$cWBHy-**NhWerY=v-t%gVEh#cZZdREe~6P9te9d?4ht{!=4X&CG5+v zePIXDH|P-h9(mDE=rH;fRiHmmC8|aZ=r8nl*wHX0d| zChCUdpS%fiHtL1?pfuDE^+)F-KG5~x7Hp59XgC^yMxxPZ3^JqfXd;?~($Qp;fuJ*FgNAPn6^2T~5ks?~LrRB~jwmK2HbtM3ka7k}PU)V~ z3-v*1s9(x}6jREelp$zL%Gi_(QHmIO>@(7bnh!PQ=u=dON(~PhRvDf#lo?((Y(cwG z3sPTCPNqhQ;e{m@_rYm+Bp!_~z+>?gY{A!HJ3fjPK7;kZCVVlrva^b zuQ)1bEgXi=!z1wMpvOXK?j-xY|Ah{Uv~r|_(*0-$m}g?1k69a27V~nVDKk#PTndvHIAA*tFPwvFFEHW3yuK zihV5hiP#OXZ^phCyA`=(cg1SB`8YUkNSrzD!noVx?uc84?ujdnTaNBWE8`xITOIdI z+_Q1d$E`yzqL<@diF-B9757Hmn{iu_J8oy(p}6njlz1iH9Dh;##qsmwOXKg0SM(|R zp88aMUwuElMSr>8qd%foI?e2KU8m2&XQPa`+N4qz7Z#FciHTP>C-aMjtbn_TwZXVY>p?PBSq~;CHdz&w4wX{Ci`f%$< zt-jXgR$E(f+YN0kZF5DTxL!OZoMM~UAwCkHh|k5B;(+)@96EN*2)zclI=tUuSBEb; zcsm^KP>pU1yD4mD#LNhDq&f1J$X_ET#Z8Lag$^VhNSu%~A*p}&tnLw}2-6_bFw-dX zl<8?x3pZ13!X};;&zw|78rOnp_)Ok&55ZIM415Kihws2o;|N8EzD@P4~1J_`@W zQ?UhKj%~OUFUJq!m+=m~6Mu}el$(^7(I)gR`ax+@jwnLjL)V0%2-FcpBW`hMVo^Nm zggT=$P$Ei3XQA%MfcR%+O;6MtrJ}y*95et8M1#-}Gz^`m8KD`8Mx!yvjK-shXc9`- zT&%eSO+nMprD!_399@ZKqN~w0=sJ{z=Aaxj59Of+Xdx;@*P}&fF}e}mgqEUPHFnLN z=q^->R%q_mJd7Sit2Iw*o<`52=g~S;hF;dZqIng$&_?tYdPnoFW~*kqW*7Px?M9y= z5Bd`AL;KM|^bIUxghA`xP%Mf^SrPX{DBaKLKD+yZ?(ze27>Yn0 zQ8bD{u_zvOLcDbJI0Gf3WONqljtqz|ee~#wdZSd-7oCF!pn+%*8iIzQ^U(Qd6uJP7 zMdQ!}bRoJ3U5qY4Q_wVYDVmNhM^~bm=xTHgx(;QbIVcCsLwRTcT8IkK^=J`VjBZ3r z(9P%;bQ`)I-HGl(_n>>xedvDlAbJQrf*$ShWRGXj^JpD<5xs<7L9e3M(FXJ;+JxRl z@1Xb4RcnEPHY}0t~%-UQQp+~zxn=K-Y@%~-hcD@s=hAEdusp9{j}4) zUjNg5HTnAe-`rP|ukZ5pTD@Nu`noOen}xn^%ll`cuiNrITIlPxyr0(ob^COmH$vYV z$!&T6t^I3!;C`HZotM}2lixp`cuz*&kCE5=M((UMb6@3l?udNG-H1l+BK*yLgn0kG z0{NaxUXMaQ=a}1l&XMoO{{PQ9|8IZRne>13Sx3HC{%=0-$a_QoU---;-}eVT_niEh zN8xo-;q}1jzrLQ~zYk*Mx+?F1$ZP9~_d(<}R$f=Pgj`p52d}H&a$T(qURPU=U02on zBU-Mjr@J>Y(0^}4UTfvOk&9Cz_zV{KY!dh!_Ehk5Sj+$TIZVBF|F56Nes-Jg4! z&tr@Dx38P9Mv3#=2yesc->b^2iV_(X`5lVy7~gSY;-N10NfOwCrN=JQ}w#WF{+ zWGj{&#WGj1u)Bz7`6|;FDAN}z(+icW@|CM>%2kV$aePBRt6=Klg|k^lN*R}L%gvgd zQ=B))!kP>`>DK==P5G==;)=3n=gkS?r04AXb!pbxpIm8zdE=XS)BIrBpNU% zWEA}&YOirRp142$#QkwRbX-nWei0NH!2G-gImhzPTR3~MlEJBzRWv?0hq(X*1CGzB zjKUj3dSFUce%2DaP~myNasgrg)ShNz4)7@QMe+gpb8?uD1v!O_7pX;^Dv)6uM>pTt z?vNQdb8-vh*`hGf<`w44X)|R>R>4Ak#uT`I1;%{ZyjVy-W9lxcF>@RaLZ zrp+9t>Se6&HLt+mdSzNs-jXb38V}hofXBx~wPnrW%wdfSdHxp#&kch4^%YkSh2i2{;k36E%QHqkX*;kZV}ci! zto%Uh8NyQpjt>niT5`O~vYsa%a#AeEauvv$qs(Bc<`>SBoSjv0W0u@l#Q*X#Sj;&q zFLQBL!DO1D4$_RQg{)LEBPW0Hyu~~oI!n%2kf+SZW#;j7VrJg)b8u$fe2P!cDaqmryil#iNf++pm)DRidC@)91^Cz*HSRye zk0)Ne5VyZXhg^W=Yx}YC^X6~~^$#RXKQ_^hJ@+W|dMs9|_lA6FIn}usNEdvSn!tEwGk?d;E-cEM$M5)f>69-U@Ox;)0x2KHH?89%lu}Zo9-&!7XD$C=S6|{&CvE=Ej#<%A`r5|xG zzvC`#5w8U84cS(RGX~>b5AvI8>~rv&b*z7g@nl~*lYKS*?$!Ke9hYIp6a2Ov%P{HO zAZ2{+Q_NwkJj3$=o^BByEW<)A|j6CGCucR+JVcl2YYczJIi?2 zdo7{@M{VW2*urxxpbV3?v9HFj-cEkli+xye6Awcz<1^oV;*PbY^f{#t(0#tcDix622XOjce;qw2c1-pMy)V z1(#tr=|U~zf5iv!OgsqRi=QQ3sAc?&zi4L@Tg7|lwu&jHz_va} z8Gb6)1dmxAq)b!7_KNdbMLs@+592LZhJ{+jPaM%I`s1Z|8D5WNm~^)wWqj)StzyP$ zd}w5=*p0KX4sRsg%2TA>IEplc+b(PsM<%xlV@9h;o6;)0*fFV9I4^1y)^zHBajPiB zQKYfqgSgDX{-vbn*i}K7P33o&(+Drd3tEK0MLD#Y70e<&-FYeRpqK1Y2V!3m)(8e(H5 zsO-fy-k=8$R#&sq`d3ln{p9f+NtzW{BuO4f0=2|K|3ZhxIaw@+q&>xB9r@6o%flRP ztRW|}yCJYH6`!PdmlIOob^*rRJl4^bEAnWMt%NFD>~9;(H2IfC4F-g!JytC~khA=C zpg1GTjZwE_asI9&Cu5-QAu;|3ESwx1eAL3p5iGMKTX9l8EdN<_Jd~wWLQ@T3jY|2D z&Lzs!tf@-xe&_b%=>w*7`^`OG!xLA#(W=Ydk;?$Nyop>{ig&rn$dO7BpK5aku%sXl z_T+|0RsqWZ%T=e;jRA#416X=&E)SpJqhCQbACW>fkHyYq@g{$#D#x}4EXwmQokQU{ zb8_VRSjV@H#mVKPLKgYSDrO0?k-d4SKzS8<5X^FrL1#NUn&zXn*;xF;rW(`c3HvI_Dk z4aY(*=gu4HNOXhzgv*mZv@8}%&*f#aW)Y_c=FJ~c({2A3pZZHk}OGVKOOBmP^b?>sAz;cA@KA+f)w6Sn;(Hs`BmTP*+ z)~LO7Yy!yMVF5kXMGp43npS=|G!`!Qce7kV+kXoAyME3B7OT#hcPv-#E6mQz&dwHD!`jh6>k9S$sPHFm6ggvN#bwZ+t?(Ajb|@xmf*`x)i=C^O}gtFbt5p^;U(SrWJ) zhkoaoC;n$~ERqWpSpp|W2J1OZkXKh0@eRpOF4jjuC#K^T(sVj`B>geqnm>&76o6~ zDCbkmNFm{spb&5>She&5Xc&AW}BsRL4^~mk`cG zb*7vqoqD$XujPauFBdeP%cWcGS$`+Vu3u14cw>Q_!?Iia3)T5gN&nUI6yw0%u|Oxt z3$I*b?AXe)#+$h7ebTteev`Qd4q~~y;0q=vpZC7+=(7I*kl?!&@^IT3Cjr= zEg7J8R`5>Fh3Xorz5M5sdQGJI!S%O;EmbEW=Ug7=zg*>vN8TK}7%SP79qPd2cxrC* zS4#1|uPAPUe(>M*$=S1KTy5^prJIf%9utT^qNW=gOuzlctRndj3e4qP7TRS!Y2Jzz z%Wf?4zb~7;#5i!!v3XZq6zKMx<1c{67bE0f0TvhW`0c`V<~3~#?5nzoquwLz=L%Y7N%em^wrd23t68~ELI0m^M@H9T}bG;Gq= zRw1nkQr%D45(roK+f&A?-WyD-?rY8p8?`oFQ94H}imgMXaI)GO1E17b}YI z?n;q#i=te6Po>zoS5fA{jPDes5LW)GC^tgKM2&JAY?;J&P@(s7z8?x#%+)BXU_~y^ zF@oiV8l@F3wP}>dQsS5JFTIlMHA*6^+{kaf;H*n{^bvGTr5^WI3hQNxVuCH1ieiNh z9{A>fYj|*-8+zwZPgpTeQH;wgMVEX>&hc;-2PH2UW732q9_g9K7 zQ2#)sI1H5s$!9Xh!4c32XF(sdL$jk&tb}%02Hmh6njWGa(7BFsX@}+2N|6q&a3%CY zYXfM%oX3Flh?;yj3YCLgU+&!Unz234QNY3Jxh z^ zq(kdPRiXsy)2qZ<=zty>KaKonP|r)rAG$BA60@KO+Mwl%D&dsjSCSq&GOI+3jGtL0 z(k`dmtExl>v_l(oTwNvBK=-v(VmI``O6Z(ReXd|Xm-Nt;M}43q~%%K0j+Quv^__8(7CQkc%cXKwJ*i`3iX4oSF3~-dNx!E zJ@G!+3!2`bU4&cStP=a6b0f#`;71QMLgyyh1@&7gA6mCF?$GS65*5(?KJDRrw(h7B zX6XE&O5{Vw$J7V9KB*FipygBg>l)I-BmSS~84r_Y z6JEvqhL&o^6M9-oeV$ zyqPg~s}>`m1!h2d_iDjX$!*psQ!Km;t?zPqT`? zSG8CPm4Ve_Cv=#qMFX@Bsusq%95Mkb74?ALS)`xO{x#GadakA3(0(2DhHfkMmf`R)^ui<12XzZ*Z&tPF z4;?wxVit5l8}#K;9#rzG#YSk!=Xe>unDVKo{)TF?4_e@?eA;;}qd%boW1yGC4!9O7&ro0JhP!3Fvs!qe2R1;{v(+N%dioP~gU08mKeVl5+@bkJ<{@;y#5|Py zFIS6$(D@4Uq=>YbbiGA=q5IuxkyK3hd)2}W9dHITZlj&hyq$WZLhCP_zjD8Vc~Zi0 zzf&J*tfrr!y@q)#!)vL}64KXk-a&mm^A*|~s4p}(GJbNuiSzL$;#(M3Xm90wfxb5S z=Vsb1IA5SkQzMo^M~52Wg7&Z)Q31{2H6m&$`>;QBLkm24uk zXn`JB485=vTBB;jdKnJ)K_9Gu=I9!syOsR4HNq?z!*S4}s}XA@V@VIqan$EF@`K%= zCB8;u z&2Sa;!EzZtfO_4@@dN1>Xc|-_mO{%A@`tWr^dIz|S0jwesMkp93vHuogcDlE&^~B| z6*3&QKs(gm#dyPB&pcm?vlkY706S}XhVXY&Mw=(~rHHZF!mb@C#0BtbpK8~MHdgxt1 zzeCqT(nDV%3;&Cq*OjW`V5OR3-e#NR?cLkF}$H(UnI zw=!iq!ihDK^Y%KgkE84pXL9j=jd(0`JT&_3vVjP^MwZ#ClwtF+yb4@1HDgD z{zLTBI?9J`XoVhF43!r+9-84sXfIb{DfvW8akjAx?!=5f0^?V+MpYH zU$#}qS&F0Q}OzJYlM z-7p_|-{g7#eQ+Z*zr%F~TA;FucEK*tw}pB@{ni>W1Das2+}}n$pb@%cINS++ZrUT` z-{<(%gu|iGvV-x5PH2brT^t8J&;#8cG49X{^-nMkA2V;D9a^9R=0f8qTz{YkZic>3 z8DGiW9QP#L!*S5*VV*(T7tAwg*~|Dr`#$;yD*Ne|HH05zyrAuS`WGrcGfvQWnDK%3 z3eMxF=$}8y7kXeWRH|ve3~%7|0P36Rx2Gvr;}iX%se@0Lp(D&EN@RGrPq?5>>l0q+ zf%<1i*NJq{mf#aBpbxs`erKO(fnM0(NxCkilT7pp8?>J36He$l%P00hFRYOJ-O2Y^ zMN!W7iFD{pqkOqP+$YMQ?>wLIK-)N<;32?@Bf}?5&;=(#`=vgSFT-;P%r4c$tQf! zdaF;Qtz$mi<`bhO?c@*jchFwwg&ycx<`dyBQ183Q2RiTe2?zAtLp*esQqLD@&%NXW z&C97DG~VZ9t!VPOpZb)s|1kA|HaH8KAN7fHXn}{IvWEDVs3**Y`loziDYQIIJ7xGY zK5-Z-PMC!I0ITX z(=OPq zo!?U*X#auh7Ib(S&&~AnPs~&3`Gt7{jlYo|I)7&#K9<#Hb$lKauMLcfLlU@z#_)(Q(W>PQbA`dZqPi2>esDK424SfI*|@-J?g|#=uD{->!GJt zoj455{pv)okJyJ6Xc|~2?9dC>Lg(N*u@Ab3k#9Nqjv!xXhw0FHKKaW1k#)ia9dIYK zjH(meKBirxNeAuY>qH5(O{)`S(0Up9Lid&A`w9J;Stm@Av+IOaGN(?ILJxF7FWf2j z7u1Oc=w42}Kc)Ofs4w)asuSf<|5Tkg0!=V!H|4?6&<-t7dAd#%ORlREYoG^~%lH>K z4mzQ35B&^{(D7oOm;s$-bz+$ehpV6)u7_UemisT&2_N*p@Xr`$m<07N*NOhn3ui&| zEA$uiyheLu_y*E{PJK6#PVz0<5A|=?v92fFO#aXZlRTt4|KyL z(6N>FenGpp)d?FkZ>PRc?d=p$)nY)`^4A`z`I+$N2uhctRhX1)W~P6Jo)Ccy5 zK9~uO3H2f$nxP%q;7aI)Wzf{QUTlH-e)XafI?t^aN#9WKf%Re{^ubJMHIWZ=Lc0uy ztDs{L$3yerdQk!GQ2#CaL+iy1Xc|^89MA7;}Di|fUDXr5dz+%g_kLLbz9Pq~-S9%z|T zFN&dUTD@2cy%y>t!!IS>52S-8Xuhmo%z|!cgVq`KVkgvJPCcMwX1&Pp5^k**YoIHO ze4uGgy-53!`exI9=*_7YrO-FGUTl`ktrv%(em>*$6U?s{OQCxq`9oh}z3@R}Q9Wz6 zl7Df%NQd6Vq=TlLXeV^q>%}2xTSmPPlkT2+F&g^T(tptXBK;=AU#S;eej)v<^}-Cz z8)!e&ze7II3lBoqyX5mL>37gi(7BU#L(4~uFLYGY3*|TRucUvVw~GFO=GuDUf=V6j zf-cylf_$PH#6)Q9*C5tF{eT9s8`>{w5J#YAa)U_wo#QeZ#0=<~+92#ue|dv&LF3g8 z!V5juGzk44gkRerdO>Fv>7f^vK+o(3;gtJx8iYqOyFn;_Qt!ExFFBulp&dG*8*YSN zSPo4K8$_2%@`Y(oU)Uh5&;wUOudPAsgpTVQL<4jcHHdCi^g}V}pm8zzLo-|n?XV1* zmNbZi&DwjY>> zM`+h!<{`AeTxf+$p&dG)2X2POUuhq7!=%4C?)L_f4n2R;KTu!Ee39W*)EnAhrQG*1 z&yJFBE&TwM`UYWxwg&1C9gU0+biqS%zlr(LO!~hXM1QD1Lj9lzE``3oDF<4b>33*{ z4Klus_O#GX9U8?9Xo+YP%b+Q;QMjNLdZ4jmqc{S6uvaVlQH^3Ew8LV#AKfU{Lo;+k zC)@`WZKJ4wR@egFP~S%S81jME*hXQ6?)XNr1$sL*vRVhnb#4^1pc&es8?J}0u8pFb zqETE)jUpc^XA%xg&<&li0$RE^iZs?#Fs0HiXoI?SVWb<{D277YaMDSRqFiVm-6#&reRu>qE+9Xi=i?nqzd-Z2MzIq* z;Sp$=&?qt@G>SF7Q7nb7iyK9mXuq)6(WK{}{Rq5aScH_Py8jY8>2elr?{ z2^y~;9=fiizo9R)QOM_ax@I;CGgPi_6gFswt0b+Bq8ys%P#@chwet& z3vDf&pNWLGa$SIyHu?=(;Yt|}%b){pk@14@gFYCZM829PF%%lZn?xow!+aSIS3xh_ zEW;z3#330D!;`6ZWRu8%dTo)e|&^4h+bTM%JMDmBG3uy=RPNN;r2VIa4L}DkjPHz%=BkhH~pbL(G<|~>+ zHnhMJXoV}F{>mm%4o&co42M4GxVlLgQ|L!H6k29+Jaj>a49{X*pgWuPoK3x9H_06O z8!B^~#4PB8%b;-{<1hE&PH3M`e?ZHECSmHyKAZ?$FcTVWO`;U~ikiees1!Geq+X&Xt_SFMXnnFt zv_Rw9CegnS@#|@WEV`9UAFLZ^pvq5g{|u~F{B zL(udk$M>TjU>Y>;rJm3VOP~|3fj;Pl?tRQ#=z$H;wV!c5hyFT1JE8X=;|8r?lMgg~ z!#K!rxE^{AQ7$xp*Cdqw91nXz<$L-aT3|M`{y=}qeJ}F@+J2-w$)89+fP4=#kDwdc zp%<=%$}fyFw84Ec94hD1?q3;SXohLf0W+ZSwa1AuJaQ;FkY=B-EHH2}5-JqkD{Gmy3 z9JD}(j92~=yP-bpFA+YJ`2UBt^N)|Ks@DE6la|m4I6%|@;W}!>s8L6)8a3*qoup}- z(g6Ylj1V9|fdBz26pR{ZfFLPEtQfHBC{ZgGiBhlO+N)7|x$zosycUg`t5Ks?Ns~!Z zOxgzb`(10FbLPyD(*E<#=aW1$>pXkywb%Z=&p!KrC16LvoT&p-U=uh7wu8wfbEZe+ zU>_J+I%fvJ4loV&96M(M@5b)JIa3affk`lR+??qElPAoXe!*AFnK5uMGG`+1LC=YE zCI$|^a?T{cv64B{2KJvqJYe&w=m*TaAo{?L z525b^;xmXk=_qs$H(yt*aJ3#9iNypU0@2_24=v1!8_r9 znDF;u2N>xg-@q8y0}g%$JHYe*bHtI9GElP!G16e_B=Uf3KOLNNASS(k0~Eu>L*+W+nyr7z`>uQ zuLk)q;eq|&MliZ(&ZNK|a0m=MH)k?n8(30{UBAK)V8^dXH<$ubVC=V)(^c3%K4;=! z;4kO{d%$gA^Ir6U9pEUK0yE$sSXjsPf8Z~$e;@t=)05N(FqR?TzzjG7w$03$venoz zJ7*feey|ga?5BK#ZQwYV28-7a?gh#Z*!EBAi~I(A!PFe(7mUqg2iOc2ti>L%0vrS5 zVBi4pfc*>D12(^izrn$OkuP#RGH){V{61~oRIMYur_Y-%FkU{-^BlxiF>m&Q(YMZ< z!u9Yg=S>sX2KIuf_syFjaP0l_CXht`2j)!$7^s>z&0zFH^QH%kfqh^c8~~HxFxc^7 z4%!2Iz@oE|$LD$O0A4lmfXyqg2W$hkfgNB!*aHrUeC50u1yc#^JDck@^CkfXYUkNM zk6*!VFb<}`HgG4H0*AmfI0^<<;Ri4V7Mw%8U+zBQ>GH=Gg3>Z0|-%ay8zkq%) z2}V9TZ`!~?Fa?fXG|%%3{JwbJEP!pz@Eg&41^Eib!Hr<#s(G_VeqT-gU4XvUc~cKY zu7wAtug4BB)<$|negl36+ipbPh4^hFJTUz+(hX*A!Cr9i)_F4_zuV_c=|>3PfuF!0 zunCNIl74XTPSORY?jrss_;=5nN-%cMylDXg_fk&5F>ny<_$+$C!L8{1D0V-HKCtcc zloP>T>;#)1f(H&hj9)Jz-fj2^jDLyz2Gd_Aez4;!lpiqm2<7i$;`ut|1WawmKj7du z;emn2uoH}Zn|y4>&d29XBN+Mayy*m+cam-}Jpd1k{(yYC1U)}QADH>^ylDmdcT*3* z_z>j^3=9+RrTqR4JaBB3@&Wezk#vKpKar1M@~`A0nAwYeE+d}5liy(fKd=w%d7knq z@_pFXLbwdq!N@G-0Zh)L2W&n_J-?jz7N{3s;9sN@OoJ(Ku;746%kL!zOyCOm#~v^h zVCEGEOq1X%5114>jBdXrr&nJ41s~=2h2R! z@ty;wd;{rx{{hnoM&k!e7nojmzzl%>R~;}5V8_)5OzbMsam@kF`T%b}VEV!M#}Ak> zFn#+06S)yGAS?x4#{ge2jN8yPJnSRa0`5}7)*iXVBnpHOg)$c+e8lbfbn;cZm{P=ga^~L zhfHh}*VmJ7kO_k60+Zl2Faz!Zd(MG(EB0Li4~*Y~U10RyLnbZq$Fbu!RbcG@4)Htyeg#{=!0!*4O<)}C2K&Jj82bbEfz9BM$iY!? z49tLSV~0%ilf?T+^nqhwCz$yYc7yRh;~&9s$`RNDmVFBTUq~mI1Y5wsUx^=#{f+qL z`d;D(+rXXj`|qR!>;MBD@cu!01pC1_IQaY_vjH3f+rhvD{s5z39~cJ*z-Dk5>;T8W z6u2Mk2Mcee*7X23KUnLK31!5BCX zCc&aR2oFZV9&kC>57vQcunEk7ZD3>ye}XZv7fgaXz&3CY>;dX8T9~=VH;3${@Ghk$v@_r}b!4fbDR)B3_9P9xb zzj)5KEelP_V-bFbAOTjTP1_oXr|G_BO2*$xy zuo>(CJHV}A3fvA3g1f*mFbxL&N&bUTa2||n#B_JA9~ey|HngWJFi z*bhbykpEx|908Ny1lR@!?jbx_4EBTNU>d9fGhh;o93=n27`O>cg56*nm;!sionSvW z1g61JFau`5$RYCo(}V|0z$91!wt;c52W$Wb!3|(!f&2$Mz#h2{_JJvI0PF{c!9j2g zOoRKuF|hDn;sr~=z>DNR7y%Pt6l?@zU@I60JHRBk6>J8#gKgk0umenkJ>WQ)0_VYg zu&A5(!6=vpmxE(q9hd=|z`(!Ae=q`ef>E#+jDb7A4sa06fP3V+A^*W7xBw1ieu3vsuCaKxe(G1CcvJRoJk1wgRNjRK{zl44ug>z&UplTYB|U8bJ$%+JYZxk=cIyT zU>fW=bHOZt@g(OXK1lep@GBTU2m8Uc^Em$!jGfOpwVx*(*a&ts;ukP>0saT$7m`mR zzi7df_VW8;>;%WacCe!ve}gG-0BpO2^D)8LrTG0J(g`NOp369U5*!4#f`Jw}N0jj3 zD44vQ^A{iHH&_7y6lk|c8cM|_s`F%I(15@Buu;X6J2N>mC z*99;MMjk=F6@P&JU?VvAIqDM_c@V$Lb#N3+e;$ALA%B>14Gx0CU~C)p_-p9nT-R1m z&U_sNn^W+=4(}`Y0gOLFIRQJqhW%jX8`${`?EEHv0ppJn4jlV7=>P{Gr#x)uHy8(F z{j?KcGuQ!kfLlfW9r76*{2t{R%zU48eUtPI5HHyAB;^`Rg9BjdKkz#k-v#ecProiY3 zdcZcY;4yf=!G19MJMtN9`!jZffxnUu-^L$%DKB8#^T@&UB=$XyT~ovh((#yHupitF zHc!(ofRP!>X+P-)lY%dhPhemU|A2DN=_uHIfOLO{>tGd_40A3i7&(FSH^ISIaCRsd zJ&`j(!SqR-@%dfsD(1XVF#ame%>)NaIJ*<d>v<^f{`0J8}xhdZhp~J3f{^Ypx_wT4#sYK z(QE_bV80;ebB=+{oXr{ecl3f~;278lX24dkV>9u9sZP!!1=DxFXfh(d8+*Rb@2(e3 z9XR-D&N~Go-JC}Rj&0$bQZRZyXPOS+&mQaoV-KJgZ2K%{tBU+{ob3uWg9T3#FIWL4 zAH*ME8teuKKaW2|-uoiYAD|zs{15OU&SC{S9)<_TzWAcqFY+(H$a4kwnRAeKgK5q= zs@TQvufNFi1L*rU`2nWEt>D<>_z_HfhwxzXNzQfsPwX7T4p2VD`k%Lh-F9~17&e2P zR&;D(50}c2m-4s$$>&X=nlC3rYELLx^NR2-g&lzppZfkczpLzZ5>&z``0F_Myy*#w z#C}BH#NYhF^ClCwGWj3jZzF%v6%)J>#(qTB#a}71S35F^dmDe{$lffnniC>-1y>%w zbVYaQBiLAhXcvE#TxZK@_Il#}(0v89Tb8WqUb^|%;P;lnT@gkP6t+SJ=HZ_xNq6lH_qa8iLstl?CVUzH17bs5e3jsQAwMtIhVM&| zI`l^2w80;TzrxR7*&W(kaI>gX&Q>^)nwRHDF{^qRj`(yG&IUNu5*HtlWsvnDdyh(N z9v6^rX=EQ1nd_J8&7qsHNb;eK>lv^{X>hIDD?UhYJuCWP$1Aw z*g8KCpIj`Y>af~S1xNH>;pbq(EyAJDNqo(4_QR2~Y~x#V{L*HtWQ{;gSku@Auk{mo zzb_tFHFWt-ST1rUBo z0n61boG0ezJ9z}X4*K1W`C7N?;Fn&>xm1Mp^w-+DRYT?ajF8Dtv3n!jG~7zcqQ^~a z33V6LY+e%lnlL3Bl$(M(z9GMki{9GqCBZKXca?C(=3%(oubMDF;Crs#1bV+<&0RwX zhra;7^6Ci_#y1|{N#h!AK7Q)y7rQGcNF~?e6TW+V&+f~GOUbZyH^Oa&do*e6gxhi5 zg!$5E{q{FewqQ3QNS&KJA7VrH(DuPl#RPT#s@6M>*w9%Frrp`2Qs8*4lC(p-tLN zox7j1;n|h-8Rb5-FKDB;?LYjoJ0?scn9tWT6ndz@p)0=)Uc)^T=EX(IoOW5E+m8{x zQ~=4tl<40=8?%T#R{syw9GVg3r{TA7PTptze68oJowj&T`6O5Q0V>0u&mBEK20!sI z=iQy?OK+WRyR}&e)vNu|c8mSZ@b`ahw{YIywVpp4bc~SLTo76p!jW*qj=g-@@!bitrO2muwQD!I`krIO z4(a}tUqYQJ`q6~BNCa+~_wzrjU6gd|+J4u;ui~7)H}P9O5@!>#Mr5s?ZM5H-mU<^I z&eyzDk%j^QF-Yk|L?Tk+XCArzXtt{FYBSf1LXq*nw=f z2;8)KZK;-tS_v=l^+|l03G>~<`tfwHOpES4@W*B+%(waO>0YrVRAW1s8^ncD{)Nj+ zaRV*;C(JE=ZbI6I)!j=HbX<+Xt`3VG6>taOF7wy*oc!Do61H3Ro8b2znlQiimt}t$ zx-IJ`v85Y+-HS(V+a-?&;5Pj$>r=6B7+E8-oBV$A_h+G2jnK7k0si)5I2+GzU$(qa z++MGIsT5*gMG^HV$eD+H_x$SC&DGsYgO5n+SA>Pz2)8>#dGqV`@;BSZN8xtDO>t)B zxqSEZ+A-N`6b6K|9nL76nwM}sCKR=A7*635&M?f0(;X{3D8^}htw6^-+zGg^JFKsM z>1B@eG36BAiNbxkeGGk3GfG8Y9oHAQ-tR9PIlljbmJPR^-UPp$^Eqq$?PAvVGQRq_ z80`9fJN#`Y?K400r(gY9$JnOJEp}R8_P~vu%vp_#=(c^#QZH>{d%+1zWnalzkB8;2 zQNFZOlDEr+|LT3_v6t8)<2UuQHx6osTU>JFav*xU;g+9rbb1Hi?tpuw@+E!5INZTg z_nG(l?IrInvJTeqi{x<;6VefQZ_ndh;^c7!*Y|S$Du3Ua^tF3k>L#yGXo6q<8YfFL&#FI<8k8Qbo1xOu^syI?k~aoA`*1oybzi9ypwiPSv5~VreVJ;YZHM z)iIB(3fa-c&Hlc_y%|PAJw+U6kUwimAp^585 zT)%^HxaYH+{^D=B{XhKjvyQG!kUZH1zwVrU<~9EEsQT+~eJ(hO`3Gn69%&va{*1xhNPZ>!ZLEyRACt^q6Rx$OYe!9RdpXfg4k9>AsOKe%=GprLtZHFb^arC4(3p!_vN144ug4TwED**9f z(JS!_yqrE(%J%J+xZWo0T-hlwRhC{SJn?G_yncB5^LW9J3UN)i zNq`n#Z0Ld8c>{g7pG%!#J`+6C@>U7Rnx>>}5dJv)Z+rYRnPbRWN>CRh>fwprz3^IZ z+-E-T`4XNTW9<}uwc&(ggADD9fgp+Ho^AYb}nA5ZH_y>Zi2t*le9UW&xzkZ{(qbH(>hj? zJnDwu`zh+h;rJ(H`C|Jn;dgMhxS#Lk!QUi5wGIe(FWiOOkL)+$7MIXY-Erjn5^fxB z=jNl++X{Cc?vci9qPG`r(Va)9cQ@P)xJRQm19$6PoD)tQULLx07#22zyKFTO8%j@M z9&`86>8*p?+O^NzjMeOIk)PW{a#`wJ!KtjDJ?ym6Zn>tOoQF>FLmAg& zT(8QB->vJ}xtz4)Nw|qGWXE74Ye5#zlWjs)<&#NU){U$Z*#&&}?4~YiYqB~lQ!TBt zJK?p#`)YxY=au_MT~{b~4DS9fA2|;tUy4p+{`i%B=3?3nFMfZ0eduJ-t?LqWDS;~Z zBX7v|p@_79Ye3%imwn!S2l3$sWJTXUa^EWc+6p%?u+J0$@{v5+j%n(@5F7ai!zLD$uSR?Y%=F|fRRg+q)2>K&-D#l|7cFUPCKRdQ(ka9W$Q^h{9fJ_A!S}ZqN4}dR%AQcF0ZW8W~|y=@F^)3qH`RMyj$X3N1;>r#jnACzu9L#EQQK#5B>A} zQ*^CZ=hxB>B;W^LmtFhim&V(KeA6G9pNT)Jo%xO1*EnV858@FfDH3lt{0)C%j_v1D z7gouQQOggVsJXXV%g-+OU4PCmn@+nNs&$yO-RRy6cY^n0T>O%}ao3_x_sRuyZO2NZ zjCYQo%vnc{AzO~DQb?|E@V9$UGRgIE+P)*rA)p1?`8V>{eYy9YbxeA#WSzF(DLDJ# z9L@ZFSoHnv=;!YX!sp!|Ic*c|oV%u1`da+P^*_91PUZS+JZHRD55G6_vUALwHNAHD z12adr-nAWW)$Eb`F=>PLz)kKyI=z9{!H0XKv6Ix%3b=b;$nD$X$j0+z4amlPGHE+D zAR9&YcD{S%M#kb!+tJ1K39cXQ+S&m8ii6ocQtHnzvT|hg{=US&wswOSaaj`3^1T4R zj(58hiA{V&N96U?XJkjCL-=v{ErH3Sy2mO$Y=d9$Z`m<}$U2e5c$W)9bp43GdXZHj zJ6t^*;QGXIlSiy)qJJFj*s{r-b+LJ5qsVgm6L(B^yVp)j8q3P)r^Ay+b^k@;Yk(hl zMQ(f>kQE_2ntHqyZU*kruFdZj{z;REt;geB51h<9R{U#4{yrsiox4n?WuTaaiTJ6L zN3}LD{z<@ZE}b;5kO7q2CTctHt-U0dh)3zorN7t+KUSJ81Be1q{<@KOy>8OHQ3S3Y z+SaX>_TPhJ<~5_-Qi24~|Nc;Ct~E{FXrb{#?QtH~ThY-)tpdd8$#DZ2QGO|7CI zS)T~jIQ=2%Tg}?W1-NI`Q%?`qvD&w}K-T-Lo)lrq-Z*JkuF{X_-ia)Rtj&>$?jdB| z$aL=D)1BB{aK*BxYV6YC>Tr^1h{ft&Aj|+^e&^^(fDxSESw3kVmh_$J*jOX=f?FHE z5{D(iLFt}WqUIU3b_v!NYzZ~kiv$xrjp!MD)1+A{{=Xzo&tC|?B0qev#nIkjZG0xM zoS-T6^u1-${BbdRbnvh?ywM5xh!aqJG(xzhw@#Y7_%0ujO&}XV#?W6sB9l&b9NA@7 zq`YEe@wf5L8=tHk*#xrfK3NsAuDA0JAfGIWY)_u71z9vUX|D0{HX&V5_sXol{eFeE-+FIE@_ZNk!sV0Zzr3=@Tp+ujZ(iK8Ivl)7(48A+2-ElONpp+8 zUijlE*Em+XeMIz4j6dExX>NAxl%`}kvgS(Oz2uK~wNpm^F0s{y#kWoHdfzu`_lNOY zWNo6)CzEt^B1^u1()`e`&r3(>G_{CzO1FfOgunn{MnAy&src^IC7GjLMD&TLp4O5X zx+^Gt9T)voljf~{{W@O`epRep5w>f#;v-34F$1FH2YCmT==RzUNncQJnaKoL(ozL) z1fH9RVpkGb;zLeYtv|F6V%NDgrcK26)YHTPw;k>f+%CSmAE`TAk;gyGyOu=g)asPoHoQUA_*#oPQC}B6>#5bYs!KXX(X$sl2StxN{s18eCBUu!v;x9@8 z+PG%Y{EF{hm=*VhYPJ;AvjIMaNw7^hQNG{eP*E$Ekb-CdDq&zUl>(|Pehv7TzEYgg2Cy)oe3L+>N}*m=A= z&7b}=Wj?Rl*M8(AJrF0ZG~Ds?8S4nwON+Ayg6%9{5VG9!uy~e0bvSr7pe`3z7r%}A zeZi#ppQZe8{q1ifr*zum-Cs$-@4tA`Tms#T)7IBdxLvQ5`&M}K@U9e|+pYx96BAa1 ztND*u%IQ{k@n+ujCTVbanjfpgU%}@jL|r(j_hayq^pit`>6Z8ZN&R$f_O0F7hNCVV zTB5e=`hkQCFd^x@eA2v4B6q`i`_p7O$aVje6S0`lf z`(h`(RRaD7_@!-==6Zj=IQJ8S&VJxagimGKCBdZpuk=+WbVyn1M^EC0Npq7wojGe0 zTC&mdylATlhrXc#Y1^g!$VhrWme+StpX;2$q|4tc!e>ihiizF>kq%e#rGkIkZ=N)- zk~F*d;-rDCQlUFFCQ6frs@D6o&4k&?`xBoah*$q@8+@t6u_k;4^-3$g+SdcW?AA&1 z$V>TJP-?^HN=0;93Rz`bL%F5;!k0#_m#{73zHmi4yYZPHx_-iCw)yF5z2gH{19b3F|#pt^+uRY;b z=8s+?I+G}BY*Sb*1LNGjq#o6S#8b@sD7&TY%4uI|yKJ`TqbkW>q2_DwI8v zHU{;7HFDdq#J(8Uu|q@uC8{%LX|pEPuQ+I9RF+i;5h-C*B#=e zRpH>g|AHtIvMMA zBNX^@sAGgHyKB-s$9J#H(l!P4PBB@pHy5hIlGjD=Vmt%)ufokq`&tJ7QY)*)Q<@WQ zAt{BLAY9Mg%#S6UYg_PvrwI^5SgyPE1{<^jaD!GjU2y7OhEoP-2b>K# z92qz0zDD({ENqCbJ@7hmc+&r6;}gHk!`TMsEWZ2O>`R@Y=#RnM56_)LMUf?t1@4_Z-2QlNJ2$|ofOF$9aMcF#PWPGe90UFGpqN6R zrsG)pG@7!&Ho|P`=3S_K_w2S~FBbBHnl56nP=?_la-#i0&A&=gCG6;q&b%F z@{zV+09h%rdqm)tY3hP@y>#3%35jxP3|=R^^YeIaoe>`vFfbT|qrP+7FKK(ZCbBZF zr@8(IPX}enw(Gjtb9Gp|W?ff}!fAlt!8?c>Jw9cG`licBOdh5FZ-TQ6&U!z`wq+OE zA|w-8{Kxe^xMOg&?zru;GwxVJ-7(9U^~nrEd-WCJI=8>m->dnJsycV==b2}<0blCQ zQfwLv-^cychbGMn1w`oj)1N1H7^Q0u;*(1F!(XEON**r8f4kc#lK&>neBIP@MJX3BU?@;*hl;_bXYnD6ot*-m85$hf7WACV0qYenX^OU1}Wk!?ao z5%4}@`+npp%U8nvZ&X%B*kx z5PCrA41VqsldJ8fEjw;V5O(l8tUr5U^W*xg24>3W?E{fG+X*-D1mgxTTwa_{xN&~Z z#(9Z_IAI3}TlMd}|JvUU`Ron;pKxgiwhAV!ld8j7x5P&=bS$7_==+oA{|=)g^pF$3 zGaZ$37Gn~!@k!o)&3E|-CXlt|$r_Qh=E+)-ZOD^#AZy8!ZAI3cC)E&AoqjvWKm>^JlS$&@jO`_vZ_2;6SB%YSsSwDd9qGqu{>EX zvWh&}4rJwdvO#2Jd9ppoqIt5t$V&5M3&=|HWDz>X;yhUyvPhn+5?N86tR7jRPbT%S z8Ce0cE-5T-yXUT_J2lpwWJ+1;fiLA@h4A@^tPfcV*=MDk@)5lQ$SQcx`)@>Wt}}OV z*I=Dq$z6z({&Fw;QTU_6ckOWb{~>jxM(=M#7^H9AMZYTZDYtKC9JrR}$)3|DeT~j* zE8#8h9{IQX>#lzuZXe^*Jp$VP3;(G}6O=TxioMe2I`{V3cgAvoj=0u_-MQ$qKbN$p z2)Ac<-u(|`W60j(_#+B$Nc8g_`zQJCrH|*;gL+rSK9e&6r}t^rb^ILq<(qA@64b`Q z>7PsDl;{6uyexjk2Pd-I9t3hKje>HGcT96!H4JI;}`C*e2zK06MP zI9rf4BfH3N-&JZ)%| zejVNXv6>#Ohe>D|!W92$(!4*&4{v?cS>Fi$*^V4_+{l3DtG=JC^R{873{U*4M3Uyj zO8$*=FCLJOq`47U5whoGyyx2H%kNOT4)fH{^-#Lt@A`*xk7ljYp4stmk^=Uq&yxD^ zVuq~Mx%Z#o1X)UY83HrAQXI$Wx zC!g(h;WeRqkm7Ln?>jnfE8Oi<&REvfOWUdycvW^{DtX%rcNFerV!xYDa1)ygZuIWw z*621vT>zAP7$!_fX41S~!tjy0F@|h8vKvI;ixWK?B>ii`t^BwBOi>N_0N1UzqBDxD z6B$jCe#Exr$U2a56iim9H!cnS(Uws=@{+NZ=-EJ+qM587k+mZ$L?++mBiMtiz$e3e z&g(d%q!chg+kfT#m!-dtuVIpPGIx_@CAVT-W*!r|qAU z=J!i|`rN+Hu2F`Th9pQr@0)IgAAOOvKIrlhJGUdN&y(#!wh7rO%CfvPvQA{WuH}Rs zN0vr*y2BHj=8=seTaYxm<-#|94qdG6nl?(pFJHxcBEb9NkCNXAzdbZ%N<%*VIrEQO zGy<9DiT*D5txKoO=MSg<^||fr0Q}LyDRU}e+BD{+DoHb<$-$Jg*WXhmy75>Rn=Bs?Sd?{1awtxiBLb=WBUGN%+kdD13nDdM>{+lE8%T>)sz9U zX|m(QE5uOA*C>~oA?$|7R4bn+Ti>*7cfuKiqc%f}^4E)OAz#1N`A=li52yUqx#7~t z63BpTe7p-?APqr0V+9!*mZ#%MKWK8Sx(siBZk6}1_^TLfG8$Uw0g0<)@$+f=(*@91(q^Sbg zyiXQI7Du-K2>M&#MDp}+LROR~>qb_XCrcqK$dm0v=C@bu7(yoYzMOw1;FS1uNw`2g z;~``(7p@FWEH7LovI=BOqx14Z1}C-*G{LFM3)hA$afJA`!fDP6w;fs25yB0_*_0P< z4B5sbgezD_`;)%J&dhI%i=&R4VnT@}7i3R0ACeeh$aPMLRz4!6CsV`FVYV~B^~)Wa$D zx7)rkYiO_bO)JB4cpQAOZGkYArBmL%Sn1;;EJ!a$R- z{c&%0oFx5g68`=-I^zrV-`eAs)?1&;^)}~v3E#cG-MKFQ>2a=~bc}nQ{@d@L-$`QX z^jV-?aQBwy^>un-y#BcysrIu@J{i(#Jv|zH=M8gIkG;alR@s~*VsG~Zt>aFgBWE@>~!^U-?84= zBl3ut$w)}JakvHVm@@zL>t!4iTw(Lcu4~llT(K4I2;2iXT<3Xidw_t>hov6&!rk%C zDf76LJI{vuL*AaL(0NYg1z&K?QD3A9SN85H^HVPl89R0gMXIWn>HTohaDL}cpSvdc zC84s+@9d0{@lx42%=g~Q_|?z1bJ5@fLT4pLc=hnQDyPgXi}1RI#~rd5yp8b2-Zy2E z{&^Aq;x5l%bFbf}`eOrnG&mVg4Ul!!f7xm&isk3|FW~!&modrIw zH}{a8-#-_+`a^tO&_KPdoifFKyVV|9+qzS@Yu)=DL3t>YFp~FGgsWUNWt#o*c=O;; zi?$3*fW@W_a9h_-nL&S=o%L5Og50W@keJvHA-a3vFRY`Txb$_9}Xhayen<3DcCEGLA)|!f3V%TOet+cb1-;#tHMn*B zZ4-NLU~DSs@cK2oZfKVct`t5ibHf0eo@L9Z92b(ePfE(jUUZG#IA!;7yFRgF2r1-o zQIrTvN2Gf6o?t0A&C73^viqCeFs>hivgK8|{^dY9vqXK*4x4d)%D1DdLj_ z;omxC&J_Q;`pLgFdia@rJftpsnV70=MFd)`k@9sLZ6V*~Bkf)SSq53!uSfkvd#3$y zjqa~%h1c6YW!6c1;l^kCseei&l*%6paueJhJVvbIhd#pfcTAawUs7(?=-H(d%$Pe0 z5&j*JwPylL;ze%-ypji} zOviCPo|fPB&OTnfovq^u;WxqG@MYF$BqBGxemhEa-9y)=#kbw?8z0S%?Zme!WG%?j zFY#IEY;D+R^d;;NyrRdmYa!D9j3O&U*5ifE8E1!nly!yXI%_ zA=QNC868R2a=00|&z!=K#nSb>TIQ9@7Wh5SFh22@OSc`T0oVtCz!#?8(L@@z)_MLUy8r=cDD#p!Yq_jT$#Xzl z7JIwlH^Qf>%C_6AJ!vbqRu3X!70Q;Y0-r2gvOm*$4H&gcP0)C6{dXcsNcFO#V?_QmB_ki2RKllqtBeh4$ z%np8VgG z`HMde%CSAGz*)$CSj)b~!4M-fURaO|vQPp$Po0#UEekkr`@ zO?`E&{~;1d?*Mx1|1f3#Bzj%j{bl=hN$MKA;e$F-1#Lp?A7hTX7NNCc^)j?_PM{Jo5>Oa)oyHwHgqb*xEw4{y#eF(yp!k=P&J1hwC)e z@ZFa_n~w2ZBwO|U!w#+g=o$G7Yt3H!OPlIn_r6?fh4w>Q|Kacb`&8bZ zINf{DDz3FB9#dwqaR6@7Kc?(6F7DXG@oBw1&igWg$i1;eo=bVjmhk#;Xnp<@E?%Es z*37(pB0KL)5`QJKR%G9jKH1IF{JQX0O5_De`b9nvIb-UWUm0^BYC?4*}@A`zVlo1)-`@DE=kz?{}O&~ z%04sY`qu4>?D?9`-Dv6v)ZN0LpE9Q%1G?pvv8|qy7VPldIzH2TqQkvKQ%8`3OPP-n zUdMr6c;8$oc)!)*ZLas)h@fnca2p9pdlFsa2eSSsMb;wvk*(yr?FTt)M%EkFKdnCO zLtliF%wba=r82Xq~X%pVv zQPERKC*5>R#$0n)J^JV)3ni|e=U$>m(wan1XJKa1w9551uJ3%A>pff_f0^t3TrWQE z@cPqSPrS_a4A(buy&7A*ypXBPSx@U4SfqvV_REBiaedFrgimt4VA6t)xO8ArC~kGy-oJUX$?LIwb2-G894- zBP3GxoWA&!_q>2fx~ z+4eFV=|8u@8G)l~Kwf;lv6H;CLY@SMEBs;jl_zA(7xCSQ>;cf6b(dYYMCckYDW51;9ZQ>I(kdyJh8wtej5dWP#V?UYZHzX4!Wo6r#`kPq)S& ziHqAPdQxH!*N>!U2;Ppv=#hB#a(&`ut`}ZK89K@Fr_R-~c_87-x!(FR*Xy{xgX@ds zVU+M2xIV%4!}(Rx+6|}t{vCpQsV@SpgwfY>uc`_iW@hypInAp{{zlRN@13mvTny#a@5GF&I zU1F>+9?s*JwJ@o{FIh;t24N-i6k#{M@~~lL4OrUzoIQCGR?;_0*m=S}A@O?S8aI79 zhh3YWzQ{H7->*7c7+o}7;}27g>I7jTug=)#pWSxKS=+uvyl9_2(Kf0LZUfvK#3t7l zzURQC5!ItXp0#UJDfoTx-{ zn|^n1r@a44)+n-T1D7I^v3Vb1(uCRUg<&hyxhy_yfuDx|pzwX=(2md7 z+7hDo0uuJnYbnrBrQJypcKN9pdsebrw#a|?Y|cThC%9fOy4~x#_Uhb7a?Wg&bWXtC z0QVB%dSy@czUs}c+VJJWHFkx^mVwgi=pW%X9|PZA7qx5VEDQw?+Ja!)pE|gsr)A8s zey(qAK<|_Bkd7vk8E+Jo?SvU9&6vj}!(9EcU+o9hC7OOXi8nay>UlE0=iFjBY;L99 zt2)T_POfX);_8t5nmSx(n&hNk%Jc->k~1=Pe(C3Kk@(hxb@vnZHO01)>q!sX-|;=i zHfLQ$^0f+1?;D*oyZ)3hW}oP*39ogYrLET!Eo{kV9VaC9U=v|m%QI%s?=RmPLn!LZ zmGvGp_8&d0=NFH8B-_v`G{-+S=ZY#W>Zi_y7nDt z<9>ZCW6%2W`$P{FS{c5Dlt|xH4zK$i8IzWvexCDWw`?Dlx|)Qy{GA!o=cTJgpZ(JX z44!fSmAHmkl=DnpP^KP|H(i9=@ve+HPi#~Dgu|ED*{pF-Gtm0C6Yki%Gv-x(KRD|u z&imukd9n~MwvWS4S7uC{@1E_HvrDXQEg?}Z711c~h4(JccG?*!kD3Q-?DvOv@B~rglz_0sI#x(fT=gkXz51}|~>ZJ^f zH+?u`pB*K>D1R|zyODi{?_L`sKDrI#Y4u`=8{ov_8S{&rcu41FaT3cv-GcSuU>^Wq z($YnkiRz4zcaV90#kRBDGg3m+nx}G8LHGmkhgW6Hm;7Y_es+Jr_npNj+XnB2U$r)4 zJ|{Ni`RXb$hqh@Rz*)MK=WLtSyezwkcDO$42T5ZkvI%5*zra`b6Wlbq8a>is)Osrn zw*Iverg2@yo_~T4Dfb=7b|U*F->qG?zHpuaTAcQaRex!3cEH_mX2zW3PlLNIRL7$K zZVBV9`AU_Pp5$4vcQ0YP*JsS71^jUP3GZILef3|B?>S!aap^|J73XAfpE35eQTC0A zc5qV>W90WI zGxqs0xBZiHuN~X!@WqZLVs``F)TdaZ@cTNaET5)jQ#KdUzVMTVMseak4Ec|h?=U(QyetZ1u@1X~kF9(hbzxZaxgZDG< z7JC-e|1;%_K?x`c_{q;^Ojn*gt8Lw7u|Cx31hB=rI;>TWGj(d*h{ea<=;`gvnCJ<< zc>U#VrFF8D=K;9gU(c9gDQljM?waRkgvg^1THbVhS;9;ZX4CeJ>G0d>j8Q@#P)k;Y zL$RE8CVC6)-D4T^_Ty3D=6g;#`QIfHndD_Nl%(+ggE5x)&TVJBGAs8j^bt22LA_f- zk9c?9+Um8p1IV4 zf*q;JI6=x^(XEX8{x@ST&nfr1ZpC;vbhjoJvT!TmHa$oATgHz(pK2cHRMDRE-2ylH z2ih^eKb&$$v#mQM+&witaJT+3V-kfvy*a*j9#`bD*f9uy=iiyT`E@f!uj?+5G5RXW zD0g4j1l*zL8B6=QIb~Dth)6S_<*f8J{I@S-7X0PF&kqea`EU94@Q0={<{yOjeB$l{ zarPSpbzE7k_c_|(cV%doUg~eV{f=8~TQmmi#~tuTW;40(So7CK$LEswBXFAzWz0YQ zb;Pq>_A=ReE}LP5U&w^C;+Sc3g5;-L&+$8F%-Ovip|wlJmr|)BP%7aUh2isEK9U#p z$O@4?==Yaz4s@R=U;rcBO>ox9<4vLx--= zWO(g%AN=Msrp=Vt)N9fXtTuj7`&ZtpEhH!_v!V@m7EuM?<*zM(ijTA8Gg$-j_qz*?b^kU zg~t(GUsuDO`-wg9%g&oNTL~*4>9_ij^&`_Wx!kmPanh&gjmh=lvqa%~Yv%}ICeEKW zS@s#_!MP%!?gKNe|h(fIh->vyf!fg zfA`hX=5)WG{QU2!x1>w4`44~RwbQ28)6afnKYu~_x+hQCl^*zIZPVU9BF%qfF=Ve^8m-rzLJm#xeG_^sZk)DfrnzZy z_nYZL%xc|vBYD&ZcM$I7{<)#=UcS`2YqhM^YQM4ve&E(=^N%9X)$R9rw^O3IEVdNf zj{ZBR&0oAcV&3oU2M_%`n?GVp3~p!Fw7J0FuBa^>E$VCm`kfX+`+RgW{GD5-?R!$( zJzz3dPUsQ6cLiky6TPCl8}44XhmPZiYq!6ihgPd*87q`Q*#&>#^V4Q7$8Mfgyh&}A zrqHf`!0UN<+I)@Qo?dsqyDk$}>pqI2J7~|pknPjNrYN#vWPg|Rx;FXS>SGI}2x(lx zPr~1mnl|#z4S&0voyY&5=g>wd9q_mQXxjWioZyx(uWZ}Rfqfc+{UhhQ4a(Og&NboS z0HCGqB}eT_zd0)D8Jae45ZhhdKHKeM0V}cxLoKp-SkhFsnSakrn-3R&t`D#=o2Jic zzK9b_p)|mc{9@YPpKtcG?_&3}HOG-G1H9mi0InT2zT^41V$NvTd5k_9KfRb8QhUyp#41 znQOD8yA)Xovgi2z(zu*Wi0Uf)%uhZ1A^2{diQZ;pyOEtFI{1ieBeFEISE|JNxC_}R zvS&r+rOWNFWia)i+f-{A8-U+FI&IhH+~=I-P6fde{EcvZ7uWT@N^aTLaYyJvEeZ4% zL(+Kbj!s-`Yf`mu$x8e8=v}mrW78%W^4aBYOFOi3GS@yw>|;KAnMLSj{52DP&!48v zDt~xuhb@tedt&gq;4S=R+V1ys)9*#m)AbM>Re3{OF)a?PC z%^rq4KC%+v&pW63Ldh2+a58DaT{rBm^@7?^a*qv~zN_Jt5IAnacm+@O`V&p3SW(qoV}aTF2X-QoqMj3f9+_Iy_*e$86?b8l0MgOUS5jRIIJ~i?`ECf zX<8n7(NRA!ebjq5rK}ATW}YxVmU!LvMD7JSivm(T%DJ>3UTWX8c}93{xv^vNe-|&h zH#dbFy@&cV>9ms{bM}|XE|xV<+ZWT?*Nwf!KB6wc$!GjltWQnKrY+ z%V`Jfn^PH;%YjoeX3O4qg(`8Bewz9+P5Ce2hZ{$|+%IHh;hSRYO1&qNfEWAcwE3UK zc)Hea=a#MTMh;G!v;A#B_8fCfz6^w=5AB6p^e^U!(#{8eBaXk|_@!48r)@(A6+hbdd3D1r56_s}iNilGkb4T3xJ@;eH2>jt!~KeI zHLcu7r~l@ja!@;D1|w4M$KVwg&6xl8c#LhcefN11`&#!9Yvoit-~D-ffp6@$6;217PT}yW;BPy!1!U)lz^9wCalOri?878UC?oJIPMa|=ia%Z7 z_{P4WBH6xrxb5NJcV=}?pN0yp3-_V7bjB3(TRtL-BOA|?H6Y96$u=NcK=uX=Y3pk{ zvXawh?E8S+_L}m+z93n7C?hcVVp1@yak^_r7(;eEK+F*qnY>_nNRy7vB-awr;`EGPe_M58N|^%O}F$5V9S}WZEeo zk&Pl7$m3;@?Ll^_vMjHFo7u7V&6rw8Cizx^tQFa>U&Rl%UGSBO&Bkb>KC?u>U{wWMn&vL0kt^Ibk78$vdL z>^&->%?C%3m7JGNmt2bSw;y>D`9mV8m#&p}*{o)qBD?9x5J^wT1GIN=z9}5HPS~-p z`{I_*z}7Z20XKR6%wl`g8d>+zVi8A8E4&Txo{%=lZNu!itIifYUBRriM>+Bg{%38y z3vMPR1}IWL`q44oIAf;xo~uL4u(L|J#-4G(SYLD=34X6)WOeTNTyA?aVz|m(ZymWhQl0GMlW$x`>)tey9*o8BOTMk)Y+4+#JVM|-I0Z!FNX6*a+ zJiWFp(%~TkpD4T@c;oO`s?X|@JtAj|FYNhfJK@BeX1sZ(adZxf>2LlK+X;f-82V;+(5n(GsPJ@}(lt7V=x?c_(FH-%8;vz)(Ogs;1L z#{8EE+;otiiOmH!Nys(s38A-U2T!7FKjFp*w^_pR5n18qSP!{o#y+3JZ?Ufw*``*f zO>)=n(63u*SA^w&@)feTM#igkaCgDg`lq%~r=;0B$G*Q}1J_5n{wug%TB%QU_Z8?% zZDcF^=f&tcy9q-EM&kPv;X1FKF`p3MyFPNqMRv{G-j!hruyd!r1_)>c+#DYw>qCoL)GW@ZEb}b`gI|eht7Kb@lN($=@)tx|?RqXZ&f&>Hn_H zo2=92?ImfFsF!X*(Q!xg^Q=#9bjI1Pe^_H!>)zwK=Bc{u+4I(p2Es%>MtdOT-wUI8 zoqhPMM|{ed`JdVqvzGZa&k$XN@jdZbkDBf1th$x)kJJ@cr<+fD`+Y_DI-5G%4TnQl z75IMhOnu6EVCk7URLrAq*QaL8YQL|%wUZjwn{ z_FvXUJ8fSXK1XuJ7F^wD<|{8^*9iK$@1g(p>$7cRP!r9>|7Iy4T3YxKM<43^ivZ$_ zD2o*PKRsj04l~{j?hvz9>b>K7xbxjJrs8m1-ST3`K%3w$+&5!B?B{0Zr9ZJ+ZJzhR zjeN$L8@l=7+cW>4j%WG==|`m<93f2812bl=)IqnL`0_CHKi&{m`GsGgKYEb1$KMw@ zeVnt>r@1bjoanEFziZo!`H9SrU7Kjnv-<^RwPH(OC;ScYn^H68PyY1U@sx9TM998? zn-PQXd*PQp!dk%Tx%#<(?G}i?x;|=zG9>m7&g4E1oYVGQy3A>*oJk!m!oR5xXnSM{ zXz@l++KRGmwC_KeFbuW>&}P8R0&CnQNau70_W&sLNO@{QSK?{rzn&lDObS_3 zI+H2iXPg|g`MwQq$w7G_fm1xZ=?nyT8XRXFeZr zWVJ*ZmV6q9TmJhQ^L6oU(pjt2ICO}?!fWXLntE1l8f>tjPHn5RZ{GMhL8bhae2MmB zY{tC%wfu17rMzbMoamrH*LtKsZa6s*_;@NiJ`){H=;%6T)|?}Ca4{XB18Rw z!yi~OYyQG_kMB?G_r&NmVd?7!;I=PCx0DTcPU@9++28Zus+-NG*>emwNW<%EDDCZU z*}A9sTJ&Y?J#N6{bh5t$dFY1%Gsom1fG(bs-{^+cEQu4vI$xEkX>2rm7gBos>&POnK@d}L^v3nl9 z?bWk(kDhCX&)1<>su}7V$(!;Ns^4Dn^8{l?aG;3=8^_H@e-KP

Nq;V8(`Q@|bJb#<+ z?^8pc&_qfA;TL^{_U4*d6Y=w%KEU3I=A8!E?e+mx@GEba&0P!1=`%vdYXtO3Qb$_h z58O0s=gIt*I6IJyBh&kIZhPgd#V((;M!{E@4Cvr zI(()C(l#}Y$|m?D@UIg6ZrRQD+o9KaCr;=fq&{5lA0^>if~C+=@bOtQBW1~r)7_7@ zULAvnnjAN~8_VsSY?QD=pPaS#2;8t&U?Hj`KNiG3uD_e_@)23&5#syQthYv7hpY@) z1lgHEerP(F&)Tt6=uMJy8H0?JIeK5uAc%|K9au~WPQlo zJeN9H@HOVm$Q}vt!!0Mi=LWn1hNELS{N%l}Ip?Lw5=r{~YwRP8QDYQM8U_+G+KN<4laYdv7(;G7i^=W_WsXwQ0P&Fy|a*fu~P zh-InKS%AFeDd$xTdeoNt9Fdf>R&;Ft%&gsO=*DN~0IUnx#hgvrlGTRAciZ4sZk;u^ zEaiufPd{qc5v2P+Rl6kZ^O~Wh3Df!Ttoifd>Xm)NIQIZ9l;r?>um2^xr|c1%wVeIu zw8%~stk-+W%ePZ*zc_1tL401G`s=RUth79f8!Web(JAQ?^Z7>rH9T47W(hPK0YbQ8HZZPIw!<2HJnQ#=Xp%J5iLf z_}%sYIi4i(bP`YGE3@`}2W~me-UoB<&*!Y0oN05$S?j4&N9zyt)$uoi&Q^3D@A;Yb z)mz_@{Y2lg?g`%WR3f{8b*A{mTiij9j6usDrN4P(){OegzWdynsM3iymAD6o>!?#} zoTrAG?i2)Pu>qaZ@3o_Mpl{Z!_v^L!c)J)!o$9h0vo%=i(N4mpzcyB%ac5QD46~YjhCotAD=dn(SK}nHLJb z9{$kISu?>}wP%-CKb$qk`uiR4JuCM9r}USShV5`$e>`h0I@YJ# zpXRmN4)Dap*&#`jgpBeE2- z-N+J-ZjtSj_=Xv$1M(3ZLbmX;SySrpijj>XD|{x)bGiE^Jo0z=bQV6wc>LK}d)6$M zC44Ee#-Gm`J&Rld^NI1d9C>qk*1pT_9GPd+hS_~@342`XxppL69lnX==|1xfgsJ*P zUSH$2{j4y_4FH{IuFyGDFZ>1gcZ-c~*~?uo(5GFPT4>oDg5UJZym_el+nIc3U%jpT zdHAF7(~>ApzweCAyCi>B>jT7bDCOTKKlhLiQs>+@D#xDClUnOmg*Qsb>ad)`VUJCa zH3cc}t?20b)okwjjD2M|_%&N5;&6N6HvM|m6iE8rHr`tk)}bfojAUbyX2*YDLdwJ_ zI?6|8&04<8r-Hu>vKC}D1^ig7?KoEJk+;V%`Z(?L=&Tu*K6o+yYjgQY_+@`)u5dX0 z*XQy(;3xhzYo0h9|MOYCq^TeNp66%1_x^}%H?lEgC-7Z9A{#+AitKciU=uijY%j9a zB6IW5j$t;q10(TKaX&gHoI2;G*(E~0$d;w-TCR?Z5@CDh zl<+sgPr+}MvgDRMPyZ@?A~EeW;W7v8gFiM!`|aoZ%8fIPXZy#9Ef62E5GCvwVG}dd zb-sIPW=%(qU*enX5Y~d(z)0 zd1f>%5@YrZJ;z_rbncDog8 zm9C8p!|j@%wfFKC3z6)|5?(l)x+-FL%dG?f;;PxS9-{t9kt+<8{HSSeUhYft2UX8{1r4B;I~_JK^o} z;?3@RyF-X9CW_xi;MKo4YhL5`TQ+@qdq@^4gj?_g=xSN-D>}g+izeO@?mA=EH1MY6Phx2EO>wCC08O?YJZ{)!%9w3prZz z>4xm&hZEi*WOJ;K^y@864l7K>c{T#~eJNxBd91$Gg0_#-1B`v^>Ta$Pg> z6?kXpKxloX3oa_%w(RRoodduRwkS!D^E`4b!sz;FLcTL%VfeoDE1Ve))T@8tX~Zpt ze_fDm-6gS=T|XAd!l;AW^&sg7=REL3>=#+~q3w^Ox~HG-E{@W1TaT~CfO@7T^YiwLwHReOL!jH980^CzxXtb zn_*Z!Z?OX7?E(Je3gQL$*9(0GSqX2kt55p&@MDx@94#d&UrHCO`H{y36#%kS*VDUT zFLz6LpTXbsqxPN+tOnSr1eoncA0_8jQGrO<#o%>ef%`h{MpjZuhkdZhg2iCT78iI zWEEuFauVK&6hYe$VReaY&(d@13*lQu{Etly11rvqx8rhra$Dg6PYZ~uh%EdKV>=hq?G%v2iX-5h#| zqSVJi$gRpx_;YEh&#Qpd0{bsF%}!p0pOT^_J5Ud9^;Z*Ksawyu{AmmH4Map+@T8MkFS!% zub>M&JeT8A1W|rr7|RsfU7B`TWF@(VwQDKk`EWaQ&U`K5?X(?q&Q>o*wEp2SmB9e` zgNqX4H!!~6H_G}Wjc@b8O?wdk6(<7kh1t7zvPg_v*9{GaQN-D|MEO$)*^Q8ei#-`H zjCF7Z0wq>=(51?(flT3&g!fyLIZW5-X`Pu%Wm%MG>~Wqz^YCHf0aTRybY=lUof z?_B7qgr1yu!aHHEGLvJ9s2I5JHi2KWBH^8t60X0G?B^P$b{>b)?Gip(Z7gS zS`JEhjjlew9`arjd=-z>;0sE0a@$t*u-vJK%h@NN_YmyU%7mN|XZ4EPL--lewA9u^ zWV*|?r5Z9rvjVk??C^ick_LayfEMCzFoHg~#{M2e$zbir(b z`s+UM8xKi%XX0t=E6pbRb5+!fGWeoyBB3H~dkcEdzaJLp zD;#?kIaF;j)Men`D)0-BNciuGP+Dq$l>y^1g5{g5L)LQ1oyGk|3;2DN3GZUuC)09S zB(C3}W9z?6oC*b?^n#yzRKmN@ofrA-otIIuFTz|@T75acWzRzT!|3m;65f+kS1f*- z*OAY1`p_4XJ6htG4}RHk2{~Ue$d{d5MfN=lPCxjok572#L*Cc#rvLDypQjL%7Vx`I zNqG5l^k)}H@kid^sI3%#V`=gLH?kRn(9v~zB6Z!5cVjM<9giz)R6#Qg8B1k6g7#mV zNPVYD$E9?{+{+R!7Q5WxX*{Y9^x(MXINg8yCOS8E<%UqA0*E8-J{(Sb_cS_f|4cTtz!viIAk_@jm?DzKbXw>E;`b526` z6xbY@?F-w;;^?X9O?7dI(wzW5bZ%m{_Y8TCu#|QZ>mud~I~@TcRrr^;5$zkYADf38 z>)VriUgSfB7;TsAgtKH9J+tIl4i~QoBDyp}kTt#J*K7`PM<7s1d9@BD$w^uUWTweB`nSK!ik7M|k z^%&Y8_!v%U9Q1uZJ?d-$-~wo+N`G>FEKs9@yaoSlLTo%@ZEZe*e2m5}yQQ z`XTczlEIJkq(6@NUVTE&gWz(-Ih0(7=!otgQe=wRp2^gO+fM;xx**d}N=(M~q_cr8 ziPDxx65&0{I#Z^+tAlLW_qA=aO+cThT{_Jy<9JSKZo{^^{0Q3stl7cX{sU_T z#_JQoxSU7P$5@jq;nsr%9{)dq{Jk(Cdk?K%`|0OV&tf|~oqPi}BpWspU`rtOgjh zS^5#L99RP|>c{CvST(SEV4q_|+E*R0R$!|L!CCZ;&Y~~vsjc;80SoHO1xE36!z~0x@pG|N z!14lE4X|8bJ2-J(3oIvqH3M4!Y$u1e9#{;RTc^5!We2c6U|GQ2xC{Zy3}6Xh8Ne=b z!btxu+8?lUsD0oU!@q1`lfQ(ooiMYlG*25tt-#ET>{uZ!P!?{(?8kw={6=i4OOpA?B{rGC5#oUC6Zyz2S5vHIoKna^;Y@#|wZ_!Yl_?E&5A!$*a)ANfST zWjrsJb}`L_b}{zW?2j1kG)5(<}~p>a>~zU@Ee{;cmw!5IX98_B-<#f zFyZ8Q@UhOub{+neNQeWc#TaVe^Wl?g zc`D%@MLLa({FL{QUP-Y9`QY~bHj%nF%jOHRg`0g~F{r8rH}*W{aroOWCyoOh(JXo1 z2u>L|I}!&!icc%BIIyz`u=?QEt$37%2i$-6g4+u2WpmlR$0YM?#!mWYATzls;SEL{ z{kj)a&x`VXv^nUwItDNw@oi+vACz2LewXB5~*V3|b1kLr6GoPPbl z%x=VhWdZ90#^XP(U+5d?JzO5w6i10u08Y*839kizOC3z*Q2MIC*$mDv+`i+G59V$nw*J!80*Y|(H>3J*JCs4lh0_y|zP5kZG6&_D&d(dxi zWaDuH+|WqEJAk;y(p&`J(4rTmaT~+G%zj+){7C%m>yr1**!EES%Lk_toLR=5-!*em z3|%dFd$Kj8wPI1N^7$n)+QNXWB`Pfe3y`Au?sIL0?qVE)7%K%&!ksRLnBxlVG zfZsHlkavTP@7Pjtgf8W|T-tN!ul|vc?%i~dl90VqxF@^O4lH*n;T=cy!ulfECOs?TQYRy^K=pC1RB%|# znxmATlh9W-qiZJIj{La`yC0WE)wKsMm3Pkb=nwyu@YcBXSo;racBHo)yfyD8ynU%L zS>9mos(a?>#T+?o8Z|x!NWrS$%C?Af6o4P!am*jDQ9hLe zD+V^p{`YGr0#qmRz^enVV5c$fSjtbcW48VxQ+$5g2@4&xtCIVJ4#?C+Ap?<+bACZF z&Ic-iJ4UDY%pCx?8{CtL>(>|QM_n$ZBW)A@o1aVvVOhXtAa6D?4lEbgB(O4SgZ>zR z&K*y_)|{Y3!qe94j{>${U#5JjBmEy96F-yHlM3>QV!C-dDUtK5+Q3U>jCq$sCUlbe z%2D<-uY^BA&fsc_@J_JeXo;T(RGx#7jqg0>eV#f13!_HPN#{*QPbSA6T>ifYKWogJ zAVX+n;+Fr-Nn6e34}R7j$vQ+>Ij~FzqkO9dmI3T8Dr?I(@jZNp+AWtGoav|gH~3Dc zO~RHLLHepr=xW$=Eag1Gjli0L?E&@lqx>BJ)&cA%1X%l)^-Eq%BBwj?LVv(@ud&(o zgq`Ht@f`5V!26M#2H%eV%rQSm2&YP2P9?r;kbPCP(6esASZd$Gd2t36I<|??MLr@- z@oNKrBlxqlr*2`QUV_&PUiaQ(-km$)X121c<<7x>UvU!rg1pqSoBsm(H3y@zive2* z>|1V~Px=;{D9+>y2%L9|Z&RoGN2zYChOYRRQ_HR%*eYOFb~)g!16B*Hc@8@i=3UEj z=421JoAygh$0lI?4n{t|VPJj0ZpYt&I(U-r?2AW>r4V$-38)nB1sIGMekC>D`M}D6 zS-hzX%7E1X+dB<6RtE0g{^YV7>s?Fy1Cntk9nHY1f&C1B`)gx5=9MD}iuu)d%5%!A z9`HAVe<<R(8E%Og0*Z7?w|JQ?C zzj(}FW2Sb|1*{d=o36Z#gMT8ylk5<9)x}9!3OhmifMFV(47<$iVz^oAfV8XFODO*( zW8TGXU3B(lM1ILOk=H}>p{^YKhGk>2w&~}wKThElmts5OP@S8YhH!mof^1fN%=Z&f z{M&#n1hyCcrXS`124LmDj-_%myN+_?_e-&Sg#jB+9%!%{2W2z(&1KrJTb$T-VGgL@ z35#S{nHM>GdSJ+wneTi_v=F-T{s{ZNa?JY(*+Hvs&ODd{E{-0I^5^do2J8awvs(il zL(owS6`>=vPeYxh9?5Wvy~kv{<}3s@^KGN<$-eYwC|fbp1u?(we>SOVBb+_u2u7(J#Sawjir z(V&U=wcu|$bWF}@nbk({PFsJz*9Ly^H^;nc8i*L*ZzuH8a%37hGpg5p;5HsH=3VJ> zo&Gz_J%*g)HVN*`F-YHzj$Vfw`5SBIcu>4^UPgY_jCps=cliGLBJH({a0g@QtN_3A zEcE&54&T*3!1{T9y%3Z}@JG%Y^UkJvbqdu9>{VNdw5`;0MrA7jy{bYfE=P89e)d3a z;RUEGBxm_!_Og+v=#LBOD)XXI@YmIkd6(_%@SS*t|3=&;JTJ=r6UKX2z(%=k-?ej* zFIo0;{+EH@yKc-o$&HJvo8z;X_Y>8DJOAo2@$+yU$K09gc$hv3M~i#O-2~y&0m-IY zE28xKcEfo`qLXB??VQ&aFn{gBEr-fc_qXU#o34Sbvg^j={Sq!Gq&FFF-plGQFn~{W zt`#yB*N=IR`)vy{DQ)ZT{-QCp&pz-cZyfW_1tV+-SR#NWfQ<&Q^dZzg2cz(_feiy2 zbjx$4-%tFBQqP?nxD-|y_$_T?DgKr!VC#Unc4Q5(<^Zn|SQD`Eko>Z7X$4ky^O#3* z@#{9m{gPJ18 zlS%|i@oNC56P!Z)?T1NifAQn;?lx@*!J`=db%MJQ+yn8qA1;rXab7fN#MuPS5IA4+ zIY=*amhrAf;!J`w1I}{d@cH4!S;%uaC9 zeu2K6INbN+>=oh^QHH|f!G1M)$6=84fqO?l->F2!j#^%+N8ds9EB!UJxnGWXuTs37 zF$K=sv5ksyl8yTF^T8kKbn6ssimiS_MGXHc!O6dCZVu&fJva^E6yfjCF_gsz%eis5 zrRQyUzQLYzIUVCar+D|^`DQ$yPx1Ei?9#|eo=EeHnTw;mdRWXheH8qSzrq+8bf3>Q z#a=-UpGnz6juO%z+l=_#J?6Y8;`@oNBVMt57KZ(o#4iVb&4w{=#@FxjuO@!n;gfBy z2fz59G4EGy{M|k#{3{Z}_PgikO70WR+b+oU{d#PxJq+O*nNCw38w4l+-ZB3jD8fc5 zJO`upm-ZLL8`#PCTk-_&DvBN96+QiYGq=?|aM#Vwm2S3}H%xH7uLO4h+`ULIeiVK! zu!MuffHeTi=z?Dbe@poK4ah>I7|;UzYX_$QoFDic)Hi=G+iE6Ke)fa69=w!ynUej? z&nOd1qde$c6x9Ym^(_6bXn*&q4dQwvaaaRBCD`VrO5z3v#avCmb8s$sub<~ds)pi}L<1*UXbBMe57*M%Yfw$l>lo9@>A7N{N#emIcM6gEE=U`O6t-!K?{hfH0x3YFf z-*;F{!IVU~iE@6COh05cLFN-F@p8WLAbY9f;@(~qEr3iKjA75?W8OO{;Uwpi^18wj zd9hXBqmZ2~68B=r*FQ1l?L+eTRpMU-uvTE-rg+%c(b>C@`r#ye3-|Eg`!v+}XBkXF z9o5S&=cosdt@2k^Xaj^{aeK8fcec;1Y^LuXsR(-b*fzgZpUO(rsa zTJR?9jTz8n8lyg*Up!^M!tkr zaNy_6X`jAgpB~}0=AM7!9pYGkAR(~SSGHS zz{;P~bq2*L-nqcrfp71Z2f`Gea+n>5*!O2+DzXuk;5R-$Cf`u!bYhH&ezjE3=QSU6 z19*kM8}m-5uq;2gZ{blguQ^iq9i$JuZkLBTa}?zjGJZK-nJu<{5d5r77<;Edz{Yg0 zZN83etv|<~|2F0?13FJMzF#h~C{syc=$Nqp{F)cXyb~xt96tM@%48vso$atrRA#He zZ+~gbE2sD~AAKyJP%UNAgy#cz{!5B4e$-CefUS9D%=;wu7Z!%^|Bx?zPy+JsxR2uV z>X^KDXT1T*&wyTte+kI9jg86ocxQ=QWOua-_KoJ_D9MM0(}*nidq zZo$-;S4aJk=}jr879wN$_*IEKXkWwOa$dsW#4spY^X`~8 z?b;tVoQQoMH2gLNMCO;vA94lZaqmlRTAVVqci^aRZ2-4CGVU$)+jpSOMQ)FfZXEQ7 z*J33QlIwOq5c3TFYFja9phdvCk(llfufU5*gmf1m*4QLQN$A49GZa#_2L%eit^M&=`ugWNE9 zIh-Wnq*V=&qd2xewkdnu+tuy6Y>flk8OYO4**uxdw0Ti<0q@-|1thPYcJLJ_dDAJt8@A7PUeA7INEfxX6cKAf-l-x&8M$o6v_@g6to z9IubchvHx3hKME7_J~w~SQ=Zzy;=#@ zwxXTh+vz5wE_FIVieC|VBNs@ zoleVtcm5(nN$!h?pEZf{ItF2pZJm|>0>#ZAo5#WLK6c#u)hvAUD)fooGR_DcJJ*3< zRz2>GxqK&&gWuh42S59yaqlZG-?0IaM_Icc{{irGPagN$=Hff=EK+*YF_>sQWnBEx zmfn=LmSR5u;^%{3cIvoyx?4xAF0p46y${>eIG@d31AfzKY0sVhlh4>v$p{psU!Ca1;K$-D43sc7U3$suqXYRBb$RSOsOP4^A*h#ltq zCJ2zTf$M1I6xL_XP#M;bd5V+QGSR|!bES65whYvSeB?_xWY>LX+hr+Fn;_eACTuGH z_Q!STcaB$|#EK|wQeEbsSAAHO{O>j$_QsIoomL$2cO#C9cR0*$cE>FHvk@%&(uEB{8#qW9ZPEEjZfrba=ft$)N07ppEd4{ z()hvG@A#ysGw%yap_#if@^W$q9UpAwoLdexlwaM@n|1EE7pFRIeVvTuN-o__=Bq`d z6}=GK{Mu0Hl|{)j+H)Wlnn50%H!k}%Ob7Q%;T96bkcKmgxVhl=z6UOqLj}02&mZ@e zr1Zm7-vT?k_|(Nu*#yC_UZa=U;{~5B{bf z#jzjQLSV-eU}tZjjCgca%ucNmsz6lkGvL;NdkS&6TrhsrxBO`#nBGAn-hzL@&b|j; z8F=ZJYuJ4L{y`twzJhX5*5;N%AJwBZ;FW{-5`}vrja$*bNSoxfmnGt#FXf$cacY&) zcXU8*5^|pq zdEb(B#2`n%dFLDwnpc-G@8d{a^SsnkLn%Bei*pO#^4Ef?d{@7V`udY`?*%Gf3(uWP zh$Z213)P`k@OxV^?!(`q<1C-xBji2!rBPb-!1>m;2b9aIA2JO$jLWy3I1KDIk$Pi_Rn?*u;qekK0)>yXSZ zaNY(xxK>7&Qz=V64}rhnj`z;bz`^LNwt-&=e#3j@Q#saxzX5zMN9&K--eNCW_yH;t z9O{7oxi=R3vmP>ScaD2&Qqs)tdGS&<*-t9JKJX^NTe~%n-H=q5s9h$&EAJSWy`a_( zB@Yk6y2=uY1eG;$W8rzBP2e`A=;XdDe(84crtNv;BJZV?ft&yHdnz9M<=l{PJ6ZdXgGTID9S%KxI+h`0o^Z9H-Kxij~3wI~dr z%JIA!&ol7+50w9htDi1qZgnl^f84&>8Hw9w+*!QKG8XEB&eq}a)c0HbGCfUBpYU6R z&KuyYpgtr4*?!3GNp;J&e{9ouuMfFE$Ha_?|8EEI-*D$NG+s-t4-^0Q!snS6?TI5> zRSCI)H^;p?{OyP1+A4h)o%)4FaC6@p_pWrgzTZqX7A>)Jg2174bVH^EG9ODB!`S{j z%qhOj!)x|Ikv$y&zwzzlc$u&eHcvDJuuNd}z~<9){3tCsz}5oGb@R;eIl-Qwz~xMi zRV4qnasPd7>IZ5_9#}Uiv^-xS^MUYXNt@jaUgqD&Q@>qfJbmwh;?o7*Ab2VJT-^A) zl#I`2aQjD-@u7520_y{2z7!h2&Bu%0y$%LQ#(%(jfDaIWABCR}tmz**7Pq$ImhCMR zelhz~tHEu4N5?pRpJ4A5^T@Q+&X%B0PRN&zW!%>W*@gccmv7dt&@nLlwY-h+s3oT7Z4d!7_Hj_#}WW0M;MC@_~&2+sBbD z1D2jh)mH^%9=tT2Ez0;>e(>T3m77r;7!tqWiqfprG30bqRrYy{YF01II;Gi@w2 z+)QAx0G0!+Ab=GBs{mG|c|i4|9N2nb_Yr3Gg7<0366}pqEqJ`P7To;taqm%=tNsLj z{R`eK(zzbIA@Kg3!n69bN~!>!Q91Wh_!G(WYeGC4&bL3>5!Si}tF}OWbVNHX^r>4ub3m1{D65fls7TosGgm;>o#|}3l2Zqy7ob$N@{NeC~_Zsf~d`|lE z^hmDMoVM|43?d_tZ;4FE_s7fz^O`wc{6eg#PszYXQa6C}GXD1CZ{u~YYX13zTsI5B zuTGorZgTnPw{ZSp({@af0`ePb$63W@7G`^tv*A0H}hbH{`R|%{i*hXNFP@UpDz#0eY2+jm4 z!GRaFY~sJsRAQgViDa3tk;meCOp}g5HRqs?+DaZ4MHXgE$U2tgL2{g;ekkspN}~r; z3Rm(TyBf&l?mXe0Fh^aNbL{awIIT=voV>E!*5G*Rb~+cG;T3H$>5 zD}zkdt`oB7(qvM7IzOaDA#v=E)b$;+-O#H7-c-a2pq=omcEo<72PPXJt z1nhez{aHA?x#NHd`No)^c3ZQ7--{L_*j=}T&-;plzxu!luQHH+d4ELskr>-H?$0TV zwUB8knDCxXk+J=B6sNyXX|Nxf>{kc)`Cp&#Zgcr=J?$d;GVZGe!0rCVgm; zA|}~IszYfw%rRDkzRKmorrTMo_YxWYh9A%sv8TA?L#B06K*o)Wx|gZXs3!fzh_~C; zgJsoE%CReBg03a<{X59DESvBiN{N@1!E)IIvzYUg_mogt`XRHRWJ1mhuzDq90O-XA z)w4-|k)CR)?SEJJCrT&0Z_FCMGTswKel`e}MI(>%AJmu%5ndr=GgnN=cU&wyzdxh_ z(6uCo1t7XCjp_oA)oeZ^s{uMf2L;k;{RRv_wH;YJFXgh`0Dkkz3GWlGJ$Li|MG1@Q z*bul42Tyn_U9R)KvM#~-^*#d!YOOzX!aH>4aF*MG>4 zo;>00N6rSbC5|sMdC>p8Rk^bQQ9%QFmAvgKm3GXLvm}VniOQwAzc(vzDIQyJw zpS64DPI!jcWOyh(35w787-t09Roo78L50(4fgE{@+Ck-!yF1347fg7aZhYMG;5NLB zeI6CymR*Q>fm`pA_J>UgTKkVBUfd|T4pRKqLALXU6RF>qL|>`%)eA|cD0*UYzy=wT z>w{dyMcXcy_Hksy#oH!VjPME|*ABUFP#SHoEaEBW#a)e9^3fn}?*&I*GTLP*57N^B zJ#9ZiAMWb$`|v9$wX_=a-|C_E)dxK}O%qgspe0MY+Rg`@SQ68ws*CcGiHp1JkquS711QXVvdJO7#q zuZOs1M;&gYN*klO4xV|I_a5$$JW81BXg~Bcv`ol%9IUM&j;Pygz`~0pOvnWE+d!l5R%&?@pJJ~(eRBE-ga(!pc{SsN_CL)+8H%`YA==G_ue$&{m|t* z`en;i5$A0qxVbk^ct1*qpc8LBH;eX9?Q5~2xO9Qvbo+$&PdDyvewFHA8(bPgC*W9~ zjwO8+oPOwt|8l~6($|5pt6yKp0v^jssB@*hHTRQ9{|49%xBW}{WxhC$n!%xNMQYsvDst{MC_k6@hU*0Cg?MqNCpwXsVN_{EQD+vPK{>9brogqxdAjfgJn1!U@90mdtC2@IqhJr&{{?>6u9NcJK=ujY-E}(b7~(X>Xu|UW zJa5C_zW)m8mwDeQ$&O>Wb3_fOh4|MC*@CP|Ib+}Kr};L*6-ilMQdSSoK}nd?j|H(7 z=y>?Qppf$m{efF=FW}Vp^`rp&{Cy|AyJ@Z4@|W|=mb$O9#Fe-rq1 zS5A7nZIxb_S1|f+rlZe7j$3l5o%cSSc zR`=zVL>|dgW>DDq;Ah`}ymQ;Cvp>5Wj>dTMbZ&Wto<=c&z{zjc09~~=BHg6R>TXh3 zxF;nY%lXh-Rs}lQpN)_&ziHCV*kLaxodK^Z!@Z&vW&t*QAvKT2EPUT zOd3B}eNC1#y-R~52mKE}!2vV?`B^Fr#A&?WP2q2t6rYai^KITbXQW*kwc?>XN<=lA@>)Zoy|a@0W(mtj2A4fB>3tG^(=Ud9Wxy(c9YBETJ&E$G zBwB?3iBk*Cn*WAFy4Qiz49*wvH~lEi?ZCQ$J^vZpm@RSp@XJ%x;X&u$bW6|uH3`nqW$}4{YAdaZQaIr>HA=PVgD^&scZkhch0SivX#JSfy*EK zwFhqT*Q+UwWx!g1Rm?T+tK>3be;)DIg5UeKE#5J1o}}~-ayUBKBjR^}Ke=>^cbz*f zOBt{KeFrK*N)xr?LGWvi+u}Vy@v-{IzUhd(`HT@O=}r4AjKv9Cyz} zhDF2w#BT+^u4#++AoYiKcD$cn@{0XYEx7apec-2Gxy83-R8B*{76RKJf76e!1h6V# zGz_61Vdr>^Db;Txb*+$$hE1KCfwHYTP1 zb#Qg3NdWO1!5?YaBI7p;i*1>_iM=#RA1LE(upHkm@GGy~;$=aWex#!hSPif$*Y-R4 z8~J+DMo|5j0l($CEvaXQV~oykuwtzq0fsWcTab(WAK=+LMu0dD1;7V@ucz=7D+jiw zb&Grt1sIKMtATaiu*I8CZR>p9|K;~%k*8?0*K)QT)hQdvsjjs_w&CV2-X-ps$Q?7T z<}o8S8`n_f;jtr?=K$meZ`&fi2iy}j0<67#i+6|<-_Yl2Kk*h>hX9Ah>6yT)?$ml@ z?EyYy>O)A+LOid>b85EqBPHy?s?%Cp9jlcc# zA!J?ZdsMCzzZr1qe!a!JnK<~x@GoOu__Ocb;_ci_`AokU{xtxr1;+aV%BX%IjR=#@9>O7-%xMRw1Dxd~ z#5TuYPp4wxa_a+U0Gwq$2lMpv>8a%X2%e`uu*JKUo?9D3pN8`huy>q%^>lhloNFTW zH`!l6{(w*C$oXaEv?n>~qa<30$8m65AK&5~K!I6*>DuxzFKR7{M%J(`EyhZBa+9O< zZ%xqA^2`?RDbiteBe~~Bz6TA1L2>H>x8McTW&ADqLGL-SkMwA&KP&hMQYo9w;MRg$ zPF(z`UQGh)0LJ?b{k)KOnGPcb{_9<|WrF;VuxXIX%R~Jb*y3G9eM-1O8#4}`2|o?q zqmN_F4x9YpYT?ySG|Liy?}fUQ>ASm+KE7IMbU-id$DlMdL3hPVTf8=R%eGu9ad~uj8Nhfrk4(q8dCT?TF40N=7WXk*FJlt4* zJLMZ`WqX;N|9uhuiJhms?Z|jqnAY#9Gpmn9O1Yg>f}gYBl)n#>+dr@czmr|OGqddPjNcIb3QIEHstc-q(D^nlo7=VuX z%cr~>T^(Zo8c0Q4RN%vOl8JKa-7-Gokt#ctRrZ(BpO#H|XH(x}A?|WoJEG?pgH_6~*4SSOggjq~Y!rrAPeXWpfJZj3f zv!t&R*g9bE;%{G{j1xE|OQVaN%;wkhxooK)AAxMe(I{Jz)gPrZZ6W$Q;1?2R>9jfH zQi@%2UP|#=2!0RvJkP;B#VZbM1lTS3+m9E<5^?Nz;%#I8msU$9!|7XWNHpndpzx1L z>LaWLSQD^Sqz^yBI)DuTvoRWBJ;2hcrc%D;vBi=Bu4q(-c2sQ&O{aBQZ zgJtZ8@e44@7y6Ox0$|O+${7(XA6Or-eH0^p8L(ksmk?%sfXzpF;Wzne5AoN6A3ts? zb$sdgZ>Xb|w}8c`+5vtS_%N5ra&rA)(#I@|9!XiegxBGQAhYWDDLEIy%2wNBI=nM1Wy;o(PSFArEXuo(h;eNB<&C}&>&!<>S672p+|FePVx z^4T1Rpnu{vOeN193gvA*=>xBh^x;S5d>ycUV1)$uVQ}BZtLV%0Bc3GR1MX&Ud2cK3 z3EKp${=_K{!yEn)HVmxwq$&AUBkl>C0ajBpCGQ*Kp6W}+{;;>ect4|s?T=OEBRKv? z3i#_IqAL!$?30uAi_%dEtPa?n_}fp1W9!3LAtxwI{A&bv23)I)l!vXrYQByBhSFhi zv3AMtF)!hMW+QmzrzG1o=^Fr68NfzJA24^`6Us+@4`7+V>H}B~u%>{%0$?oxtQ^>S zVAO@vkK$4dtS!K+1J)71nt*i$ur^>D1K0*&{Q;~O*dQ=BZG*su1H4gSi2yI{tH|Kh zsj^wX<^wZZN$JQ1mKER?0$UKkRsqWk$kqTW2w-c0#RIa0eyYI z>H^phu!aDZ0M;D9(horU2w>U3+5=b~unhsM7+4Q5H}5Ne^#ypVfei$(dSIIa*g9aN z0e$VjW&&6@u=G0Godx<|_d#2CO)MEd*8$%uR0`SY-gK z1XdG}tp&CwfHeTC56HFvYYOl>fVBj8J;2rnuuZ@^1G2-wx&zn@u-*WcQGor70euUA z4F!1lz(xXC8L-I!Rs}5WwA8#`11tlWn}3bKvID$UU^xM-6WGE4wh>ri02=^S7QjY; zRRplm*U)RRvy5*fK>*tK43KgYzWwz0G0q&AHdSTf%X=_vVpY#BbPh< zsBYu|+W^chk78gw0oe**eF1DWuz>(p4{UP)TL)}3fVBgg31Hp8(rZ)msvlTp0NV^K z7QiNfkeQuzA`xoFX05%lh^zFZ@vPHqHN4s4}^4FGEbcC3Sq02>D8+Pcsp)V~0h z32Z2UD1K0*&Jprs2Sa$#$1lAS6 zMuBYzU}=j{UjkSbu#Nzh3#>hW6#`oyz*Yfk3t%0P6xq z}p``z}$LY4{QT4v-jjnSO=^J*ux}iJ`;D|#Ez)tQ97K-d262i5dDx{b>_CqmLaJ5 zOVBC$XaqhbQpKGs$gbk$!RI^1dA2X2$c_O6Y4md&>J3 z&EMF+h;RD1>9}89AykHq;C7!gIh5m+a%uQ}KN zut8uqIM@iVnzd8jpB*f;6!!hRDQ}TtG;hrWRu3%Z#~b+|zUAe3_on*o`ApUM_4PctcEH7y(jV+bpopfHlO^*tP^|4QhY$&lrr91NNX%Z;1^${ zz7*yk{-Nz<%Uy_k4A^iNs>btQ(%<|Xdt6GJB5>#EZUEV%oCDqnc!yB>kJYx}*5wTd zRTlBKIw+%73X$7HE%c-{!Y598I6SIbmqp6xeNn8y@ZLbIv9tdJ++lFBOsQO~3pxH* z+BZeKjo^*`XiCluFrDTnVJErl2^ayd>&H{_{XgS5X^33U?rY9FY6saR7~fwGAD9<<1pc=azU?pX^vjv*N-wwtS50|);BWd-c!R(yfW1z8Z>`R{dq!sbC1|d1^Ggw4 z8~jbA06)?j1C|Mlw!G1gu!X=ffZ6^O_WuGa0QLvUD+?>>H@i=&fH^4TWN_P8+yL33 zo2R_*lI$v~TUgr*(>l>o{rDNJeHZaAUfaXl1)1Di&rnIvO*D0_V5umbwf z79Pd$FQ*LSHE?V2cake>GDm?%^{ot?tj;O#EK0Z40rVU4j^p`M1xlitqf}?sf?spj zlsDk=lXd1@62Lnm?4B-?12T9mj>@hJvh(kT@0{9(g=K4TvR85^?ya%nBuDYeIrO8D zTXWA;>h~$lM=xhDF1Aw&-1F2Zzj9ZgzWjR1YxTpV_a!ci94fXevIhsajL-Y50C#QI zl=mCA4p=zsX~*i3Zdo{s5{k;!gbOO!)4UL*TXZSh_0TnXANm2(W##19t?=JP0p)2w zxCeQ3{Cn{}zH$K>UZM zT!0|ooqu&6T zddOVi%4qw-XH@iq$~b$;{sfQui4n*RLyp&|IDNE-fcID1_bb@$X0F6~`NLD*j&6Rl zT{wr*zcTtgx|Hzw=!M{}dIaOKGz4H}le!0dhN}g3$nj^mP=hHhb&#ukd`iyD2*hP2 zsmB0|>UkS@3Gn7vk2sO2{vOa$+(3r(50L&RbZyD>i)~v(GStbDEeVxlz6PGnF{vGA z0viJM7(Ji09^4?o;xX0FV({yGr{v5N<0tc=6iZCkQ_M(rEx4Ia2G+ciZJy3&v?VXr z-3ERG`1eEBk4wtFikmsnF+A=AH|r_&*H}Dc+%r%- z28So__vni~+(tHn(*q9M1A7k-X+Bm{ia6+B%cE|ZXCRmJbZVM24n_KaS(+&h3xMST z`zrpHG{bH{KgD4Q@~;?h9Go(69wd(0LdzHQE4&$=b0i*J>Fi7{O!80L4FXr>YkbMib$8072-`_aI}3@p;gFV zaFRAr#;w@51D2fYxB#5IXQ$*`NvNVRP(H9$VE-cB;S+R1aLD5j;^!53zP5k%=WPG* zyz)6WT;!?PCk~l98EUU>;B5x)90~_Ns)HMVl|Mfv-|Mn;!T#gp1TxNn>6bs~#8JE; z7&%BElZ~19L6F$kLGZyd;T^C-ab+s)u90Nl;d9)bPWzn$vNLn9l#bS zZe`1(hxnCYsbBgyyOL{lvOX*odT1?l&OZ#}nHQ(L@1)cVJCA{TZ)|8=Mf+@?pP?jE;J%Q8sQ|gmH15=vLKV>e$0<4c)Y^h$Z`xAq4Tg+#8ZTQI>~Da0 zA>=m=V*geeZmb-V@@GhZnq3$JotgsR5Yz|h=%Lx)8(0OEZP34NXv#ZotMs2r*{Wq- zI>+DPyNyGyy}=Ts(fj^o&^rme9e+l@vX$O%`MThLayL`CfrNixilK}2#Zf@5ud08@ z@{!Bwz3Kb5qpuM9TA*+BYg4J;US@sAQLRGMme6&%R5Fyyt#Zpx4-%i!AatbvCD~SK zelQ9w4cIHl2Y;-S9DlLTr^LR18QGtQuJnE#jq`GkK>Hn@@~)z?w)X4JLwILh5${Q< z05|*XDUa*}{bKmH8dyHCJXgL1c9$o^OQOVS2B-KR>Ibzjcs7pDULnC0j}73IgR>Kr zopIcFY^JUB`G6ht1Eq#ud?2)t_ISv^KyxmrgKOQK~m zY{Fw2XXS(63O=Tj$#FmL-NII4nYLhpryH?&(!VIW2Gm-}ZTRPuoEc#CBxT&V-dc#B zURpZKVX(4m7Tx?-zP9j4KpdSAwew+wyLL?de3m}s!@0hd40M?|LX{gA3ZHCuP9^+* zkU!ncbFPn)SkyqCi_rLz>!seY4P1^PAwW9sfNb{~=*pM~wiW+d7&vnRW1J;P8;cRE zGv+CY9_`*jAL;Cc&Ozv0OYyUORXY^!q$aI4sEmESG(;l92$R6(7e~sw6w#S|6xz?0 zDevOBo z7d^K&P22TX$eeBv&j;}Q#c!=au2*7)`kiJsvH3 zv^3eEpn~Gt1D(Ymnf4wgondysU;ykq#aH)SQ2EP;h>#43z=k_+lftm|7Vb!p z#sV|Y)xO)b*N?yb@<5+ZjK!aNigpQ3aC~%`^aJwMZr-;`viTU073@CkZJI@vUx+Ir z*;11|k}?4nhWny5kR5{Td>VsT{>nVyRSFh^na$0{83yOm^e&b8>KwZk8RhzlVEI65K2wa+y5M-k zcfs`R?-}cWR{P5E51rZ(gKQOK*Y70Gezf%z}G=4e%hxCJ!;^VR}>1ubXmtxA7 zGPDd_7Daioxr|SL&O%u9+v>Y4STLbHi{alne|*!=GcJFGoAc>uugtBF$+2KF1p>G9 zC3MA+{TX5U18Y-M=ku#k{-2xnO7ORz-_n+7b#WQBr8+#S0D@soZ`IuK_EmVghp9Fzj^8~1~)bo)LVbGV)VK{gc(vonnP@07vEHImbX(Af-~ z8~2~~np~Ue_j`6;mJKXr9c__#fp~3%#;=>8BjbQ+@Ass`w{xyvUOVveK!=H%e_m=A z8vFo7_#YHita?^Lb-{^9f5Ei(Ew>%}aiy_Gm$28QDm|21vvY7$#P966tL(~E`3Kejc+kST=B#*?PKXOR~F9sOC#3Hg4tR1P^J4zDeu)k709f$Ci& z^pu@B?QNv;vv>V@Ob~gPc~}pN<54GgiL-Rv!Rs4n12nqO-2u8`h@ExCb^tZ^n#HoL zyDGYv%Adx+DldU%xl)oi!gfRxZwX!QTI+z9SB9>xI)^ zAq}>T>$c7CoqoO*f>H;5$Bon8J(SnJy`nj=o;lCEtYDDKNeoN2)pXT2k1#T!FuS26 zr)}CRCHre(+8VgL0$ar;j6A0Fj8J-RnfBJw20Y{Yam1DhUfx{BbvSD^(sSRmcZaLn z-8<6FrQ*MDzv|DS&|bfL)B7$|(~rhmmC%v?;Iwyd8g8}Wjg?@5*XDP$zQA+>A*At&?KHW z;W_a>LIT*Fp-qeH zR~h66o|*P;-O7H@+~h%#fPSirb>LR^Bi(-9VcO=-t^XwTo$`4-xb@FXdvEw$)Ca%b z(m5dMeq|)xo4_yp-L#ywZRO~UIaxJoF6Dm+4z21<)AF6ES-5XgG*FPdWdrq%;aLztNnh7 zD{)CQaw(^o4wE7K*$bKO7pJ}b+&I}B^g@agzVQIwD0rJ*nojj;>70+(ZMDMrc845J zn1L1fGcXA+AA{=bL7i_|zR4OB%9=jvAiOH@R)O~;gdIAJ#vOD{fy^<2qz z<#@^{>Xv!Dm3;>G>p`Xg_sO>T-}p?`g-ThC(p zwn3KHfUTV(t}AqpPj_dszpuGFnXL?dHWjYq@ajez$vvZ*%bcKhiy zfw@2_jw7a}8RYyd?z4)(fSp{s98NhF&lbM=e?OcqgtK<@w0ysFw)6zQsfJ_T2IfxB zk%83v>4}|*@&8|^z3jQ>IJ1P)ICnUefpECbiy`kC5l-tH)7}vN_WK^J5r>~c82}dvTZ~3cS>-E~H z*CD-TyskXG*6OuQul;%rslGP7iWJ@#uB4A4Z2hBGNcnfv?9c7}(84*MAEV;+b3CW% zJh>Xuk5T=0RXKha34g}|xIPX|6z|G^cDIQ9!+L$^csXt0Nxe`1sXXu3`%QWs(Cbb5 z{58FQQ?Kvnb&Fn?9VB|LdrS2H{WZD1tIrR+MxKYSm21}9@_euLa)0kFa@|g!r|UJU z*AMG;XT4_X^~f7UZdbj(ZAf0$msTOfG$qm#cx*p7m9Z({!_&_D1M(_Z&Cbt zy&ur)dd1(-`z?CCRq>BqC-EFo{kJK;yW;5^$P3+uU#*^eC6M+_#)*k z)2p46c!J*7DF067e_Qbu#XA(QReX(Jf3A3w-j6E(7m7D4o^y}Hi_aIpvvrEsDBh|3 zYZbpiue?VP&${%!UHQLK{zHlnDSo%&8x_y_wS>Dt@qILZY8Agn@h6r4tX_Yu_#1lP zru=&q|C{3digzh~km}F4SHitd@iFBWD$aYn@N7!)I>jGQzNdJ*;@ygGr}{%(qMzS0 z!?XE{#})sL@^?|ZQSpZq-(B&3#d{RrL-CCJME}Ez=O|vI_#=vcLGd=lA60xm#RnAM zsCa?tzhCs5Jugx`uK451UuOChe?svUiVrK^tN1F#V-JY_Clx-MZ>ce#p@N{r2Lx{?^68tir=dEsN#Q6yhHJv-$=MGDE{)za$lwR zfZ}&4zftiQ74K4fK=GFpe@O9+heY2W6@OguxZ;C~_bFbl_{)kvr+Am*e^Puv@lnNJ zQT$Je$9g2(A;mWc+lue6cwF(nDgJfE>lFXH;>C)0Dn6=siQ>bG|3mQ=if3$;aNkjUmEwhp^I9pM z9jSP&;tAy+r+Ay zrg)Fy(~AFG@lnNR6u(>XoW~_T{N62|btzt@_`Aw~NbzRHJ;fhWyhm}o0?ogt6rWW5 zP{sQd&v`<^<^6Av_=Do*ieoD||6W$SQSmy(H!I$y_?3#kq4=ockB3E1p0<~~UI}+l z@vkWUHn4g2*vvqzgh946rWW57R8TMJoa0O=X%9YQoLO8TNOV= z@jAtCQ~XTD+ZF$r;@?wzK=F3P&s99sC*j_%_yvmRDSnsYKUBO*@n0!^iQ>(Q^Y@=o zf0`BVQhbB*uU33masEaU_^pa(JuUJ1wer_19#{Nc#WNJIRlG~_+ZAt7{658hsd%sA z_ba|Z@lnMeQ2c(yW6wx@x)py|@p8oD5XT?9J z*GP=v(7t;AWxejG_;S5JM6dG|U#<5s)&C*I&rrNv@eeD0mg04ae?;-K6>n2~7sbz0 z{6f8EDt?{u^_r#ly?WoPdUjL%LB%H(-(B%X70-EI@+VvIClxPO{1b{lt9ZTQpH%$! zigzj=Q~ZyLzpB?g6ra?4Pp^9_o_&+VV?gzMTJb#;Pyd}f&r>`{@j}JFr1%#UuTuQW zitnd*qvBsx{6NLK6hA=mMT$=<{&mGm6wluz@hMh(rQ+YzYlq^sdViK)citn!zf1JK zM)hPVeud&~if1d{qWF;Fdn$f|;<4XLeD+iP7R3t{Z&v(H#p@KmLh(+;@6qd(iodM) zEz19i;?FDIrT99BN@p}{>R6O(tiD$p!uPPo_{5i#6SG-p7=M^7OyhZWfDgF<| zdlcWK__*T3iih@;{GV1l+$Qk}E55tlXS^VIMDb54zPDbtQ~a}U2rpmxJ1D+Lc{Pfs zD;`&TgV>+|622>NA;Yb_+?ga75{6juU5d;1KRZ7 z)&=bTLS0`le{_rLHGl1mf&2A=`#bdB{GHe8z4-%e9mno3e@)_N{v?eS?^&k5J5|0* zuaD~WS-rlf*T3lXA9|h9>kc|T-dV4^={2U;ef0W8z2@t+NUtS&Jw&e-UrU$8cdo0g zC)w53b&gbh+q%wlw8|Z;*9-Mpt=E(FYU^vZesrqhXX!NSK^+daRz#_1xBl=X!4K#Gc!F z@Be8#F+HaD{pz#zX-lu&|DWo$_?ccSAJc2~_Wjxo(`)iUy%wJFEPwtT&z{@W;%V*5 z+K;spYY$fMt$y43wynq8z5-kCw)JycC%1hD{yMrw-1^O6d@NnIUT@D0xBUpVpTNSm z_!!^PXL7br!mh#Rw%@_zP3~;9=l0z0f1r4fZ@BU8KFG6v+;EG}ww8z418eWrt}UIG z4jYHq)y63nzU^##eLkEgd$_+Sc$) zzm401;T!&b^;*14Pf-6wS`RPRtEI>8?P~bd%CmhkrtklD{WH5^;aGgE-3D>1cR}3h zUl2FD6U5C91#z=WLEP+A5Vw6yLEQEM1##OC6~t}-R1jZst&H!2_$TMUZC_E4Z~L@@ zxa|)M;Lp!RLi;(R_)m-z}B;Q@J0yITg2jH~Bl~kZ-#sRnC-K`I!7GpOE|vhCi3Q zjVn!Gw}s!98s1#;wttZ1=gkX;ey8%G8&l;?fBg-q_=0w+*P(ED9&v_D-URd-Q#s4O zPR&QN1EB~J@hv!ue<1(oivI@nPg(f$*K2$N;oGf+U$5bR%J_&sexV$@H-W%)s5LeH zRu6@S_fl0pSbkN3@~=Nz^q8Hp^skshey;S}INqXpw8~fAni|i-K)j7_^H3z6f2Uda z*NME1`YmG4x(>7Ps9=3OTLHUZU-*|Sl@rtxxoP9G#`i(#IlT^LtSG4CpRr#SSglF-K>Am$I&5iOrOUG~A{=%V9 zO#OJKFL-ThP7UAudCY_S28+M)Y=67yDGbQleA1pjVe)g>zhM0{zrg#IH-EzWl{Y`c z`;|BU#ru^vzsLKPw{fQRpZ%KuZI`E(b0|=57M}S<&3?b4^7h=WR{yI4dd;71;g4GR z2Y918ek}~(Hb1lWzk}A__uBq#yv^~%_;ELt587`(9har%i_Jr9{P4Ls+Ru>M539e; zI*vHtBpEN8{DE`Ghngf@lehTTdnR%p4wcLi|GD~~!z?@=KZZib*u4c1xb|F2ve15|5Jbg2`+DZ}N5x z_WxmBkFof_I!FBL1Ny4;KE=Mn{)b+c{wK_N=QmbAEc~8;y!p3Gep>UdQ+ej!iUs5f zbsS{RZTz{Tj$dm3lsXTruTPD)g=hXTlh6J)4|{A9^j<_OmL*-!Lz9y~+=rpPGNMz`ccU{y^*hI_60KT=6&ml%>CY z8`E$8OUwTU=Lp~88;pnfCoTTZ%^@F@Gkv!1Z1;aw`C$GJotK)QmjC9@v+&>E#_-MW zXYv!}u;HcAug0W`7MI zI!EHub8c!r#>{`l#Cf58^gfvXA(c0MJvWOUTR$-SRk)4uw{;7XKWH1{Z|fr_U$u?l z+dc0HNco4>pM57P0%pJhD#*nz42r^Vm;bG!eg#@Ftx zKKc1>59YY;Qy}5pt9r~HS-r4*ViwQ$x}WLa?PFRwEa`ht!+l(@&+2tRuls2KV*8tH zA5%$6zcWYT0RN}bXX_HLYC2xm>)-V{rq_SzbrQIt^!icrug{Uh-SoNDgPJ=e zU)Sh$4ly78Pvy^hO>fY?_z~AX%>QhDQuC*pT{Qb_{Y+4w#l!M1sQ*8eKQS#=E6>kp zd78f~N1yMj*8}vrRIiqfVEa8(pIiGj-dxxJRQk<69Hj9*T(4#?%uWRDL(neR{KlWB z1QL2&Ain~SL-%REpQ60e^?H_G&;2*@=HIn(qWQ~h-NDB1=7+HU#MU*;j@UY-^_S*1 zvh_Rb2W>uK<62u^wRIvJ@7uiHpTB52Y&|W-ujFKk)klM@ejN9@*qsYhkM(25o9k-w z|9|&CR*%eo^COM7rNiR;pN^l!!>+-4Z24^Cg;9ME&iH2E%zj*{>AY62#+&Qg)50n_V&cF;}_`H~+r*>CNA6eslAGn;+Z8 zljfH>S;r~n=Q4kT`8{m?$^1OF9%_Ci^H142v#pny-_!ipHV?D)65E%st@gs!!);#v zKW)Fv9+}_S_CMGdSV2XPVnI|4Hn5<_-Zl2FN3mUN?AS1N#r8|GKikWh`*6MY{oi-p|5~qE3%<{M zvd^BGJ(J0#+Z7}I-`f9bfBTO4@5i)@_V1MRx2PUh*wxVahs`zp->RRUU(j+aN&j2r z)8h&)r+u8G<^6Zd_oKCa{ky;aPo4kKex%#C&bxo7d^$hZ^Fn$YxU_XV)`qms?^YnK z^SdR*&pwZ|GQZQfs{UDgw0~h2fHjNf(}K2NKDG@nz*SNpNXLG6~LdY(q-`+C2v9>?qXTD=ag*YkBAy(GWN z?e?EWId#3(SI;}?@rbVfv-WA%SB}@t$8QIYhxGYX^|K`XGynf?`_H5t+7FhLukt_3 z-;UpZYWul@a$bw-_@vvD{haU3*lD>{|I_oMzm6wmd)M=0|LXCiecb=A9`EaR|7XYf z+TOPQyZu+kr<=Gg@!%5rmFDxG?q7DC{yIM*{q6s6=STFuH9c>l{Xx$|YPvD^$LW34 z%2of}{`sF8U+r>gd2Ib}mG3dOJG~B|<zOsGbk|hV;KWPN+XywR}su{;B5=^!k>bXVCG> zK7Q44SkEiy`2jm$P5-rh|KHrc|JCbTe;x1r&yM%>`mSzgs*9|7fQ~1+Ue90YcCK92 z=Jxp&wfjS_`{(DU{%rjD-#Wjc*B5l&rQ?~#L$5d3*BSJDu01a6IJ~6u-B>Utk>&edf%GnXX`5qCH`|hl777Y`=Xnp+oOA-hoL8;XQJn! zx8SGw0P%A<{3i5n^bs^cN53QXQ_w~56+RHY9=aX6H+nQWm)|{so(rFcK87afkLYqA zivI=tu9Qf+E4(*42pxs?#BLJl^U!BMmEWgdh-$p`xfe~VmiSKG5H#R<*#k)*i=Kv_ zkIqH!L0?ASLl>fp&}BwRJ9k1iM|VW`LJvVhbPDA;oAhk-0rWX^0lElXc7MrlHFQ&S zAi57a0j-kHWYQO-x1bN8HS{C&8??y*lHa=MYxrw}c0$)hH$y#i0J=H9?@Zh_Lfgap zs=|ko*7me@N4|46a)?~#nt+~$&fQb^MWpAUG5Qkv7215L*mpp?qT8W+qKBi?(2LRQ z&sMc%$Xb89m44nz`_}Kv zR{8_W{tGKzvFw-Lw!SFHMb5-WYPm441jziOpF zwbF~MbQ8Ycs{Nydl`dK7)vWaTR(ew_-N#DrX{EEo>QG%J0+mA=GE-)5yBvC_|4 z={v3d@P@ViJuCf{mHx>}H{QO!Kdow|SGUrxmEPD&_qEbPt@Hs_`gki{vCf_(RO8ZuOY+$V)V5JYT(uY~; zqpkFbR{At6J=6|O7yIitmDG^iR!6K6^WtNDgJh(NZ_Z5S7*e#7} z@2veOmdg9xD3Q~0PU$b{W%!-u_uKDM{+>6;`rk=6#V#ei+hwx;C(_qy!Lj>G{))g~ z5%?ca+zap@t2spR@G2^N;ahacasE-C{84b}28lhD*Mr&w-rl{FhW>_WE zL0!~CeKbJJXoyzO2(6+qT0;{wMa@X^M;+8fJ=8}7w2X#m1&z=u8lyEdK~vQ1NB*dT zx~PZxXn>Z{5UrpQT18{Dh9+o=no;DBI;e|!sE-C{84b}28lhD*Mr&w-rl{GU{80yW zQ4jUe04<{-T0tYUipFRSP0$oI2arGNpf2j6J{q89G(;CV$jHUDQK;G(gK}h*r=Dt)eknLlZPb%^31W9n?iV z)JFrfjD~0hjnFC@qct=^Q`8(p{-}exsE7J!fR@n^t)LNFMPsyvCTNP9gUKItP#5)3 z9}Unl8ln|6LaS(u*3bk^QF93SqYmn#9_ph3T1G>(f<|Z+jnNvKpebs`l0WL8F6yB^ z8lYt~L@Q{7R?!%(p$VFzW*qsW4(g&F>Z1W#MnklMMraj{(HfedDQXTSf7C%;)I)tV zK+9-|R?rBoqA^-S6EsClnfy@)bx{xX(Eu%@AzDErw2H=P4NcG#HHVQu>Yy&_p*|X* zWi&)9XoObL7_FfRnxbYr`J)c%q8{p_0a`{ww1P%x6^+pvnxH9aCXhespf2j6J{q89 zG(;Z{ z5UrpQT18{Dh9+o=nj^^{bx;@eP#+D@G8&>4G(xLrjMmTuO;K|c`J)c%q8{p_0a`{w zw1P%x6^+pvnxH9aCXzqupf2j6J{q89G(;Z{5UrpQT18{Dh9+o=nq$cybx;@eP#+D@G8&>4 zG(xLrjMmTuO;Iz6{80yWQ4jUe04<{-T0tYUipFRSP0$oI$B{qkpf2j6J{q89G(;nzMx~PZxXn>Z{5UrpQ zT18{Dh9+o=nvnca2X#>o_0a$=qaj*BBeaUfXbnx!6g88{A9YX{^-v!T&@vjL6*NMt zXpGj-1Wi$MBKe~Z>Y^U%qXAk*L$rcMXcdjo8k(RfYEB}5)InX;Lwz(r%V>yJ&o_0a$=qaj*BBeaUf zXbnx!6g8)kKkA?^>Y+Xwpk*{fD`yJ&Y^U%qXAk*L$rcMXcdjo8k(RfYNnAt>Yy&_p*|X*Wi&)9XoObL7_FfR znxf_`@<$!iMLpC<1GJ2WXa$YXDjK6TG(l6;oK60ygSx1P`e=Zb(Gabm5n4rKw1y^V zikb@fqYmn#9_ph3T1G>(f<|Z+jnNvKpebt3A%E0CUDQK;G(gK}h*r=Dt)eknLlZPb z&AH@{I;e|!sE-C{84b}28lhD*Mr&w-rl^@t{-}exsE7J!fR@n^t)LNFMPsyvCTNP9 z^T;1{P#5)39}Unl8ln|6LaS(u*3bk^QFA`|qYmn#9_ph3T1G>(f<|Z+jnNvKpebrD zAb-?BUDQK;G(gK}h*r=Dt)eknLlZPb&4uKTI;e|!sE-C{84b}28lhD*Mr&w-rl^@g z{-}exsE7J!fR@n^t)LNFMPsyvCTNP9i^v~!P#5)39}Unl8ln|6LaS(u*3bk^Q8SbL zQ3rKV5B1RiEu$e?K_j$^#%K*q&=fTnlRxU9F6yB^8lYt~L@Q{7R?!%(p$VFz<`VKp z9n?iV)JFrfjD~0hjnFC@qct=^Q`B5a{-}exsE7J!fR@n^t)LNFMPsyvCTNP9S>%s8 zsEc~2j|ONN4bci3p;a_SYiNR|sJV>%Q3rKV5B1RiEu$e?K_j$^#%K*q&=fTh`J)c% zq8{p_0a`{ww1P%x6^+pvnxH9aW|Kc!cN0REh!VL!A-~%(x0JgcZ7XBifO?!G_mTdi z#Xlz-d??SCspk3Uy`um8mrE|w;=j}KZTdef-xGXKPxXJRe0}S_XSsL{{`ubrQ!my3 zt@3T~KaAgM{7&_Mt9)&(_dERasQrEISjwmR@0KsOZ|I*XWh=6Oy6*2e{`J>i5%|9s zfoso~{ex`3eL1!e_(GU1P37JnR={hvPr5wYI0>|9;nUViVP#gDW9WUpyVuu{YR_4$r?3F}YE zeB{qiL>>6ODj95z#w$1MzhAaKZ>MAxSzkl>ndzf{tk&@F|9EVoQ^V_b!@tLR*RspY zp64Gq^7{&^+2*~icoL+utWT}=>tyTmXH+8A2dMu35MAFzejlK^ezWY4+<&l!toKn} ze^~ZMK9334l=U8}>rc%(V5ck*bi;pFQC+Xk$AlZyb6r0_`y-D*&|TKYmR-IsU*ZiL z{{5L*{>3vq8_RlUqk6mc+4>E$-zQrL_j=W@&)YAb7X}{d(F_$!+wA{*%TC~twf=!o z_4CDU*7L>dTImg}bPp^2>yUbX8(Zr)v(mk+^p;lIv(k51?;GFNTHn`7_qWmmtltl? z)(^DOyISc>t#}Qw)(^AN!>#n*R(j7%>*KYrwSJV9KF=!uf!6witn^qbUAEGXw5{(? z6Rh<|TIr*$wDhv{ck~3&A5lr=|L6TMUuwgozN_}AueYogqDb{PenWQycjFCutSwxBv1DzM&HCmRgHOFplWfFzqCwu|kLTtV|3wqi z)adha^?a#6o~x_p&5S;uR?n9<`dnK*Z*KJYxO%>f(dX#uc{VBqa@<(YTN&yYG<08o6Vu)}cgp;r-hcM=AtLZ zJL^4Pv3>lV=i_!`)7rQtIm%wZsxEM+gK*6ye_S)SciISFg#9kc+X~-=emxQ%v=iQl z2Ph}P%PR?=gP-Y{HZmPe^Y0}`ectj)>^;ge8UJ^}Yb%SNd_R>hFJ}Mpa;B>Yf2E+t zdj>|brSs)T zcxgT1qv5Az+Q@V;b2;y#amXJx&C40CFZNG~m|Ni0O$DsS4_+wzWKZi7Pkrw7195czfDWx0jpY?$u&{683MwW4LbbKf}{GV!to;D`w+I zQQx`3^Kmv`y2B&5j$;Gi;Wc7^9Q7RyH`fVYfw)b9JM)B(#r}GDd?e zjq~g95U%C_7M@!6`EDYwSGg*F&LQ8m;H8^|&nDk3;W7M}EMEEI!@WDi{>dzzFZ-*X z`-Ss3zd05jJRtli@;wip#KK3xZ-n~~3Ev$447~EN@Ye7T;n5?)zk~mz{4wDUylr;y zlgA-`T=-A$wUj?8{2KTc@bc5b*PtCo!J}t|uLqw7uRSlk5BzF)=|$nkPPmW#@$eXaBmU1-`w3#d8gYo=l_P~~zr7tE93^}%{-1`ICJJv!c|L(VM+<)p z`xe=bIInLC@0E@3`QpOe6U6><{A>?TLg8K5UiOBUrU=*mc_O?9*LqzJPtOqhpCnsz zhw?LpA51@a9v+-6{9^3ihMS6T-QGWk*WeQD7^>BJ& z#v5f9o}yz{EF!ZB@%ah+@OH6pPk$?A$vh6x-NJQ$w+6g=kMPW?_)~tb@D;Q_z-#vj z*YRo;JicG}A=u~LJI~jRg?~(a^XAUE^Q7=!*?uooUK6hUGY?B{AEv^;#m@t9ul;gG zxl`iyBHUe7ct7I50N&LaKbvG`h5t@s|1|Mz3wJsT=Wxh4a6kVeTh!i#m%9poCmWaZ zWm|Z6@?|qJ!!w>A59;-YZengm!}WTE@}o1}&^UG~{=F#sBU@g>&!uo@w(xammwVv; z<-%XU{%>&i3gLRZun1m-Q!UdWJ2jKXErxf-&-(BbzAn5E+__TxD<2B?Ej|_=!q>*n zWO&uGKM$T*{0eyKs``BIfqQWE|1`X8@i*a-#TUYB7H`%@;$yCseAWMIaM$8J;DN=r zfmbZP7d*E3LGTnF5Vxste~y&rF8CaH_^j|f;E%vdbA>+){~J7kzYG5wUc08gzOAzp zw0S=%-zWSA?7P6twZgB3Zw9ZzuVeci1P|tk{VmuZ0C#Sv=SRU4i=P9JZWQ~2*e%v zzfSq@Rr}|}&u-NBWw=ul-V8rq!rd2zZ;gE^n_uVk3g-)Nhy6P6=w;!LVZR-`{HpME z=vO1v{&nG-!jFb0ZwVhl`SaUb@_fCwh3n%#`RnX+UVB&g3~fhv`F-K9;^$+y|AFwG zv0plyX5@aN4~1_D?*>mk68;=~TX=PW@Hg8W05ge)9$~*D^0T@0m)}hI^6<^z z<)wx9!Ou{5wT19?u|FQ3w5<1kK0I1h_^R~h>)`Qn!Uw`@@KRghW0`+`3lCSUw{O`& z%3oVa_|cSe9k{=W@Lk|rz@tvW?<3z4@Suxuef;D&c)F(WTkvxgyt=mVeBPfg532p9 z!u2-(x8Rjt!u2>YKfRpyD=(keWJ`X%Azw<_ad6IkPk5DlyTZ+O!Y`xzec@4G;V+0A zGZY@~P|x$@?A(9Qub!U(_xcOh^F_1N&rZUhBj4NL{w~7H@OR;{FT5w?`BE!Oz9yfr zWlKx!d%{b@geSydH+Z^-@EBf(SBDFKp88%04@U_9lzi`imq!X;3O}!?{eHqvf&U0E z?Js;P#|tZFH$&uci}HzOwtR#C4d8vO{r*mBKSAuD#Qsot`Do$IXy0?;;UwX2X6GsL z&k;?~R}H;k8SJU&D5BGd#Rb_={P5^W_3z862Y$ZGRGyqZtov!xkvYtc#S6|XM5kqql*4S02^@GG(J4XyaV==)XzxazY~X9@Nz!k&la6u-2wN<;D|Vs0LR zm-iBWAN}E_j5l;1;3KskEB0455=V>R&Y{Bl!rOL{IF!r6TM>sf;o;%J&miBe;H6`P z>o~th#`FFYl(LCRwgkoh#vBAU7C!+$>9OKxSIRR7?jI*y=X=k=YsU-U6#oglbb@g0 z|3APT_-goHE^CLp-MvukU&POvaA&gcyRh$_@%()9l>C};wrKw!2(Q2in;8S2XxUGO zmo0u7Jhb@j@X;234nEA{@52L&{{r_d-ewJ{S3iq)g?kp?2Hwr$d%#_bPk{Hd_!PKf z@!9Z|EPe;Pxy7G@mn{AfJpDbJm@U>`zru}W-+oPr!;hBz#_(~DjY#|v-OSXRu3hldOIu>Tw$!*7KD zrhbkPd)=RQSV!txJ5sn_AKVC@93@=O1MC1V9WDGb{EvW}V}yUwR8|}fPmdSAHgP)} z?u5dpH z-W6V(EqsDtvm@NUT=;1C81-|d@YnD^4enem{9?*~Ej*nkdj!k>T-fyXZhKNda~p1vsjVfZ=9 zUl#r|{2F-q4dE+O{s-W}`@-L(zAwSuZ-ozlf2n?!&rYajOMc&BzAUr8)Yt7QJinhN zUpm9@w~iOKfCrn2eHs5l;I*E@cWN$v4uyMtg}+R`XTYP~g$HujU?RACvhYW+e-NHd z5U$skUxt^D6#gFN`3!Ex2)_kCjW&?_#s>@6d3#rQIX}^zEdhRZfY-(ezaBmY9+rj2 z@TqWbyztrZE8)RJ;m@~}_}m7MrwBiymGEcP&-ubVj)OjiS8fwNiR0_W-Kp2}!tbD; zI2q6P*E5)pfz9UFhgGq^jdBiwdp8T;v5AytBE0mB@N41c-mfCGTzX3y3B?We|L_=p%WSJ4EN^>9|*5xydghV zErDOR1b$n_^Z9BrLQdc@Oq!?RW-sC0i09jI58e~L5FWxOQO?F2iT~#Nh#&25ZQ#b@ z4%~saV?5j_;|HV>T;PIit_5PnR@T4sKB+7p(ynLAO8_DKxa`5AAhUT)hVW-7&(3gXrtr7m zBjDx|;Uy`KIV9u7`M0w;k&OMR*q1E(3$TyQ6#FXnH)HQu_7AE38TJ0(#NM^+KUe#y zVxQu_`6d!i&$3@B<9Yd`DfRw0#NM~;x4}L+RqVC=dt)D1_T$w46tT}TE0!tPmo57l z*gGeSz52fu`_Qs~MD0%!d-eY|_7%&1A@`2iV7!eOc{~tM`98_BG3XrrIA{@Ben}6U+WFwLhlbe}a8#*{9e$`3(=* zqVZ|98QbHf_5FX>bPgD78PL-v7DSyO#YG*as8D zzDoPX*n5`!3u-^U-v8&=`OnG_5LI5E0+CD*e7G~Pkf%kKCSKGk*6n;7y&)QE7h4;4hQ-{KPT6`-0&E?{Ms!T`BRoJ_h z{~O@lEI*IH9n1bbxNq@q;r%S$EIVLnXusJee{#n2{b}@Ghr)xl*ED$WZau#k?!8~n=fI8S z=T>;k{#yM%l<_D#27kih z2|WF%zC4TIHOszZZ;8V%Rvfl~H?_($9Nx;}6XC|=@o_-hvbDB}(FpD!|AY}d=mi8P%zHrh&f z1)kE+J7&BgKV7l+x{9A^*!P0h;8(+UfQQ}0UXOG4fJbW!{~r5^%GVM86Z{P2>k7Y- z?duA-zk%>4v3~;YbQiAI9bU|Mem>dBZzRi>xr{S!V{dwhy`B&M67Fs&T%R}m1zz1q zxKDZ7^^tg*O@*(*_P#FM=`H*eHZTuf^@O*hJiEYaTMG}c-y81s6&{oCaqzUC@Y9LI z1@N%H@GjWTgI9MF-ji}Zq<#hoe+d2@JRTgP1^Q^U^yczA(ujl-Vs;B?{Ye}CoJ>vnn=+=r|E@o;CF__>pOPltQw z3D^h5OiFf_-w1aNUlsRsV4He;d3qMeMaat8FXsk1E1PRH>@vIQ@hGVj4{j{gqWhoO`+g0H21;9C9-;lT-F z{{;41!CmaNoc-Yr_Ad5A;Rdeuqu{>PF5}?I@sh9h!{gLHJjVa&YM(zKkS$vN3*hl2 z;a;)Un5)ze_A&e>xPfcF_rfFmX!##jdw7JO8az2h@~y$&fXBzym-8d_gT2Q2JGGxJ z_FA5%+sk-WqhBd6!DFkxtqQML_G@Omq2mG<`(TdbTc-S5XFQ+hIH}A-o@gv9hA+X- zsKQT2bLJxP(-c34<3GW_&v_|ovn@JbKiH;R~PaE}|)_N3is!Xx;-@GIcK7UJM@ z_^oiix9~UMkHg(9g==|UhI?BHk16NpaN`L-s);yiwgd6mR=Cb@+rw+y3D^5TT)4l3 z@H;8bHt!C!(qyNdl|@P!#K&NDB&VnIg3e^UQL#a^GUT)Cgb(;p`M9PHPIr|=hO zmmcuio?@@}clC!Sf$&+xVVK&F6MiXi8w)Sb6#gdpo(!*ECcHg<&dqpUuY`JKiDH>u z@D+@EP5pR#9e%v0#ZPyR;~s`ry2ycA>lWhYD|oz-@CouWvuuBfPtafZmy~~1xIaMn z%%#N7`fzWs@MLx2ec;t&gpZ^AL*em7!uM|`_LJeIs_;GVe|5(5@hW0Gp_t|l?87I; z{)5%T&(qk?u*RPR`=F@=;BR7XKFxST56_o>$ac)Ex1DsdhKk4DtKj+5`f(>H}L#Qqz2`5ocT=?zG5v6VxLH%Umj5KRhv)B4%$J$)u&db5 z5o~URyWNEAxcadAUt9QgwC|_z+P1gR=8Vf%k?wl(2df(%1@bC=bcjJFPJg5jChM$FSXQptyPs8jiw7F6xOgkYx~_Z;|;a%s3q`&@E>$qwutbl#Q6kx3O|N=O^25|i@n}A zdl@|JBK#Hn+yr+v6|V0+dmLWwCHyt)-+}vE2-oA&AJx9M@CxN=u?z9sO88#zPVk_Q zaNUmPW%u(m6rY~zXN1@5;mYXv;KA>~exmx{OZ?A(Pk~2peGYvV z+~-8&c>3Fo@Y=rON3Y*K0#D&X@c+E}87cPJ<*;H&;1&3A_%HC_Zn4+<$x8zz&MEeL zV80IB-%srIy5v^yV3hEH{q+IxIDbJ?wmgcTsqo5Z;p=06gW4Y~{0HLjqVjR|{3qpy z2_J+1m3=9{J6`xm{PciFhYQ#19a}3uLipkItDWG^QNlN%;SYe9Lg9KmbvisfQMkSb z;3Bm@S@^#AzYiXs0;l}Xs2{l2>qE6aRqO{4w-$q>zO|{sJ5b+s;o+IW*QcWof>&k< z*XydI)&4T!{VC6>>K{Ip^3R3`v&CNf)dTPtu5qZrOE=Z$`-$4$TF)EpD)kDU6uvLx ze1$#@?B5)Ya`K{+3QS9(gl^m&1|3O^l;!@Nu9+rMD1 z-%t4(KP&InaKGxB@jMO-eyfke=I{ir{s+KQiw}bv>p8Up;ms|6IQ&P;&&lu-_H16} z0{G`vIWNh0L)**TCGcC9!0*p^9{+OR<%)>Sq8t z;d|nzS++yW{UoRt*HIc!k@&?Y5x)1Gs+Q=@RxoupVS_%_GWk4zV!P~!?0f(uHSvy7~UGL z-+R*ckF|pvzW)?q-%l{&4*cl*Y%0>vy5les{R(+`cGDHe46W-f;a+l-lnP*Y8Bl#r|Np zemANc{4llWdr?*5Gg0l~YJY-qz8|IM8&8GnccrvE)8P7DsYmcX9j@P*aw*S6>YwjS zt;Bh}NIBn~`Vsp%>YwjPX*q9D`|j-vOP%N62G{RTMfkZ_Ip3f1;Sa+N-<@(P&r@*y z4poBv3vm4omA=paRk(haN{`3ig6nswv|oLo_I!s*$A{0R`rDcknx80 zcTKVlup!<$&@wR!pA1NLD9e!{OyvlKIXZTt0cr^)F=CN32 z!K24y;&wm$;ewM`OkTl0*hlhxnROqk|BZzo2>%&gIa>0q(T=UN6Uce_U5<;joNK_n zyX1IQ$EA(n>Gt)B!sa6f-RcecDqf4&xE2-o>o7r4uduX@sN%W8j{)axAloDBDO zm!6~V^*tLN(Er!Pex~~8JkRRzf`|3p!u@$M;Q}ARLDbI@d zc@18AM{^`+aILD8uY@@2Wbi_a}fVzK`RX1v($`qr28V7Rx3@Cv^<4jvDy zFMkDIn=b|FN`Jcs9&IM}zv1UmxHDVo^(OppaQ9u=|LS?j&*ABz(!Oh9|69g&j0F|a zW1qZU|G4-C&(0&QEbXi9vOhfdR=D(DVjuSgWyTvS&&wHa zlg}Nve_r=r3-IGDFa1jID`*l(yEwdPb6at5O7Ln~%Gm?%z|CjE&wy{Lob6P%-~RBB z3)iw07_$#Nb|n5fZXBZa--v(RzK((W^Q6DMO1obMFO8RW*YWUPxVxtGEAeK`e0Xh= zY~7n0Sw4p+?AKnw|Bvu^Rp}3pVZYSA61Vb4(q3B5mEgf@G9qQWpUo|m z;5A;5*_83Bzxv5Pz>zKbK9)V;rSD|?f1_BNeUAxltnFny+-18PjQ!d0>Web|uMEEm z9<~+#Ps5*9?n?Ow$ZGQzJpDw<16W3E!IzcN08fdpxy~6zBnX@~Gr^4&{6u9`qBw z6!t0HtStdp1N*i1lX`i_3C}jSV%Z)Zv)|Er?FKjdNdyLBzc<_`4!XUJgS)#(d~|!9 z3@>ddo_+kB0S{M`_Lbgl%ti1rT;qSW+P9bXeGor)tNng5{%i)H4^JPHeD8yQ1b229 zuJ!!^o(z$8*KxJ!sD{U}-WkvL7v(WBZl8_+p&9Rz@sRhB=>Bm6_TeqqHq2;Ntc)`|OEt_~c&Az$GC(TwNY%L3~;xM#5sW3kuwj4gmymy?#d zQg-v^cX;I?u^&VKU+Dm;Z^@cxc86E#S4&ZzK5D<4_}6*YK)7il9I6vqk;4I#9~*e<1;`QO=GTZ)kt&tNridLFf5< z!;@Z8udVQN5Zv8awmW@p>qvOHqinwqV}CL{>M4HYe`98-pEZ^)Ec;`B72GhNUkhG^ zCm%|^RwND&z^l8-cHId6D%=a26&^mq&&TkzsqmxNj=obrv{#d*IlD4EroQV@&ST;J1JXbHz|VzO7YKi!@>~fITT8)p z`@I=n;=4TZD`Q@sD%;VI)^_wD_6ZYV-T&6$?gg>|Y56~e`@cz#U6%4R9V2n8v0Z4p zw}S_q;Hj~_uLXCXmiQdsTq?Y2!KwUWvTMd0>d#l>r^I_#cH=iU!>fBrKkrRHSp;|T z4+3V(?$|dzNXnmlAm!N?-Uc2&Ck6jwzYH&ZCH{51+WXr)&K=FI)^SZ4d;db&U+8@G z1ohKi+VS)zlJRtSe{Om(@!46p_Wu>&HOqcIc*?v^uX}C|kN+ldlTpQ(!!n+aZ}EKLJt@!W>SslX zkM@C?@Zeb~k6w?i!kwM!%YQ$-)KdKD`IEQdwLQgN{ePD6yd6{Py<6=MkvKTpNI7Rw zP7fYDF8yQ*+r=61bfk_hWmTU_@?vH zX5%Cd>0qg^_WxDkad&BV9#=L8!E0;D_V^Uz-qG;Np%NLrzJChb$G_x~ea9i=c|W|< z>WA-UyrFunb*PlHe2fG}zrW_e{Z3MznbdcH^5vyJkCA3G7s9>2wJt2*XZ)N851*AD zrTgEfluwp?zrz1}@c2<_-%zqK-@>c&1Z;_Y$1>#~E%6x+cj5jz;z!4a-tf>mPV9I< z9=8tW1M4_zckFAM$o!!{{>Q@8*QCDN!B2$8!-Q`Fp9ZhoCoOd`e75?boI2mD!u_-5 zxML9ZPh>nlzmfEk<3T;Y@v8dIKm3|4dY{{8@Zd;^&$hZ>gV!#X_>_oq>%+uildwMo?y!H+{rhQf z!}~^*-w2QT$%fLIe)2usYb5@6p`6QP9WviuD$VQnYn|cA_7Z3959`CLcgl8}xhOD~QHzEqIOd*au_3Av_r@ zC6QVfvmM;ydU}>DmciK{`Mj$+_rIxqfW5Ps^pjs{$LrvgGo+vNpr72O{9x%10sIB! zBc(hCkndaY^jh(w?^F5~o^+IcyE^tuA0zRJe~>ue2wx5E=zDnJ>#6-`Qt;2=6X1sD zBeV}pfhXK|(U$Vh$apai;r-R^@pBvY5#NK@2L3d>vZ_RKPx#w#!-u(~m9y^!Wdl*( z?ltPmbl$8CcbZ6i9;G~M796LGNiXcpL1LfXOj9hoz>^om^WWfm!z<6pb~+nhlhl5e zZ0~*O5cg$VW3^beW+C?O6XItRRyNNDmb_k0ADNF`MgMW&3E#!g`O>EFXesIE`h46@ zYJa&z>^gC0_JNo0mHw&Y(kbxT=i+BR<(UQd-jIGZ7(NePv93csq@3#uD`Eex`sX

UpqvYCllQqxn7xcSi`Fi;xySNPT$Z>YcRUD%V^VsaRMN`s|5@36l+8J@Hi|G)8@v*FGT z(o*Zf?^51h;y;vr`#e0|SIV#Fdq0NPUX=dd0Y5EHpuXH^wJ*E_Jjp+BoGtpExAox8 z&oaVGw2kQtPq~jm+iP6L8;Z}>*vAXSgFeT4JKVLd$2|-Wtm`H(!Yf>7)Z^Bcq0}qA zMOs$N;J|}9lJ9qU<+5diQ0&VeNV|MSyKD=0XGwosia75EkGB^-IP;M&`-S2sqF%Dr zmkBz&&&k0m~zV1G-&Nh~IhV;>Ka`Su9by#udt1MH2BWW_2cO8Kip z#eN=f=vDB=9P{Tu?4wpvFYRxm;6D57&9FZLUOP+n?;8Iz;FZtB&n8lBa~ZtaUo5rX z-T;sLOOC5h{yX6j^F6hHE92V77O%yylcc^SU$)09Sa}${{F?N)eTl<~aChJO@$d<_ z$91$`_<05He<3N}>>HgdUS~P+v#lyeIY!yu62$b0B;Jc!~Ss&V~1ahvzR<5H=fgDm=30$=AVM#?LG8^B}ys zjg04G;0ZivC*{=m{{;6rFOf}SilxP=dA;`R=_v`FGGx0w{^S9r>K z1|1*TPHDKl8)m#XZhBfG^DFh*3GQ*c-xag=}W#TX=b-J+t>LwY zmMO?p@WJr(V%aZ9w2e6sULGq%zh`k2yvq3so&TH(cX=O+_QRQQvz2UjdfoX(c<2k? zjdp(o9`PLRvy^i_ylP#C`XuA|cpGt@QIEeGpH9DhO-iy6emcM_n@fO?q#v#iPtIJX zu$+zk7Vxl##9zOMJ`i60MdE)a_9N5}@s!$S^ANb<#GoUkMMadCT4Kc)FBl8|=SSKLaHWx4@fc4)g8W zTU#o+4ty=RGhftU_SY3CgU8nO-+SN{i$4jExUXLO&l_q#L$=fGG*Pj93^xlU{x0p_c$&ng@`D^l=y=`% zo^B!bTK=x^c&_lL@!tm?yf1Nh556P3c8l=K;rqiA-Y;|t{Fs81SWGTZKle+!kD>hU zz#WbU*W)+e!F}HItp1liOX{1h(xR|@7W?+_vUQzzW4L)-`qj$V_k$;|O5AiGdH_7M zjxUaayKl5EJm~myCOqQ&Lsi0LUWNy|h<}aS0(k03`M;q&zrr2%v-9BVoGtY&ao#}d zyCpobu4@c{#}?lYZrUzac-H$^j)w;uw=Q^J@|_M3AC@gh)*5p;+_UZ{zYAXCzO3o^ zc}D$P_Yb@ecU*}>ckI7ZKis#Yaag57Kkp;`wl&-7I`Hr#iSs9L5AIvX_4_M-So)zp zw|INT^KmcbKD~aFr-r@LSMt3K{ti6+P#XMwc$)DNe=jaeXD5h?^Ly5H)in#gxTXB< zVefMPNgqsx!4ux!qU|ycUK%3h?27$lcx2r-axT2gyl7+Wzu8L48FHW1`S7`!eSRGM zgmoPK8h$F)ech?@=F+~q%gCchrdX9^nGz3z@wdo%m2oF3wOAK zSI;kPm2Dt-e~!9{rQR<$99~{t%Ck3tI1KJu*DFJ~-+H;Cgqste3kpu57n2x!bGrD~ z?;1Y~kGMa1TYi(kD?dqltxJDP;f__`<`+o4eCxbWH@IV6kJ}L*GjH!rzN6r#jl^HC z!=9w}8^{PY75fUj%DiP`_{AA-s6X6{ee$~a*LG=fA?2Ufw(zhke%6GSc9VR+gl_>4 z+DKr=(+>y1-Fu~dZ^8Zmc!lR3vgvEFl$H09{yd#|&chjRsQgbYf&YY`s3P?`o&K=; zjE4Pek@37AI@a-ie|UL;)axC_x832T+hluZw`YPS_&-PO`EJpQ)c0z5GKcYv`rZo< zt$D~x@W{IE@G;!8u7fOnk<`l_F8y{CaaaK!?IzpHHI!#fxX1C@e(>&a->n}9`ltGG6RAH8$)CnPw$5*-@bEU-jvSrXT`J`dc^*)5F=knKy0x@;U&^yG z-0dWO_J*$sudu)F0Ph30pBLL39y}-h_4%L)%8!=*@EzOxWO&GPudCsIhT4}T@=Mdt zugQ4czTU_c#FFjnUiH&U0x%jsufW|^#m^Y{H}JG7<hyB zt{Y_sAbGt?tBRkO@Y5Auv(7X3gPR+q{O4l7AKbp5XDU3HCR^NA*w4y%alM1@CTl@$q;rK;yX<++|USv~NuccB&jbM|)YX`}=lp8wnk9*$V5D9Pnbr9gw>k#(H1FFd$j`hz}CcO<<0jrhsJUMy4LrEjFYrou0S zyYpoPxPtz08@#%qY!~}s{|G!_^!lf={XXgidC-_ z;ITD7?+#BnuFQ6$#nKmEoi6eJLBe5%!Al!S9CpP16nHXD`pMSt8E}7R;nU#PsQvd6 zpNlB}{mNgGhT07KZ)Ekn`Bh ziQ61_I%t`~!vMH>nSRLq53Az;9`zGRd>(`q$$BI;oe= zllx@6q4DGh>}x!?z8%}+i3O(+i^(O}r`CC=7#`67x8paTz&-2yRpaZVoJo7>AtSJF z2M@QA^6UAiRpCDG!5D}Ax^QEi@9LfL{CxPWi)4mLc+B98ch39&^}=2J9E6{6l$7Uu z+G_&5{I`~crS2c6!QF)tur2Wu!>g?%$1~|~DLi~wdh+Vn{|rxgUau+ncDi2T<67s# zH_UiL?Km{!#r&TWBs<`L9DdRtniWLzJrVAm)vDmDQO>jA!HP0&KZu{p;r<5FpSeBD z+zzkxllmsiPnMb|<&Rfhy6~Xe@A7b`t8lH$TJVJT8huT9dcf1Sr2J~%7hXP0+UsBr zB=&_@e-i(nQ~rtYxCQpI+MJs4yr0bFe2(^$S?cF8*}il?{v|xMu9r2xf$gr9lvBTZ zzB1fl+>pJ0HV$W8>p~F=*&X}X8V^r`C)PNB4ZPC6Me+O9=|6YEL+;<}K_-vEqpw;P zMBg*;TE_GJLTK$5KEpl^S{L>*n=p}d>~coo{QJv@C5vCbpM%q{T-P=Pm`uXffFodzTkap3R1OlJaH}|Ni`D*0r)-N7nhh z2z%d}2i^d8cv1Aql;<9J`8LV$8T`Mae$JHkT^9Qv;MHHG|7d?+?q;cPjqy;nK4Vsc z$FGXLzL%y4ygFav+>`oxaA!;5x4;L(L++2=jdJbLzOZ>gKjKJQnv@P&OtUR>fi(AUyr(<9HQu@z8OfG?&-qJ3uh}-S(l69Z|EAZ&_ z4%|pAJ@Cs`zy%)Xlv}hf_of~==Re5R*6r1nzZ9I+I=N>bxrZ3=XusD zI8GN64||X66rEW&Cgb_M$e$-I=)xys?{I(MUhqpY-cbB+FYFh~kUyVV0)GqtHLgST z!v06NKS}yScKM)KnrGK9it8YpU+NCu2%hrZ328NBc7az9Y*ScXLOXty?Z@-|e%Wf5 z5rsWY7n5?vi~H{8%YLUl>!#wrHd*%jTZxz%aF_EZdtiSZ+_&Bj^E}+}e9d6&KUB{B z=d#sj?_kajeDXNB!zDfsV&58GqaVH^-Nkf-JI$njZpwDO5j-6(^%8H!>;(_4`T0Tc zz`9>cxazLEXl3G+rhZ#)5B<@uD=$af07)KbcS0(?F^wXQcU zEI3AsN#kt1&9{q?=K*ybSQ#Es{&o0GFL=$G5A2|RxSu@0eh|EDorgbC`H#}C4y7HZ z!z1Pcx_!-2|Le)Py)*uAhkNgdAARm}e#Z0hIkCp)Uo+lNd-c9Y;*hoyKQY_;K)8Ru z@JGpaB;39aWHQ|TPT5Sj*IV}QJ5t|yaK}2Ic^}+8K>FMH#=;}1}K?w{A#4ujX`OWZD| zJY&_5b)M=ncrr!yJKE2yaAzYKhhN9fL&~|YbuhdJuWlhdd29IBaF^q(9`L635r=#0 z$G!F8$tyCC((?dY!+l5QKW}qfuq(V~JvTHGUS6wyzEOrp)_&o5c*^k$rzcDWUgf<# zJ5l~?;T6XDf$)2jTkrpQ8eTg<+9eB1vAhTO9qDg+UGHaj$oE(!O2+&@(%u9>RcQ37F#t1d<;j zz=i}CL<0Yign%IlfgD7@h7dwP+&583$Zuge1PkE^$NyVZ-+Hg#n~{yleiG#QzJAr+ z)zwwi)z$qjeYf##?U#%Xt|uQw{LCjzett%IdjfEm4OXdtp26~G|H;~OJ0HG;c!THe zFC+fPz{RgPlR3A33(F5&Wc3zU@0Wo0s`qCszsh)p^*V}n{e$&um44<^SnpNDqa!9) z59YjBP@IK=KhI?OV~pcn%4fg5Mfo?e{Kgke-kwAHe^2~u=A75R65sP6)BmrtX&l{S z&DwwLSvHUEOZmKlc;A!E!Fdkbvy1rVcWfM8|6fgf;H^gA^KD)Oyca+JLd!>8|9t?s zjMo77wRf?^?Z8F>5Afd0VV3_j;;Z~VvW-6OQ&gOV zf9a; z^gkc_UTe?B^G!0hv-}?7{dv=eA0>W}_$K{i=g)5f_cpVr{`ng(pV2=bAikbC2lUx3 z==_l78=tfO&a#p_z0cae`2`!1``^JH+=uuo z;qAm5jC)tu{=45|{5ivWXum=Ha^mX?rVpP)e3sQFNU6+Ba-Q zn>L7|Ch@b6uom9!A|vz?;t}uncrNL`miQ)ds+s7`#Md)-2XD^ilPGXi2J!d zjxQ&^`X_f($}eTTA11!S`_>-8dT(_)yl3P2#DC;;GT%G6`2E(e6@KT)?cJrXv31;w zGVALrSbqIhi_hHgSFD14#QQRF;3LG3(NA`HC=ri%PUlv(^Az!H-qG(9Zw#9J__)7~ zc>Y&S&VAjqrZ|ZPe?GzTQDzo08?{1mz-1VP0FYacF@Rul`42kj~qQ_rJn8^Bp4>-QskZ zpKyZZKT3T4;a1-7Bf5?F*-V`94*zWZ>d&<2A;cSu$3B$wuOxo<(HARHApQiW!+g0W z@vDfhE*XEGM0vQ5_{LL>|2F%gXrB0<%=))Yd?j;U=2gVk?`w?tTh{v?;%72>v$uKq zTTCN;kmXqUg=Uk3G=F{nc#K-w@xE^>2yy z{mka0+pkTh!|%bZ{E`v6=wGd08&{g%J4O0?iAR59^K^#zLE^{oO+NYW?WA*@_?`z| zqPWK~8jgR;R*^kB<=VXP&?k>1+^>UTE_3 z3F7}veD$>^|1ak_-tEK2hn3rm&mNcPC%(>g9Ittb27t@FKAXAM>q#s>@NJ{-_rcC8 z&PD`(7Fm9S`+)Ccf2Uq*^uL}tmvNfq_lz3U@ zA11!a{J`soPZJ;5FnOM)WAT5z{O7DaH?#b!fs0>s_K{W|Zm0hD*DN3L{(oz26n%jB z8rSb5b5ML`=jRlt9PyEEB+>@^#`HjNe)I11@sX;6%^!oquNe#yxCYP80te@w0zw?fE3} zZ+UrsU+MY8FZr19p`ZJ(&m;a&;(NGHbSd#+;C=je_~&UXpZ|i%^Aq{-4~Vbwe9irc z{{`_i?ytR#_`8YsW$t_b4DmBhwSF}yKVKm}kn#6^=yZ6GhiQB0s*hWL*KW6QFR|Xo z5kK>EYyT4I&jat(-G*fQ!BOOlJRX8_S=~ z$mbJ@=TFBG9M8mg+QcLJ!|v}rkN7(Mw<6p52gLjCViVNwv3al4 z&*VjajQB=o-|$P0)Bb*z^nXgce~-2N?bMSG!GsdNoqgp!wWN>BZsPe@n_c#M*C)I@ z@4@&Y=@f|{yZk;%=RP)U(X)x4;fE}KmE~VXeDx2kze6Ub(O0}Y<1nuOzfZiMcJ|5a z*TtW*_ODYP-a>pQaPjlkGJgIH%db7y_~3SDf%xVNt>G^roi_1C<{thR5|1+Hb8jY| z=Xvc#()knOXL!!;{lwqp=C5@3gTzKW9@PO;myR4U21gxjphFu zcrX3)pDZ8!zVZL6U{UhSv^YV0%-LJR^6JPk#_XX2DN7%1RiRT|{`t7@<^DD&Hxj+6$;!h&J zhx>Fs?$-eC)&5tq{KlJ&ewqFKbK)zR{n;-OUwe_2_xl_+iTB^f^v@{Ub7w4Yq+iD# zYlN}grvLpK@m1a{`*`9r#Lt{H1=G679=u+077G6S70a*uiShY0v^yUpzK8j8m-C%3 z65nW;MgH`q_TXE@8(+5e-%kGj%;{(Dx4$12V$!cXzYqS$r2jDD(Wk7xZ)f|LiLZRd z{3X}JzeT+NCYyI2hkUh{=RHMV<+!}V@q3w^*er;mb>hb^Hae^1!&kjL{g8XIJ$L^C z=OgnOoIh6(k23c0NyPgZ_xAa9l=#`qeLhv_dw$9Iwvnm#A;iz#Y&Ev|&hPxYl<)p;JIn9MoFB;p@1-q-OPtoLT(`2o{2ceQCBy_NXDrpd_^+y5Tma*kj%bB^Gn zzv7Y@QFPZ0&Wlf51OJQdc>wVNet&j9@f`6zvqr)Fu~Fiyj7NQ+1O(B#?mm!cQRmrxD*|e%f{HL(}O$$@p^x%fF8J>QNi_qr~4z zeC@hsZGpAz4*YUSa^ z=zo{}2j$`M*5AJ&{y5^tcwYV#@h1}B^JSy+pTv(6Z)D=nCE~09VLf_>se`BqT*iGP zv;O@Jr~f76=c08Z`nZ;VK(vvOlb?C{e&e&xh0D<}^~W;#dygWXf4i0Ma9o~9{LF8e zoaETAr#qg><83>gOg!Yd#3SnYBI&FUA6PYg{xz#U`a>_DxnJ%r#QV9gaV6<|0J!&& zkpB4r%dapFaDWf*{uSfHD%bVyM?H}Ez*~*M)+*fdPdxtzHjm6IMbX4hWV{{_y&Ga*z-f}zgM&kYSAKbtC8{%g(_i=rUc;hj@td;)*`Pu*ftY7_4uy($HO?w>i z)gKw3UC%$6_!;IuxZi%1_{O`fofkdY2sMc}c;CDC@m0j5j9z^c@zsp~`A*_{c>mIC z+0M@sUtwO*5b+-nU#A{+yL0ia*53xtN4uPFBfjzCiC+9J>zdL z5YK1uHu23n8)47idp7aDOdRiZueW*hs!ZO?@34G7?dGf5-&Z^S0#g`|`6YXB7P!W% zneVZSFvDWx-&iB6nE^(ng#?AWKo(~Zp z$i&mW2Ha(mMfK19zh?Y@GwleQ9}NQ+d$G>%X`bOrW5lD(J=jlm{PCA)$p^6gHxl2I zS@%7cct7*6+<$m0@ipd+--Y$QkN7cu_v#q&{~(^{eGAtU|2FY~>x`ch7uka!6YqbT z$>$*D=U%s2eLV~IbW_{L4fv6r%;%f$1Ub=(Vy4}8V^ic#|C_ngj; zjDXMUw-DdMa{(r$QS=YQ&+>fkI0x*b#Meg54}@CK|Nf15^c@qN%UJKGheFvATgIb<12Y(8rv(Eh9C-d2F z0+)Hchx?WD#NW;G*?Ukoh&T8ht67%+4)N8@eT?_}2IqU`euhUA-^_eJYs7K-nKzMs z-sxoSr=2H$EE9kJE#i$#-0Zc)*SQbn>)$s6?=^q_o8`}b@$T9ZhB>0Uf0N_LgJpMP zJ0Icrj3J*OzK!_G#+?=U3gzTUjt}2M@n^C8l;fHG@iy@W^}qW+&jQ}7{Wr1vdd2kH zaSF=+2VC@9e=9jtekm*;tkQQ~97S08KT53}Cuh;QuBex4+LCgZ<7k9Z&NseS|7^Gf0?j9cy_{%6D+KQqa>k@P=EeD$e@ zZ)5q-5I>g5XZSYp{%@Q7_ui1=R;U;Uv8_`ef>FYyNR;h)KRKTdogBPZV=e)d!5 zxA=PGC&Z6E!dmEl@+IHxtxt9X7x`J`xn1{jt|HzyZTgr=cn>X! zX6S#ZIj_0TeuU*854;zh>skKHy-lwEh2_r>U*~sqo&N6=kNCZq zK9+wA@v~1hI-Y0#KVF{a;9O5$@_mlWFW*lo@beharNlQf`?-(t@|o|!UFGxpN-E4@a%kvX^cIpUkVC&B&9+lU{__zA!K1MBa= z&G*zA@5*}b30(Y>vl;*7FW01e_kWKfo&MLEK6wBM?IPYsz4R8o`gAXU%H;4{%ZZ;%9%!^!)ot=l7h>Uz&XWJ@G#!p3lT5|C;zF_h)yo{JPWsiph!Zr`+j> z#-Ejk**N|h=VL$d=&r^$*H^n7AGP-UDe2b{=#cfo7c%*r`<(u5M*ra~UnG7eV}D=h z_;*cyZe#gBB%b|V+usu3!}Y>rS^mSs8;`U8zKHn$5YKtf9QX2nXZr9~^1nsAZ{EtkixcL# zinBAppWkKqjptemN346%8;M6ePkJ@qc`xxZygz(~_$P_?|J3+)jQE#{XTNKF@&EL; zQ7P>3oBD z#Ql_CBYwx9nw$)L$lCKq#4jVh#`wSp@hcVQkKoUxlR9Ui4R!PR;RGn1nx#_1;2!pW-lbUyqr@kS;OXM^~ejD3Iit8Cn(%zby?bUK$?zZTf9JKVwev*&M(|L)IE6JLF_ zm45>j(DlU6@;fzow)6RpXWH|-#IxrL|C0D76DVFoI{!#~Ewc{&IPv@~HXq-0k-hM5 z#0S1(@_z;C{D64&oYcK>k($_@fp40e|CoN)BZ#kYo#=LOhIoHwzpPDs_36f+e$sg^ z@xHs6Uw1w6-}CaHxAuRS?R+cnUh?oyEZ?7rH-1TRz8w7dAS%25B zvUc8)?dd1J@(-rZZzHW;#QT`n|)J%ac~&FHwl`r((_yx8D5 z#0}QFo#j{f{gDRoUnkzU)cE#O@@<;<9-fzcD$5s$Z*E#k{*ZW!`0D*kkG+lfONeib z7=71EZ*V#nS^GUc{P)EBrcHis=KTE_@pazMP$d0Z9sdWD!|${GKOw%t`+FZwI(=e+djkulc(TxcayB^II{80Mym2QR->+M@qayKRW47*l z7R#RkE`Cve=KChMu>78y@zcla3&hv5(#~VNpWj9&iuMrS%-kdTG~yeN zG5U{Wziv>RKY~BcV)?Ust-sIXvlkOz&+IR}#_97ujRl)F(Yw6-Ul@O0L_Yir@wFpX za6j>XCw?{)hxs1yGha5z`Ixu$V&g;OR-^Cp^d7*)PxwK`Pncx+0p8d2AktZI{HsRi zZ;78Go@YGgO5!&;UNm`gd3XcywaohQ?ZEr_ZusXtEFbZ{IEqj7IpTZv+PpZ;m;Q_R zK*8#LJMkY7@Ba;>@M!Acd)~$Pv%-6FKFRWrA-;Lo8 z3$?8O%@c2MKg;Lu8R8q?GkzMiD7p!FuX*==FV8sG!$|-0#G^5j|JM@##%VuaF@#hoYd~kYRuMhPOJ-!Z_BfiReAs)f<9pZc5Y5e!N-0u@VbCKcCwLj69i4QE_ODPPJ z4?iTn!gZYMhdw00sGWMQA%2g2Kk+`E8yaDI9`E>3ldIsX&7$ZTj?+HgNLnu>K5(10)7Kq05ns*ZZT|IN_KvIkA~nZ#Dh)BFft{h-dG= zdIj+{_RGig&w=~DNm~E>l;v0WosrA<@Ny_RY5(es$s3k+`rqS;_y4-hJNH*7iATKe zdOztDiEk9GUv7WfPX9)mk7bsB0r9oV%gd6@Cv*B$pGzRCMzJ)Zw~;v1Ru_>+i7nf3Kmj?+%L zAGkpL*rRR0|A6g$3Gu$nd9*hG@5P4=mfzqy+W8h03++O+zObzronESr+K@Xp#@63QOgH#F5(3W}$K9@RVRX;fS2R7V!c$UVH!x~&2qJH zT7F1@!}4Ql|21fR3GddM`FbP3@k>!x4CJ8#8m=v=EnI^(94ar>QEd=Dqi~yN! zE_Z`OV#y#U_LpnrW}#h@20GRKlp=QSZXGDtEFs02 z#rmm4CVJ3>s!E;*Jv@wII$1tkE|upiwK7{AJO{JJpoRna3Cq+LWEjDTTC3e?)*GfT z4|l=2fMU?SY$r}s8WRh(db3;#D=~=|(ZH){WI#*7da<)aHRjx?EH$c?d9@aVL|1pc zu2M6)T%=lJQAH1n!YkK`VQn&Osx^A>*Hnm(S(m`6&YW0k)SGRP4Vn)vKhuWDWM`|6 zls*XxLmBlf+y#n!W3GWEEjF}kfQ+T*EEo>iXuYxAvrXv07EG-#9ZwIHGC|DpXtmG^ zJFE}JPZ!ILcCW{%qG#2k&|0-lV-{kOW>QZvCqoh?WgL*H4CN5ln;Hp~gZ<5Vry)~1 zY_hxtm8Ys4%{ZBQP3y;?vdZzAnh(m>WPM?8xn=q%XtuwDzbW14xJx2TQ=J_4L&0uKrf|N{7V{jiMd4(mvrjn6S(tP}p*dV$ zfGY!~QW7l@J_#EX_+)IZl+HLT&GJI|bi*Bjh4ItnBIYvq*D<>A=J0#6P+RB}7DP;? zc?K#oh@eFvld;tcd055vNV~oy74t>Wp21L8~mb#m5OX6*j#SM?Y5(27+&ALhSXbv*To~D1x{FELq`hFN`L^tZk007G-Z;Il2~y(Q3u#ET zEat?t`g#?R4eMCB37y7y)Qv(8ZK;7rN^hooBT4GdY3-^%#9#l7f1Zo9(Je1E+RG@Z ztHb$v6Klazx#j>`-YSX*&Si-?-4pGyYJu50Iv`DF`@!=D%p_%R?D7K6KmGGpap z)m|%`3zh)2I&3&hZh~}b4H27?kx6j$&~4ddy;x}1n?|xFhRmO^mRczdzzZ*m?W`?K zz$b5Zic+POE!LOBDYPH)V7k@C2$u^>tS=dBj7CgGbe(9vALTsNn8*4%JxY#bB#BN|x~z;SreR5x z5Hx@}IaXmF?3GsSt=5Yt_QA+iX`HgA-iptRTzdeDq>5#5u;?QbrH4|#^e}0nA!5X}rWW z@liFlB0QogdJi3XACG@V7le<-%B{)* zd>yWMtXbp_=;L39%d$N0T}l3MSp#LlVj1va9PZFXvQa}BwH&7QV@V3xuq7FdGLu)M zotC(LT~&o;5IBVr!kSs798F5bDKBpxX_WzP573EfwY*TM?vp5*=;R|cutNG`A*!S# zIPTgd1qxY>^MQ8q0KTkpJ!RrS!UZBJN!drd67F$KEMR5WKjQ(K2j$qi2!aAiTAdb5 zp4sFQXA}QIQ|f_?#@r1gREH*>HNC_#p69`ox<;gF7LHts>%|hxm+F2qSD5^Ir6QyhqioUXJW$apP5k@8QGE-JBD(PJOSgKCod}fpx{_QCc`9#~N2Pzl`H)Fy@ zoo1?&$(vM`;~JIF z(Q8JNvPr*9qK}$4)w^fg~~R{K!mBtXbi$#obfy z7MdfF2kikIpP6zMQ@7q6sbRmf914Y(NIItoEHunqX141SSs1Bks}aoBl`yk6vwO*m zl1=v_3B6|8707Vr2`pr})=K#`N|>C?lup{2RMpkuSka23AnUrW5_>zv6Y7v=mwd^C zq+%E-lMpOaJ>-)c#^z{jv2<$a+|7taFSmI1RN#i&oSdGSnKjE_nm(A2)wg?cZVS4Z z+LgG{RmXAqU?3fX?RwUDjZV+>XoM2sV8~)FW^Rvm>MAA_Et_iB&P<5j=o$qbXLw-3 z*O-?9c(l@9RO6hoQ8M=@YQ<`&RGx;{TZ*^TQqx#>FA}Qp9L356nHc8dVwP$|BL10~ zr`KpE^xn$Rc}-W zwfoUI;R2#{nI7+luylcA9c=4E!*)H`SFIP?UFcXHnLpi)7w-zjy{kBwjO3Iq_(1ve zUIZ?h-Oa&>mxs4+@z6sHUG&s{>_Wu>Stxh&bgEuM93Hy`8m{hL1nbFjJ)f-C7JAj! zg&}nTQO)c~>|O35E@;-&d8$1EW4KT&mwHz357F(e3jJB{=J?Z|%{niuFsrwiEwl9# zHgATx$2EGBw(>_(Z9T!bAxx%q|o`IE`p$=7_=-*&NF}P%7QnjA7GT50YE2)%0Y0^`#hI4r z4w_;;SSmLcly6EKYcER)^Vhs<@q@T74Y3PnXRy_yCO3XW)Z&D`fj|zO5(yC&WJ`}B z8mmUz8X^IF(h0YQ^Yw~sGD*+GW##5XfLf&(ZG*=Vr)EEE;lCO5N+}J zkPH=8NgCyys)J#0r+k1|OR7x#5YvcK)Y`i|QA*xYfq~=0x8oNMcWM|@Y&A*jIoq5> zz@TMpFUj~T(g$K{abr?m1x;%go{=3bE_uMca1b9gy!QY~15ETK87i&{IT~fyV|x;# zGKuzeYVkTU=>z<6$z{&80Gr{3M)^py(*2UTxGt`74dUF+)~7m4$IB9Nw56?96HcBq zyYvZk0g^-@NK2OdV@*rdqD7LL@JzP~!ign)Rq)Vy@kBe)NGWOL~~ZK zrJ3jjL63+6>?(T*8MPH`KcP6Pk;hqak#{lW)KA&!xizznJ)o^hC|_Xdwt9|vvDKrQ zc3C5}F&C#BBG&sVO-tj>;Mw-eu*#wV3Kf;iBKVMEpb_geZO1AtiD$arPc)uz#9o`N zcTJ15Z_P|m63l8g@g=<^0wU2(7^6g6SIX)7U!;?8k#E9hOnVE zIXL7(?VI^B1sm8rKYVa%@Z_$+f$VeHX`7gu$<6IhNgN*^kLLDIPVXI=oSSQPj?YcZ znZ>yQmK}@9^dm8>1rO41@w~)Du`M2BO3P047Eg<|i@wFv8fLx*n74Y45!Xl8Pvr*V zrcce~a=G$S1y+A~>3F@`)nVyXt8jV_${kL^7POH}zg43f6?v!FY`5B-`FXe{CFG%5 zI@(-&X|5fNY4(9 z%RyQO=7voPLtOF)i!(dsB1mC|$2)~a4cWqo@%dDQ)>N|grcZ7q*Ma+>3 z%)JzvXib#L$XY}q3@EpnmR3HYX(u)CI)KJ13o_1e5zJUPfYPe~gZ0n;tj2H10#N(| zD*<(iQI|%H;a@WUk-4@H=HY5=962lwjj}G7@R{N$oq34B>M19Xi5&nH<+kY3x%hdS&fK8z z0DIcCRMmi2zF3o-*L_>7%P9x8T68nCkBHP~Dwr ztD4d+sP2xb<_69~HaC!=3t(%J#Y68^E_Xi4xh&<}xhUrn%IBL7x$JxZaE>-7Ga`4s zDUr+02>|DyoXm>c`KCoKJ1+p7gK{!6a_5^Gx$N8ka1P2|T18m?M~Bhg5yLP}l{+E| z*w&Uk;Hl$MM~?^CMwTbK>I@&d_qqs`UoGQ6MD2L^*ixv}6-8)BP7QAHRMqw5cu-!E zy)gn00xrF76-W!Q-Wu0Xl(tthh?3u8ZhHNqlPRw#JFF0h#%?X1NJ5#ttotO)lh?ZT zt1E5~ukO@?Uz5SVM=ZtAij6ety8KP3YW7|cc8Y#Y%vPjDBiIn1!93j#TV<(88Xkxi z3ne&A^Yv{zckbK~nQtarC^9|>(4K}>FIlq4?4pEm<0F-O;pdf`a!j$P@vgExmlruY zRzl(&!J|4{?g|!E%cGJ!2(N^N)e}$3Vb#ygZVBtjSZ4}M!0V~C<#5h)rwxxJc~vlb zY92}QL}Cs>q!VI1@fh+668l4%flDx%XR{ z=gEsmPDd!KthpGyTZ8S&^OiAo=-C7l7>k05=*n6rGwe3l=PQVOYzd8GEplAqk~5eg zI6AoxM@~gN1)>`p_@oDB4^1|>`iU0XOVyE1yFOa2Blc30BUS=wTfwE|hrA`hm;`Ae z9kgP3ln_vP146EkXK?yZ#ZS~$D|y4xIpYM%xFV-LhjiYF+DYugos7>7VdR0)uhm(w&|u zV*9Xdlw@AJff%bGq#VZtwW9EGS5-615GdqyL#hxLh%3VewCx`vVLAr$6Uo2PJXujI zpqs)vaH0iH%WBY%V#~Xk$C+33XFT%yOIZd+6m<2a&@@)kSg(dculQ7*YThH3iYgOj z%&}Qei1o0vW%~dN&gxO9H=!~0w{d#J0}v)gphJt6AtWLcmrWX@ zJn$N{d2wP~QixqiHF&IkxLmNg0IN}z%yaD5FJRGIK#TNU{Z}ipr*n;H9^xrsg~C#V zs0`NmEKsQWOV}DBb{yWsJl4VdS;Rrzxk_$VjlWBkrvA(75yH`pu$*OoyIxwhWway* zAD3U!D*m%nM%-R08i?$6tZ-SN({5v1gb(T#;Ax?Bb*@}(M~EnTla9mOov2n6E@DpL z*ce}fSz9m?QK_0VBP5Fu79yE#U?Vo?+;URhco#a6R8=c6S93v0_K*rb4|;tw3> zFFWUu3tYys-6%m!PVk>gg@#uR?+)!&Ji=L*0!xq^hS%!aqL#lC)pc*kf42O$)x(F{ z$vQTy&@CA~{BuFh*s_A8nI=XJP3DwR&WDyWynI)n%u!Dj)qOyo#-VvQkB0cgi@j=ZP zdr(L6zl+OwM`)BK1do6oF0T-iyAN6U@Gx4k_mzG=G@SmueIWCDN9OnL^zR)*ncq9p zzY$POwP!d(Z)c{yotgIR8i;s?1)bRyzC3p_H;4N!L!<+-M1HlZLxxMoDjO(#`;pmQ1w788EvF zE9deMKM~UxfLgP;=ITVC+{}T)6H^C+GO|sGLuJUjvYbe%CX0ErU!HNTfF@#pAlW_T z`On>h8niLTQZ41OHbPH~giJXAHD^zR=>EggN9C^~Zog%GxkIYB5Y~z$h7dy2Rwi)jw zv+cn$N;iKv9B45VMo`FbxFxcA6LS*RrA*Vojxih!OFTTVk3I_0BcukKnbNg!(jFA%rFG8d#s40%tz ztUJ2qET}X_c)^+>N<`mYYu^@kHgkgZBDVksjOw*wMb>pG9)P{_;!FjXh1sT&)z8|b*_oI2xiQ3yCw*7LYZ zT+}^p(2@`c5*4t{kkC?!4Ax~x<&%|ANE~xyapbthOnTrrGl!r_>cQ2WvSoh6?c0aN zovt54x@b?bD#8PJJWG06lbCn>*0~4Gk<6OZg(OpPq>Dz~r>k&P-k)e;S(~z)DO3!O z0HOxa4qezmDO$@3%JZXz>IuJNN%Q5rU222yX4+0xPxy27#aMx7b#~V>F_y;sZBM$x z?+)S(T_P#!Z(=Owjm)*|w24VUOSZP66Base8A}8_U$MARse-~w4XoPcJk6<~HWln_ zeN@Bf>7g)rqK)f)NKIbC__~ocCTyRv1=7v*XEqSPbR z$3WNsdEkN_;@+$HB>DuNbyqqrq=4c%6L_&XH%+~QjiXzP_{+k7F5y?jZ7Mg>3BEhU{=C3zQcA5 zTK;rkwk0cZR2Ecqb$uAeOnaAd9i?64LY8m!cu74bGhXnX;5b0C^qi;k49G0*2}0l% zF`yAOW`Jx%q$Dwa{L*JQ4Z@$AVKQ;X`W&c~UKlWB$f8-6zm+coH zwe;7F{jX7)Ibpx7<{2w^y<#{xE*T&yL$k-#`y~Vk?*ep`!&elzen$E_Q|F&a{k3Gj zmh9IF`&G0*_P_ch-_jp>dpTb>uxwz-{@DNOlPN1VW#y)&ax*o>i@+{m_4p&g+lSdHZEQ^xvmMW$JWl zSRS^?#KCiXDN(_`o}%=PQLw6Q*_@ zOB%lB-MC6t7TDru$O~9Im`28U$#2bll{nc{x{o`q#j^$$Fsd1GXku_Yze`Rk%AlnP z$q#7InR5GZz3v(DQF0N1Jjaq;TQW8~CO^f&A1g~{r9Ldm5lOtSMVeTRApcSx*kKJ@ zY{)WHlJe#xQLKE9CgEk;Z*+9h?yVAvddaY*I9h+?z$zt& z7DpRrUP5w55L>Ic)RTx{ShGVJ+=({Hu;y||Xg*1jl2$Cq$6MtUOVX%%l#*AB=IPjr zyDMV~{tE{CFNksyOhS7F#hM(c1@2zrN*P7*P$rJucYzmiC>}hP@<&EzCR+PJM-O7+ z1epa1u2eK+jA zbYS@Mj4#sghhs6mo`n%>o^VG3X0R<)$DecZJRt|CkP`l*BQBtpug z_gsZ0(%i@s%LY=~Itrqr6E=*Z%vYgHD+6hO?k-sqaKQ>figFvOC@u9|BFh7;=#0QZ z7psC20{w860>;HrIF<9+#ez-|Yn7_kkhv4nLM2{R$5Eg(tHdryluQpjjONDk!)hNB zUc&}w<&J~L#a3(L3T z{;w%6Mc{aZHZYem%wvNlrDl5SZJb7snju)22J$awwlWpJWo9=sdd;jq9?H}^9A^}Y z$i+WYa^-ob&D@1inc=2p7f+^CG)w>s3&#t!Q@X1ri(iX`r1Zv?dpAO61Gn9ON0lJafv67<&0b44V?}B>VnVQ)N7%n8F)E;xk( zmk43FVgpGpizfo5Y!0#LIJgZld%)fJv>ud*O+-!KR8wp@oH~{oc;5@J{e-TR1cMuy zHaA-~eU}LN0nzps;wFhkQXvsGadtwI2BDX`FB_ExsrQ7x>a$GkN9Q1d88I`kJMoJ%*_&~>(Fwc#?MsHbiqL^=}jkg*{TF#QalP& zN^VC-Qm0PXiUwP^5E5a4N+@)Zcz5!fj-SvGe=|3b7cGDUIb32Yc04!iOTby&y{mqT zNbBHE++rY6Qc(=aD=>bQc57m05TZQp)7ZLdF2DK)?(rZCeh~|S*i%T)kCcB48aRg} zDXTIt&^tP#3mz;0b)3iX#Zzs9+>?bEHLLT$OAvZgP(p^~PG014;SxX;a^sazUi+h-QBk#r(e%i#8F(W+jmIhSiC8I7`PO19GMbi^2-b zQRRcwW;P$oqEswQo3^*JXrGp{^z+`C{6a%Z!%QFQS@YmPQTDDR;T>)d(hf{*c9j*z z=7ty07i@5!oNL+cIa(b`V<;{=)DylSfkb2JPPk}5QVz*I3HZy8VR>(^x2TdDp~>Vc zOX8A?;wYM(hkiVyaQvh?ybZF^c8nPzQHgAt6f7M5k3vF0>3% zsSvslmj=}ZN%hWfS!gEJS6am~;wZIpy@OO3q_JSV8Z>BcTHM4DAMthCIV2g}+C765 zQBAotqZY<8QtayCLzt&)!G~Uc)kJHuEDEW+aq%)uE4@HwVM&wz?1LIAT1+*;P?_@e zF*CQqL~CQllLKy|sHd#Nmkj5utDtU0h4&;9O7iiV+rp^s45~!yqDy9x-~OnQY<`J_ zos;!wSFfbq5JMzos+rTbG*ilKk~|iZi;nt7PU4ZkY=p*EPgaT{?1}jrhdbPYi#z3E zXkHuV6D#0LNX5^G$E3(~QA?7NrL30K6MWNIy&Dl7;6`W2+tid%4>NG||15ygJN4u=WsL7x99E6n?1aq8~21W~~{pGEVzcvPb7W*OnS< zcm8%DiJ?}$AYB};t}HwP8>UMv3*5m0_cb{>p&jPXNc3NAvh=Qt6DBp74M^?R4Gs-b zNl_pDHr@ws^kyKzHAruJBKlLu$R{AukLM2+nkUkh$orks@C_WhIqZK~IE*1f9e16O zoJJ}nxH4i)7#JE)7(}r^m>0{ctkcW7OiWe#pd0NiWSY}!(6tD1Iw94j4k|KmAVw~HOics zL68j5=#(~1#oZA2+}imZ9I8Rg+)JH1g}s?MY_Tk0-y*%4C~RMgbv#x`ZE9lC3NC`hY%QKH$Tqa5zI3T! z9p9N{#6soJXA>t!(?u|z#S^jINYAOWX5^}Ngl<}L2`eYd;59htVagT(WGG+=GGe8= zA+!rQb(*#wFKqK%qT$+{WaAE-z)R&Nc;)G4pk5U%pklY}V78+E@^|91mZri306kMo9 zWXz?35@Eq3J6<}GcwW};*glI%z_Cc~PIb)%5gPp_*oBS_IN7ZYWc4e#l6ovTRaX!z z^gx}Cl=!Fdd=!)80UPyH@BxG_Dx7~ky zWX3t{`cgW_uBTg<(r!PeCP()))HH0K#ISiQ=LnEvmY+i@>n2-v&n@#S0PCmgWGKR)#Yzj3vAEhn$x83lp zZE+>yTR_Q{Dz&H*`Z)&XFff*8`cp)0V8v|cpp+gnM&vI%b#ktk(Cu(z_?P5{olw3F(-iX|A zp;Vd+?PbO^iIG+zksg`MV3?%_weO%AxYD@+jFsn{o{W%$nj7fS`Kmr;K=oUh8W|B6 z8r(>#2;6HfMc`f4FzEE1rKAqK1bA=&L1jUQg_DxIQKsRfGzA};QDq479forBRh5t= zcUI}k!qYC279x1t=16P?)n?&|4nP>Q7^yZE@x5I59hG7bPzjhdv~#3%LkE|iF3EQl zr{~9c1dN+dWhSPK>*~d13BBSbuCz7Y9MpesOC}uT^bThYV}_))WSb@NL9k6C-4mj2 zwPSzGd_xs(6j2Fqr_|TgHWIvWR|t7h6B}!dH}#Z~!Z2jGUDg&CG#|pQhAZE#VnJwF z+Gd(NnutSr(=n?53UD7YuZFN&rpY8;Jj+=&qu5wZx5J{O zh>Zl7wun4%K?Bbu`w5edXm?S$W<2pt9VDW-e5ojjlRkp43E9rNNMlswa6@&|119sfm0`Q%ui-ovFKKjR8F^ro3d2Eq)N2EqUO5Sz5=M~-6t;$?c?|adK(~nGaw-W+9duGw>y3Zm8j(vCUj}PO0I--iL-t z@*?BF_=V0=Q-R$Q6zKo$;$$|SOEiCtx(1+v&3MM00Dv2?{4>H0ejMl%Gu;M~R3q4$r z*jsI|Zl?Pr;kBby1U5qwjBVKx)|U>Lns|Hur0Ad6-_wO65p)7K^tUy59A`3az2~oC zY0-R;QSoD4jbhsP3h8%4;1Qti(4!%r#)(c#E~otc+X2 z1yZV^VVufas*5Jh-b8U=#&w#X1p$&)yx4Lt9QU+c#T{I?A4&(bK0%$NumEkg} zrVSL0=wa)pYHpp}>NEz4XBsapm*UiW#22(lqu9tgUMOO(%bS{*6GkQx9P2FAlD%|j zxzs&U+8lb|c!fJgLQi5iGGtroqae2@)niP7S`lZJ;9!9agLIk)uMsb8Y&ctc$7(|5 z;^M5wRAlg(S#UvO4T9Ol%n&q)DLBR+G;2pEB{TbdM+V*vwlsE&1JOK+q~39CS%fW2 zZ`)U9=csgcC(AqyoSFCpVz1LGS*QwI7202}Hy7lFb>%Z` zDP1V;W~Uk$%#Cw|I=aWjYzaLln+{T)ELT(pqeibBHYvi{YsWScpABA9%l$uNzEY(Y zfuzd2;_%pxnjiYnLgI(YV?7dyv8dU)Rb>50ts$AnOjPn9lX0#)YpPbaWrUY=OEq0f zj8%Go#ahO8j4Oo;T&~IBYBUA|qx`_W@X%ng>PR0=;gtqDLCs?o^{Y`koN8+~>zXPo z9wIHg1>Zm$!kQdU+My0jdXG9dnj}^~%tE6oaQzH*VRg$P9%X%K(%`eDnG^`wEMViD-&)^rVsuFl0-Kr>{enujdqx_jGu) zVQ4V6$*w9aY3mf)yZj8fbG(MFlT@ZFDuAk?C70IQ;>*mQ{Kmg-~2%{NMsNXHFx14Z~~cIZKwznGjB3_OUGd{P!MMu}Jjn)`q2WhF#KMB>oV zR$fQg439(Qh87S$mi4eko#>-UP+yWw5Y53QOOm9~v@F`pG9Xp$Fy`fa<@5#3j<87? zcJCB}X_v<+dlA#itk_eIf<+57ZAYd&W!!@!cIr5+&F$1Lq>5BpN18Y^N1sp}j+p-{ zp?2;X9`sbbY#}DIMab;xRH}%Hh(7AE!xf0f?gI9H_0EKF)7NZ)o&~eOiY?u+rGoDq zK~u|Es!^9_q*b6YC3DVLmpX&t6Unzk+RzgCk62iiXELXTLAG4Gu-!m3M!A-R%<+x8 z#M727Aw7#^YKj-6`y3V5gIv7^@8G5|e1(mfPKxVQhT)E}x>aG@)6$iSt%>Oh-4XG5 zll%l5HcV@zDb;H+XSwQ2tjz?j&^=y(Cx*LG+Xda9^Q4FFC8WG9o$9F`L$wrVbDFZV zgKL>^DlU`g{$Of2qT;8?VRDTKE5DFpwp2i$0$H^6GO(@ob7J|{A>vK4A&X<3qC2GU zvCHytF?^BnoD)}1l%JGjkwE#tICN_DdP@4z&WXnHaEYTYE0cZ5uFVTQ8)U<;lK7Fjkn zyU$eGc?g|qFqoriTtzJ)`N1v_U~nkDM-*cJoUJ5{%P@J|2^whbpzPawGUurYDL^yR;JBBNX8a=cr5`IJBUrQ4Y~cvXX`P z#&?zq0dX6sOL|G_a1&eJ_?Bkcu(%xWT!3kW6Jv5o_d}L}+9I1TKE>752)?o+m8X{Y zvcV!C>?!U{i`{75Cn>Qk2a;G4M=;YR6TvU)U+x|8-yYYWW5y6oMP{7Ws$Vhh> z81KUx=!yWr3=V~6(uR2#x$V+^?i_KCMY^UM*rVT+EyS*Mqg>vQ)=2Z@-;4&yBV*gJeVWvE+2hqsLofP5{R<;jLo!XH;Ni7 zFv7@)km$Z1zXWcKfp8X$x2e~ICl&~E!F#G(zvhC zFD9~r=%8FzvE*gR{G(3qQqsAd2u`)@ZFqpL=xO^7PaMIQN9F6s30X)*7&lVS2DPPK zI}sNhm0pTOZKc!}SXhYMjGl2)I_kRkhir`Hwjh#dl%@7acsbaD!5s_I=S;!|Hsb`f zbZm`8%TKL>6GS6b@E*Bja!C^XDRC^@+~@wJDo3N}25m;^>#vz51m$I)O7}+PBPyuM z%u;;H$LBOihq|&ClX64Yg$Y(d;ms}55ZWuJh>_QB>8<=yv*_dW1PN;iRd8wGb5UZ`y{OIuRkUyTpSnF{B33d9YNZ^kUi%^&g(rY-s;hZ;S+ zXCm0keyS@LcQ)Ko1tA+MKP5DVQx1qE$T`v8hlNDhTbgSlJiMG_KPq!2W8V0U5l<%O*O`LiFSw`jSCBOpp)&`E+sE!^IyAFs{^pW=Ku=?xgb zTvj{Ef~Do@N;dmQ4EHZ^ATGBZ2V;;r8HXI?+&xH{*eo~j`6!%xknQ$uH>S5q#t8j%3TK?eT%yv!kMa759^J#kaQ%wKj-UVnfho!vTG`1tf#$<;ig{esWYM~`dew&R220W z&LfdolB~$(m-QJV0~xWaz7Am9T;xccCLOUbK5429W(D>J?DprH79ji=M@+oNAnhUE zzD*7M?ixzlshSiX57GbXem@b}(AMijHeVQ1QjV!&*FL^(0sq2Sb*U*60fcb%9=h%o zq=qfet)%Dc&3Nk}6ycOP!U8!oN51x;3m_(w8y_M=vRKh0?r!jL36EXfk(>#~T!!nV z-%)5+mdagjzKna9BbYL*1L|GKfVM6u42c%PWsx3C9oM%-ki<=tAEM6XeqHc2*63Sr zZFKE>K?O;p@uz%RbAM;>Im5PoO=n1|iB%K~vRY^?fP&-zyBlQ$mjhOcaK9{(g?r|n z*TSFVyt=P?EDD!xrI~1=Ax8#>o!ycT9H!r>q@*%UX3NDz-2IGC z9^xGvb}D8x@I-Lohn@MCQsUZ4#=QJn3Bn+wKd`R4rEb!A)j=Kzj6WW4G9uS+Xl&5h zC&w||YGY7J)%?lyu3I=zDg85y>GBI)jA0vRFf-xQbT{0Zj-x$xJ*r=Rl#-TEM%Df| zkU?Pjn_eXv1{H&ke4I^ikgqK3JXevY9HsQ zVq)4nDetZ+HO(fIuM3w;MpxRRVORMMt;L8;lejl8Y|h%d+@RHAlW2>BuqyAi)|A-^ zF5$4++#F7E7I*KSYhejin@{G>PMvmgD7!AX5aRjjAc?NBjsz~KJW;7gUr<`hCv~^CrJc*6H@Lj_$YD5sdD$Ql?$O!9ki|zqW znG^1*gOWL3xU-{GmT%gm=lf0+NUWKKH%=x;ujQLy!5KZV`deQSC4!Gr#kjXo+AmqB zkXQM4keQ$ki6yONyCCz@Hj?y0@?cq2X+f*hO86E9zKaTauE|EzchH3V-Y!hNP|KyptHG*d$eoNL10J3RopsMDrRvU2bHuhr}EvoW+hhG_bO|OK0ev zhTw$zKlrB^elhuB2gA|mu^iC;!Pu%kv&gs|A2RC;N}?^h0#e;hVt(IAT}#_QiZ`T#88>XKBH7MmoFeaLW8CO?NsQN_ z7(9H*(?{r|PGX5^b+B2$4=IS|n5`VgAxTvoXtZc+>J_*y7=xz07oWBC_&HC(QPC>{ z^=i^&D(j2sRh02L4n<1i%zxCuKe&kV&AyQH7PB$>rdlRXhzZq<8^80OKQ|Un$OqBv z#zU;5;0^luaf%+e?OPo#$lUqP&H=PiTwD`Nu?wjYN}46=UE_sr5cDjWIETnwNtrbv z=NDHDMGJZ@RXoVjJ`r8cbNupIGpReL$|YnC(dWT)>##(ire{ZHC#I)j(UR6$yAi2! z!g$vX@ZnVsmV9>uH|fFhBJf&)bB{+o^8mCrJx)EUshO$BmtEtHGo>xQ5@Lpu;xBCL zsp@ls5X#XiQl^Co=_%zK*S3dj&20r%Qk^FqX{<&-2Kusqn<-O66dEX>LP|;96I>*g zEFY|i!?rf)HbLn8a|)j_|S( zfDtDmMiAVsKAR72cb14-J{P_dCCVgD7AlZbgMFGMkoTi%g`hZn9 z$HS4@A&%XJ#Y{j-{eRub^~+7*{7bsy@b>JY?}i?7f>JD)!sUzH5SCF$^8 zXY_lXuy;**NKGLcCnf;CmfSIr;$8RDmxe>dCS$Km8$W3wCp-y-9c5+mApw*&8tdqk zzzvGAIE6jtMj87KExBZ)ioVBJyye|?WGpjG6+(8pe31spqK(NjseAG9NV_^##uu#$ z3;4!?xmip~?s4uu4ie#2@WsP5Vu(^L--TEjzAb#!%qTC5RMW_$08`H}_xo@wPyH04 zhQTeMGOF-ILT3P30{$JBBnMCX1?Ax`o%}Wd)kF;8I72s`?o%HsnP|U$E<%UQ_jHtz z_Q7xvlvW4vdX0K&B`^tkVmP@IG7h!D;C7|+iB^-~CaRR$5?y!{k;P)6sRkp7N$i?v z+1#{9TjJ?z>uldPloPQq!nbp8Muu;6CAZ+JCp0BUcNx#*w}h@Y=Bnxd+kV9@{gu-= zRFlkHumAx;-<0C%E;YGWc|w6mTk$7h1@xaKG{_oC=XG6<080UQWrqr<;|Sm+?#M>< zl7uc#jUhUxbRnARV^;zgzY-CjE{O^f--Y6qN;DfSt3|_BniAnl&>9OHav~PRE*Rzl&qz{~yJrrq1>72&`ChMnWIyelo zfVXwjw``X*T6}K5qScn5lB;}?iOr~il#>+wf%|4l{ARt>TG1G;oD;Tw4F#%Td!!71wyodz2};5 zZSY%mXm=b4J{{*xLU-W2v!#cn+7=rS+yn`2E%!oV2(pY(T`b!^rs`7%gK6;MY*BbQ z!Y|brd-0_-kc3ghb;%}l%yUB{!g#WJnoMRGkJ)`)8nKP2gf-0p^k!d5y zWj2Xs#}P@_Hg8kd2~oyqHv@%|RQSL_ zrqy{>0hjtPTrgBpW$?XOn*`zh-~>Kzb6U!qf1^8&ynq{^)_tI|uoyT^5KZX#!2xxL z<)n%Yww?_gHXpg`R)ru#@#l@Ob;T@2#-yR*Xfccp0m3Fvr{zl3zD&d3Cw5(XVcv&W z8I?+x!IU)sbscl{R=_#fuQ*pFv=n+{hVhc$z&eNXix*|p$mr*8-6QJpQB~|NRVvXu zK6>Bf$y=nrL$7G0*$ZKW^fi`rG*>Y5iq&_OjYqg9Qc9akrmCpoutT|-*`Y=`Q7sbC zmUqm9wd^4I?V>oNUJfK$r8o&?2Tio1jBY0WsZhat=1k(AWpSZ6da^@*s*Eq|!X~De z9jGab?bS-Id5RMTR0F2Eol;IX*dk{#%`#r-7P++mjEV0i zNM&%Rxt*z24~WhkhhoBADL503W63?dZw}$OFwJLH>?S+6B+E7X5g0 z=nacAC@W5(YBt-yza=>h@DG9@BPCn;E9Grb=(dVeq@CIF$~F~>5i!7U6b84W!Etm? zoX{k`7oP@(6Pw{liiye-(bS?S<6XpOG(keAJlY3+(!I@|8}{t$ z^sx_fbjWZQY<$9tqhGrH!^+HXOBmv zEAoO#32#$gjfGTc_`vBVRo9YItDLBbabui2DpfTtNGS0RAc(B|vYtRGByO}=5@ST1 z?}(jKYI1o;<7{z&(H(nHulo4_&z6(ML0yW-Hs!MdmO;Md@Z=x>zEPdt84EU>l@%Ht z#m+chkUn-rZhf~Zcdo=0^g~_-jUWyf$KtjBQ!|)0X?agYvr7mR*iK@w$m4a<^a{Zg z9WZW;gmWkKf%O&{y_MoZ?%HW-Dq)vBjD-`G%Yse~x+w^?uD%z-SO)w$-LnKkwAa|X z6E+B^Wj@7H8ecbI{=8jak*t5W{LbHnU)hP8(QYV6#`HK;vLZ4AB5l*Q$~=X({EWSPS>&zB(Zh)0&i?QiW9Lxr;~lge@S%`q#OqR=S%*8wV2%edKQUXt2WZp{%g8Rmp*JEm z6c5ACaWLR4l4%aLkW#+P7An_v3bm_bKZYOb^GCvyLUS)u$;``z&XXX2@R>b~%v2Ry zlzPoU*UYjy77N&Ek}9>a(@pq^BCA;P=uFc>iA(3-de!(X3{(7Bn4ujL7=CzO^0CgT zGL{x%%%^MBWj!L#-4k^sEtNkl|5^>)Cfq-O-si5AV-L%LVe<>T1%?+X<$O&k{=0}Nop+ew*0PQ$Bo9enF(F?Rm!YlcDl0XRf+h?M zRIGzcJknhew<@+^IlY>^0S5xN!e|&#Bq11gc{f;jB}oM61}Bqcm)Vap&I9YkqM}`c z=xsW_66>y?@2li8it6LT46BSmQak05){)6NN7OD^lr5Y>_sUPXk)N2_*Ug96Z0(LY zazVNfEeni=-At*DnASN_a!*Bu$+|EqUp|VL5aeKGl55c9dnh6wDx10ve&keG5ZmQR?=*RcR55Mzql(DT9mDG zR#dZGh{qI?O&DBE5@Un!{FZv{lzEgzd!QM9(r8r;u_Fo3R6vsocL2eha7#V06chOo zUDU;&xmD8B3ybzaXJ^&*`i43^$&i;V%%<^*uxs(olZL-I&rQQ7rvN2o6BfNtm2}~Z zi*4g;j-lRHs~S*i*DVMU6;UUO#D}o;EmN^l0H3CSyEUq}BnU%9twS1BoAI1Y>Rw_5*Iwqd`M)L$bM<$39>OreziOAqGu22vShQ}>2sw*g;Y z!|@3<{5nE2mD(aUMN?FKlG7U6%~@&_wP`ATER~L`Bf}ednC-{`dY>mFW%^bl?AV?(^L9y62vo zuY4ym*lD~ddxvkQ+w3Q8;I7euJJD${3@nd3oN?}TBG#$?< zr!o@v#_7Ah^k|5Des5=M@0OVoCunzV_#PwVlO2DQ*&WjG(XCw8oB}0Ic-2U^V^dT` z?A_(LmPR)49`sqO@MLun0kA&z3-6)p$h8ekqjNbN?wbdaX4B*Z*HaElSgaploWEfr zXK;=b(!{lCRKyWP)-VIQMjyb4nv!ttjIa*OgXoRbF!mRx8U#zYQ^#RkwbjOR4zmqD z1t8i^TR#EWH*PWHU2rj=rtwoga&UNkxtoaMAdP91i4ry=8DZp_Ygz5toOiHC&CZ!W zG=}2ALi3@QR1QzZa&ssV_~wziBJi`yA&#tv2spucZL`0B`MhZ;>`%<_U~VQ>*jYT$ z^T-(Et^G+S!)3g5r=ek`;ZTD>c@vhA^IA^VHp;%l4|Chi$Ln{N=gJtOh1MT;%** zc%O~zb@$G5vy=%fDvBWX*#xJ($WF!v-uhHTh_HBvX>bn8hhjycTVS>PHa0Nr&JFGw z@d1!kFNtn*H?ioF+bERhRg-Tgid`(NvA7m0SH`7CIDpXBnsG1gVoihMai2C?i0w3@ zA$u44CN53Z8YY_SRRN_4w}fo}qhwfoH95XD=qK194XY^^tZmni! zVl)=`>}nLh^m*!gr%7xS)TRAp3_oehH3W5~_g)#{=Vij;3nN}z8Z;Z8vm3XKGZt)g z>~ua&NSj^=! zy(#0vZ7)O7z+l%`ef^MxfvzGPd>e$*!~L^6eeQhWBcIr$!aif=wFUffLC_}z!oyCc zSBX^R&1m*H?KvyS-*iGZre!B|qqY^%%NA1+h&o7HCQ)HBOhfJ`3chR_fK4DNbxVoV zotkb1?v$gODMA)}Mg);L8=iLtD==j6mXu9vCbhJHrab zr%+=+r>%*h#pGQ(eL6H3bFjQLGFi-}c2p;`7l>{1eVAVhBE>4g*PQ7ye+SZAstG z9>elT?Y;t4VHb|wKpi&N$v=0yWXz6j<2G|h=x59#>*79GGS8M>lPw*tTlkVV1`$1J z{4p$49%=G2cnU-i6S{U*WHxq$t+t1EGRfVdbvP?7vdFkIRav@WU~MUu@HIm03+_xt zwJ;noQ6sFtR7@=ebKp&`TAiTva;i!-rchy*q{jpBersr!F5RMpdgs`w=h!vMpg^B# zuoB8LNK#Pfg@whbkTjh%5K|{g7qKVYhz{)M&~T8lJhsAsbgm_*dKtazR^W?qJhh$(~&Y(#N57vePXAoult z;Ix%UW&xu~m_Da*hMXpqRyoaMNDf>Z0u7^a!-|ES9nC-hHQqt-tX)~ta6yB@-k4xc z&U^T=y%#^lh$mFzOP@!0Y8_CUej?L55r2xGTGu7s%6YUfdXdpO_uK9E>Zn}nZVy6hQI7Czt>lTTx?8$~;Sxot9hrgi3?v!kS z(QyZ?m7SHI$n}yQ-dWW;qxFs9HoRmo5TL%zqX`aX->M)nNh(3cU|L)-3AZC+gL>hj z$#udvfi!V|X5Xhj;MsV6_X_3}OLhc+gc65fl>R2&(drgiWKqX*d$y305_94447Nb! z%!Q6Tg9W1=E;;)~7#mxWgNd%}X$e8($Yp^zrGvT0ItJANP$+C2^MYM^5GM|SCe?;} z2I?qt+3o>k2s;nOBnUhF+$l{Q-NOxXfp7@> zhqcAls4QdD&Qh8{n6c?2*?vww8tqs_hS)S#7fm8Y7_HTd&W}ab<44vltO#OFVpzD% z7tUS?3B{N2#0<)*y z_XolVGltFr1SScMd}=9%bNfYN7`92H^7e%tj)hX)F_uPo+(_`o+(;wB9>vYhNE8;| z;k~toG|Tim6gE*dRD7Vr3WPrPFamSBO_~Lwq}W7(4MR_J<}8{)^o&-i*YMPdqqwJu z!mdWLhlrbgq!Jbp;UzjIUqXDef#=7@sc^i;+7Mny%{}0oR0|+U(eu_7f7tS}#w3)O zNBG*pb<1LH2j4fF4`(z{3x~L{{@{3M4us!=kWHr>PY?i-$g@Ycj_-k)m>CGJgAkV}Aq`qd?<^;@Uy}5M;f>13txx=w!(&8FAs;QJ=depii zyqUsJcG?mjt3zUR0ApEwvh}X-lnXo_+vai3}&WclWUDGYlz4`ZycIixhnXGDMzF;$`Zz z(56tP56C+Y?E5M4^Q!HX5x4Z6B~Ejja_?*#)Vx^J^I%VPSoJGA8+ZHFZR$$Y894qF z`KV&x(gw_1&8O)RI|Dh#R%Lu>Rhz?zU?IyUmnoYh;IO2~s4qrlX;44=&Wf?A5+}8( zXgXdL%os-gZv`YBk&4+*!b}R(G|A<|kZ7&0p_Ei+{cz8I^iCa9Ok zY*4Ja6PdH`YHLI+W!RKB7YIcjm3EjJj|&d!^54xn@HH7^BbR%Ph_9HUyd8vad;+cUoSHn%`%hREMG@d2S6O{RwA2E18)d z-RM%e$vHX<#;2MHskM;(WgcaD{z(IaQPOPs(Ru{0Z)Z*k0HKjmX0zjC2;%EybhUJk z4?hIhT`zee6k@@Q?k44=lPH6P7gF~|;D~cvy-HLc%{2RVt|*C8F}H-*M&Cd(@`Vvj z^Y9zCNyL#!`*bEYeZ>Smt+akY&-*sTrd zc2x_Ptu<(nb^-tTsx<<7RIQtMjjx9*j3m}tUGLqbV%J+=L2kP9JbL||9e5)egsut2 zLXm-0u#Yn?P{ZMf#o&o$dSiFDYApxHtNuT~&mx--;_tnY-Rp6obS9oF`H(ImZ6VF! z{}Av>ztH&p{f+xM-2db8faE>+ z6a1(BakYT-efSgn(ZBi&rDxxa4ub*z8K_)6{8a<~$mc(4uatgNA4b~jzc&It zHS?ImSCKw=A-%C2W+ERYzr_XnUtc}=?x*aP(qCTCm!3Au|2-b(@Jp{bywW3kd|Us7 zKYH>uE;vQJ*KqOG&-kk^db;Fy>A&EW{t<6Jjz7UK1^iOL>pNwjd!>KD3)WEZ*8~1~ zz`yl9L3%n<-d2CdJ#k;~GjDpmXI_hTM8|Ue@~3iz2S35Hy!@Hp1^nxtJ|uC?eu7u} zAH2)qtGA-u2cF)W$$)VwIHk`3IETOgj>Fx5=;@;)C43{h>Ii_Dm)d{-Z&B`_JYD+4 zli{C@@{g6DRrdn^OO5BOD}Q+^-1Rs9|E++3<$3?|b9lT7{s4Z6=(M(_^%&%-k_dq05oo^{{f0{;Gh5i literal 0 HcmV?d00001 diff --git a/dist/index.js b/dist/index.js index 1323680d..c02f1df1 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1299,7 +1299,7 @@ exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context const Context = __importStar(__nccwpck_require__(4087)); const Utils = __importStar(__nccwpck_require__(7914)); // octokit + plugins -const core_1 = __nccwpck_require__(6762); +const core_1 = __nccwpck_require__(8525); const plugin_rest_endpoint_methods_1 = __nccwpck_require__(3044); const plugin_paginate_rest_1 = __nccwpck_require__(4193); exports.context = new Context.Context(); @@ -1331,4695 +1331,5060 @@ exports.getOctokitOptions = getOctokitOptions; /***/ }), -/***/ 8090: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +/***/ 673: +/***/ ((__unused_webpack_module, exports) => { "use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; + Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.hashFiles = exports.create = void 0; -const internal_globber_1 = __nccwpck_require__(8298); -const internal_hash_files_1 = __nccwpck_require__(2448); -/** - * Constructs a globber - * - * @param patterns Patterns separated by newlines - * @param options Glob options - */ -function create(patterns, options) { - return __awaiter(this, void 0, void 0, function* () { - return yield internal_globber_1.DefaultGlobber.create(patterns, options); - }); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; } -exports.create = create; + /** - * Computes the sha256 hash of a glob + * Prefix token for usage in the Authorization header * - * @param patterns Patterns separated by newlines - * @param currentWorkspace Workspace used when matching files - * @param options Glob options - * @param verbose Enables verbose logging + * @param token OAuth token or JSON Web Token */ -function hashFiles(patterns, currentWorkspace = '', options, verbose = false) { - return __awaiter(this, void 0, void 0, function* () { - let followSymbolicLinks = true; - if (options && typeof options.followSymbolicLinks === 'boolean') { - followSymbolicLinks = options.followSymbolicLinks; - } - const globber = yield create(patterns, { followSymbolicLinks }); - return internal_hash_files_1.hashFiles(globber, currentWorkspace, verbose); - }); +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + + return `token ${token}`; } -exports.hashFiles = hashFiles; -//# sourceMappingURL=glob.js.map -/***/ }), +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} -/***/ 1026: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } -"use strict"; + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); }; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getOptions = void 0; -const core = __importStar(__nccwpck_require__(2186)); -/** - * Returns a copy with defaults filled in. - */ -function getOptions(copy) { - const result = { - followSymbolicLinks: true, - implicitDescendants: true, - matchDirectories: true, - omitBrokenSymbolicLinks: true - }; - if (copy) { - if (typeof copy.followSymbolicLinks === 'boolean') { - result.followSymbolicLinks = copy.followSymbolicLinks; - core.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`); - } - if (typeof copy.implicitDescendants === 'boolean') { - result.implicitDescendants = copy.implicitDescendants; - core.debug(`implicitDescendants '${result.implicitDescendants}'`); - } - if (typeof copy.matchDirectories === 'boolean') { - result.matchDirectories = copy.matchDirectories; - core.debug(`matchDirectories '${result.matchDirectories}'`); - } - if (typeof copy.omitBrokenSymbolicLinks === 'boolean') { - result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks; - core.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`); - } - } - return result; -} -exports.getOptions = getOptions; -//# sourceMappingURL=internal-glob-options-helper.js.map + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map + /***/ }), -/***/ 8298: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +/***/ 8525: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __asyncValues = (this && this.__asyncValues) || function (o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -}; -var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } -var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -}; + Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DefaultGlobber = void 0; -const core = __importStar(__nccwpck_require__(2186)); -const fs = __importStar(__nccwpck_require__(7147)); -const globOptionsHelper = __importStar(__nccwpck_require__(1026)); -const path = __importStar(__nccwpck_require__(1017)); -const patternHelper = __importStar(__nccwpck_require__(9005)); -const internal_match_kind_1 = __nccwpck_require__(1063); -const internal_pattern_1 = __nccwpck_require__(4536); -const internal_search_state_1 = __nccwpck_require__(9117); -const IS_WINDOWS = process.platform === 'win32'; -class DefaultGlobber { - constructor(options) { - this.patterns = []; - this.searchPaths = []; - this.options = globOptionsHelper.getOptions(options); - } - getSearchPaths() { - // Return a copy - return this.searchPaths.slice(); + +var universalUserAgent = __nccwpck_require__(5030); +var beforeAfterHook = __nccwpck_require__(3682); +var request = __nccwpck_require__(9353); +var graphql = __nccwpck_require__(6422); +var authToken = __nccwpck_require__(673); + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + + var target = _objectWithoutPropertiesLoose(source, excluded); + + var key, i; + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; } - glob() { - var e_1, _a; - return __awaiter(this, void 0, void 0, function* () { - const result = []; - try { - for (var _b = __asyncValues(this.globGenerator()), _c; _c = yield _b.next(), !_c.done;) { - const itemPath = _c.value; - result.push(itemPath); - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b); - } - finally { if (e_1) throw e_1.error; } - } - return result; - }); + } + + return target; +} + +const VERSION = "3.6.0"; + +const _excluded = ["authStrategy"]; +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set + + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; } - globGenerator() { - return __asyncGenerator(this, arguments, function* globGenerator_1() { - // Fill in defaults options - const options = globOptionsHelper.getOptions(this.options); - // Implicit descendants? - const patterns = []; - for (const pattern of this.patterns) { - patterns.push(pattern); - if (options.implicitDescendants && - (pattern.trailingSeparator || - pattern.segments[pattern.segments.length - 1] !== '**')) { - patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat('**'))); - } - } - // Push the search paths - const stack = []; - for (const searchPath of patternHelper.getSearchPaths(patterns)) { - core.debug(`Search path '${searchPath}'`); - // Exists? - try { - // Intentionally using lstat. Detection for broken symlink - // will be performed later (if following symlinks). - yield __await(fs.promises.lstat(searchPath)); - } - catch (err) { - if (err.code === 'ENOENT') { - continue; - } - throw err; - } - stack.unshift(new internal_search_state_1.SearchState(searchPath, 1)); - } - // Search - const traversalChain = []; // used to detect cycles - while (stack.length) { - // Pop - const item = stack.pop(); - // Match? - const match = patternHelper.match(patterns, item.path); - const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path); - if (!match && !partialMatch) { - continue; - } - // Stat - const stats = yield __await(DefaultGlobber.stat(item, options, traversalChain) - // Broken symlink, or symlink cycle detected, or no longer exists - ); - // Broken symlink, or symlink cycle detected, or no longer exists - if (!stats) { - continue; - } - // Directory - if (stats.isDirectory()) { - // Matched - if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) { - yield yield __await(item.path); - } - // Descend? - else if (!partialMatch) { - continue; - } - // Push the child items in reverse - const childLevel = item.level + 1; - const childItems = (yield __await(fs.promises.readdir(item.path))).map(x => new internal_search_state_1.SearchState(path.join(item.path, x), childLevel)); - stack.push(...childItems.reverse()); - } - // File - else if (match & internal_match_kind_1.MatchKind.File) { - yield yield __await(item.path); - } - } - }); + + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; } - /** - * Constructs a DefaultGlobber - */ - static create(patterns, options) { - return __awaiter(this, void 0, void 0, function* () { - const result = new DefaultGlobber(options); - if (IS_WINDOWS) { - patterns = patterns.replace(/\r\n/g, '\n'); - patterns = patterns.replace(/\r/g, '\n'); - } - const lines = patterns.split('\n').map(x => x.trim()); - for (const line of lines) { - // Empty or comment - if (!line || line.startsWith('#')) { - continue; - } - // Pattern - else { - result.patterns.push(new internal_pattern_1.Pattern(line)); - } - } - result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns)); - return result; - }); + + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; } - static stat(item, options, traversalChain) { - return __awaiter(this, void 0, void 0, function* () { - // Note: - // `stat` returns info about the target of a symlink (or symlink chain) - // `lstat` returns info about a symlink itself - let stats; - if (options.followSymbolicLinks) { - try { - // Use `stat` (following symlinks) - stats = yield fs.promises.stat(item.path); - } - catch (err) { - if (err.code === 'ENOENT') { - if (options.omitBrokenSymbolicLinks) { - core.debug(`Broken symlink '${item.path}'`); - return undefined; - } - throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`); - } - throw err; - } - } - else { - // Use `lstat` (not following symlinks) - stats = yield fs.promises.lstat(item.path); - } - // Note, isDirectory() returns false for the lstat of a symlink - if (stats.isDirectory() && options.followSymbolicLinks) { - // Get the realpath - const realPath = yield fs.promises.realpath(item.path); - // Fixup the traversal chain to match the item level - while (traversalChain.length >= item.level) { - traversalChain.pop(); - } - // Test for a cycle - if (traversalChain.some((x) => x === realPath)) { - core.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`); - return undefined; - } - // Update the traversal chain - traversalChain.push(realPath); - } - return stats; + + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" }); - } -} -exports.DefaultGlobber = DefaultGlobber; -//# sourceMappingURL=internal-globber.js.map + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ -/***/ }), + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy + } = options, + otherOptions = _objectWithoutProperties(options, _excluded); -/***/ 2448: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ -"use strict"; + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); + + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); }); -}; -var __asyncValues = (this && this.__asyncValues) || function (o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.hashFiles = void 0; -const crypto = __importStar(__nccwpck_require__(6113)); -const core = __importStar(__nccwpck_require__(2186)); -const fs = __importStar(__nccwpck_require__(7147)); -const stream = __importStar(__nccwpck_require__(2781)); -const util = __importStar(__nccwpck_require__(3837)); -const path = __importStar(__nccwpck_require__(1017)); -function hashFiles(globber, currentWorkspace, verbose = false) { - var e_1, _a; - var _b; - return __awaiter(this, void 0, void 0, function* () { - const writeDelegate = verbose ? core.info : core.debug; - let hasMatch = false; - const githubWorkspace = currentWorkspace - ? currentWorkspace - : (_b = process.env['GITHUB_WORKSPACE']) !== null && _b !== void 0 ? _b : process.cwd(); - const result = crypto.createHash('sha256'); - let count = 0; - try { - for (var _c = __asyncValues(globber.globGenerator()), _d; _d = yield _c.next(), !_d.done;) { - const file = _d.value; - writeDelegate(file); - if (!file.startsWith(`${githubWorkspace}${path.sep}`)) { - writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`); - continue; - } - if (fs.statSync(file).isDirectory()) { - writeDelegate(`Skip directory '${file}'.`); - continue; - } - const hash = crypto.createHash('sha256'); - const pipeline = util.promisify(stream.pipeline); - yield pipeline(fs.createReadStream(file), hash); - result.write(hash.digest()); - count++; - if (!hasMatch) { - hasMatch = true; - } - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c); - } - finally { if (e_1) throw e_1.error; } - } - result.end(); - if (hasMatch) { - writeDelegate(`Found ${count} files to hash.`); - return result.digest('hex'); - } - else { - writeDelegate(`No matches found for glob`); - return ''; + } + + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + + if (typeof defaults === "function") { + super(defaults(options)); + return; } - }); + + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null)); + } + + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + + + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } + } -exports.hashFiles = hashFiles; -//# sourceMappingURL=internal-hash-files.js.map +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map + /***/ }), -/***/ 1063: -/***/ ((__unused_webpack_module, exports) => { +/***/ 8713: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; + Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.MatchKind = void 0; -/** - * Indicates whether a pattern matches a path - */ -var MatchKind; -(function (MatchKind) { - /** Not matched */ - MatchKind[MatchKind["None"] = 0] = "None"; - /** Matched if the path is a directory */ - MatchKind[MatchKind["Directory"] = 1] = "Directory"; - /** Matched if the path is a regular file */ - MatchKind[MatchKind["File"] = 2] = "File"; - /** Matched */ - MatchKind[MatchKind["All"] = 3] = "All"; -})(MatchKind = exports.MatchKind || (exports.MatchKind = {})); -//# sourceMappingURL=internal-match-kind.js.map -/***/ }), +var isPlainObject = __nccwpck_require__(3287); +var universalUserAgent = __nccwpck_require__(5030); -/***/ 1849: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +function lowercaseKeys(object) { + if (!object) { + return {}; + } -"use strict"; + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.safeTrimTrailingSeparator = exports.normalizeSeparators = exports.hasRoot = exports.hasAbsoluteRoot = exports.ensureAbsoluteRoot = exports.dirname = void 0; -const path = __importStar(__nccwpck_require__(1017)); -const assert_1 = __importDefault(__nccwpck_require__(9491)); -const IS_WINDOWS = process.platform === 'win32'; -/** - * Similar to path.dirname except normalizes the path separators and slightly better handling for Windows UNC paths. - * - * For example, on Linux/macOS: - * - `/ => /` - * - `/hello => /` - * - * For example, on Windows: - * - `C:\ => C:\` - * - `C:\hello => C:\` - * - `C: => C:` - * - `C:hello => C:` - * - `\ => \` - * - `\hello => \` - * - `\\hello => \\hello` - * - `\\hello\world => \\hello\world` - */ -function dirname(p) { - // Normalize slashes and trim unnecessary trailing slash - p = safeTrimTrailingSeparator(p); - // Windows UNC root, e.g. \\hello or \\hello\world - if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) { - return p; - } - // Get dirname - let result = path.dirname(p); - // Trim trailing slash for Windows UNC root, e.g. \\hello\world\ - if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) { - result = safeTrimTrailingSeparator(result); +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); } - return result; + }); + return result; } -exports.dirname = dirname; -/** - * Roots the path if not already rooted. On Windows, relative roots like `\` - * or `C:` are expanded based on the current working directory. - */ -function ensureAbsoluteRoot(root, itemPath) { - assert_1.default(root, `ensureAbsoluteRoot parameter 'root' must not be empty`); - assert_1.default(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`); - // Already rooted - if (hasAbsoluteRoot(itemPath)) { - return itemPath; + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; } - // Windows - if (IS_WINDOWS) { - // Check for itemPath like C: or C:foo - if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) { - let cwd = process.cwd(); - assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); - // Drive letter matches cwd? Expand to cwd - if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) { - // Drive only, e.g. C: - if (itemPath.length === 2) { - // Preserve specified drive letter case (upper or lower) - return `${itemPath[0]}:\\${cwd.substr(3)}`; - } - // Drive + path, e.g. C:foo - else { - if (!cwd.endsWith('\\')) { - cwd += '\\'; - } - // Preserve specified drive letter case (upper or lower) - return `${itemPath[0]}:\\${cwd.substr(3)}${itemPath.substr(2)}`; - } - } - // Different drive - else { - return `${itemPath[0]}:\\${itemPath.substr(2)}`; - } - } - // Check for itemPath like \ or \foo - else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) { - const cwd = process.cwd(); - assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); - return `${cwd[0]}:\\${itemPath.substr(1)}`; - } - } - assert_1.default(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`); - // Otherwise ensure root ends with a separator - if (root.endsWith('/') || (IS_WINDOWS && root.endsWith('\\'))) { - // Intentionally empty - } - else { - // Append separator - root += path.sep; - } - return root + itemPath; + } + + return obj; } -exports.ensureAbsoluteRoot = ensureAbsoluteRoot; -/** - * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: - * `\\hello\share` and `C:\hello` (and using alternate separator). - */ -function hasAbsoluteRoot(itemPath) { - assert_1.default(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`); - // Normalize separators - itemPath = normalizeSeparators(itemPath); - // Windows - if (IS_WINDOWS) { - // E.g. \\hello\share or C:\hello - return itemPath.startsWith('\\\\') || /^[A-Z]:\\/i.test(itemPath); - } - // E.g. /hello - return itemPath.startsWith('/'); + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging + + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten + + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; } -exports.hasAbsoluteRoot = hasAbsoluteRoot; -/** - * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: - * `\`, `\hello`, `\\hello\share`, `C:`, and `C:\hello` (and using alternate separator). - */ -function hasRoot(itemPath) { - assert_1.default(itemPath, `isRooted parameter 'itemPath' must not be empty`); - // Normalize separators - itemPath = normalizeSeparators(itemPath); - // Windows - if (IS_WINDOWS) { - // E.g. \ or \hello or \\hello - // E.g. C: or C:\hello - return itemPath.startsWith('\\') || /^[A-Z]:/i.test(itemPath); + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + + if (names.length === 0) { + return url; + } + + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); } - // E.g. /hello - return itemPath.startsWith('/'); + + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); } -exports.hasRoot = hasRoot; -/** - * Removes redundant slashes and converts `/` to `\` on Windows - */ -function normalizeSeparators(p) { - p = p || ''; - // Windows - if (IS_WINDOWS) { - // Convert slashes on Windows - p = p.replace(/\//g, '\\'); - // Remove redundant slashes - const isUnc = /^\\\\+[^\\]/.test(p); // e.g. \\hello - return (isUnc ? '\\' : '') + p.replace(/\\\\+/g, '\\'); // preserve leading \\ for UNC - } - // Remove redundant slashes - return p.replace(/\/\/+/g, '/'); + +const urlVariableRegex = /\{[^}]+\}/g; + +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); } -exports.normalizeSeparators = normalizeSeparators; -/** - * Normalizes the path separators and trims the trailing separator (when safe). - * For example, `/foo/ => /foo` but `/ => /` - */ -function safeTrimTrailingSeparator(p) { - // Short-circuit if empty - if (!p) { - return ''; - } - // Normalize separators - p = normalizeSeparators(p); - // No trailing slash - if (!p.endsWith(path.sep)) { - return p; - } - // Check '/' on Linux/macOS and '\' on Windows - if (p === path.sep) { - return p; - } - // On Windows check if drive root. E.g. C:\ - if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) { - return p; + +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + + if (!matches) { + return []; + } + + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); } - // Otherwise trim trailing slash - return p.substr(0, p.length - 1); + + return part; + }).join(""); } -exports.safeTrimTrailingSeparator = safeTrimTrailingSeparator; -//# sourceMappingURL=internal-path-helper.js.map -/***/ }), +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} -/***/ 6836: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); -"use strict"; + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Path = void 0; -const path = __importStar(__nccwpck_require__(1017)); -const pathHelper = __importStar(__nccwpck_require__(1849)); -const assert_1 = __importDefault(__nccwpck_require__(9491)); -const IS_WINDOWS = process.platform === 'win32'; -/** - * Helper class for parsing paths into segments - */ -class Path { - /** - * Constructs a Path - * @param itemPath Path or array of segments - */ - constructor(itemPath) { - this.segments = []; - // String - if (typeof itemPath === 'string') { - assert_1.default(itemPath, `Parameter 'itemPath' must not be empty`); - // Normalize slashes and trim unnecessary trailing slash - itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); - // Not rooted - if (!pathHelper.hasRoot(itemPath)) { - this.segments = itemPath.split(path.sep); - } - // Rooted - else { - // Add all segments, while not at the root - let remaining = itemPath; - let dir = pathHelper.dirname(remaining); - while (dir !== remaining) { - // Add the segment - const basename = path.basename(remaining); - this.segments.unshift(basename); - // Truncate the last segment - remaining = dir; - dir = pathHelper.dirname(remaining); - } - // Remainder is the root - this.segments.unshift(remaining); - } - } - // Array - else { - // Must not be empty - assert_1.default(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`); - // Each segment - for (let i = 0; i < itemPath.length; i++) { - let segment = itemPath[i]; - // Must not be empty - assert_1.default(segment, `Parameter 'itemPath' must not contain any empty segments`); - // Normalize slashes - segment = pathHelper.normalizeSeparators(itemPath[i]); - // Root segment - if (i === 0 && pathHelper.hasRoot(segment)) { - segment = pathHelper.safeTrimTrailingSeparator(segment); - assert_1.default(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`); - this.segments.push(segment); - } - // All other segments - else { - // Must not contain slash - assert_1.default(!segment.includes(path.sep), `Parameter 'itemPath' contains unexpected path separators`); - this.segments.push(segment); - } - } - } - } - /** - * Converts the path to it's string representation - */ - toString() { - // First segment - let result = this.segments[0]; - // All others - let skipSlash = result.endsWith(path.sep) || (IS_WINDOWS && /^[A-Z]:$/i.test(result)); - for (let i = 1; i < this.segments.length; i++) { - if (skipSlash) { - skipSlash = false; - } - else { - result += path.sep; - } - result += this.segments[i]; - } - return result; - } +function isDefined(value) { + return value !== undefined && value !== null; } -exports.Path = Path; -//# sourceMappingURL=internal-path.js.map -/***/ }), +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} -/***/ 9005: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; -"use strict"; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.partialMatch = exports.match = exports.getSearchPaths = void 0; -const pathHelper = __importStar(__nccwpck_require__(1849)); -const internal_match_kind_1 = __nccwpck_require__(1063); -const IS_WINDOWS = process.platform === 'win32'; -/** - * Given an array of patterns, returns an array of paths to search. - * Duplicates and paths under other included paths are filtered out. - */ -function getSearchPaths(patterns) { - // Ignore negate patterns - patterns = patterns.filter(x => !x.negate); - // Create a map of all search paths - const searchPathMap = {}; - for (const pattern of patterns) { - const key = IS_WINDOWS - ? pattern.searchPath.toUpperCase() - : pattern.searchPath; - searchPathMap[key] = 'candidate'; - } - const result = []; - for (const pattern of patterns) { - // Check if already included - const key = IS_WINDOWS - ? pattern.searchPath.toUpperCase() - : pattern.searchPath; - if (searchPathMap[key] === 'included') { - continue; + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); } - // Check for an ancestor search path - let foundAncestor = false; - let tempKey = key; - let parent = pathHelper.dirname(tempKey); - while (parent !== tempKey) { - if (searchPathMap[parent]) { - foundAncestor = true; - break; + } else { + const tmp = []; + + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); } - tempKey = parent; - parent = pathHelper.dirname(tempKey); + }); } - // Include the search pattern in the result - if (!foundAncestor) { - result.push(pattern.searchPath); - searchPathMap[key] = 'included'; + + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); } + } } - return result; -} -exports.getSearchPaths = getSearchPaths; -/** - * Matches the patterns against the path - */ -function match(patterns, itemPath) { - let result = internal_match_kind_1.MatchKind.None; - for (const pattern of patterns) { - if (pattern.negate) { - result &= ~pattern.match(itemPath); - } - else { - result |= pattern.match(itemPath); - } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); } - return result; + } + + return result; } -exports.match = match; -/** - * Checks whether to descend further into the directory - */ -function partialMatch(patterns, itemPath) { - return patterns.some(x => !x.negate && x.partialMatch(itemPath)); + +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; } -exports.partialMatch = partialMatch; -//# sourceMappingURL=internal-pattern-helper.js.map -/***/ }), +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; -/***/ 4536: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } -"use strict"; + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Pattern = void 0; -const os = __importStar(__nccwpck_require__(2037)); -const path = __importStar(__nccwpck_require__(1017)); -const pathHelper = __importStar(__nccwpck_require__(1849)); -const assert_1 = __importDefault(__nccwpck_require__(9491)); -const minimatch_1 = __nccwpck_require__(3973); -const internal_match_kind_1 = __nccwpck_require__(1063); -const internal_path_1 = __nccwpck_require__(6836); -const IS_WINDOWS = process.platform === 'win32'; -class Pattern { - constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) { - /** - * Indicates whether matches should be excluded from the result set - */ - this.negate = false; - // Pattern overload - let pattern; - if (typeof patternOrNegate === 'string') { - pattern = patternOrNegate.trim(); - } - // Segments overload - else { - // Convert to pattern - segments = segments || []; - assert_1.default(segments.length, `Parameter 'segments' must not empty`); - const root = Pattern.getLiteral(segments[0]); - assert_1.default(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`); - pattern = new internal_path_1.Path(segments).toString().trim(); - if (patternOrNegate) { - pattern = `!${pattern}`; - } - } - // Negate - while (pattern.startsWith('!')) { - this.negate = !this.negate; - pattern = pattern.substr(1).trim(); - } - // Normalize slashes and ensures absolute root - pattern = Pattern.fixupPattern(pattern, homedir); - // Segments - this.segments = new internal_path_1.Path(pattern).segments; - // Trailing slash indicates the pattern should only match directories, not regular files - this.trailingSeparator = pathHelper - .normalizeSeparators(pattern) - .endsWith(path.sep); - pattern = pathHelper.safeTrimTrailingSeparator(pattern); - // Search path (literal path prior to the first glob segment) - let foundGlob = false; - const searchSegments = this.segments - .map(x => Pattern.getLiteral(x)) - .filter(x => !foundGlob && !(foundGlob = x === '')); - this.searchPath = new internal_path_1.Path(searchSegments).toString(); - // Root RegExp (required when determining partial match) - this.rootRegExp = new RegExp(Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? 'i' : ''); - this.isImplicitPattern = isImplicitPattern; - // Create minimatch - const minimatchOptions = { - dot: true, - nobrace: true, - nocase: IS_WINDOWS, - nocomment: true, - noext: true, - nonegate: true - }; - pattern = IS_WINDOWS ? pattern.replace(/\\/g, '/') : pattern; - this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions); - } - /** - * Matches the pattern against the specified path - */ - match(itemPath) { - // Last segment is globstar? - if (this.segments[this.segments.length - 1] === '**') { - // Normalize slashes - itemPath = pathHelper.normalizeSeparators(itemPath); - // Append a trailing slash. Otherwise Minimatch will not match the directory immediately - // preceding the globstar. For example, given the pattern `/foo/**`, Minimatch returns - // false for `/foo` but returns true for `/foo/`. Append a trailing slash to handle that quirk. - if (!itemPath.endsWith(path.sep) && this.isImplicitPattern === false) { - // Note, this is safe because the constructor ensures the pattern has an absolute root. - // For example, formats like C: and C:foo on Windows are resolved to an absolute root. - itemPath = `${itemPath}${path.sep}`; - } - } - else { - // Normalize slashes and trim unnecessary trailing slash - itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); - } - // Match - if (this.minimatch.match(itemPath)) { - return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All; + if (operator && operator !== "+") { + var separator = ","; + + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; } - return internal_match_kind_1.MatchKind.None; + + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); } - /** - * Indicates whether the pattern may match descendants of the specified path - */ - partialMatch(itemPath) { - // Normalize slashes and trim unnecessary trailing slash - itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); - // matchOne does not handle root path correctly - if (pathHelper.dirname(itemPath) === itemPath) { - return this.rootRegExp.test(itemPath); - } - return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\+/ : /\/+/), this.minimatch.set[0], true); + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible + + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later + + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); } - /** - * Escapes glob patterns within a path - */ - static globEscape(s) { - return (IS_WINDOWS ? s : s.replace(/\\/g, '\\\\')) // escape '\' on Linux/macOS - .replace(/(\[)(?=[^/]+\])/g, '[[]') // escape '[' when ']' follows within the path segment - .replace(/\?/g, '[?]') // escape '?' - .replace(/\*/g, '[*]'); // escape '*' + + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); } - /** - * Normalizes slashes and ensures absolute root - */ - static fixupPattern(pattern, homedir) { - // Empty - assert_1.default(pattern, 'pattern cannot be empty'); - // Must not contain `.` segment, unless first segment - // Must not contain `..` segment - const literalSegments = new internal_path_1.Path(pattern).segments.map(x => Pattern.getLiteral(x)); - assert_1.default(literalSegments.every((x, i) => (x !== '.' || i === 0) && x !== '..'), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`); - // Must not contain globs in root, e.g. Windows UNC path \\foo\b*r - assert_1.default(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`); - // Normalize slashes - pattern = pathHelper.normalizeSeparators(pattern); - // Replace leading `.` segment - if (pattern === '.' || pattern.startsWith(`.${path.sep}`)) { - pattern = Pattern.globEscape(process.cwd()) + pattern.substr(1); - } - // Replace leading `~` segment - else if (pattern === '~' || pattern.startsWith(`~${path.sep}`)) { - homedir = homedir || os.homedir(); - assert_1.default(homedir, 'Unable to determine HOME directory'); - assert_1.default(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`); - pattern = Pattern.globEscape(homedir) + pattern.substr(1); - } - // Replace relative drive root, e.g. pattern is C: or C:foo - else if (IS_WINDOWS && - (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\]/i))) { - let root = pathHelper.ensureAbsoluteRoot('C:\\dummy-root', pattern.substr(0, 2)); - if (pattern.length > 2 && !root.endsWith('\\')) { - root += '\\'; - } - pattern = Pattern.globEscape(root) + pattern.substr(2); - } - // Replace relative root, e.g. pattern is \ or \foo - else if (IS_WINDOWS && (pattern === '\\' || pattern.match(/^\\[^\\]/))) { - let root = pathHelper.ensureAbsoluteRoot('C:\\dummy-root', '\\'); - if (!root.endsWith('\\')) { - root += '\\'; - } - pattern = Pattern.globEscape(root) + pattern.substr(1); - } - // Otherwise ensure absolute root - else { - pattern = pathHelper.ensureAbsoluteRoot(Pattern.globEscape(process.cwd()), pattern); - } - return pathHelper.normalizeSeparators(pattern); + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + + + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } else { + headers["content-length"] = 0; + } } - /** - * Attempts to unescape a pattern segment to create a literal path segment. - * Otherwise returns empty string. - */ - static getLiteral(segment) { - let literal = ''; - for (let i = 0; i < segment.length; i++) { - const c = segment[i]; - // Escape - if (c === '\\' && !IS_WINDOWS && i + 1 < segment.length) { - literal += segment[++i]; - continue; - } - // Wildcard - else if (c === '*' || c === '?') { - return ''; - } - // Character set - else if (c === '[' && i + 1 < segment.length) { - let set = ''; - let closed = -1; - for (let i2 = i + 1; i2 < segment.length; i2++) { - const c2 = segment[i2]; - // Escape - if (c2 === '\\' && !IS_WINDOWS && i2 + 1 < segment.length) { - set += segment[++i2]; - continue; - } - // Closed - else if (c2 === ']') { - closed = i2; - break; - } - // Otherwise - else { - set += c2; - } - } - // Closed? - if (closed >= 0) { - // Cannot convert - if (set.length > 1) { - return ''; - } - // Convert to literal - if (set) { - literal += set; - i = closed; - continue; - } - } - // Otherwise fall thru - } - // Append - literal += c; - } - return literal; - } - /** - * Escapes regexp special characters - * https://javascript.info/regexp-escaping - */ - static regExpEscape(s) { - return s.replace(/[[\\^$.|?*+()]/g, '\\$&'); - } -} -exports.Pattern = Pattern; -//# sourceMappingURL=internal-pattern.js.map + } // default content-type for JSON if body is set -/***/ }), -/***/ 9117: -/***/ ((__unused_webpack_module, exports) => { + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string -"use strict"; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SearchState = void 0; -class SearchState { - constructor(path, level) { - this.path = path; - this.level = level; - } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present + + + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); } -exports.SearchState = SearchState; -//# sourceMappingURL=internal-search-state.js.map + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} + +const VERSION = "6.0.12"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. + +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map + /***/ }), -/***/ 5526: -/***/ (function(__unused_webpack_module, exports) { +/***/ 6422: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; + Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; -class BasicCredentialHandler { - constructor(username, password) { - this.username = username; - this.password = password; - } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); - } + +var request = __nccwpck_require__(9353); +var universalUserAgent = __nccwpck_require__(5030); + +const VERSION = "4.8.0"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); } -exports.BasicCredentialHandler = BasicCredentialHandler; -class BearerCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Bearer ${this.token}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); + +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. + + this.errors = response.errors; + this.data = response.data; // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); } + } + } -exports.BearerCredentialHandler = BearerCredentialHandler; -class PersonalAccessTokenCredentialHandler { - constructor(token) { - this.token = token; + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; + } + + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); + + if (!result.variables) { + result.variables = {}; } -} -exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; -//# sourceMappingURL=auth.js.map -/***/ }), + result.variables[key] = parsedOptions[key]; + return result; + }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 -/***/ 6255: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; -"use strict"; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } -/* eslint-disable @typescript-eslint/no-explicit-any */ -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + + return response.data.data; + }); +} + +function withDefaults(request$1, newDefaults) { + const newRequest = request$1.defaults(newDefaults); + + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: request.request.endpoint + }); +} + +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" }); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} + +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 7471: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; -const http = __importStar(__nccwpck_require__(3685)); -const https = __importStar(__nccwpck_require__(5687)); -const pm = __importStar(__nccwpck_require__(9835)); -const tunnel = __importStar(__nccwpck_require__(4294)); -var HttpCodes; -(function (HttpCodes) { - HttpCodes[HttpCodes["OK"] = 200] = "OK"; - HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; - HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; - HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; - HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; - HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; - HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; - HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; - HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; - HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; - HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; -})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); -var Headers; -(function (Headers) { - Headers["Accept"] = "accept"; - Headers["ContentType"] = "content-type"; -})(Headers = exports.Headers || (exports.Headers = {})); -var MediaTypes; -(function (MediaTypes) { - MediaTypes["ApplicationJson"] = "application/json"; -})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = __nccwpck_require__(8932); +var once = _interopDefault(__nccwpck_require__(1223)); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); /** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + * Error with extra properties to help with debugging */ -function getProxyUrl(serverUrl) { - const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; -} -exports.getProxyUrl = getProxyUrl; -const HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect -]; -const HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout -]; -const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; -const ExponentialBackoffCeiling = 10; -const ExponentialBackoffTimeSlice = 5; -class HttpClientError extends Error { - constructor(message, statusCode) { - super(message); - this.name = 'HttpClientError'; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); } -} -exports.HttpClientError = HttpClientError; -class HttpClientResponse { - constructor(message) { - this.message = message; + + this.name = "HttpError"; + this.status = statusCode; + let headers; + + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; } - readBody() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - let output = Buffer.alloc(0); - this.message.on('data', (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', () => { - resolve(output.toString()); - }); - })); - }); + + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } // redact request credentials without mutating original request options + + + const requestCopy = Object.assign({}, options.request); + + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); } + + requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; // deprecations + + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + + }); + } + } -exports.HttpClientResponse = HttpClientResponse; -function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; -} -exports.isHttps = isHttps; -class HttpClient { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - }); - } - get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - }); - } - del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - }); - } - post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - }); - } - patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - }); - } - put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - }); + +exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 9353: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = __nccwpck_require__(8713); +var universalUserAgent = __nccwpck_require__(5030); +var isPlainObject = __nccwpck_require__(3287); +var nodeFetch = _interopDefault(__nccwpck_require__(467)); +var requestError = __nccwpck_require__(7471); + +const VERSION = "5.6.3"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; } - head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - }); + + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); + + if (status === 204 || status === 205) { + return; + } // GitHub API returns 200 for HEAD requests + + + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + + throw new requestError.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined + }, + request: requestOptions + }); } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - const res = yield this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); } - postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + + if (status >= 400) { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; } - putJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + + return getResponseData(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) throw error; + throw new requestError.RequestError(error.message, 500, { + request: requestOptions + }); + }); +} + +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); +} + +function toErrorMessage(data) { + if (typeof data === "string") return data; // istanbul ignore else - just in case + + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; } - patchJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); + + return data.message; + } // istanbul ignore next - just in case + + + return `Unknown error: ${JSON.stringify(data)}`; +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - const parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - // Only perform retries on reads since writes may not be idempotent. - const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) - ? this._maxRetries + 1 - : 1; - let numTries = 0; - let response; - do { - response = yield this.requestRaw(info, data); - // Check if it's an authentication challenge - if (response && - response.message && - response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (const handler of this.handlers) { - if (handler.canHandleAuthentication(response)) { - authenticationHandler = handler; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } - else { - // We have received an unauthorized response but have no handlers to handle it. - // Let the response return to the caller. - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while (response.message.statusCode && - HttpRedirectCodes.includes(response.message.statusCode) && - this._allowRedirects && - redirectsRemaining > 0) { - const redirectUrl = response.message.headers['location']; - if (!redirectUrl) { - // if there's no location to redirect to, we won't - break; - } - const parsedRedirectUrl = new URL(redirectUrl); - if (parsedUrl.protocol === 'https:' && - parsedUrl.protocol !== parsedRedirectUrl.protocol && - !this._allowRedirectDowngrade) { - throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); - } - // we need to finish reading the response before reassigning response - // which will leak the open socket. - yield response.readBody(); - // strip authorization header if redirected to a different hostname - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (const header in headers) { - // header names are case insensitive - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - // let's make the request with the new redirectUrl - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = yield this.requestRaw(info, data); - redirectsRemaining--; - } - if (!response.message.statusCode || - !HttpResponseRetryCodes.includes(response.message.statusCode)) { - // If not a retry code, return immediately instead of retrying - return response; - } - numTries += 1; - if (numTries < maxTries) { - yield response.readBody(); - yield this._performExponentialBackoff(numTries); - } - } while (numTries < maxTries); - return response; - }); - } - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose() { - if (this._agent) { - this._agent.destroy(); + + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} + +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 8090: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.hashFiles = exports.create = void 0; +const internal_globber_1 = __nccwpck_require__(8298); +const internal_hash_files_1 = __nccwpck_require__(2448); +/** + * Constructs a globber + * + * @param patterns Patterns separated by newlines + * @param options Glob options + */ +function create(patterns, options) { + return __awaiter(this, void 0, void 0, function* () { + return yield internal_globber_1.DefaultGlobber.create(patterns, options); + }); +} +exports.create = create; +/** + * Computes the sha256 hash of a glob + * + * @param patterns Patterns separated by newlines + * @param currentWorkspace Workspace used when matching files + * @param options Glob options + * @param verbose Enables verbose logging + */ +function hashFiles(patterns, currentWorkspace = '', options, verbose = false) { + return __awaiter(this, void 0, void 0, function* () { + let followSymbolicLinks = true; + if (options && typeof options.followSymbolicLinks === 'boolean') { + followSymbolicLinks = options.followSymbolicLinks; } - this._disposed = true; - } - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info, data) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - function callbackForResult(err, res) { - if (err) { - reject(err); - } - else if (!res) { - // If `err` is not passed, then `res` must be passed. - reject(new Error('Unknown error')); - } - else { - resolve(res); - } - } - this.requestRawWithCallback(info, data, callbackForResult); - }); - }); - } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info, data, onResult) { - if (typeof data === 'string') { - if (!info.options.headers) { - info.options.headers = {}; - } - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + const globber = yield create(patterns, { followSymbolicLinks }); + return internal_hash_files_1.hashFiles(globber, currentWorkspace, verbose); + }); +} +exports.hashFiles = hashFiles; +//# sourceMappingURL=glob.js.map + +/***/ }), + +/***/ 1026: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOptions = void 0; +const core = __importStar(__nccwpck_require__(2186)); +/** + * Returns a copy with defaults filled in. + */ +function getOptions(copy) { + const result = { + followSymbolicLinks: true, + implicitDescendants: true, + matchDirectories: true, + omitBrokenSymbolicLinks: true + }; + if (copy) { + if (typeof copy.followSymbolicLinks === 'boolean') { + result.followSymbolicLinks = copy.followSymbolicLinks; + core.debug(`followSymbolicLinks '${result.followSymbolicLinks}'`); } - let callbackCalled = false; - function handleResult(err, res) { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } + if (typeof copy.implicitDescendants === 'boolean') { + result.implicitDescendants = copy.implicitDescendants; + core.debug(`implicitDescendants '${result.implicitDescendants}'`); } - const req = info.httpModule.request(info.options, (msg) => { - const res = new HttpClientResponse(msg); - handleResult(undefined, res); - }); - let socket; - req.on('socket', sock => { - socket = sock; - }); - // If we ever get disconnected, we want the socket to timeout eventually - req.setTimeout(this._socketTimeout || 3 * 60000, () => { - if (socket) { - socket.end(); - } - handleResult(new Error(`Request timeout: ${info.options.path}`)); - }); - req.on('error', function (err) { - // err has statusCode property - // res should have headers - handleResult(err); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); - } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } - else { - req.end(); - } - } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl) { - const parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port - ? parseInt(info.parsedUrl.port) - : defaultPort; - info.options.path = - (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - // gives handlers an opportunity to participate - if (this.handlers) { - for (const handler of this.handlers) { - handler.prepareRequest(info.options); - } - } - return info; - } - _mergeHeaders(headers) { - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); - } - return lowercaseKeys(headers || {}); - } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; - } - _getAgent(parsedUrl) { - let agent; - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - // if agent is already assigned use that agent. - if (agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; - } - // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. - if (proxyUrl && proxyUrl.hostname) { - const agentOptions = { - maxSockets, - keepAlive: this._keepAlive, - proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - })), { host: proxyUrl.hostname, port: proxyUrl.port }) - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; - } - else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; - } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - // if reusing agent across request and tunneling agent isn't assigned create a new agent - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; - } - // if not using private agent and tunnel agent isn't setup then use global agent - if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; + if (typeof copy.matchDirectories === 'boolean') { + result.matchDirectories = copy.matchDirectories; + core.debug(`matchDirectories '${result.matchDirectories}'`); } - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); + if (typeof copy.omitBrokenSymbolicLinks === 'boolean') { + result.omitBrokenSymbolicLinks = copy.omitBrokenSymbolicLinks; + core.debug(`omitBrokenSymbolicLinks '${result.omitBrokenSymbolicLinks}'`); } - return agent; - } - _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - }); - } - _processResponse(res, options) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - const statusCode = res.message.statusCode || 0; - const response = { - statusCode, - result: null, - headers: {} - }; - // not found leads to null obj returned - if (statusCode === HttpCodes.NotFound) { - resolve(response); - } - // get the result from the body - function dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - const a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - let obj; - let contents; - try { - contents = yield res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, dateTimeDeserializer); - } - else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } - catch (err) { - // Invalid resource (contents not json); leaving result obj null - } - // note that 3xx redirects are handled by the http layer. - if (statusCode > 299) { - let msg; - // if exception/error in body, attempt to get better error - if (obj && obj.message) { - msg = obj.message; - } - else if (contents && contents.length > 0) { - // it may be the case that the exception is in the body message as string - msg = contents; - } - else { - msg = `Failed request: (${statusCode})`; - } - const err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } - else { - resolve(response); - } - })); - }); } + return result; } -exports.HttpClient = HttpClient; -const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); -//# sourceMappingURL=index.js.map +exports.getOptions = getOptions; +//# sourceMappingURL=internal-glob-options-helper.js.map /***/ }), -/***/ 9835: -/***/ ((__unused_webpack_module, exports) => { +/***/ 8298: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.checkBypass = exports.getProxyUrl = void 0; -function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === 'https:'; - if (checkBypass(reqUrl)) { - return undefined; - } - const proxyVar = (() => { - if (usingSsl) { - return process.env['https_proxy'] || process.env['HTTPS_PROXY']; - } - else { - return process.env['http_proxy'] || process.env['HTTP_PROXY']; - } - })(); - if (proxyVar) { - return new URL(proxyVar); - } - else { - return undefined; - } -} -exports.getProxyUrl = getProxyUrl; -function checkBypass(reqUrl) { - if (!reqUrl.hostname) { - return false; - } - const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; - if (!noProxy) { - return false; - } - // Determine the request port - let reqPort; - if (reqUrl.port) { - reqPort = Number(reqUrl.port); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __asyncValues = (this && this.__asyncValues) || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +}; +var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } +var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DefaultGlobber = void 0; +const core = __importStar(__nccwpck_require__(2186)); +const fs = __importStar(__nccwpck_require__(7147)); +const globOptionsHelper = __importStar(__nccwpck_require__(1026)); +const path = __importStar(__nccwpck_require__(1017)); +const patternHelper = __importStar(__nccwpck_require__(9005)); +const internal_match_kind_1 = __nccwpck_require__(1063); +const internal_pattern_1 = __nccwpck_require__(4536); +const internal_search_state_1 = __nccwpck_require__(9117); +const IS_WINDOWS = process.platform === 'win32'; +class DefaultGlobber { + constructor(options) { + this.patterns = []; + this.searchPaths = []; + this.options = globOptionsHelper.getOptions(options); } - else if (reqUrl.protocol === 'http:') { - reqPort = 80; + getSearchPaths() { + // Return a copy + return this.searchPaths.slice(); } - else if (reqUrl.protocol === 'https:') { - reqPort = 443; + glob() { + var e_1, _a; + return __awaiter(this, void 0, void 0, function* () { + const result = []; + try { + for (var _b = __asyncValues(this.globGenerator()), _c; _c = yield _b.next(), !_c.done;) { + const itemPath = _c.value; + result.push(itemPath); + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b); + } + finally { if (e_1) throw e_1.error; } + } + return result; + }); } - // Format the request hostname and hostname with port - const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { - upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + globGenerator() { + return __asyncGenerator(this, arguments, function* globGenerator_1() { + // Fill in defaults options + const options = globOptionsHelper.getOptions(this.options); + // Implicit descendants? + const patterns = []; + for (const pattern of this.patterns) { + patterns.push(pattern); + if (options.implicitDescendants && + (pattern.trailingSeparator || + pattern.segments[pattern.segments.length - 1] !== '**')) { + patterns.push(new internal_pattern_1.Pattern(pattern.negate, true, pattern.segments.concat('**'))); + } + } + // Push the search paths + const stack = []; + for (const searchPath of patternHelper.getSearchPaths(patterns)) { + core.debug(`Search path '${searchPath}'`); + // Exists? + try { + // Intentionally using lstat. Detection for broken symlink + // will be performed later (if following symlinks). + yield __await(fs.promises.lstat(searchPath)); + } + catch (err) { + if (err.code === 'ENOENT') { + continue; + } + throw err; + } + stack.unshift(new internal_search_state_1.SearchState(searchPath, 1)); + } + // Search + const traversalChain = []; // used to detect cycles + while (stack.length) { + // Pop + const item = stack.pop(); + // Match? + const match = patternHelper.match(patterns, item.path); + const partialMatch = !!match || patternHelper.partialMatch(patterns, item.path); + if (!match && !partialMatch) { + continue; + } + // Stat + const stats = yield __await(DefaultGlobber.stat(item, options, traversalChain) + // Broken symlink, or symlink cycle detected, or no longer exists + ); + // Broken symlink, or symlink cycle detected, or no longer exists + if (!stats) { + continue; + } + // Directory + if (stats.isDirectory()) { + // Matched + if (match & internal_match_kind_1.MatchKind.Directory && options.matchDirectories) { + yield yield __await(item.path); + } + // Descend? + else if (!partialMatch) { + continue; + } + // Push the child items in reverse + const childLevel = item.level + 1; + const childItems = (yield __await(fs.promises.readdir(item.path))).map(x => new internal_search_state_1.SearchState(path.join(item.path, x), childLevel)); + stack.push(...childItems.reverse()); + } + // File + else if (match & internal_match_kind_1.MatchKind.File) { + yield yield __await(item.path); + } + } + }); } - // Compare request host against noproxy - for (const upperNoProxyItem of noProxy - .split(',') - .map(x => x.trim().toUpperCase()) - .filter(x => x)) { - if (upperReqHosts.some(x => x === upperNoProxyItem)) { - return true; - } + /** + * Constructs a DefaultGlobber + */ + static create(patterns, options) { + return __awaiter(this, void 0, void 0, function* () { + const result = new DefaultGlobber(options); + if (IS_WINDOWS) { + patterns = patterns.replace(/\r\n/g, '\n'); + patterns = patterns.replace(/\r/g, '\n'); + } + const lines = patterns.split('\n').map(x => x.trim()); + for (const line of lines) { + // Empty or comment + if (!line || line.startsWith('#')) { + continue; + } + // Pattern + else { + result.patterns.push(new internal_pattern_1.Pattern(line)); + } + } + result.searchPaths.push(...patternHelper.getSearchPaths(result.patterns)); + return result; + }); + } + static stat(item, options, traversalChain) { + return __awaiter(this, void 0, void 0, function* () { + // Note: + // `stat` returns info about the target of a symlink (or symlink chain) + // `lstat` returns info about a symlink itself + let stats; + if (options.followSymbolicLinks) { + try { + // Use `stat` (following symlinks) + stats = yield fs.promises.stat(item.path); + } + catch (err) { + if (err.code === 'ENOENT') { + if (options.omitBrokenSymbolicLinks) { + core.debug(`Broken symlink '${item.path}'`); + return undefined; + } + throw new Error(`No information found for the path '${item.path}'. This may indicate a broken symbolic link.`); + } + throw err; + } + } + else { + // Use `lstat` (not following symlinks) + stats = yield fs.promises.lstat(item.path); + } + // Note, isDirectory() returns false for the lstat of a symlink + if (stats.isDirectory() && options.followSymbolicLinks) { + // Get the realpath + const realPath = yield fs.promises.realpath(item.path); + // Fixup the traversal chain to match the item level + while (traversalChain.length >= item.level) { + traversalChain.pop(); + } + // Test for a cycle + if (traversalChain.some((x) => x === realPath)) { + core.debug(`Symlink cycle detected for path '${item.path}' and realpath '${realPath}'`); + return undefined; + } + // Update the traversal chain + traversalChain.push(realPath); + } + return stats; + }); } - return false; } -exports.checkBypass = checkBypass; -//# sourceMappingURL=proxy.js.map +exports.DefaultGlobber = DefaultGlobber; +//# sourceMappingURL=internal-globber.js.map /***/ }), -/***/ 334: -/***/ ((__unused_webpack_module, exports) => { +/***/ 2448: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; - return { - type: "token", - token: token, - tokenType - }; -} - -/** - * Prefix token for usage in the Authorization header - * - * @param token OAuth token or JSON Web Token - */ -function withAuthorizationPrefix(token) { - if (token.split(/\./).length === 3) { - return `bearer ${token}`; - } - - return `token ${token}`; -} - -async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); -} - -const createTokenAuth = function createTokenAuth(token) { - if (!token) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); - } - - if (typeof token !== "string") { - throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); - } - - token = token.replace(/^(token|bearer) +/i, ""); - return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) - }); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; }; - -exports.createTokenAuth = createTokenAuth; -//# sourceMappingURL=index.js.map - +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __asyncValues = (this && this.__asyncValues) || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.hashFiles = void 0; +const crypto = __importStar(__nccwpck_require__(6113)); +const core = __importStar(__nccwpck_require__(2186)); +const fs = __importStar(__nccwpck_require__(7147)); +const stream = __importStar(__nccwpck_require__(2781)); +const util = __importStar(__nccwpck_require__(3837)); +const path = __importStar(__nccwpck_require__(1017)); +function hashFiles(globber, currentWorkspace, verbose = false) { + var e_1, _a; + var _b; + return __awaiter(this, void 0, void 0, function* () { + const writeDelegate = verbose ? core.info : core.debug; + let hasMatch = false; + const githubWorkspace = currentWorkspace + ? currentWorkspace + : (_b = process.env['GITHUB_WORKSPACE']) !== null && _b !== void 0 ? _b : process.cwd(); + const result = crypto.createHash('sha256'); + let count = 0; + try { + for (var _c = __asyncValues(globber.globGenerator()), _d; _d = yield _c.next(), !_d.done;) { + const file = _d.value; + writeDelegate(file); + if (!file.startsWith(`${githubWorkspace}${path.sep}`)) { + writeDelegate(`Ignore '${file}' since it is not under GITHUB_WORKSPACE.`); + continue; + } + if (fs.statSync(file).isDirectory()) { + writeDelegate(`Skip directory '${file}'.`); + continue; + } + const hash = crypto.createHash('sha256'); + const pipeline = util.promisify(stream.pipeline); + yield pipeline(fs.createReadStream(file), hash); + result.write(hash.digest()); + count++; + if (!hasMatch) { + hasMatch = true; + } + } + } + catch (e_1_1) { e_1 = { error: e_1_1 }; } + finally { + try { + if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c); + } + finally { if (e_1) throw e_1.error; } + } + result.end(); + if (hasMatch) { + writeDelegate(`Found ${count} files to hash.`); + return result.digest('hex'); + } + else { + writeDelegate(`No matches found for glob`); + return ''; + } + }); +} +exports.hashFiles = hashFiles; +//# sourceMappingURL=internal-hash-files.js.map /***/ }), -/***/ 6762: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 1063: +/***/ ((__unused_webpack_module, exports) => { "use strict"; - Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MatchKind = void 0; +/** + * Indicates whether a pattern matches a path + */ +var MatchKind; +(function (MatchKind) { + /** Not matched */ + MatchKind[MatchKind["None"] = 0] = "None"; + /** Matched if the path is a directory */ + MatchKind[MatchKind["Directory"] = 1] = "Directory"; + /** Matched if the path is a regular file */ + MatchKind[MatchKind["File"] = 2] = "File"; + /** Matched */ + MatchKind[MatchKind["All"] = 3] = "All"; +})(MatchKind = exports.MatchKind || (exports.MatchKind = {})); +//# sourceMappingURL=internal-match-kind.js.map -var universalUserAgent = __nccwpck_require__(5030); -var beforeAfterHook = __nccwpck_require__(3682); -var request = __nccwpck_require__(6234); -var graphql = __nccwpck_require__(8467); -var authToken = __nccwpck_require__(334); - -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } - - return target; -} - -function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - - var target = _objectWithoutPropertiesLoose(source, excluded); +/***/ }), - var key, i; +/***/ 1849: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); +"use strict"; - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.safeTrimTrailingSeparator = exports.normalizeSeparators = exports.hasRoot = exports.hasAbsoluteRoot = exports.ensureAbsoluteRoot = exports.dirname = void 0; +const path = __importStar(__nccwpck_require__(1017)); +const assert_1 = __importDefault(__nccwpck_require__(9491)); +const IS_WINDOWS = process.platform === 'win32'; +/** + * Similar to path.dirname except normalizes the path separators and slightly better handling for Windows UNC paths. + * + * For example, on Linux/macOS: + * - `/ => /` + * - `/hello => /` + * + * For example, on Windows: + * - `C:\ => C:\` + * - `C:\hello => C:\` + * - `C: => C:` + * - `C:hello => C:` + * - `\ => \` + * - `\hello => \` + * - `\\hello => \\hello` + * - `\\hello\world => \\hello\world` + */ +function dirname(p) { + // Normalize slashes and trim unnecessary trailing slash + p = safeTrimTrailingSeparator(p); + // Windows UNC root, e.g. \\hello or \\hello\world + if (IS_WINDOWS && /^\\\\[^\\]+(\\[^\\]+)?$/.test(p)) { + return p; } - } - - return target; -} - -const VERSION = "3.6.0"; - -const _excluded = ["authStrategy"]; -class Octokit { - constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); - const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, - headers: {}, - request: Object.assign({}, options.request, { - // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request") - }), - mediaType: { - previews: [], - format: "" - } - }; // prepend default user agent with `options.userAgent` if set - - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); - - if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; - } - - if (options.previews) { - requestDefaults.mediaType.previews = options.previews; + // Get dirname + let result = path.dirname(p); + // Trim trailing slash for Windows UNC root, e.g. \\hello\world\ + if (IS_WINDOWS && /^\\\\[^\\]+\\[^\\]+\\$/.test(result)) { + result = safeTrimTrailingSeparator(result); } - - if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; + return result; +} +exports.dirname = dirname; +/** + * Roots the path if not already rooted. On Windows, relative roots like `\` + * or `C:` are expanded based on the current working directory. + */ +function ensureAbsoluteRoot(root, itemPath) { + assert_1.default(root, `ensureAbsoluteRoot parameter 'root' must not be empty`); + assert_1.default(itemPath, `ensureAbsoluteRoot parameter 'itemPath' must not be empty`); + // Already rooted + if (hasAbsoluteRoot(itemPath)) { + return itemPath; } - - this.request = request.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, options.log); - this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. - - if (!options.authStrategy) { - if (!options.auth) { - // (1) - this.auth = async () => ({ - type: "unauthenticated" - }); - } else { - // (2) - const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ - - hook.wrap("request", auth.hook); - this.auth = auth; - } - } else { - const { - authStrategy - } = options, - otherOptions = _objectWithoutProperties(options, _excluded); - - const auth = authStrategy(Object.assign({ - request: this.request, - log: this.log, - // we pass the current octokit instance as well as its constructor options - // to allow for authentication strategies that return a new octokit instance - // that shares the same internal state as the current one. The original - // requirement for this was the "event-octokit" authentication strategy - // of https://github.com/probot/octokit-auth-probot. - octokit: this, - octokitOptions: otherOptions - }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ - - hook.wrap("request", auth.hook); - this.auth = auth; - } // apply plugins - // https://stackoverflow.com/a/16345172 - - - const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { - Object.assign(this, plugin(this, options)); - }); - } - - static defaults(defaults) { - const OctokitWithDefaults = class extends this { - constructor(...args) { - const options = args[0] || {}; - - if (typeof defaults === "function") { - super(defaults(options)); - return; + // Windows + if (IS_WINDOWS) { + // Check for itemPath like C: or C:foo + if (itemPath.match(/^[A-Z]:[^\\/]|^[A-Z]:$/i)) { + let cwd = process.cwd(); + assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); + // Drive letter matches cwd? Expand to cwd + if (itemPath[0].toUpperCase() === cwd[0].toUpperCase()) { + // Drive only, e.g. C: + if (itemPath.length === 2) { + // Preserve specified drive letter case (upper or lower) + return `${itemPath[0]}:\\${cwd.substr(3)}`; + } + // Drive + path, e.g. C:foo + else { + if (!cwd.endsWith('\\')) { + cwd += '\\'; + } + // Preserve specified drive letter case (upper or lower) + return `${itemPath[0]}:\\${cwd.substr(3)}${itemPath.substr(2)}`; + } + } + // Different drive + else { + return `${itemPath[0]}:\\${itemPath.substr(2)}`; + } + } + // Check for itemPath like \ or \foo + else if (normalizeSeparators(itemPath).match(/^\\$|^\\[^\\]/)) { + const cwd = process.cwd(); + assert_1.default(cwd.match(/^[A-Z]:\\/i), `Expected current directory to start with an absolute drive root. Actual '${cwd}'`); + return `${cwd[0]}:\\${itemPath.substr(1)}`; } - - super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` - } : null)); - } - - }; - return OctokitWithDefaults; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - - - static plugin(...newPlugins) { - var _a; - - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); - return NewOctokit; - } - -} -Octokit.VERSION = VERSION; -Octokit.plugins = []; - -exports.Octokit = Octokit; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 9440: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -var isPlainObject = __nccwpck_require__(3287); -var universalUserAgent = __nccwpck_require__(5030); - -function lowercaseKeys(object) { - if (!object) { - return {}; - } - - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} - -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject.isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { - [key]: options[key] - });else result[key] = mergeDeep(defaults[key], options[key]); - } else { - Object.assign(result, { - [key]: options[key] - }); } - }); - return result; + assert_1.default(hasAbsoluteRoot(root), `ensureAbsoluteRoot parameter 'root' must have an absolute root`); + // Otherwise ensure root ends with a separator + if (root.endsWith('/') || (IS_WINDOWS && root.endsWith('\\'))) { + // Intentionally empty + } + else { + // Append separator + root += path.sep; + } + return root + itemPath; } - -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === undefined) { - delete obj[key]; +exports.ensureAbsoluteRoot = ensureAbsoluteRoot; +/** + * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: + * `\\hello\share` and `C:\hello` (and using alternate separator). + */ +function hasAbsoluteRoot(itemPath) { + assert_1.default(itemPath, `hasAbsoluteRoot parameter 'itemPath' must not be empty`); + // Normalize separators + itemPath = normalizeSeparators(itemPath); + // Windows + if (IS_WINDOWS) { + // E.g. \\hello\share or C:\hello + return itemPath.startsWith('\\\\') || /^[A-Z]:\\/i.test(itemPath); } - } - - return obj; + // E.g. /hello + return itemPath.startsWith('/'); } - -function merge(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { - method, - url - } : { - url: method - }, options); - } else { - options = Object.assign({}, route); - } // lowercase header names before merging with defaults to avoid duplicates - - - options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging - - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten - - if (defaults && defaults.mediaType.previews.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); - } - - mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); - return mergedOptions; -} - -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - - if (names.length === 0) { - return url; - } - - return url + separator + names.map(name => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); +exports.hasAbsoluteRoot = hasAbsoluteRoot; +/** + * On Linux/macOS, true if path starts with `/`. On Windows, true for paths like: + * `\`, `\hello`, `\\hello\share`, `C:`, and `C:\hello` (and using alternate separator). + */ +function hasRoot(itemPath) { + assert_1.default(itemPath, `isRooted parameter 'itemPath' must not be empty`); + // Normalize separators + itemPath = normalizeSeparators(itemPath); + // Windows + if (IS_WINDOWS) { + // E.g. \ or \hello or \\hello + // E.g. C: or C:\hello + return itemPath.startsWith('\\') || /^[A-Z]:/i.test(itemPath); } - - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} - -const urlVariableRegex = /\{[^}]+\}/g; - -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); -} - -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - - if (!matches) { - return []; - } - - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -function omit(object, keysToOmit) { - return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); + // E.g. /hello + return itemPath.startsWith('/'); } - -// Based on https://github.com/bramstein/url-template, licensed under BSD -// TODO: create separate package. -// -// Copyright (c) 2012-2014, Bram Stein -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -/* istanbul ignore file */ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); +exports.hasRoot = hasRoot; +/** + * Removes redundant slashes and converts `/` to `\` on Windows + */ +function normalizeSeparators(p) { + p = p || ''; + // Windows + if (IS_WINDOWS) { + // Convert slashes on Windows + p = p.replace(/\//g, '\\'); + // Remove redundant slashes + const isUnc = /^\\\\+[^\\]/.test(p); // e.g. \\hello + return (isUnc ? '\\' : '') + p.replace(/\\\\+/g, '\\'); // preserve leading \\ for UNC } - - return part; - }).join(""); -} - -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} - -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} - -function isDefined(value) { - return value !== undefined && value !== null; -} - -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; + // Remove redundant slashes + return p.replace(/\/\/+/g, '/'); } - -function getValues(context, operator, key, modifier) { - var value = context[key], - result = []; - - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - tmp.push(encodeValue(operator, value)); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } +exports.normalizeSeparators = normalizeSeparators; +/** + * Normalizes the path separators and trims the trailing separator (when safe). + * For example, `/foo/ => /foo` but `/ => /` + */ +function safeTrimTrailingSeparator(p) { + // Short-circuit if empty + if (!p) { + return ''; } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); + // Normalize separators + p = normalizeSeparators(p); + // No trailing slash + if (!p.endsWith(path.sep)) { + return p; } - } - - return result; + // Check '/' on Linux/macOS and '\' on Windows + if (p === path.sep) { + return p; + } + // On Windows check if drive root. E.g. C:\ + if (IS_WINDOWS && /^[A-Z]:\\$/i.test(p)) { + return p; + } + // Otherwise trim trailing slash + return p.substr(0, p.length - 1); } +exports.safeTrimTrailingSeparator = safeTrimTrailingSeparator; +//# sourceMappingURL=internal-path-helper.js.map -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} +/***/ }), -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; +/***/ 6836: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } +"use strict"; - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - - if (operator && operator !== "+") { - var separator = ","; - - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Path = void 0; +const path = __importStar(__nccwpck_require__(1017)); +const pathHelper = __importStar(__nccwpck_require__(1849)); +const assert_1 = __importDefault(__nccwpck_require__(9491)); +const IS_WINDOWS = process.platform === 'win32'; +/** + * Helper class for parsing paths into segments + */ +class Path { + /** + * Constructs a Path + * @param itemPath Path or array of segments + */ + constructor(itemPath) { + this.segments = []; + // String + if (typeof itemPath === 'string') { + assert_1.default(itemPath, `Parameter 'itemPath' must not be empty`); + // Normalize slashes and trim unnecessary trailing slash + itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); + // Not rooted + if (!pathHelper.hasRoot(itemPath)) { + this.segments = itemPath.split(path.sep); + } + // Rooted + else { + // Add all segments, while not at the root + let remaining = itemPath; + let dir = pathHelper.dirname(remaining); + while (dir !== remaining) { + // Add the segment + const basename = path.basename(remaining); + this.segments.unshift(basename); + // Truncate the last segment + remaining = dir; + dir = pathHelper.dirname(remaining); + } + // Remainder is the root + this.segments.unshift(remaining); + } + } + // Array + else { + // Must not be empty + assert_1.default(itemPath.length > 0, `Parameter 'itemPath' must not be an empty array`); + // Each segment + for (let i = 0; i < itemPath.length; i++) { + let segment = itemPath[i]; + // Must not be empty + assert_1.default(segment, `Parameter 'itemPath' must not contain any empty segments`); + // Normalize slashes + segment = pathHelper.normalizeSeparators(itemPath[i]); + // Root segment + if (i === 0 && pathHelper.hasRoot(segment)) { + segment = pathHelper.safeTrimTrailingSeparator(segment); + assert_1.default(segment === pathHelper.dirname(segment), `Parameter 'itemPath' root segment contains information for multiple segments`); + this.segments.push(segment); + } + // All other segments + else { + // Must not contain slash + assert_1.default(!segment.includes(path.sep), `Parameter 'itemPath' contains unexpected path separators`); + this.segments.push(segment); + } + } } - - return (values.length !== 0 ? operator : "") + values.join(separator); - } else { - return values.join(","); - } - } else { - return encodeReserved(literal); } - }); + /** + * Converts the path to it's string representation + */ + toString() { + // First segment + let result = this.segments[0]; + // All others + let skipSlash = result.endsWith(path.sep) || (IS_WINDOWS && /^[A-Z]:$/i.test(result)); + for (let i = 1; i < this.segments.length; i++) { + if (skipSlash) { + skipSlash = false; + } + else { + result += path.sep; + } + result += this.segments[i]; + } + return result; + } } +exports.Path = Path; +//# sourceMappingURL=internal-path.js.map -function parse(options) { - // https://fetch.spec.whatwg.org/#methods - let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible - - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later - - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); +/***/ }), - if (!/^http/.test(url)) { - url = options.baseUrl + url; - } +/***/ 9005: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); +"use strict"; - if (!isBinaryRequest) { - if (options.mediaType.format) { - // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw - headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.partialMatch = exports.match = exports.getSearchPaths = void 0; +const pathHelper = __importStar(__nccwpck_require__(1849)); +const internal_match_kind_1 = __nccwpck_require__(1063); +const IS_WINDOWS = process.platform === 'win32'; +/** + * Given an array of patterns, returns an array of paths to search. + * Duplicates and paths under other included paths are filtered out. + */ +function getSearchPaths(patterns) { + // Ignore negate patterns + patterns = patterns.filter(x => !x.negate); + // Create a map of all search paths + const searchPathMap = {}; + for (const pattern of patterns) { + const key = IS_WINDOWS + ? pattern.searchPath.toUpperCase() + : pattern.searchPath; + searchPathMap[key] = 'candidate'; } - - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); + const result = []; + for (const pattern of patterns) { + // Check if already included + const key = IS_WINDOWS + ? pattern.searchPath.toUpperCase() + : pattern.searchPath; + if (searchPathMap[key] === 'included') { + continue; + } + // Check for an ancestor search path + let foundAncestor = false; + let tempKey = key; + let parent = pathHelper.dirname(tempKey); + while (parent !== tempKey) { + if (searchPathMap[parent]) { + foundAncestor = true; + break; + } + tempKey = parent; + parent = pathHelper.dirname(tempKey); + } + // Include the search pattern in the result + if (!foundAncestor) { + result.push(pattern.searchPath); + searchPathMap[key] = 'included'; + } } - } // for GET/HEAD requests, set URL query parameters from remaining parameters - // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + return result; +} +exports.getSearchPaths = getSearchPaths; +/** + * Matches the patterns against the path + */ +function match(patterns, itemPath) { + let result = internal_match_kind_1.MatchKind.None; + for (const pattern of patterns) { + if (pattern.negate) { + result &= ~pattern.match(itemPath); + } + else { + result |= pattern.match(itemPath); + } + } + return result; +} +exports.match = match; +/** + * Checks whether to descend further into the directory + */ +function partialMatch(patterns, itemPath) { + return patterns.some(x => !x.negate && x.partialMatch(itemPath)); +} +exports.partialMatch = partialMatch; +//# sourceMappingURL=internal-pattern-helper.js.map +/***/ }), - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } else { - headers["content-length"] = 0; - } - } - } // default content-type for JSON if body is set - - - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. - // fetch does not allow to set `content-length` header, but we can set body to an empty string - - - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } // Only return body/request keys if present - - - return Object.assign({ - method, - url, - headers - }, typeof body !== "undefined" ? { - body - } : null, options.request ? { - request: options.request - } : null); -} - -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); -} - -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse - }); -} - -const VERSION = "6.0.12"; - -const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. -// So we use RequestParameters and add method as additional required property. - -const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "", - previews: [] - } -}; - -const endpoint = withDefaults(null, DEFAULTS); - -exports.endpoint = endpoint; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 8467: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 4536: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; - +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", ({ value: true })); - -var request = __nccwpck_require__(6234); -var universalUserAgent = __nccwpck_require__(5030); - -const VERSION = "4.8.0"; - -function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); -} - -class GraphqlResponseError extends Error { - constructor(request, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties. - - this.errors = response.errors; - this.data = response.data; // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } - -} - -const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, query, options) { - if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); +exports.Pattern = void 0; +const os = __importStar(__nccwpck_require__(2037)); +const path = __importStar(__nccwpck_require__(1017)); +const pathHelper = __importStar(__nccwpck_require__(1849)); +const assert_1 = __importDefault(__nccwpck_require__(9491)); +const minimatch_1 = __nccwpck_require__(3973); +const internal_match_kind_1 = __nccwpck_require__(1063); +const internal_path_1 = __nccwpck_require__(6836); +const IS_WINDOWS = process.platform === 'win32'; +class Pattern { + constructor(patternOrNegate, isImplicitPattern = false, segments, homedir) { + /** + * Indicates whether matches should be excluded from the result set + */ + this.negate = false; + // Pattern overload + let pattern; + if (typeof patternOrNegate === 'string') { + pattern = patternOrNegate.trim(); + } + // Segments overload + else { + // Convert to pattern + segments = segments || []; + assert_1.default(segments.length, `Parameter 'segments' must not empty`); + const root = Pattern.getLiteral(segments[0]); + assert_1.default(root && pathHelper.hasAbsoluteRoot(root), `Parameter 'segments' first element must be a root path`); + pattern = new internal_path_1.Path(segments).toString().trim(); + if (patternOrNegate) { + pattern = `!${pattern}`; + } + } + // Negate + while (pattern.startsWith('!')) { + this.negate = !this.negate; + pattern = pattern.substr(1).trim(); + } + // Normalize slashes and ensures absolute root + pattern = Pattern.fixupPattern(pattern, homedir); + // Segments + this.segments = new internal_path_1.Path(pattern).segments; + // Trailing slash indicates the pattern should only match directories, not regular files + this.trailingSeparator = pathHelper + .normalizeSeparators(pattern) + .endsWith(path.sep); + pattern = pathHelper.safeTrimTrailingSeparator(pattern); + // Search path (literal path prior to the first glob segment) + let foundGlob = false; + const searchSegments = this.segments + .map(x => Pattern.getLiteral(x)) + .filter(x => !foundGlob && !(foundGlob = x === '')); + this.searchPath = new internal_path_1.Path(searchSegments).toString(); + // Root RegExp (required when determining partial match) + this.rootRegExp = new RegExp(Pattern.regExpEscape(searchSegments[0]), IS_WINDOWS ? 'i' : ''); + this.isImplicitPattern = isImplicitPattern; + // Create minimatch + const minimatchOptions = { + dot: true, + nobrace: true, + nocase: IS_WINDOWS, + nocomment: true, + noext: true, + nonegate: true + }; + pattern = IS_WINDOWS ? pattern.replace(/\\/g, '/') : pattern; + this.minimatch = new minimatch_1.Minimatch(pattern, minimatchOptions); } - - for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; - return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + /** + * Matches the pattern against the specified path + */ + match(itemPath) { + // Last segment is globstar? + if (this.segments[this.segments.length - 1] === '**') { + // Normalize slashes + itemPath = pathHelper.normalizeSeparators(itemPath); + // Append a trailing slash. Otherwise Minimatch will not match the directory immediately + // preceding the globstar. For example, given the pattern `/foo/**`, Minimatch returns + // false for `/foo` but returns true for `/foo/`. Append a trailing slash to handle that quirk. + if (!itemPath.endsWith(path.sep) && this.isImplicitPattern === false) { + // Note, this is safe because the constructor ensures the pattern has an absolute root. + // For example, formats like C: and C:foo on Windows are resolved to an absolute root. + itemPath = `${itemPath}${path.sep}`; + } + } + else { + // Normalize slashes and trim unnecessary trailing slash + itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); + } + // Match + if (this.minimatch.match(itemPath)) { + return this.trailingSeparator ? internal_match_kind_1.MatchKind.Directory : internal_match_kind_1.MatchKind.All; + } + return internal_match_kind_1.MatchKind.None; } - } - - const parsedOptions = typeof query === "string" ? Object.assign({ - query - }, options) : query; - const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { - if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = parsedOptions[key]; - return result; + /** + * Indicates whether the pattern may match descendants of the specified path + */ + partialMatch(itemPath) { + // Normalize slashes and trim unnecessary trailing slash + itemPath = pathHelper.safeTrimTrailingSeparator(itemPath); + // matchOne does not handle root path correctly + if (pathHelper.dirname(itemPath) === itemPath) { + return this.rootRegExp.test(itemPath); + } + return this.minimatch.matchOne(itemPath.split(IS_WINDOWS ? /\\+/ : /\/+/), this.minimatch.set[0], true); } - - if (!result.variables) { - result.variables = {}; + /** + * Escapes glob patterns within a path + */ + static globEscape(s) { + return (IS_WINDOWS ? s : s.replace(/\\/g, '\\\\')) // escape '\' on Linux/macOS + .replace(/(\[)(?=[^/]+\])/g, '[[]') // escape '[' when ']' follows within the path segment + .replace(/\?/g, '[?]') // escape '?' + .replace(/\*/g, '[*]'); // escape '*' } - - result.variables[key] = parsedOptions[key]; - return result; - }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix - // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 - - const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; - - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); - } - - return request(requestOptions).then(response => { - if (response.data.errors) { - const headers = {}; - - for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; - } - - throw new GraphqlResponseError(requestOptions, headers, response.data); + /** + * Normalizes slashes and ensures absolute root + */ + static fixupPattern(pattern, homedir) { + // Empty + assert_1.default(pattern, 'pattern cannot be empty'); + // Must not contain `.` segment, unless first segment + // Must not contain `..` segment + const literalSegments = new internal_path_1.Path(pattern).segments.map(x => Pattern.getLiteral(x)); + assert_1.default(literalSegments.every((x, i) => (x !== '.' || i === 0) && x !== '..'), `Invalid pattern '${pattern}'. Relative pathing '.' and '..' is not allowed.`); + // Must not contain globs in root, e.g. Windows UNC path \\foo\b*r + assert_1.default(!pathHelper.hasRoot(pattern) || literalSegments[0], `Invalid pattern '${pattern}'. Root segment must not contain globs.`); + // Normalize slashes + pattern = pathHelper.normalizeSeparators(pattern); + // Replace leading `.` segment + if (pattern === '.' || pattern.startsWith(`.${path.sep}`)) { + pattern = Pattern.globEscape(process.cwd()) + pattern.substr(1); + } + // Replace leading `~` segment + else if (pattern === '~' || pattern.startsWith(`~${path.sep}`)) { + homedir = homedir || os.homedir(); + assert_1.default(homedir, 'Unable to determine HOME directory'); + assert_1.default(pathHelper.hasAbsoluteRoot(homedir), `Expected HOME directory to be a rooted path. Actual '${homedir}'`); + pattern = Pattern.globEscape(homedir) + pattern.substr(1); + } + // Replace relative drive root, e.g. pattern is C: or C:foo + else if (IS_WINDOWS && + (pattern.match(/^[A-Z]:$/i) || pattern.match(/^[A-Z]:[^\\]/i))) { + let root = pathHelper.ensureAbsoluteRoot('C:\\dummy-root', pattern.substr(0, 2)); + if (pattern.length > 2 && !root.endsWith('\\')) { + root += '\\'; + } + pattern = Pattern.globEscape(root) + pattern.substr(2); + } + // Replace relative root, e.g. pattern is \ or \foo + else if (IS_WINDOWS && (pattern === '\\' || pattern.match(/^\\[^\\]/))) { + let root = pathHelper.ensureAbsoluteRoot('C:\\dummy-root', '\\'); + if (!root.endsWith('\\')) { + root += '\\'; + } + pattern = Pattern.globEscape(root) + pattern.substr(1); + } + // Otherwise ensure absolute root + else { + pattern = pathHelper.ensureAbsoluteRoot(Pattern.globEscape(process.cwd()), pattern); + } + return pathHelper.normalizeSeparators(pattern); + } + /** + * Attempts to unescape a pattern segment to create a literal path segment. + * Otherwise returns empty string. + */ + static getLiteral(segment) { + let literal = ''; + for (let i = 0; i < segment.length; i++) { + const c = segment[i]; + // Escape + if (c === '\\' && !IS_WINDOWS && i + 1 < segment.length) { + literal += segment[++i]; + continue; + } + // Wildcard + else if (c === '*' || c === '?') { + return ''; + } + // Character set + else if (c === '[' && i + 1 < segment.length) { + let set = ''; + let closed = -1; + for (let i2 = i + 1; i2 < segment.length; i2++) { + const c2 = segment[i2]; + // Escape + if (c2 === '\\' && !IS_WINDOWS && i2 + 1 < segment.length) { + set += segment[++i2]; + continue; + } + // Closed + else if (c2 === ']') { + closed = i2; + break; + } + // Otherwise + else { + set += c2; + } + } + // Closed? + if (closed >= 0) { + // Cannot convert + if (set.length > 1) { + return ''; + } + // Convert to literal + if (set) { + literal += set; + i = closed; + continue; + } + } + // Otherwise fall thru + } + // Append + literal += c; + } + return literal; + } + /** + * Escapes regexp special characters + * https://javascript.info/regexp-escaping + */ + static regExpEscape(s) { + return s.replace(/[[\\^$.|?*+()]/g, '\\$&'); } - - return response.data.data; - }); -} - -function withDefaults(request$1, newDefaults) { - const newRequest = request$1.defaults(newDefaults); - - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; - - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: request.request.endpoint - }); -} - -const graphql$1 = withDefaults(request.request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` - }, - method: "POST", - url: "/graphql" -}); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); } - -exports.GraphqlResponseError = GraphqlResponseError; -exports.graphql = graphql$1; -exports.withCustomRequest = withCustomRequest; -//# sourceMappingURL=index.js.map - +exports.Pattern = Pattern; +//# sourceMappingURL=internal-pattern.js.map /***/ }), -/***/ 4193: +/***/ 9117: /***/ ((__unused_webpack_module, exports) => { "use strict"; - Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SearchState = void 0; +class SearchState { + constructor(path, level) { + this.path = path; + this.level = level; + } +} +exports.SearchState = SearchState; +//# sourceMappingURL=internal-search-state.js.map -const VERSION = "2.21.3"; - -function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); +/***/ }), - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - enumerableOnly && (symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - })), keys.push.apply(keys, symbols); - } +/***/ 5526: +/***/ (function(__unused_webpack_module, exports) { - return keys; -} +"use strict"; -function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = null != arguments[i] ? arguments[i] : {}; - i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { - _defineProperty(target, key, source[key]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); - } - - return target; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } } - -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} - -/** - * Some “list” response that can be paginated have a different response structure - * - * They have a `total_count` key in the response (search also has `incomplete_results`, - * /installation/repositories also has `repository_selection`), as well as a key with - * the list of the items which name varies from endpoint to endpoint. - * - * Octokit normalizes these responses so that paginated results are always returned following - * the same structure. One challenge is that if the list response has only one page, no Link - * header is provided, so this header alone is not sufficient to check wether a response is - * paginated or not. - * - * We check if a "total_count" key is present in the response data, but also make sure that - * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would - * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref - */ -function normalizePaginatedListResponse(response) { - // endpoints can respond with 204 if repository is empty - if (!response.data) { - return _objectSpread2(_objectSpread2({}, response), {}, { - data: [] - }); - } - - const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); - if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way - // to retrieve the same information. - - const incompleteResults = response.data.incomplete_results; - const repositorySelection = response.data.repository_selection; - const totalCount = response.data.total_count; - delete response.data.incomplete_results; - delete response.data.repository_selection; - delete response.data.total_count; - const namespaceKey = Object.keys(response.data)[0]; - const data = response.data[namespaceKey]; - response.data = data; - - if (typeof incompleteResults !== "undefined") { - response.data.incomplete_results = incompleteResults; - } - - if (typeof repositorySelection !== "undefined") { - response.data.repository_selection = repositorySelection; - } - - response.data.total_count = totalCount; - return response; -} - -function iterator(octokit, route, parameters) { - const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); - const requestMethod = typeof route === "function" ? route : octokit.request; - const method = options.method; - const headers = options.headers; - let url = options.url; - return { - [Symbol.asyncIterator]: () => ({ - async next() { - if (!url) return { - done: true - }; - - try { - const response = await requestMethod({ - method, - url, - headers - }); - const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: - // '; rel="next", ; rel="last"' - // sets `url` to undefined if "next" URL is not present or `link` header is not set - - url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; - return { - value: normalizedResponse - }; - } catch (error) { - if (error.status !== 409) throw error; - url = ""; - return { - value: { - status: 200, - headers: {}, - data: [] - } - }; +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); } - } - - }) - }; -} - -function paginate(octokit, route, parameters, mapFn) { - if (typeof parameters === "function") { - mapFn = parameters; - parameters = undefined; - } - - return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); -} - -function gather(octokit, results, iterator, mapFn) { - return iterator.next().then(result => { - if (result.done) { - return results; + options.headers['Authorization'] = `Bearer ${this.token}`; } - - let earlyExit = false; - - function done() { - earlyExit = true; + // This handler cannot handle 401 + canHandleAuthentication() { + return false; } - - results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); - - if (earlyExit) { - return results; + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); } - - return gather(octokit, results, iterator, mapFn); - }); -} - -const composePaginateRest = Object.assign(paginate, { - iterator -}); - -const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/audit-log", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /enterprises/{enterprise}/settings/billing/advanced-security", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /licenses", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/cache/usage-by-repository", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/audit-log", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/codespaces", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/settings/billing/advanced-security", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/caches", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/environments", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repos/{owner}/{repo}/topics", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/packages/{package_type}/{package_name}/versions", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; - -function isPaginatingEndpoint(arg) { - if (typeof arg === "string") { - return paginatingEndpoints.includes(arg); - } else { - return false; - } } - -/** - * @param octokit Octokit instance - * @param options Options passed to Octokit constructor - */ - -function paginateRest(octokit) { - return { - paginate: Object.assign(paginate.bind(null, octokit), { - iterator: iterator.bind(null, octokit) - }) - }; +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } } -paginateRest.VERSION = VERSION; - -exports.composePaginateRest = composePaginateRest; -exports.isPaginatingEndpoint = isPaginatingEndpoint; -exports.paginateRest = paginateRest; -exports.paginatingEndpoints = paginatingEndpoints; -//# sourceMappingURL=index.js.map - +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map /***/ }), -/***/ 8883: -/***/ ((__unused_webpack_module, exports) => { +/***/ 6255: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { "use strict"; - +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; Object.defineProperty(exports, "__esModule", ({ value: true })); - -const VERSION = "1.0.4"; - -/** - * @param octokit Octokit instance - * @param options Options passed to Octokit constructor - */ - -function requestLog(octokit) { - octokit.hook.wrap("request", (request, options) => { - octokit.log.debug("request", options); - const start = Date.now(); - const requestOptions = octokit.request.endpoint.parse(options); - const path = requestOptions.url.replace(options.baseUrl, ""); - return request(options).then(response => { - octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`); - return response; - }).catch(error => { - octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`); - throw error; - }); - }); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(__nccwpck_require__(3685)); +const https = __importStar(__nccwpck_require__(5687)); +const pm = __importStar(__nccwpck_require__(9835)); +const tunnel = __importStar(__nccwpck_require__(4294)); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers = exports.Headers || (exports.Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; } -requestLog.VERSION = VERSION; - -exports.requestLog = requestLog; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 3044: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - - if (enumerableOnly) { - symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - }); +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); } - - keys.push.apply(keys, symbols); - } - - return keys; } - -function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - - if (i % 2) { - ownKeys(Object(source), true).forEach(function (key) { - _defineProperty(target, key, source[key]); - }); - } else if (Object.getOwnPropertyDescriptors) { - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); - } else { - ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); } - } - - return target; } - -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; } - -const Endpoints = { - actions: { - addCustomLabelsToSelfHostedRunnerForOrg: ["POST /orgs/{org}/actions/runners/{runner_id}/labels"], - addCustomLabelsToSelfHostedRunnerForRepo: ["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], - approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], - cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], - createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], - createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], - createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], - createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], - createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], - createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], - createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], - deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"], - deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"], - deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], - deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], - deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], - deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], - deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], - deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], - disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], - disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], - downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], - downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], - downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], - downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], - enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], - enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], - getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], - getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], - getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"], - getActionsCacheUsageForEnterprise: ["GET /enterprises/{enterprise}/actions/cache/usage"], - getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], - getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], - getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], - getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], - getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], - getGithubActionsDefaultWorkflowPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/workflow"], - getGithubActionsDefaultWorkflowPermissionsOrganization: ["GET /orgs/{org}/actions/permissions/workflow"], - getGithubActionsDefaultWorkflowPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/workflow"], - getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], - getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], - getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], - getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], - getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], - getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { - renamed: ["actions", "getGithubActionsPermissionsRepository"] - }], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], - getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], - getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], - getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], - getWorkflowAccessToRepository: ["GET /repos/{owner}/{repo}/actions/permissions/access"], - getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], - getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], - getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], - getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], - listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], - listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], - listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], - listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], - listLabelsForSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}/labels"], - listLabelsForSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], - listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], - listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], - listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], - listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], - listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], - listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], - listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], - listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], - listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], - listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], - reRunJobForWorkflowRun: ["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"], - reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], - reRunWorkflowFailedJobs: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"], - removeAllCustomLabelsFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"], - removeAllCustomLabelsFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - removeCustomLabelFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"], - removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"], - removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], - reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], - setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], - setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], - setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"], - setCustomLabelsForSelfHostedRunnerForRepo: ["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], - setGithubActionsDefaultWorkflowPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/workflow"], - setGithubActionsDefaultWorkflowPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions/workflow"], - setGithubActionsDefaultWorkflowPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/workflow"], - setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], - setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], - setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], - setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"], - setWorkflowAccessToRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/access"] - }, - activity: { - checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], - deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], - deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], - getFeeds: ["GET /feeds"], - getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], - getThread: ["GET /notifications/threads/{thread_id}"], - getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], - listEventsForAuthenticatedUser: ["GET /users/{username}/events"], - listNotificationsForAuthenticatedUser: ["GET /notifications"], - listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], - listPublicEvents: ["GET /events"], - listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], - listPublicEventsForUser: ["GET /users/{username}/events/public"], - listPublicOrgEvents: ["GET /orgs/{org}/events"], - listReceivedEventsForUser: ["GET /users/{username}/received_events"], - listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], - listRepoEvents: ["GET /repos/{owner}/{repo}/events"], - listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], - listReposStarredByAuthenticatedUser: ["GET /user/starred"], - listReposStarredByUser: ["GET /users/{username}/starred"], - listReposWatchedByUser: ["GET /users/{username}/subscriptions"], - listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], - listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], - listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], - markNotificationsAsRead: ["PUT /notifications"], - markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], - markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], - setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], - setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], - starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], - unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] - }, - apps: { - addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", {}, { - renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] - }], - addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], - checkToken: ["POST /applications/{client_id}/token"], - createFromManifest: ["POST /app-manifests/{code}/conversions"], - createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], - deleteAuthorization: ["DELETE /applications/{client_id}/grant"], - deleteInstallation: ["DELETE /app/installations/{installation_id}"], - deleteToken: ["DELETE /applications/{client_id}/token"], - getAuthenticated: ["GET /app"], - getBySlug: ["GET /apps/{app_slug}"], - getInstallation: ["GET /app/installations/{installation_id}"], - getOrgInstallation: ["GET /orgs/{org}/installation"], - getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], - getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], - getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], - getUserInstallation: ["GET /users/{username}/installation"], - getWebhookConfigForApp: ["GET /app/hook/config"], - getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], - listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], - listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], - listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], - listInstallations: ["GET /app/installations"], - listInstallationsForAuthenticatedUser: ["GET /user/installations"], - listPlans: ["GET /marketplace_listing/plans"], - listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], - listReposAccessibleToInstallation: ["GET /installation/repositories"], - listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], - listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], - listWebhookDeliveries: ["GET /app/hook/deliveries"], - redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], - removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", {}, { - renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] - }], - removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], - resetToken: ["PATCH /applications/{client_id}/token"], - revokeInstallationAccessToken: ["DELETE /installation/token"], - scopeToken: ["POST /applications/{client_id}/token/scoped"], - suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], - unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], - updateWebhookConfigForApp: ["PATCH /app/hook/config"] - }, - billing: { - getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], - getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], - getGithubAdvancedSecurityBillingGhe: ["GET /enterprises/{enterprise}/settings/billing/advanced-security"], - getGithubAdvancedSecurityBillingOrg: ["GET /orgs/{org}/settings/billing/advanced-security"], - getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], - getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], - getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], - getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] - }, - checks: { - create: ["POST /repos/{owner}/{repo}/check-runs"], - createSuite: ["POST /repos/{owner}/{repo}/check-suites"], - get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], - getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], - listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], - listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], - listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], - listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], - rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], - rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], - setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], - update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] - }, - codeScanning: { - deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], - getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { - renamedParameters: { - alert_id: "alert_number" - } - }], - getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], - getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], - listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], - listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], - listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, { - renamed: ["codeScanning", "listAlertInstances"] - }], - listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], - updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], - uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] - }, - codesOfConduct: { - getAllCodesOfConduct: ["GET /codes_of_conduct"], - getConductCode: ["GET /codes_of_conduct/{key}"] - }, - codespaces: { - addRepositoryForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], - codespaceMachinesForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/machines"], - createForAuthenticatedUser: ["POST /user/codespaces"], - createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], - createOrUpdateSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}"], - createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"], - createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"], - deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], - deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"], - deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], - deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"], - exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"], - getExportDetailsForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/exports/{export_id}"], - getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], - getPublicKeyForAuthenticatedUser: ["GET /user/codespaces/secrets/public-key"], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], - getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"], - listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"], - listForAuthenticatedUser: ["GET /user/codespaces"], - listInOrganization: ["GET /orgs/{org}/codespaces", {}, { - renamedParameters: { - org_id: "org" - } - }], - listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], - listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"], - listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], - removeRepositoryForSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], - repoMachinesForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/machines"], - setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"], - startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], - stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], - stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"], - updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] - }, - dependabot: { - addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], - createOrUpdateOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}"], - createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], - deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], - deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], - getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], - listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], - listSelectedReposForOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], - removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], - setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"] - }, - dependencyGraph: { - createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"], - diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"] - }, - emojis: { - get: ["GET /emojis"] - }, - enterpriseAdmin: { - addCustomLabelsToSelfHostedRunnerForEnterprise: ["POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - disableSelectedOrganizationGithubActionsEnterprise: ["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], - enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], - getAllowedActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/selected-actions"], - getGithubActionsPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions"], - getServerStatistics: ["GET /enterprise-installation/{enterprise_or_org}/server-statistics"], - listLabelsForSelfHostedRunnerForEnterprise: ["GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - listSelectedOrganizationsEnabledGithubActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/organizations"], - removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - removeCustomLabelFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}"], - setAllowedActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"], - setCustomLabelsForSelfHostedRunnerForEnterprise: ["PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], - setGithubActionsPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions"], - setSelectedOrganizationsEnabledGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations"] - }, - gists: { - checkIsStarred: ["GET /gists/{gist_id}/star"], - create: ["POST /gists"], - createComment: ["POST /gists/{gist_id}/comments"], - delete: ["DELETE /gists/{gist_id}"], - deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], - fork: ["POST /gists/{gist_id}/forks"], - get: ["GET /gists/{gist_id}"], - getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], - getRevision: ["GET /gists/{gist_id}/{sha}"], - list: ["GET /gists"], - listComments: ["GET /gists/{gist_id}/comments"], - listCommits: ["GET /gists/{gist_id}/commits"], - listForUser: ["GET /users/{username}/gists"], - listForks: ["GET /gists/{gist_id}/forks"], - listPublic: ["GET /gists/public"], - listStarred: ["GET /gists/starred"], - star: ["PUT /gists/{gist_id}/star"], - unstar: ["DELETE /gists/{gist_id}/star"], - update: ["PATCH /gists/{gist_id}"], - updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] - }, - git: { - createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], - createCommit: ["POST /repos/{owner}/{repo}/git/commits"], - createRef: ["POST /repos/{owner}/{repo}/git/refs"], - createTag: ["POST /repos/{owner}/{repo}/git/tags"], - createTree: ["POST /repos/{owner}/{repo}/git/trees"], - deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], - getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], - getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], - getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], - getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], - getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], - listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], - updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] - }, - gitignore: { - getAllTemplates: ["GET /gitignore/templates"], - getTemplate: ["GET /gitignore/templates/{name}"] - }, - interactions: { - getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], - getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], - getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], - getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { - renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] - }], - removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], - removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], - removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], - removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { - renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] - }], - setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], - setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], - setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], - setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { - renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] - }] - }, - issues: { - addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], - create: ["POST /repos/{owner}/{repo}/issues"], - createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], - createLabel: ["POST /repos/{owner}/{repo}/labels"], - createMilestone: ["POST /repos/{owner}/{repo}/milestones"], - deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], - deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], - deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], - get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], - getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], - getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], - getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], - getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], - list: ["GET /issues"], - listAssignees: ["GET /repos/{owner}/{repo}/assignees"], - listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], - listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], - listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], - listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], - listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], - listForAuthenticatedUser: ["GET /user/issues"], - listForOrg: ["GET /orgs/{org}/issues"], - listForRepo: ["GET /repos/{owner}/{repo}/issues"], - listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], - listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], - listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], - listMilestones: ["GET /repos/{owner}/{repo}/milestones"], - lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], - removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], - removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], - removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], - setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], - unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], - update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], - updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], - updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], - updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] - }, - licenses: { - get: ["GET /licenses/{license}"], - getAllCommonlyUsed: ["GET /licenses"], - getForRepo: ["GET /repos/{owner}/{repo}/license"] - }, - markdown: { - render: ["POST /markdown"], - renderRaw: ["POST /markdown/raw", { - headers: { - "content-type": "text/plain; charset=utf-8" - } - }] - }, - meta: { - get: ["GET /meta"], - getOctocat: ["GET /octocat"], - getZen: ["GET /zen"], - root: ["GET /"] - }, - migrations: { - cancelImport: ["DELETE /repos/{owner}/{repo}/import"], - deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], - deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], - downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], - getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], - getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], - getImportStatus: ["GET /repos/{owner}/{repo}/import"], - getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], - getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], - getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], - listForAuthenticatedUser: ["GET /user/migrations"], - listForOrg: ["GET /orgs/{org}/migrations"], - listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], - listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], - listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { - renamed: ["migrations", "listReposForAuthenticatedUser"] - }], - mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], - setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - startImport: ["PUT /repos/{owner}/{repo}/import"], - unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], - unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], - updateImport: ["PATCH /repos/{owner}/{repo}/import"] - }, - orgs: { - blockUser: ["PUT /orgs/{org}/blocks/{username}"], - cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], - checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], - checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], - checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], - convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], - createInvitation: ["POST /orgs/{org}/invitations"], - createWebhook: ["POST /orgs/{org}/hooks"], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], - get: ["GET /orgs/{org}"], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], - getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], - getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], - list: ["GET /organizations"], - listAppInstallations: ["GET /orgs/{org}/installations"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listCustomRoles: ["GET /organizations/{organization_id}/custom_roles"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], - listPendingInvitations: ["GET /orgs/{org}/invitations"], - listPublicMembers: ["GET /orgs/{org}/public_members"], - listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], - listWebhooks: ["GET /orgs/{org}/hooks"], - pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], - redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], - removeMember: ["DELETE /orgs/{org}/members/{username}"], - removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], - removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], - removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], - setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], - updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], - updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] - }, - packages: { - deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], - deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], - deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], - deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], - deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { - renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] - }], - getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { - renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] - }], - getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], - getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], - getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], - getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], - getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], - getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], - getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], - getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], - listPackagesForAuthenticatedUser: ["GET /user/packages"], - listPackagesForOrganization: ["GET /orgs/{org}/packages"], - listPackagesForUser: ["GET /users/{username}/packages"], - restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], - restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], - restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], - restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], - restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], - restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] - }, - projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], - createCard: ["POST /projects/columns/{column_id}/cards"], - createColumn: ["POST /projects/{project_id}/columns"], - createForAuthenticatedUser: ["POST /user/projects"], - createForOrg: ["POST /orgs/{org}/projects"], - createForRepo: ["POST /repos/{owner}/{repo}/projects"], - delete: ["DELETE /projects/{project_id}"], - deleteCard: ["DELETE /projects/columns/cards/{card_id}"], - deleteColumn: ["DELETE /projects/columns/{column_id}"], - get: ["GET /projects/{project_id}"], - getCard: ["GET /projects/columns/cards/{card_id}"], - getColumn: ["GET /projects/columns/{column_id}"], - getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], - listCards: ["GET /projects/columns/{column_id}/cards"], - listCollaborators: ["GET /projects/{project_id}/collaborators"], - listColumns: ["GET /projects/{project_id}/columns"], - listForOrg: ["GET /orgs/{org}/projects"], - listForRepo: ["GET /repos/{owner}/{repo}/projects"], - listForUser: ["GET /users/{username}/projects"], - moveCard: ["POST /projects/columns/cards/{card_id}/moves"], - moveColumn: ["POST /projects/columns/{column_id}/moves"], - removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], - update: ["PATCH /projects/{project_id}"], - updateCard: ["PATCH /projects/columns/cards/{card_id}"], - updateColumn: ["PATCH /projects/columns/{column_id}"] - }, - pulls: { - checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - create: ["POST /repos/{owner}/{repo}/pulls"], - createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], - createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], - deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], - get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], - getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - list: ["GET /repos/{owner}/{repo}/pulls"], - listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], - listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], - listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], - listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], - listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], - listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], - submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], - update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], - updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], - updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], - updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] - }, - rateLimit: { - get: ["GET /rate_limit"] - }, - reactions: { - createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], - createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], - createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], - createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], - createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], - createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], - createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], - deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], - deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], - deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], - deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], - deleteForRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"], - deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], - deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"], - listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], - listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], - listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], - listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], - listForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"], - listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], - listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"] - }, - repos: { - acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { - renamed: ["repos", "acceptInvitationForAuthenticatedUser"] - }], - acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], - addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], - addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], - codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], - compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], - compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], - createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], - createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], - createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], - createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], - createDeployKey: ["POST /repos/{owner}/{repo}/keys"], - createDeployment: ["POST /repos/{owner}/{repo}/deployments"], - createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], - createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], - createForAuthenticatedUser: ["POST /user/repos"], - createFork: ["POST /repos/{owner}/{repo}/forks"], - createInOrg: ["POST /orgs/{org}/repos"], - createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], - createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], - createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], - createWebhook: ["POST /repos/{owner}/{repo}/hooks"], - declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { - renamed: ["repos", "declineInvitationForAuthenticatedUser"] - }], - declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], - delete: ["DELETE /repos/{owner}/{repo}"], - deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], - deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], - deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], - deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], - deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], - deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], - deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], - deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], - deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], - deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], - deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], - deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], - deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], - deleteTagProtection: ["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"], - deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], - disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], - disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], - disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], - downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { - renamed: ["repos", "downloadZipballArchive"] - }], - downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], - downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], - enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], - enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], - enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], - generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], - get: ["GET /repos/{owner}/{repo}"], - getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], - getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], - getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], - getAllTopics: ["GET /repos/{owner}/{repo}/topics"], - getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], - getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], - getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], - getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], - getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], - getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], - getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], - getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], - getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], - getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], - getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], - getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], - getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], - getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], - getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], - getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], - getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], - getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], - getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], - getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], - getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], - getPages: ["GET /repos/{owner}/{repo}/pages"], - getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], - getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], - getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], - getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], - getReadme: ["GET /repos/{owner}/{repo}/readme"], - getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], - getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], - getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], - getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], - getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], - getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], - getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], - getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], - getViews: ["GET /repos/{owner}/{repo}/traffic/views"], - getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], - getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], - getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], - listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], - listBranches: ["GET /repos/{owner}/{repo}/branches"], - listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], - listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], - listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], - listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], - listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], - listCommits: ["GET /repos/{owner}/{repo}/commits"], - listContributors: ["GET /repos/{owner}/{repo}/contributors"], - listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], - listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], - listDeployments: ["GET /repos/{owner}/{repo}/deployments"], - listForAuthenticatedUser: ["GET /user/repos"], - listForOrg: ["GET /orgs/{org}/repos"], - listForUser: ["GET /users/{username}/repos"], - listForks: ["GET /repos/{owner}/{repo}/forks"], - listInvitations: ["GET /repos/{owner}/{repo}/invitations"], - listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], - listLanguages: ["GET /repos/{owner}/{repo}/languages"], - listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], - listPublic: ["GET /repositories"], - listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], - listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], - listReleases: ["GET /repos/{owner}/{repo}/releases"], - listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], - listTags: ["GET /repos/{owner}/{repo}/tags"], - listTeams: ["GET /repos/{owner}/{repo}/teams"], - listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], - listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], - merge: ["POST /repos/{owner}/{repo}/merges"], - mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], - pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], - redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], - removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], - removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], - replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], - requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], - setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], - setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { - mapToData: "apps" - }], - setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { - mapToData: "contexts" - }], - setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { - mapToData: "teams" - }], - setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { - mapToData: "users" - }], - testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], - transfer: ["POST /repos/{owner}/{repo}/transfer"], - update: ["PATCH /repos/{owner}/{repo}"], - updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], - updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], - updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], - updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], - updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], - updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], - updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], - updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { - renamed: ["repos", "updateStatusCheckProtection"] - }], - updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], - updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], - updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], - uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { - baseUrl: "https://uploads.github.com" - }] - }, - search: { - code: ["GET /search/code"], - commits: ["GET /search/commits"], - issuesAndPullRequests: ["GET /search/issues"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] - }, - secretScanning: { - getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], - listAlertsForEnterprise: ["GET /enterprises/{enterprise}/secret-scanning/alerts"], - listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], - listLocationsForAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"], - updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] - }, - teams: { - addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], - addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], - addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], - checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - create: ["POST /orgs/{org}/teams"], - createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], - createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], - deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], - getByName: ["GET /orgs/{org}/teams/{team_slug}"], - getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], - list: ["GET /orgs/{org}/teams"], - listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], - listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], - listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], - listForAuthenticatedUser: ["GET /user/teams"], - listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], - listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], - removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], - removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], - updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], - updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], - updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 9835: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + return new URL(proxyVar); + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperNoProxyItem === '*' || + upperReqHosts.some(x => x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)))) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return (hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]')); +} +//# sourceMappingURL=proxy.js.map + +/***/ }), + +/***/ 334: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token: token, + tokenType + }; +} + +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge(route, parameters); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +const createTokenAuth = function createTokenAuth(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; + +exports.createTokenAuth = createTokenAuth; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 6762: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var universalUserAgent = __nccwpck_require__(5030); +var beforeAfterHook = __nccwpck_require__(3682); +var request = __nccwpck_require__(6234); +var graphql = __nccwpck_require__(8467); +var authToken = __nccwpck_require__(334); + +const VERSION = "4.2.0"; + +class Octokit { + constructor(options = {}) { + const hook = new beforeAfterHook.Collection(); + const requestDefaults = { + baseUrl: request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; // prepend default user agent with `options.userAgent` if set + + requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); + + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + + this.request = request.request.defaults(requestDefaults); + this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); + this.log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn.bind(console), + error: console.error.bind(console) + }, options.log); + this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance + // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. + // (2) If only `options.auth` is set, use the default token authentication strategy. + // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. + // TODO: type `options.auth` based on `options.authStrategy`. + + if (!options.authStrategy) { + if (!options.auth) { + // (1) + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + // (2) + const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { + authStrategy, + ...otherOptions + } = options; + const auth = authStrategy(Object.assign({ + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ + + hook.wrap("request", auth.hook); + this.auth = auth; + } // apply plugins + // https://stackoverflow.com/a/16345172 + + + const classConstructor = this.constructor; + classConstructor.plugins.forEach(plugin => { + Object.assign(this, plugin(this, options)); + }); + } + + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + + super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null)); + } + + }; + return OctokitWithDefaults; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + + + static plugin(...newPlugins) { + var _a; + + const currentPlugins = this.plugins; + const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); + return NewOctokit; + } + +} +Octokit.VERSION = VERSION; +Octokit.plugins = []; + +exports.Octokit = Octokit; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 9440: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var isPlainObject = __nccwpck_require__(3287); +var universalUserAgent = __nccwpck_require__(5030); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject.isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === undefined) { + delete obj[key]; + } + } + return obj; +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = Object.assign({}, route); + } + // lowercase header names before merging with defaults to avoid duplicates + options.headers = lowercaseKeys(options.headers); + // remove properties with undefined values before merging + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + // mediaType.previews arrays are merged, instead of overwritten + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +const urlVariableRegex = /\{[^}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== undefined && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); + // replace :varname with {varname} to make it RFC 6570 compatible + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); + // extract variable names from URL to calculate remaining variables later + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + // default content-type for JSON if body is set + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + // Only return body/request keys if present + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} + +const VERSION = "7.0.5"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; +// DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent }, - users: { - addEmailForAuthenticated: ["POST /user/emails", {}, { - renamed: ["users", "addEmailForAuthenticatedUser"] - }], - addEmailForAuthenticatedUser: ["POST /user/emails"], - block: ["PUT /user/blocks/{username}"], - checkBlocked: ["GET /user/blocks/{username}"], - checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], - checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], - createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { - renamed: ["users", "createGpgKeyForAuthenticatedUser"] - }], - createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], - createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { - renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] - }], - createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], - deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { - renamed: ["users", "deleteEmailForAuthenticatedUser"] - }], - deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], - deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { - renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] - }], - deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], - deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { - renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] - }], - deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], - follow: ["PUT /user/following/{username}"], - getAuthenticated: ["GET /user"], - getByUsername: ["GET /users/{username}"], - getContextForUser: ["GET /users/{username}/hovercard"], - getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { - renamed: ["users", "getGpgKeyForAuthenticatedUser"] - }], - getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], - getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { - renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] - }], - getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], - list: ["GET /users"], - listBlockedByAuthenticated: ["GET /user/blocks", {}, { - renamed: ["users", "listBlockedByAuthenticatedUser"] - }], - listBlockedByAuthenticatedUser: ["GET /user/blocks"], - listEmailsForAuthenticated: ["GET /user/emails", {}, { - renamed: ["users", "listEmailsForAuthenticatedUser"] - }], - listEmailsForAuthenticatedUser: ["GET /user/emails"], - listFollowedByAuthenticated: ["GET /user/following", {}, { - renamed: ["users", "listFollowedByAuthenticatedUser"] - }], - listFollowedByAuthenticatedUser: ["GET /user/following"], - listFollowersForAuthenticatedUser: ["GET /user/followers"], - listFollowersForUser: ["GET /users/{username}/followers"], - listFollowingForUser: ["GET /users/{username}/following"], - listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { - renamed: ["users", "listGpgKeysForAuthenticatedUser"] - }], - listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], - listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], - listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { - renamed: ["users", "listPublicEmailsForAuthenticatedUser"] - }], - listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], - listPublicKeysForUser: ["GET /users/{username}/keys"], - listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { - renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] - }], - listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], - setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility", {}, { - renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] - }], - setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], - unblock: ["DELETE /user/blocks/{username}"], - unfollow: ["DELETE /user/following/{username}"], - updateAuthenticated: ["PATCH /user"] + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 8467: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var request = __nccwpck_require__(6234); +var universalUserAgent = __nccwpck_require__(5030); + +const VERSION = "5.0.5"; + +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + // Expose the errors and response data in their shorthand properties. + this.errors = response.errors; + this.data = response.data; + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} + +const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); + } } -}; + const parsedOptions = typeof query === "string" ? Object.assign({ + query + }, options) : query; + const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix + // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then(response => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError(requestOptions, headers, response.data); + } + return response.data.data; + }); +} -const VERSION = "5.16.2"; +function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} -function endpointsToMethods(octokit, endpointsMap) { - const newMethods = {}; +const graphql$1 = withDefaults(request.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} - for (const [scope, endpoints] of Object.entries(endpointsMap)) { - for (const [methodName, endpoint] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint; - const [method, url] = route.split(/ /); - const endpointDefaults = Object.assign({ - method, - url - }, defaults); +exports.GraphqlResponseError = GraphqlResponseError; +exports.graphql = graphql$1; +exports.withCustomRequest = withCustomRequest; +//# sourceMappingURL=index.js.map - if (!newMethods[scope]) { - newMethods[scope] = {}; - } - const scopeMethods = newMethods[scope]; +/***/ }), - if (decorations) { - scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); - continue; - } +/***/ 4193: +/***/ ((__unused_webpack_module, exports) => { - scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); - } - } +"use strict"; - return newMethods; -} -function decorate(octokit, scope, methodName, defaults, decorations) { - const requestWithDefaults = octokit.request.defaults(defaults); - /* istanbul ignore next */ +Object.defineProperty(exports, "__esModule", ({ value: true })); - function withDecorations(...args) { - // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` +const VERSION = "2.21.3"; - if (decorations.mapToData) { - options = Object.assign({}, options, { - data: options[decorations.mapToData], - [decorations.mapToData]: undefined - }); - return requestWithDefaults(options); - } +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); - if (decorations.renamed) { - const [newScope, newMethodName] = decorations.renamed; - octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); - } + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + enumerableOnly && (symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + })), keys.push.apply(keys, symbols); + } - if (decorations.deprecated) { - octokit.log.warn(decorations.deprecated); - } + return keys; +} - if (decorations.renamedParameters) { - // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - const options = requestWithDefaults.endpoint.merge(...args); +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = null != arguments[i] ? arguments[i] : {}; + i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { + _defineProperty(target, key, source[key]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } - for (const [name, alias] of Object.entries(decorations.renamedParameters)) { - if (name in options) { - octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + return target; +} - if (!(alias in options)) { - options[alias] = options[name]; - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - delete options[name]; - } - } + return obj; +} - return requestWithDefaults(options); - } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +function normalizePaginatedListResponse(response) { + // endpoints can respond with 204 if repository is empty + if (!response.data) { + return _objectSpread2(_objectSpread2({}, response), {}, { + data: [] + }); + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) return response; // keep the additional properties intact as there is currently no other way + // to retrieve the same information. - return requestWithDefaults(...args); + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; } - return Object.assign(withDecorations, requestWithDefaults); -} + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } -function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit, Endpoints); - return { - rest: api - }; -} -restEndpointMethods.VERSION = VERSION; -function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit, Endpoints); - return _objectSpread2(_objectSpread2({}, api), {}, { - rest: api - }); + response.data.total_count = totalCount; + return response; } -legacyRestEndpointMethods.VERSION = VERSION; -exports.legacyRestEndpointMethods = legacyRestEndpointMethods; -exports.restEndpointMethods = restEndpointMethods; -//# sourceMappingURL=index.js.map +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) return { + done: true + }; + try { + const response = await requestMethod({ + method, + url, + headers + }); + const normalizedResponse = normalizePaginatedListResponse(response); // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set -/***/ }), + url = ((normalizedResponse.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1]; + return { + value: normalizedResponse + }; + } catch (error) { + if (error.status !== 409) throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } -/***/ 6298: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + }) + }; +} -"use strict"; +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = undefined; + } + return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn); +} -Object.defineProperty(exports, "__esModule", ({ value: true })); +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + let earlyExit = false; -var Bottleneck = _interopDefault(__nccwpck_require__(1174)); -var requestError = __nccwpck_require__(537); + function done() { + earlyExit = true; + } -// @ts-ignore -async function errorRequest(octokit, state, error, options) { - if (!error.request || !error.request.request) { - // address https://github.com/octokit/plugin-retry.js/issues/8 - throw error; - } - // retry all >= 400 && not doNotRetry - if (error.status >= 400 && !state.doNotRetry.includes(error.status)) { - const retries = options.request.retries != null ? options.request.retries : state.retries; - const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2); - throw octokit.retry.retryRequest(error, retries, retryAfter); - } - // Maybe eventually there will be more cases here - throw error; -} + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data); -// @ts-ignore -// @ts-ignore -async function wrapRequest(state, request, options) { - const limiter = new Bottleneck(); - // @ts-ignore - limiter.on("failed", function (error, info) { - const maxRetries = ~~error.request.request.retries; - const after = ~~error.request.request.retryAfter; - options.request.retryCount = info.retryCount + 1; - if (maxRetries > info.retryCount) { - // Returning a number instructs the limiter to retry - // the request after that number of milliseconds have passed - return after * state.retryAfterBaseValue; + if (earlyExit) { + return results; } + + return gather(octokit, results, iterator, mapFn); }); - return limiter.schedule(requestWithGraphqlErrorHandling.bind(null, request), options); } -// @ts-ignore -async function requestWithGraphqlErrorHandling(request, options) { - const response = await request(request, options); - if (response.data && response.data.errors && /Something went wrong while executing your query/.test(response.data.errors[0].message)) { - // simulate 500 request error for retry handling - const error = new requestError.RequestError(response.data.errors[0].message, 500, { - request: options, - response - }); - throw error; + +const composePaginateRest = Object.assign(paginate, { + iterator +}); + +const paginatingEndpoints = ["GET /app/hook/deliveries", "GET /app/installations", "GET /applications/grants", "GET /authorizations", "GET /enterprises/{enterprise}/actions/permissions/organizations", "GET /enterprises/{enterprise}/actions/runner-groups", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations", "GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners", "GET /enterprises/{enterprise}/actions/runners", "GET /enterprises/{enterprise}/audit-log", "GET /enterprises/{enterprise}/secret-scanning/alerts", "GET /enterprises/{enterprise}/settings/billing/advanced-security", "GET /events", "GET /gists", "GET /gists/public", "GET /gists/starred", "GET /gists/{gist_id}/comments", "GET /gists/{gist_id}/commits", "GET /gists/{gist_id}/forks", "GET /installation/repositories", "GET /issues", "GET /licenses", "GET /marketplace_listing/plans", "GET /marketplace_listing/plans/{plan_id}/accounts", "GET /marketplace_listing/stubbed/plans", "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", "GET /networks/{owner}/{repo}/events", "GET /notifications", "GET /organizations", "GET /orgs/{org}/actions/cache/usage-by-repository", "GET /orgs/{org}/actions/permissions/repositories", "GET /orgs/{org}/actions/runner-groups", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "GET /orgs/{org}/actions/runners", "GET /orgs/{org}/actions/secrets", "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", "GET /orgs/{org}/audit-log", "GET /orgs/{org}/blocks", "GET /orgs/{org}/code-scanning/alerts", "GET /orgs/{org}/codespaces", "GET /orgs/{org}/credential-authorizations", "GET /orgs/{org}/dependabot/secrets", "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", "GET /orgs/{org}/events", "GET /orgs/{org}/external-groups", "GET /orgs/{org}/failed_invitations", "GET /orgs/{org}/hooks", "GET /orgs/{org}/hooks/{hook_id}/deliveries", "GET /orgs/{org}/installations", "GET /orgs/{org}/invitations", "GET /orgs/{org}/invitations/{invitation_id}/teams", "GET /orgs/{org}/issues", "GET /orgs/{org}/members", "GET /orgs/{org}/migrations", "GET /orgs/{org}/migrations/{migration_id}/repositories", "GET /orgs/{org}/outside_collaborators", "GET /orgs/{org}/packages", "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", "GET /orgs/{org}/projects", "GET /orgs/{org}/public_members", "GET /orgs/{org}/repos", "GET /orgs/{org}/secret-scanning/alerts", "GET /orgs/{org}/settings/billing/advanced-security", "GET /orgs/{org}/team-sync/groups", "GET /orgs/{org}/teams", "GET /orgs/{org}/teams/{team_slug}/discussions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "GET /orgs/{org}/teams/{team_slug}/invitations", "GET /orgs/{org}/teams/{team_slug}/members", "GET /orgs/{org}/teams/{team_slug}/projects", "GET /orgs/{org}/teams/{team_slug}/repos", "GET /orgs/{org}/teams/{team_slug}/teams", "GET /projects/columns/{column_id}/cards", "GET /projects/{project_id}/collaborators", "GET /projects/{project_id}/columns", "GET /repos/{owner}/{repo}/actions/artifacts", "GET /repos/{owner}/{repo}/actions/caches", "GET /repos/{owner}/{repo}/actions/runners", "GET /repos/{owner}/{repo}/actions/runs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "GET /repos/{owner}/{repo}/actions/secrets", "GET /repos/{owner}/{repo}/actions/workflows", "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "GET /repos/{owner}/{repo}/assignees", "GET /repos/{owner}/{repo}/branches", "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "GET /repos/{owner}/{repo}/code-scanning/alerts", "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "GET /repos/{owner}/{repo}/code-scanning/analyses", "GET /repos/{owner}/{repo}/codespaces", "GET /repos/{owner}/{repo}/codespaces/devcontainers", "GET /repos/{owner}/{repo}/codespaces/secrets", "GET /repos/{owner}/{repo}/collaborators", "GET /repos/{owner}/{repo}/comments", "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/commits", "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/deployments", "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "GET /repos/{owner}/{repo}/environments", "GET /repos/{owner}/{repo}/events", "GET /repos/{owner}/{repo}/forks", "GET /repos/{owner}/{repo}/git/matching-refs/{ref}", "GET /repos/{owner}/{repo}/hooks", "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "GET /repos/{owner}/{repo}/invitations", "GET /repos/{owner}/{repo}/issues", "GET /repos/{owner}/{repo}/issues/comments", "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/issues/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", "GET /repos/{owner}/{repo}/issues/{issue_number}/events", "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", "GET /repos/{owner}/{repo}/keys", "GET /repos/{owner}/{repo}/labels", "GET /repos/{owner}/{repo}/milestones", "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", "GET /repos/{owner}/{repo}/notifications", "GET /repos/{owner}/{repo}/pages/builds", "GET /repos/{owner}/{repo}/projects", "GET /repos/{owner}/{repo}/pulls", "GET /repos/{owner}/{repo}/pulls/comments", "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "GET /repos/{owner}/{repo}/releases", "GET /repos/{owner}/{repo}/releases/{release_id}/assets", "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", "GET /repos/{owner}/{repo}/secret-scanning/alerts", "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "GET /repos/{owner}/{repo}/stargazers", "GET /repos/{owner}/{repo}/subscribers", "GET /repos/{owner}/{repo}/tags", "GET /repos/{owner}/{repo}/teams", "GET /repos/{owner}/{repo}/topics", "GET /repositories", "GET /repositories/{repository_id}/environments/{environment_name}/secrets", "GET /search/code", "GET /search/commits", "GET /search/issues", "GET /search/labels", "GET /search/repositories", "GET /search/topics", "GET /search/users", "GET /teams/{team_id}/discussions", "GET /teams/{team_id}/discussions/{discussion_number}/comments", "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "GET /teams/{team_id}/discussions/{discussion_number}/reactions", "GET /teams/{team_id}/invitations", "GET /teams/{team_id}/members", "GET /teams/{team_id}/projects", "GET /teams/{team_id}/repos", "GET /teams/{team_id}/teams", "GET /user/blocks", "GET /user/codespaces", "GET /user/codespaces/secrets", "GET /user/emails", "GET /user/followers", "GET /user/following", "GET /user/gpg_keys", "GET /user/installations", "GET /user/installations/{installation_id}/repositories", "GET /user/issues", "GET /user/keys", "GET /user/marketplace_purchases", "GET /user/marketplace_purchases/stubbed", "GET /user/memberships/orgs", "GET /user/migrations", "GET /user/migrations/{migration_id}/repositories", "GET /user/orgs", "GET /user/packages", "GET /user/packages/{package_type}/{package_name}/versions", "GET /user/public_emails", "GET /user/repos", "GET /user/repository_invitations", "GET /user/starred", "GET /user/subscriptions", "GET /user/teams", "GET /users", "GET /users/{username}/events", "GET /users/{username}/events/orgs/{org}", "GET /users/{username}/events/public", "GET /users/{username}/followers", "GET /users/{username}/following", "GET /users/{username}/gists", "GET /users/{username}/gpg_keys", "GET /users/{username}/keys", "GET /users/{username}/orgs", "GET /users/{username}/packages", "GET /users/{username}/projects", "GET /users/{username}/received_events", "GET /users/{username}/received_events/public", "GET /users/{username}/repos", "GET /users/{username}/starred", "GET /users/{username}/subscriptions"]; + +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; } - return response; } -const VERSION = "4.1.1"; -function retry(octokit, octokitOptions) { - const state = Object.assign({ - enabled: true, - retryAfterBaseValue: 1000, - doNotRetry: [400, 401, 403, 404, 422], - retries: 3 - }, octokitOptions.retry); - if (state.enabled) { - octokit.hook.error("request", errorRequest.bind(null, octokit, state)); - octokit.hook.wrap("request", wrapRequest.bind(null, state)); - } +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ + +function paginateRest(octokit) { return { - retry: { - retryRequest: (error, retries, retryAfter) => { - error.request.request = Object.assign({}, error.request.request, { - retries: retries, - retryAfter: retryAfter - }); - return error; - } - } + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) }; } -retry.VERSION = VERSION; +paginateRest.VERSION = VERSION; -exports.VERSION = VERSION; -exports.retry = retry; +exports.composePaginateRest = composePaginateRest; +exports.isPaginatingEndpoint = isPaginatingEndpoint; +exports.paginateRest = paginateRest; +exports.paginatingEndpoints = paginatingEndpoints; //# sourceMappingURL=index.js.map /***/ }), -/***/ 537: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 8883: +/***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var deprecation = __nccwpck_require__(8932); -var once = _interopDefault(__nccwpck_require__(1223)); +const VERSION = "1.0.4"; -const logOnceCode = once(deprecation => console.warn(deprecation)); -const logOnceHeaders = once(deprecation => console.warn(deprecation)); /** - * Error with extra properties to help with debugging + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor */ -class RequestError extends Error { - constructor(message, statusCode, options) { - super(message); // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - - this.name = "HttpError"; - this.status = statusCode; - let headers; - - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } // redact request credentials without mutating original request options - - - const requestCopy = Object.assign({}, options.request); - - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") - }); - } - - requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit - // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications - .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended - // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header - .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; // deprecations - - Object.defineProperty(this, "code", { - get() { - logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - } - - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); - return headers || {}; - } - +function requestLog(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + return request(options).then(response => { + octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`); + return response; + }).catch(error => { + octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`); + throw error; }); - } - + }); } +requestLog.VERSION = VERSION; -exports.RequestError = RequestError; +exports.requestLog = requestLog; //# sourceMappingURL=index.js.map /***/ }), -/***/ 6234: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { +/***/ 3044: +/***/ ((__unused_webpack_module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var endpoint = __nccwpck_require__(9440); -var universalUserAgent = __nccwpck_require__(5030); -var isPlainObject = __nccwpck_require__(3287); -var nodeFetch = _interopDefault(__nccwpck_require__(467)); -var requestError = __nccwpck_require__(537); - -const VERSION = "5.6.3"; +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); -function getBufferResponse(response) { - return response.arrayBuffer(); -} + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); -function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + if (enumerableOnly) { + symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + } - if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); + keys.push.apply(keys, symbols); } - let headers = {}; - let status; - let url; - const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; - return fetch(requestOptions.url, Object.assign({ - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect - }, // `requestOptions.request.agent` type is incompatible - // see https://github.com/octokit/types.ts/pull/264 - requestOptions.request)).then(async response => { - url = response.url; - status = response.status; + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); } + } - if ("deprecation" in headers) { - const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); - const deprecationLink = matches && matches.pop(); - log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); - } + return target; +} - if (status === 204 || status === 205) { - return; - } // GitHub API returns 200 for HEAD requests +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; +const Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: ["POST /orgs/{org}/actions/runners/{runner_id}/labels"], + addCustomLabelsToSelfHostedRunnerForRepo: ["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + approveWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"], + cancelWorkflowRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"], + createOrUpdateEnvironmentSecret: ["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + createRegistrationTokenForOrg: ["POST /orgs/{org}/actions/runners/registration-token"], + createRegistrationTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/registration-token"], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: ["POST /repos/{owner}/{repo}/actions/runners/remove-token"], + createWorkflowDispatch: ["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"], + deleteActionsCacheById: ["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"], + deleteActionsCacheByKey: ["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"], + deleteArtifact: ["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + deleteEnvironmentSecret: ["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + deleteSelfHostedRunnerFromOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}"], + deleteSelfHostedRunnerFromRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + disableSelectedRepositoryGithubActionsOrganization: ["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"], + disableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"], + downloadArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"], + downloadJobLogsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"], + downloadWorkflowRunAttemptLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"], + downloadWorkflowRunLogs: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"], + enableSelectedRepositoryGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"], + enableWorkflow: ["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: ["GET /orgs/{org}/actions/cache/usage-by-repository"], + getActionsCacheUsageForEnterprise: ["GET /enterprises/{enterprise}/actions/cache/usage"], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: ["GET /orgs/{org}/actions/permissions/selected-actions"], + getAllowedActionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getEnvironmentPublicKey: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"], + getEnvironmentSecret: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"], + getGithubActionsDefaultWorkflowPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/workflow"], + getGithubActionsDefaultWorkflowPermissionsOrganization: ["GET /orgs/{org}/actions/permissions/workflow"], + getGithubActionsDefaultWorkflowPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions/workflow"], + getGithubActionsPermissionsOrganization: ["GET /orgs/{org}/actions/permissions"], + getGithubActionsPermissionsRepository: ["GET /repos/{owner}/{repo}/actions/permissions"], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getPendingDeploymentsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + getRepoPermissions: ["GET /repos/{owner}/{repo}/actions/permissions", {}, { + renamed: ["actions", "getGithubActionsPermissionsRepository"] + }], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getReviewsForRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: ["GET /repos/{owner}/{repo}/actions/permissions/access"], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"], + getWorkflowRunUsage: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"], + getWorkflowUsage: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: ["GET /repositories/{repository_id}/environments/{environment_name}/secrets"], + listJobsForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"], + listJobsForWorkflowRunAttempt: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"], + listLabelsForSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}/labels"], + listLabelsForSelfHostedRunnerForRepo: ["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: ["GET /repos/{owner}/{repo}/actions/runners/downloads"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"], + listSelectedRepositoriesEnabledGithubActionsOrganization: ["GET /orgs/{org}/actions/permissions/repositories"], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"], + listWorkflowRuns: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: ["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + removeCustomLabelFromSelfHostedRunnerForOrg: ["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"], + removeCustomLabelFromSelfHostedRunnerForRepo: ["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"], + reviewPendingDeploymentsForRun: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"], + setAllowedActionsOrganization: ["PUT /orgs/{org}/actions/permissions/selected-actions"], + setAllowedActionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"], + setCustomLabelsForSelfHostedRunnerForOrg: ["PUT /orgs/{org}/actions/runners/{runner_id}/labels"], + setCustomLabelsForSelfHostedRunnerForRepo: ["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"], + setGithubActionsDefaultWorkflowPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/workflow"], + setGithubActionsDefaultWorkflowPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions/workflow"], + setGithubActionsDefaultWorkflowPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/workflow"], + setGithubActionsPermissionsOrganization: ["PUT /orgs/{org}/actions/permissions"], + setGithubActionsPermissionsRepository: ["PUT /repos/{owner}/{repo}/actions/permissions"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"], + setSelectedRepositoriesEnabledGithubActionsOrganization: ["PUT /orgs/{org}/actions/permissions/repositories"], + setWorkflowAccessToRepository: ["PUT /repos/{owner}/{repo}/actions/permissions/access"] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: ["DELETE /notifications/threads/{thread_id}/subscription"], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: ["GET /notifications/threads/{thread_id}/subscription"], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: ["GET /users/{username}/events/orgs/{org}"], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: ["GET /users/{username}/received_events/public"], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: ["GET /repos/{owner}/{repo}/notifications"], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: ["PUT /notifications/threads/{thread_id}/subscription"], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: ["PUT /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] + }], + addRepoToInstallationForAuthenticatedUser: ["PUT /user/installations/{installation_id}/repositories/{repository_id}"], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: ["POST /app/installations/{installation_id}/access_tokens"], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: ["GET /marketplace_listing/accounts/{account_id}"], + getSubscriptionPlanForAccountStubbed: ["GET /marketplace_listing/stubbed/accounts/{account_id}"], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: ["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"], + listInstallationReposForAuthenticatedUser: ["GET /user/installations/{installation_id}/repositories"], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: ["GET /user/marketplace_purchases/stubbed"], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: ["POST /app/hook/deliveries/{delivery_id}/attempts"], + removeRepoFromInstallation: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}", {}, { + renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] + }], + removeRepoFromInstallationForAuthenticatedUser: ["DELETE /user/installations/{installation_id}/repositories/{repository_id}"], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: ["DELETE /app/installations/{installation_id}/suspended"], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: ["GET /users/{username}/settings/billing/actions"], + getGithubAdvancedSecurityBillingGhe: ["GET /enterprises/{enterprise}/settings/billing/advanced-security"], + getGithubAdvancedSecurityBillingOrg: ["GET /orgs/{org}/settings/billing/advanced-security"], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: ["GET /users/{username}/settings/billing/packages"], + getSharedStorageBillingOrg: ["GET /orgs/{org}/settings/billing/shared-storage"], + getSharedStorageBillingUser: ["GET /users/{username}/settings/billing/shared-storage"] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: ["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"], + rerequestSuite: ["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"], + setSuitesPreferences: ["PATCH /repos/{owner}/{repo}/check-suites/preferences"], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: ["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"], + getAlert: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", {}, { + renamedParameters: { + alert_id: "alert_number" + } + }], + getAnalysis: ["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: ["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", {}, { + renamed: ["codeScanning", "listAlertInstances"] + }], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: ["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + codespaceMachinesForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/machines"], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + createOrUpdateSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}"], + createWithPrForAuthenticatedUser: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"], + createWithRepoForAuthenticatedUser: ["POST /repos/{owner}/{repo}/codespaces"], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: ["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + deleteSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}"], + exportForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/exports"], + getExportDetailsForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}/exports/{export_id}"], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getPublicKeyForAuthenticatedUser: ["GET /user/codespaces/secrets/public-key"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"], + getSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}"], + listDevcontainersInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/devcontainers"], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: ["GET /orgs/{org}/codespaces", {}, { + renamedParameters: { + org_id: "org" } - - throw new requestError.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: undefined - }, - request: requestOptions - }); - } - - if (status === 304) { - throw new requestError.RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - - if (status >= 400) { - const data = await getResponseData(response); - const error = new requestError.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - - return getResponseData(response); - }).then(data => { - return { - status, - url, - headers, - data - }; - }).catch(error => { - if (error instanceof requestError.RequestError) throw error; - throw new requestError.RequestError(error.message, 500, { - request: requestOptions - }); - }); -} - -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - - if (/application\/json/.test(contentType)) { - return response.json(); - } - - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - - return getBufferResponse(response); -} - -function toErrorMessage(data) { - if (typeof data === "string") return data; // istanbul ignore else - just in case - - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; - } - - return data.message; - } // istanbul ignore next - just in case - - - return `Unknown error: ${JSON.stringify(data)}`; -} - -function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - - const newApi = function (route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - - const request = (route, parameters) => { - return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); - }; - - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); - return endpointOptions.request.hook(request, endpointOptions); - }; - - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); -} - -const request = withDefaults(endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` - } -}); - -exports.request = request; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 5375: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -var core = __nccwpck_require__(4952); -var pluginRequestLog = __nccwpck_require__(8883); -var pluginPaginateRest = __nccwpck_require__(606); -var pluginRestEndpointMethods = __nccwpck_require__(4923); - -const VERSION = "19.0.7"; - -const Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.legacyRestEndpointMethods, pluginPaginateRest.paginateRest).defaults({ - userAgent: `octokit-rest.js/${VERSION}` -}); - -exports.Octokit = Octokit; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 7633: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; - return { - type: "token", - token: token, - tokenType - }; -} - -/** - * Prefix token for usage in the Authorization header - * - * @param token OAuth token or JSON Web Token - */ -function withAuthorizationPrefix(token) { - if (token.split(/\./).length === 3) { - return `bearer ${token}`; - } - return `token ${token}`; -} - -async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge(route, parameters); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); -} - -const createTokenAuth = function createTokenAuth(token) { - if (!token) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); - } - if (typeof token !== "string") { - throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string"); + }], + listInRepositoryForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: ["GET /user/codespaces/secrets/{secret_name}/repositories"], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + removeRepositoryForSecretForAuthenticatedUser: ["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"], + repoMachinesForAuthenticatedUser: ["GET /repos/{owner}/{repo}/codespaces/machines"], + setRepositoriesForSecretForAuthenticatedUser: ["PUT /user/codespaces/secrets/{secret_name}/repositories"], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: ["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + dependabot: { + addSelectedRepoToOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}"], + createOrUpdateRepoSecret: ["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: ["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"], + removeSelectedRepoFromOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"], + setSelectedReposForOrgSecret: ["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"] + }, + dependencyGraph: { + createRepositorySnapshot: ["POST /repos/{owner}/{repo}/dependency-graph/snapshots"], + diffRange: ["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"] + }, + emojis: { + get: ["GET /emojis"] + }, + enterpriseAdmin: { + addCustomLabelsToSelfHostedRunnerForEnterprise: ["POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + disableSelectedOrganizationGithubActionsEnterprise: ["DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + enableSelectedOrganizationGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}"], + getAllowedActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/selected-actions"], + getGithubActionsPermissionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions"], + getServerStatistics: ["GET /enterprise-installation/{enterprise_or_org}/server-statistics"], + listLabelsForSelfHostedRunnerForEnterprise: ["GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + listSelectedOrganizationsEnabledGithubActionsEnterprise: ["GET /enterprises/{enterprise}/actions/permissions/organizations"], + removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + removeCustomLabelFromSelfHostedRunnerForEnterprise: ["DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}"], + setAllowedActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/selected-actions"], + setCustomLabelsForSelfHostedRunnerForEnterprise: ["PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels"], + setGithubActionsPermissionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions"], + setSelectedOrganizationsEnabledGithubActionsEnterprise: ["PUT /enterprises/{enterprise}/actions/permissions/organizations"] + }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: ["GET /user/interaction-limits", {}, { + renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] + }], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: ["DELETE /repos/{owner}/{repo}/interaction-limits"], + removeRestrictionsForYourPublicRepos: ["DELETE /user/interaction-limits", {}, { + renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] + }], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: ["PUT /user/interaction-limits", {}, { + renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] + }] + }, + issues: { + addAssignees: ["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: ["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: ["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: ["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"], + removeAssignees: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"], + removeLabel: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: ["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: ["POST /markdown/raw", { + headers: { + "content-type": "text/plain; charset=utf-8" + } + }] + }, + meta: { + get: ["GET /meta"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + cancelImport: ["DELETE /repos/{owner}/{repo}/import"], + deleteArchiveForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/archive"], + deleteArchiveForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/archive"], + downloadArchiveForOrg: ["GET /orgs/{org}/migrations/{migration_id}/archive"], + getArchiveForAuthenticatedUser: ["GET /user/migrations/{migration_id}/archive"], + getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], + getImportStatus: ["GET /repos/{owner}/{repo}/import"], + getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: ["GET /user/migrations/{migration_id}/repositories"], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: ["GET /user/migrations/{migration_id}/repositories", {}, { + renamed: ["migrations", "listReposForAuthenticatedUser"] + }], + mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], + setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: ["PUT /repos/{owner}/{repo}/import"], + unlockRepoForAuthenticatedUser: ["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"], + unlockRepoForOrg: ["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"], + updateImport: ["PATCH /repos/{owner}/{repo}/import"] + }, + orgs: { + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: ["PUT /orgs/{org}/outside_collaborators/{username}"], + createInvitation: ["POST /orgs/{org}/invitations"], + createWebhook: ["POST /orgs/{org}/hooks"], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + get: ["GET /orgs/{org}"], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomRoles: ["GET /organizations/{organization_id}/custom_roles"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: ["DELETE /orgs/{org}/outside_collaborators/{username}"], + removePublicMembershipForAuthenticatedUser: ["DELETE /orgs/{org}/public_members/{username}"], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: ["PUT /orgs/{org}/public_members/{username}"], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: ["PATCH /user/memberships/orgs/{org}"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}"], + deletePackageForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}"], + deletePackageForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}"], + deletePackageVersionForAuthenticatedUser: ["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForOrg: ["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + deletePackageVersionForUser: ["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getAllPackageVersionsForAPackageOwnedByAnOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] + }], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions", {}, { + renamed: ["packages", "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"] + }], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByOrg: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"], + getAllPackageVersionsForPackageOwnedByUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions"], + getPackageForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}"], + getPackageForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}"], + getPackageForUser: ["GET /users/{username}/packages/{package_type}/{package_name}"], + getPackageVersionForAuthenticatedUser: ["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForOrganization: ["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + getPackageVersionForUser: ["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"], + restorePackageVersionForAuthenticatedUser: ["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForOrg: ["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"], + restorePackageVersionForUser: ["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: ["GET /projects/{project_id}/collaborators/{username}/permission"], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: ["DELETE /projects/{project_id}/collaborators/{username}"], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + deletePendingReview: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + deleteReviewComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + dismissReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + listReviewComments: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: ["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + requestReviewers: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"], + submitReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"], + updateReview: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"], + updateReviewComment: ["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"] + }, + rateLimit: { + get: ["GET /rate_limit"] + }, + reactions: { + createForCommitComment: ["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + createForIssue: ["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + createForIssueComment: ["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + createForPullRequestReviewComment: ["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + createForRelease: ["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"], + createForTeamDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + createForTeamDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"], + deleteForCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"], + deleteForIssue: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"], + deleteForIssueComment: ["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"], + deleteForPullRequestComment: ["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"], + deleteForRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"], + deleteForTeamDiscussion: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"], + deleteForTeamDiscussionComment: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"], + listForCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"], + listForPullRequestReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"], + listForRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"], + listForTeamDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"], + listForTeamDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"] + }, + repos: { + acceptInvitation: ["PATCH /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "acceptInvitationForAuthenticatedUser"] + }], + acceptInvitationForAuthenticatedUser: ["PATCH /user/repository_invitations/{invitation_id}"], + addAppAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + addTeamAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + addUserAccessRestrictions: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkVulnerabilityAlerts: ["GET /repos/{owner}/{repo}/vulnerability-alerts"], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: ["GET /repos/{owner}/{repo}/compare/{basehead}"], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: ["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + createCommitSignatureProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentStatus: ["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateEnvironment: ["PUT /repos/{owner}/{repo}/environments/{environment_name}"], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: ["POST /repos/{template_owner}/{template_repo}/generate"], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: ["DELETE /user/repository_invitations/{invitation_id}", {}, { + renamed: ["repos", "declineInvitationForAuthenticatedUser"] + }], + declineInvitationForAuthenticatedUser: ["DELETE /user/repository_invitations/{invitation_id}"], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + deleteAdminBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + deleteAnEnvironment: ["DELETE /repos/{owner}/{repo}/environments/{environment_name}"], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: ["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: ["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: ["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"], + deleteTagProtection: ["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: ["DELETE /repos/{owner}/{repo}/automated-security-fixes"], + disableLfsForRepo: ["DELETE /repos/{owner}/{repo}/lfs"], + disableVulnerabilityAlerts: ["DELETE /repos/{owner}/{repo}/vulnerability-alerts"], + downloadArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}", {}, { + renamed: ["repos", "downloadZipballArchive"] + }], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: ["PUT /repos/{owner}/{repo}/automated-security-fixes"], + enableLfsForRepo: ["PUT /repos/{owner}/{repo}/lfs"], + enableVulnerabilityAlerts: ["PUT /repos/{owner}/{repo}/vulnerability-alerts"], + generateReleaseNotes: ["POST /repos/{owner}/{repo}/releases/generate-notes"], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"], + getAdminBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: ["GET /repos/{owner}/{repo}/collaborators/{username}/permission"], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentStatus: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"], + getEnvironment: ["GET /repos/{owner}/{repo}/environments/{environment_name}"], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getStatusChecksProtection: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + getTeamsWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: ["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"], + getWebhookDelivery: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/statuses"], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentStatuses: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: ["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"], + listReleaseAssets: ["GET /repos/{owner}/{repo}/releases/{release_id}/assets"], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: ["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"], + removeAppAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + removeCollaborator: ["DELETE /repos/{owner}/{repo}/collaborators/{username}"], + removeStatusCheckContexts: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + removeStatusCheckProtection: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + removeTeamAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + removeUserAccessRestrictions: ["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: ["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"], + setAppAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", {}, { + mapToData: "apps" + }], + setStatusCheckContexts: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", {}, { + mapToData: "contexts" + }], + setTeamAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", {}, { + mapToData: "teams" + }], + setUserAccessRestrictions: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", {}, { + mapToData: "users" + }], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: ["PUT /repos/{owner}/{repo}/branches/{branch}/protection"], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: ["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"], + updatePullRequestReviewProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: ["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"], + updateStatusCheckPotection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", {}, { + renamed: ["repos", "updateStatusCheckProtection"] + }], + updateStatusCheckProtection: ["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"], + uploadReleaseAsset: ["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", { + baseUrl: "https://uploads.github.com" + }] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"], + listAlertsForEnterprise: ["GET /enterprises/{enterprise}/secret-scanning/alerts"], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: ["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"], + updateAlert: ["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"] + }, + teams: { + addOrUpdateMembershipForUserInOrg: ["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"], + addOrUpdateProjectPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + addOrUpdateRepoPermissionsInOrg: ["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + checkPermissionsForProjectInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + checkPermissionsForRepoInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + deleteDiscussionInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + getDiscussionInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + getMembershipForUserInOrg: ["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: ["GET /orgs/{org}/teams/{team_slug}/invitations"], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"], + removeProjectInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"], + removeRepoInOrg: ["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"], + updateDiscussionCommentInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"], + updateDiscussionInOrg: ["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: ["POST /user/emails", {}, { + renamed: ["users", "addEmailForAuthenticatedUser"] + }], + addEmailForAuthenticatedUser: ["POST /user/emails"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: ["POST /user/gpg_keys", {}, { + renamed: ["users", "createGpgKeyForAuthenticatedUser"] + }], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: ["POST /user/keys", {}, { + renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] + }], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + deleteEmailForAuthenticated: ["DELETE /user/emails", {}, { + renamed: ["users", "deleteEmailForAuthenticatedUser"] + }], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: ["DELETE /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] + }], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: ["DELETE /user/keys/{key_id}", {}, { + renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] + }], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: ["GET /user/gpg_keys/{gpg_key_id}", {}, { + renamed: ["users", "getGpgKeyForAuthenticatedUser"] + }], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: ["GET /user/keys/{key_id}", {}, { + renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] + }], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + list: ["GET /users"], + listBlockedByAuthenticated: ["GET /user/blocks", {}, { + renamed: ["users", "listBlockedByAuthenticatedUser"] + }], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: ["GET /user/emails", {}, { + renamed: ["users", "listEmailsForAuthenticatedUser"] + }], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: ["GET /user/following", {}, { + renamed: ["users", "listFollowedByAuthenticatedUser"] + }], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: ["GET /user/gpg_keys", {}, { + renamed: ["users", "listGpgKeysForAuthenticatedUser"] + }], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: ["GET /user/public_emails", {}, { + renamed: ["users", "listPublicEmailsForAuthenticatedUser"] + }], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: ["GET /user/keys", {}, { + renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] + }], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + setPrimaryEmailVisibilityForAuthenticated: ["PATCH /user/email/visibility", {}, { + renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] + }], + setPrimaryEmailVisibilityForAuthenticatedUser: ["PATCH /user/email/visibility"], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] } - token = token.replace(/^(token|bearer) +/i, ""); - return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) - }); }; -exports.createTokenAuth = createTokenAuth; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 4952: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -var universalUserAgent = __nccwpck_require__(5030); -var beforeAfterHook = __nccwpck_require__(3682); -var request = __nccwpck_require__(6206); -var graphql = __nccwpck_require__(7461); -var authToken = __nccwpck_require__(7633); - -const VERSION = "4.2.0"; - -class Octokit { - constructor(options = {}) { - const hook = new beforeAfterHook.Collection(); - const requestDefaults = { - baseUrl: request.request.endpoint.DEFAULTS.baseUrl, - headers: {}, - request: Object.assign({}, options.request, { - // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request") - }), - mediaType: { - previews: [], - format: "" - } - }; // prepend default user agent with `options.userAgent` if set - - requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" "); - - if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; - } - - if (options.previews) { - requestDefaults.mediaType.previews = options.previews; - } - - if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; - } - - this.request = request.request.defaults(requestDefaults); - this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults); - this.log = Object.assign({ - debug: () => {}, - info: () => {}, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, options.log); - this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance - // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered. - // (2) If only `options.auth` is set, use the default token authentication strategy. - // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance. - // TODO: type `options.auth` based on `options.authStrategy`. +const VERSION = "5.16.2"; - if (!options.authStrategy) { - if (!options.auth) { - // (1) - this.auth = async () => ({ - type: "unauthenticated" - }); - } else { - // (2) - const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯ +function endpointsToMethods(octokit, endpointsMap) { + const newMethods = {}; - hook.wrap("request", auth.hook); - this.auth = auth; - } - } else { - const { - authStrategy, - ...otherOptions - } = options; - const auth = authStrategy(Object.assign({ - request: this.request, - log: this.log, - // we pass the current octokit instance as well as its constructor options - // to allow for authentication strategies that return a new octokit instance - // that shares the same internal state as the current one. The original - // requirement for this was the "event-octokit" authentication strategy - // of https://github.com/probot/octokit-auth-probot. - octokit: this, - octokitOptions: otherOptions - }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯ + for (const [scope, endpoints] of Object.entries(endpointsMap)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign({ + method, + url + }, defaults); - hook.wrap("request", auth.hook); - this.auth = auth; - } // apply plugins - // https://stackoverflow.com/a/16345172 + if (!newMethods[scope]) { + newMethods[scope] = {}; + } + const scopeMethods = newMethods[scope]; - const classConstructor = this.constructor; - classConstructor.plugins.forEach(plugin => { - Object.assign(this, plugin(this, options)); - }); + if (decorations) { + scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations); + continue; + } + + scopeMethods[methodName] = octokit.request.defaults(endpointDefaults); + } } - static defaults(defaults) { - const OctokitWithDefaults = class extends this { - constructor(...args) { - const options = args[0] || {}; + return newMethods; +} - if (typeof defaults === "function") { - super(defaults(options)); - return; - } +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + /* istanbul ignore next */ - super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` - } : null)); - } + function withDecorations(...args) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + let options = requestWithDefaults.endpoint.merge(...args); // There are currently no other decorations than `.mapToData` - }; - return OctokitWithDefaults; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: undefined + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`); + } - static plugin(...newPlugins) { - var _a; + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } - const currentPlugins = this.plugins; - const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a); - return NewOctokit; + if (decorations.renamedParameters) { + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + const options = requestWithDefaults.endpoint.merge(...args); + + for (const [name, alias] of Object.entries(decorations.renamedParameters)) { + if (name in options) { + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + + if (!(alias in options)) { + options[alias] = options[name]; + } + + delete options[name]; + } + } + + return requestWithDefaults(options); + } // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + + + return requestWithDefaults(...args); } + return Object.assign(withDecorations, requestWithDefaults); } -Octokit.VERSION = VERSION; -Octokit.plugins = []; -exports.Octokit = Octokit; +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return _objectSpread2(_objectSpread2({}, api), {}, { + rest: api + }); +} +legacyRestEndpointMethods.VERSION = VERSION; + +exports.legacyRestEndpointMethods = legacyRestEndpointMethods; +exports.restEndpointMethods = restEndpointMethods; //# sourceMappingURL=index.js.map /***/ }), -/***/ 6065: +/***/ 6298: /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; @@ -6027,355 +6392,165 @@ exports.Octokit = Octokit; Object.defineProperty(exports, "__esModule", ({ value: true })); -var isPlainObject = __nccwpck_require__(3287); -var universalUserAgent = __nccwpck_require__(5030); - -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} - -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach(key => { - if (isPlainObject.isPlainObject(options[key])) { - if (!(key in defaults)) Object.assign(result, { - [key]: options[key] - });else result[key] = mergeDeep(defaults[key], options[key]); - } else { - Object.assign(result, { - [key]: options[key] - }); - } - }); - return result; -} - -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === undefined) { - delete obj[key]; - } - } - return obj; -} +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -function merge(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { - method, - url - } : { - url: method - }, options); - } else { - options = Object.assign({}, route); - } - // lowercase header names before merging with defaults to avoid duplicates - options.headers = lowercaseKeys(options.headers); - // remove properties with undefined values before merging - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); - // mediaType.previews arrays are merged, instead of overwritten - if (defaults && defaults.mediaType.previews.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); - } - mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); - return mergedOptions; -} +var Bottleneck = _interopDefault(__nccwpck_require__(1174)); +var requestError = __nccwpck_require__(537); -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; +// @ts-ignore +async function errorRequest(octokit, state, error, options) { + if (!error.request || !error.request.request) { + // address https://github.com/octokit/plugin-retry.js/issues/8 + throw error; } - return url + separator + names.map(name => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} - -const urlVariableRegex = /\{[^}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); -} -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; + // retry all >= 400 && not doNotRetry + if (error.status >= 400 && !state.doNotRetry.includes(error.status)) { + const retries = options.request.retries != null ? options.request.retries : state.retries; + const retryAfter = Math.pow((options.request.retryCount || 0) + 1, 2); + throw octokit.retry.retryRequest(error, retries, retryAfter); } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -function omit(object, keysToOmit) { - return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); + // Maybe eventually there will be more cases here + throw error; } -// Based on https://github.com/bramstein/url-template, licensed under BSD -// TODO: create separate package. -// -// Copyright (c) 2012-2014, Bram Stein -// All rights reserved. -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/* istanbul ignore file */ -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); +// @ts-ignore +// @ts-ignore +async function wrapRequest(state, request, options) { + const limiter = new Bottleneck(); + // @ts-ignore + limiter.on("failed", function (error, info) { + const maxRetries = ~~error.request.request.retries; + const after = ~~error.request.request.retryAfter; + options.request.retryCount = info.retryCount + 1; + if (maxRetries > info.retryCount) { + // Returning a number instructs the limiter to retry + // the request after that number of milliseconds have passed + return after * state.retryAfterBaseValue; } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); }); + return limiter.schedule(requestWithGraphqlErrorHandling.bind(null, request), options); } -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; +// @ts-ignore +async function requestWithGraphqlErrorHandling(request, options) { + const response = await request(request, options); + if (response.data && response.data.errors && /Something went wrong while executing your query/.test(response.data.errors[0].message)) { + // simulate 500 request error for retry handling + const error = new requestError.RequestError(response.data.errors[0].message, 500, { + request: options, + response + }); + throw error; } + return response; } -function isDefined(value) { - return value !== undefined && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], - result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function (value) { - tmp.push(encodeValue(operator, value)); - }); - } else { - Object.keys(value).forEach(function (k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } + +const VERSION = "4.1.1"; +function retry(octokit, octokitOptions) { + const state = Object.assign({ + enabled: true, + retryAfterBaseValue: 1000, + doNotRetry: [400, 401, 403, 404, 422], + retries: 3 + }, octokitOptions.retry); + if (state.enabled) { + octokit.hook.error("request", errorRequest.bind(null, octokit, state)); + octokit.hook.wrap("request", wrapRequest.bind(null, state)); } - return result; -} -function parseUrl(template) { return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - if (operator && operator !== "+") { - var separator = ","; - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; - } - return (values.length !== 0 ? operator : "") + values.join(separator); - } else { - return values.join(","); + retry: { + retryRequest: (error, retries, retryAfter) => { + error.request.request = Object.assign({}, error.request.request, { + retries: retries, + retryAfter: retryAfter + }); + return error; } - } else { - return encodeReserved(literal); } - }); + }; } +retry.VERSION = VERSION; -function parse(options) { - // https://fetch.spec.whatwg.org/#methods - let method = options.method.toUpperCase(); - // replace :varname with {varname} to make it RFC 6570 compatible - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); - // extract variable names from URL to calculate remaining variables later - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); - if (!/^http/.test(url)) { - url = options.baseUrl + url; - } - const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); - if (!isBinaryRequest) { - if (options.mediaType.format) { - // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw - headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); +exports.VERSION = VERSION; +exports.retry = retry; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 537: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = __nccwpck_require__(8932); +var once = _interopDefault(__nccwpck_require__(1223)); + +const logOnceCode = once(deprecation => console.warn(deprecation)); +const logOnceHeaders = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); } - if (options.mediaType.previews.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; } - } - // for GET/HEAD requests, set URL query parameters from remaining parameters - // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; } + // redact request credentials without mutating original request options + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + requestCopy.url = requestCopy.url + // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") + // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + // deprecations + Object.defineProperty(this, "code", { + get() { + logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); + return headers || {}; + } + }); } - // default content-type for JSON if body is set - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } - // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. - // fetch does not allow to set `content-length` header, but we can set body to an empty string - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } - // Only return body/request keys if present - return Object.assign({ - method, - url, - headers - }, typeof body !== "undefined" ? { - body - } : null, options.request ? { - request: options.request - } : null); -} - -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); -} - -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse - }); } -const VERSION = "7.0.5"; - -const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; -// DEFAULTS has all properties set that EndpointOptions has, except url. -// So we use RequestParameters and add method as additional required property. -const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "", - previews: [] - } -}; - -const endpoint = withDefaults(null, DEFAULTS); - -exports.endpoint = endpoint; +exports.RequestError = RequestError; //# sourceMappingURL=index.js.map /***/ }), -/***/ 7461: +/***/ 6234: /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { "use strict"; @@ -6383,105 +6558,182 @@ exports.endpoint = endpoint; Object.defineProperty(exports, "__esModule", ({ value: true })); -var request = __nccwpck_require__(6206); +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = __nccwpck_require__(9440); var universalUserAgent = __nccwpck_require__(5030); +var isPlainObject = __nccwpck_require__(3287); +var nodeFetch = _interopDefault(__nccwpck_require__(467)); +var requestError = __nccwpck_require__(537); -const VERSION = "5.0.5"; +const VERSION = "6.2.3"; -function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n"); -} -class GraphqlResponseError extends Error { - constructor(request, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; - // Expose the errors and response data in their shorthand properties. - this.errors = response.errors; - this.data = response.data; - // Maintains proper stack trace (only available on V8) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } +function getBufferResponse(response) { + return response.arrayBuffer(); } -const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, query, options) { - if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); - } - for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; - return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`)); - } +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); } - const parsedOptions = typeof query === "string" ? Object.assign({ - query - }, options) : query; - const requestOptions = Object.keys(parsedOptions).reduce((result, key) => { - if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = parsedOptions[key]; - return result; + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || globalThis.fetch || /* istanbul ignore next */nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, + // `requestOptions.request.agent` type is incompatible + // see https://github.com/octokit/types.ts/pull/264 + requestOptions.request)).then(async response => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; } - if (!result.variables) { - result.variables = {}; + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); } - result.variables[key] = parsedOptions[key]; - return result; - }, {}); - // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix - // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451 - const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); - } - return request(requestOptions).then(response => { - if (response.data.errors) { - const headers = {}; - for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; + if (status === 204 || status === 205) { + return; + } + // GitHub API returns 200 for HEAD requests + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; } - throw new GraphqlResponseError(requestOptions, headers, response.data); + throw new requestError.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: undefined + }, + request: requestOptions + }); } - return response.data.data; + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new requestError.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return getResponseData(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) throw error;else if (error.name === "AbortError") throw error; + throw new requestError.RequestError(error.message, 500, { + request: requestOptions + }); }); } +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json(); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") return data; + // istanbul ignore else - just in case + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + } + return data.message; + } + // istanbul ignore next - just in case + return `Unknown error: ${JSON.stringify(data)}`; +} -function withDefaults(request, newDefaults) { - const newRequest = request.defaults(newDefaults); - const newApi = (query, options) => { - return graphql(newRequest, query, options); +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); }; return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: newRequest.endpoint + endpoint, + defaults: withDefaults.bind(null, endpoint) }); } -const graphql$1 = withDefaults(request.request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}` - }, - method: "POST", - url: "/graphql" +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` + } +}); + +exports.request = request; +//# sourceMappingURL=index.js.map + + +/***/ }), + +/***/ 5375: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +var core = __nccwpck_require__(6762); +var pluginRequestLog = __nccwpck_require__(8883); +var pluginPaginateRest = __nccwpck_require__(606); +var pluginRestEndpointMethods = __nccwpck_require__(4923); + +const VERSION = "19.0.7"; + +const Octokit = core.Octokit.plugin(pluginRequestLog.requestLog, pluginRestEndpointMethods.legacyRestEndpointMethods, pluginPaginateRest.paginateRest).defaults({ + userAgent: `octokit-rest.js/${VERSION}` }); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} -exports.GraphqlResponseError = GraphqlResponseError; -exports.graphql = graphql$1; -exports.withCustomRequest = withCustomRequest; +exports.Octokit = Octokit; //# sourceMappingURL=index.js.map @@ -7709,276 +7961,39 @@ function decorate(octokit, scope, methodName, defaults, decorations) { const options = requestWithDefaults.endpoint.merge(...args); for (const [name, alias] of Object.entries(decorations.renamedParameters)) { if (name in options) { - octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); - if (!(alias in options)) { - options[alias] = options[name]; - } - delete options[name]; - } - } - return requestWithDefaults(options); - } - // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 - return requestWithDefaults(...args); - } - return Object.assign(withDecorations, requestWithDefaults); -} - -function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit, Endpoints); - return { - rest: api - }; -} -restEndpointMethods.VERSION = VERSION; -function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit, Endpoints); - return { - ...api, - rest: api - }; -} -legacyRestEndpointMethods.VERSION = VERSION; - -exports.legacyRestEndpointMethods = legacyRestEndpointMethods; -exports.restEndpointMethods = restEndpointMethods; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 6239: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var deprecation = __nccwpck_require__(8932); -var once = _interopDefault(__nccwpck_require__(1223)); - -const logOnceCode = once(deprecation => console.warn(deprecation)); -const logOnceHeaders = once(deprecation => console.warn(deprecation)); -/** - * Error with extra properties to help with debugging - */ -class RequestError extends Error { - constructor(message, statusCode, options) { - super(message); - // Maintains proper stack trace (only available on V8) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "HttpError"; - this.status = statusCode; - let headers; - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } - // redact request credentials without mutating original request options - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") - }); - } - requestCopy.url = requestCopy.url - // client_id & client_secret can be passed as URL query parameters to increase rate limit - // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications - .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") - // OAuth tokens can be passed as URL query parameters, although it is not recommended - // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header - .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - // deprecations - Object.defineProperty(this, "code", { - get() { - logOnceCode(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); - return statusCode; - } - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders(new deprecation.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")); - return headers || {}; - } - }); - } -} - -exports.RequestError = RequestError; -//# sourceMappingURL=index.js.map - - -/***/ }), - -/***/ 6206: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var endpoint = __nccwpck_require__(6065); -var universalUserAgent = __nccwpck_require__(5030); -var isPlainObject = __nccwpck_require__(3287); -var nodeFetch = _interopDefault(__nccwpck_require__(467)); -var requestError = __nccwpck_require__(6239); - -const VERSION = "6.2.3"; - -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - if (isPlainObject.isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - let headers = {}; - let status; - let url; - const fetch = requestOptions.request && requestOptions.request.fetch || globalThis.fetch || /* istanbul ignore next */nodeFetch; - return fetch(requestOptions.url, Object.assign({ - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect - }, - // `requestOptions.request.agent` type is incompatible - // see https://github.com/octokit/types.ts/pull/264 - requestOptions.request)).then(async response => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ("deprecation" in headers) { - const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); - const deprecationLink = matches && matches.pop(); - log.warn(`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`); - } - if (status === 204 || status === 205) { - return; - } - // GitHub API returns 200 for HEAD requests - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new requestError.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: undefined - }, - request: requestOptions - }); - } - if (status === 304) { - throw new requestError.RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new requestError.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return getResponseData(response); - }).then(data => { - return { - status, - url, - headers, - data - }; - }).catch(error => { - if (error instanceof requestError.RequestError) throw error;else if (error.name === "AbortError") throw error; - throw new requestError.RequestError(error.message, 500, { - request: requestOptions - }); - }); -} -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBufferResponse(response); -} -function toErrorMessage(data) { - if (typeof data === "string") return data; - // istanbul ignore else - just in case - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + octokit.log.warn(`"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`); + if (!(alias in options)) { + options[alias] = options[name]; + } + delete options[name]; + } + } + return requestWithDefaults(options); } - return data.message; + // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488 + return requestWithDefaults(...args); } - // istanbul ignore next - just in case - return `Unknown error: ${JSON.stringify(data)}`; + return Object.assign(withDecorations, requestWithDefaults); } -function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - const newApi = function (route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - const request = (route, parameters) => { - return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); - }; - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); - return endpointOptions.request.hook(request, endpointOptions); +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + rest: api }; - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); } +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit, Endpoints); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; -const request = withDefaults(endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` - } -}); - -exports.request = request; +exports.legacyRestEndpointMethods = legacyRestEndpointMethods; +exports.restEndpointMethods = restEndpointMethods; //# sourceMappingURL=index.js.map @@ -10067,4372 +10082,3264 @@ exports.isPlainObject = isPlainObject; /***/ }), -/***/ 3973: +/***/ 6737: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { -module.exports = minimatch -minimatch.Minimatch = Minimatch +// js acts as a wrapper to the c++ bindings +// prefer to do error handling and other abstrctions in the +// js layer and only go to c++ when we need to hit libxml +var bindings = __nccwpck_require__(1463); -var path = (function () { try { return __nccwpck_require__(1017) } catch (e) {}}()) || { - sep: '/' -} -minimatch.sep = path.sep +// document parsing for backwards compat +var Document = __nccwpck_require__(6037); -var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} -var expand = __nccwpck_require__(3717) +/// parse an xml string and return a Document +module.exports.parseXml = Document.fromXml; -var plTypes = { - '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, - '?': { open: '(?:', close: ')?' }, - '+': { open: '(?:', close: ')+' }, - '*': { open: '(?:', close: ')*' }, - '@': { open: '(?:', close: ')' } -} +/// parse an html string and return a Document +module.exports.parseHtml = Document.fromHtml; +module.exports.parseHtmlFragment = Document.fromHtmlFragment; -// any single thing other than / -// don't need to escape / when using new RegExp() -var qmark = '[^/]' +// constants +module.exports.version = __nccwpck_require__(2485).version; +module.exports.libxml_version = bindings.libxml_version; +module.exports.libxml_parser_version = bindings.libxml_parser_version; +module.exports.libxml_debug_enabled = bindings.libxml_debug_enabled; +module.exports.features = bindings.features; -// * => any number of characters -var star = qmark + '*?' +// lib exports +module.exports.Comment = __nccwpck_require__(9284); +module.exports.Document = Document; +module.exports.Element = __nccwpck_require__(9837); +module.exports.ProcessingInstruction = __nccwpck_require__(1701); +module.exports.Text = __nccwpck_require__(2036); -// ** when dots are allowed. Anything goes, except .. and . -// not (^ or / followed by one or two dots followed by $ or /), -// followed by anything, any number of times. -var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' +// Compatibility synonyms +Document.fromXmlString = Document.fromXml; +Document.fromHtmlString = Document.fromHtml; +module.exports.parseXmlString = module.exports.parseXml; +module.exports.parseHtmlString = module.exports.parseHtml; -// not a ^ or / followed by a dot, -// followed by anything, any number of times. -var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' +var sax_parser = __nccwpck_require__(3857); +module.exports.SaxParser = sax_parser.SaxParser; +module.exports.SaxPushParser = sax_parser.SaxPushParser; -// characters that need to be escaped in RegExp. -var reSpecials = charSet('().*{}+?[]^$\\!') +module.exports.memoryUsage = bindings.xmlMemUsed; -// "abc" -> { a:true, b:true, c:true } -function charSet (s) { - return s.split('').reduce(function (set, c) { - set[c] = true - return set - }, {}) -} +module.exports.nodeCount = bindings.xmlNodeCount; -// normalizes slashes. -var slashSplit = /\/+/ -minimatch.filter = filter -function filter (pattern, options) { - options = options || {} - return function (p, i, list) { - return minimatch(p, pattern, options) - } -} +/***/ }), -function ext (a, b) { - b = b || {} - var t = {} - Object.keys(a).forEach(function (k) { - t[k] = a[k] - }) - Object.keys(b).forEach(function (k) { - t[k] = b[k] - }) - return t -} +/***/ 1463: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { -minimatch.defaults = function (def) { - if (!def || typeof def !== 'object' || !Object.keys(def).length) { - return minimatch - } +module.exports = require(__nccwpck_require__.ab + "build/Release/xmljs.node"); - var orig = minimatch - var m = function minimatch (p, pattern, options) { - return orig(p, pattern, ext(def, options)) - } +/***/ }), - m.Minimatch = function Minimatch (pattern, options) { - return new orig.Minimatch(pattern, ext(def, options)) - } - m.Minimatch.defaults = function defaults (options) { - return orig.defaults(ext(def, options)).Minimatch - } +/***/ 9284: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - m.filter = function filter (pattern, options) { - return orig.filter(pattern, ext(def, options)) - } +var bindings = __nccwpck_require__(1463); - m.defaults = function defaults (options) { - return orig.defaults(ext(def, options)) - } +var Document = __nccwpck_require__(6037); - m.makeRe = function makeRe (pattern, options) { - return orig.makeRe(pattern, ext(def, options)) - } +/// create a new comment on the given document +/// @param doc the Document to create the comment for +/// @param {String} [content] comment content +/// @constructor +var Comment = function(doc, content) { + if (!doc) { + throw new Error('document argument required'); + } else if (! (doc instanceof bindings.Document)) { + throw new Error('document argument must be an ' + + 'instance of Document'); + } - m.braceExpand = function braceExpand (pattern, options) { - return orig.braceExpand(pattern, ext(def, options)) - } + return new bindings.Comment(doc, content); +}; - m.match = function (list, pattern, options) { - return orig.match(list, pattern, ext(def, options)) - } +Comment.prototype = bindings.Comment.prototype; - return m -} +module.exports = Comment; -Minimatch.defaults = function (def) { - return minimatch.defaults(def).Minimatch -} -function minimatch (p, pattern, options) { - assertValidPattern(pattern) - if (!options) options = {} +/***/ }), - // shortcut: comments match nothing. - if (!options.nocomment && pattern.charAt(0) === '#') { - return false - } +/***/ 6037: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - return new Minimatch(pattern, options).match(p) +var bindings = __nccwpck_require__(1463); + +var Element = __nccwpck_require__(9837); + +function assertRoot(doc) { + if(!doc.root()) { + throw new Error('Document has no root element'); + } } -function Minimatch (pattern, options) { - if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options) - } +/// Create a new document +/// @param {string} version xml version, default 1.0 +/// @param {string} encoding the encoding, default utf8 +/// @constructor +function Document(version, encoding) { + version = version || '1.0'; + var doc = new bindings.Document(version); + doc.encoding(encoding || 'utf8'); + return doc; +} - assertValidPattern(pattern) +Document.prototype = bindings.Document.prototype; - if (!options) options = {} +/// get or set the root element +/// if called without any arguments, this will return the document root +/// @param {Element} [elem] if specified, this will become the new document root +Document.prototype.root = function(elem) { + return this._root(elem); +}; - pattern = pattern.trim() +/// add a child node to the document +/// this will set the document root +Document.prototype.node = function(name, content) { + return this.root(Element(this, name, content)); +}; - // windows support: need to use /, not \ - if (!options.allowWindowsEscape && path.sep !== '/') { - pattern = pattern.split(path.sep).join('/') - } +/// xpath search +/// @return array of matching elements +Document.prototype.find = function(xpath, ns_uri) { + assertRoot(this); - this.options = options - this.set = [] - this.pattern = pattern - this.regexp = null - this.negate = false - this.comment = false - this.empty = false - this.partial = !!options.partial + return this.root().find(xpath, ns_uri); +}; - // make the set of regexps etc. - this.make() -} +/// xpath search +/// @return first element matching +Document.prototype.get = function(xpath, ns_uri) { + assertRoot(this); -Minimatch.prototype.debug = function () {} + return this.root().get(xpath, ns_uri); +}; -Minimatch.prototype.make = make -function make () { - var pattern = this.pattern - var options = this.options +/// @return a given child +Document.prototype.child = function(id) { + if (id === undefined || typeof id !== 'number') { + throw new Error('id argument required for #child'); + } - // empty patterns and comments match nothing. - if (!options.nocomment && pattern.charAt(0) === '#') { - this.comment = true - return - } - if (!pattern) { - this.empty = true - return - } + assertRoot(this); - // step 1: figure out negation, etc. - this.parseNegate() + return this.root().child(id); +}; - // step 2: expand braces - var set = this.globSet = this.braceExpand() +/// @return an Array of child nodes of the document root +Document.prototype.childNodes = function() { + assertRoot(this); - if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) } + return this.root().childNodes(); +}; - this.debug(this.pattern, set) +/// @return a string representation of the document +Document.prototype.toString = function(formatted) { + return this._toString(formatted !== undefined ? formatted : true); +}; - // step 3: now we have a set, so turn each one into a series of path-portion - // matching patterns. - // These will be regexps, except in the case of "**", which is - // set to the GLOBSTAR object for globstar behavior, - // and will not contain any / characters - set = this.globParts = set.map(function (s) { - return s.split(slashSplit) - }) +/// @return the document version +Document.prototype.version = function() { + return this._version(); +}; - this.debug(this.pattern, set) +/// @return the document encoding +Document.prototype.encoding = function(encoding) { + return this._encoding(encoding); +}; - // glob --> regexps - set = set.map(function (s, si, set) { - return s.map(this.parse, this) - }, this) +/// @return whether the XmlDocument is valid +Document.prototype.validate = function(xsd) { + return this._validate(xsd); +}; - this.debug(this.pattern, set) +/// @return whether the XmlDocument is valid using Relaxed NG +Document.prototype.rngValidate = function(rng) { + return this._rngValidate(rng); +}; - // filter out everything that didn't compile properly. - set = set.filter(function (s) { - return s.indexOf(false) === -1 - }) +Document.prototype.getDtd = function() { + return this._getDtd(); +}; - this.debug(this.pattern, set) +Document.prototype.setDtd = function(name, ext, sys) { + if (!name) { + throw new Error('Must pass in a DTD name'); + } else if (typeof name !== 'string') { + throw new Error('Must pass in a valid DTD name'); + } - this.set = set -} + var params = [name]; + if (typeof ext !== 'undefined') { + params.push(ext); + } + if (ext && typeof sys !== 'undefined') { + params.push(sys); + } -Minimatch.prototype.parseNegate = parseNegate -function parseNegate () { - var pattern = this.pattern - var negate = false - var options = this.options - var negateOffset = 0 + return this._setDtd.apply(this, params); +}; + +/// @return array of namespaces in document +Document.prototype.namespaces = function() { + assertRoot(this); + + return this.root().namespaces(); +}; + +Document.prototype.type = function() { + return 'document'; +}; - if (options.nonegate) return +module.exports = Document; - for (var i = 0, l = pattern.length - ; i < l && pattern.charAt(i) === '!' - ; i++) { - negate = !negate - negateOffset++ - } +/// parse a string into a html document +/// @param string html string to parse +/// @param {encoding:string, baseUrl:string} opts html string to parse +/// @return a Document +module.exports.fromHtml = function(string, opts) { + opts = opts || {}; - if (negateOffset) this.pattern = pattern.substr(negateOffset) - this.negate = negate -} + // if for some reason user did not specify an object for the options + if (typeof(opts) !== 'object') { + throw new Error('fromHtml options must be an object'); + } -// Brace expansion: -// a{b,c}d -> abd acd -// a{b,}c -> abc ac -// a{0..3}d -> a0d a1d a2d a3d -// a{b,c{d,e}f}g -> abg acdfg acefg -// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg -// -// Invalid sets are not expanded. -// a{2..}b -> a{2..}b -// a{b}c -> a{b}c -minimatch.braceExpand = function (pattern, options) { - return braceExpand(pattern, options) -} + return bindings.fromHtml(string, opts); +}; -Minimatch.prototype.braceExpand = braceExpand +/// parse a string into a html document fragment +/// @param string html string to parse +/// @param {encoding:string, baseUrl:string} opts html string to parse +/// @return a Document +module.exports.fromHtmlFragment = function(string, opts) { + opts = opts || {}; -function braceExpand (pattern, options) { - if (!options) { - if (this instanceof Minimatch) { - options = this.options - } else { - options = {} + // if for some reason user did not specify an object for the options + if (typeof(opts) !== 'object') { + throw new Error('fromHtmlFragment options must be an object'); } - } - pattern = typeof pattern === 'undefined' - ? this.pattern : pattern + opts.doctype = false; + opts.implied = false; - assertValidPattern(pattern) + return bindings.fromHtml(string, opts); +}; - // Thanks to Yeting Li for - // improving this regexp to avoid a ReDOS vulnerability. - if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { - // shortcut. no need to expand. - return [pattern] - } +/// parse a string into a xml document +/// @param string xml string to parse +/// @return a Document +module.exports.fromXml = function(string, options) { + return bindings.fromXml(string, options || {}); +}; - return expand(pattern) -} -var MAX_PATTERN_LENGTH = 1024 * 64 -var assertValidPattern = function (pattern) { - if (typeof pattern !== 'string') { - throw new TypeError('invalid pattern') - } - if (pattern.length > MAX_PATTERN_LENGTH) { - throw new TypeError('pattern is too long') - } -} +/***/ }), -// parse a component of the expanded set. -// At this point, no pattern may contain "/" in it -// so we're going to return a 2d array, where each entry is the full -// pattern, split on '/', and then turned into a regular expression. -// A regexp is made at the end which joins each array with an -// escaped /, and another full one which joins each regexp with |. -// -// Following the lead of Bash 4.1, note that "**" only has special meaning -// when it is the *only* thing in a path portion. Otherwise, any series -// of * is equivalent to a single *. Globstar behavior is enabled by -// default, and can be disabled by setting options.noglobstar. -Minimatch.prototype.parse = parse -var SUBPARSE = {} -function parse (pattern, isSub) { - assertValidPattern(pattern) +/***/ 9837: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - var options = this.options +var bindings = __nccwpck_require__(1463); - // shortcuts - if (pattern === '**') { - if (!options.noglobstar) - return GLOBSTAR - else - pattern = '*' - } - if (pattern === '') return '' +/// create a new element on the given document +/// @param doc the Document to create the element for +/// @param name the element name +/// @param {String} [content] element content +/// @constructor +function Element(doc, name, content) { + if (!doc) { + throw new Error('document argument required'); + } else if (! (doc instanceof bindings.Document)) { + throw new Error('document argument must be an ' + + 'instance of Document'); + } else if (!name) { + throw new Error('name argument required'); + } - var re = '' - var hasMagic = !!options.nocase - var escaping = false - // ? => one single character - var patternListStack = [] - var negativeLists = [] - var stateChar - var inClass = false - var reClassStart = -1 - var classStart = -1 - // . and .. never match anything that doesn't start with ., - // even when options.dot is set. - var patternStart = pattern.charAt(0) === '.' ? '' // anything - // not (start or / followed by . or .. followed by / or end) - : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' - : '(?!\\.)' - var self = this + return new bindings.Element(doc, name, content); +} - function clearStateChar () { - if (stateChar) { - // we had some state-tracking character - // that wasn't consumed by this pass. - switch (stateChar) { - case '*': - re += star - hasMagic = true - break - case '?': - re += qmark - hasMagic = true - break - default: - re += '\\' + stateChar - break - } - self.debug('clearStateChar %j %j', stateChar, re) - stateChar = false +Element.prototype = bindings.Element.prototype; + +Element.prototype.attr = function() { + if (arguments.length === 1) { + var arg = arguments[0]; + if (typeof arg === 'object') { + // object setter + // iterate keys/value to set attributes + for (var k in arg) { + this._attr(k, arg[k]); + }; + return this; + } else if (typeof arg === 'string') { + // getter + return this._attr(arg); + } + } else if (arguments.length === 2) { + // 2 arg setter + var name = arguments[0]; + var value = arguments[1]; + this._attr(name, value); + return this; } - } +}; - for (var i = 0, len = pattern.length, c - ; (i < len) && (c = pattern.charAt(i)) - ; i++) { - this.debug('%s\t%s %s %j', pattern, i, re, c) +/// helper method to attach a new node to this element +/// @param name the element name +/// @param {String} [content] element content +Element.prototype.node = function(name, content) { + var elem = Element(this.doc(), name, content); + this.addChild(elem); + return elem; +}; - // skip over any that are escaped. - if (escaping && reSpecials[c]) { - re += '\\' + c - escaping = false - continue +/// helper method to attach a cdata to this element +/// @param name the element name +/// @param {String} [content] element content +Element.prototype.cdata = function(content) { + this.addCData(content); + return this; +}; + +Element.prototype.get = function() { + var res = this.find.apply(this, arguments); + if (res instanceof Array) { + return res[0]; + } else { + return res; } +}; - switch (c) { - /* istanbul ignore next */ - case '/': { - // completely not allowed, even escaped. - // Should already be path-split by now. - return false - } +Element.prototype.defineNamespace = function(prefix, href) { + // if no prefix specified + if (!href) { + href = prefix; + prefix = null; + } + return new bindings.Namespace(this, prefix, href); +}; - case '\\': - clearStateChar() - escaping = true - continue +module.exports = Element; - // the various stateChar values - // for the "extglob" stuff. - case '?': - case '*': - case '+': - case '@': - case '!': - this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) - // all of those are literals inside a class, except that - // the glob [!a] means [^a] in regexp - if (inClass) { - this.debug(' in class') - if (c === '!' && i === classStart + 1) c = '^' - re += c - continue - } - // if we already have a stateChar, then it means - // that there was something like ** or +? in there. - // Handle the stateChar, then proceed with this one. - self.debug('call clearStateChar %j', stateChar) - clearStateChar() - stateChar = c - // if extglob is disabled, then +(asdf|foo) isn't a thing. - // just clear the statechar *now*, rather than even diving into - // the patternList stuff. - if (options.noext) clearStateChar() - continue +/***/ }), - case '(': - if (inClass) { - re += '(' - continue - } +/***/ 1701: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - if (!stateChar) { - re += '\\(' - continue - } +var bindings = __nccwpck_require__(1463); - patternListStack.push({ - type: stateChar, - start: i - 1, - reStart: re.length, - open: plTypes[stateChar].open, - close: plTypes[stateChar].close - }) - // negation is (?:(?!js)[^/]*) - re += stateChar === '!' ? '(?:(?!(?:' : '(?:' - this.debug('plType %j %j', stateChar, re) - stateChar = false - continue +/// create a new processing instruction on the given document +/// @param doc the Document to create the processing instruction for +/// @param name the processing instruction name +/// @param {String} [content] processing instruction content +/// @constructor +function ProcessingInstruction(doc, name, content) { + if (!doc) { + throw new Error('document argument required'); + } else if (! (doc instanceof bindings.Document)) { + throw new Error('document argument must be an ' + + 'instance of Document'); + } else if (!name) { + throw new Error('name argument required'); + } - case ')': - if (inClass || !patternListStack.length) { - re += '\\)' - continue - } + return new bindings.ProcessingInstruction(doc, name, content); +} - clearStateChar() - hasMagic = true - var pl = patternListStack.pop() - // negation is (?:(?!js)[^/]*) - // The others are (?:) - re += pl.close - if (pl.type === '!') { - negativeLists.push(pl) - } - pl.reEnd = re.length - continue +ProcessingInstruction.prototype = bindings.ProcessingInstruction.prototype; - case '|': - if (inClass || !patternListStack.length || escaping) { - re += '\\|' - escaping = false - continue - } +module.exports = ProcessingInstruction; - clearStateChar() - re += '|' - continue - // these are mostly the same in regexp and glob - case '[': - // swallow any state-tracking char before the [ - clearStateChar() +/***/ }), - if (inClass) { - re += '\\' + c - continue - } +/***/ 3857: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - inClass = true - classStart = i - reClassStart = re.length - re += c - continue +var events = __nccwpck_require__(2361); - case ']': - // a right bracket shall lose its special - // meaning and represent itself in - // a bracket expression if it occurs - // first in the list. -- POSIX.2 2.8.3.2 - if (i === classStart + 1 || !inClass) { - re += '\\' + c - escaping = false - continue - } +var bindings = __nccwpck_require__(1463); - // handle the case where we left a class open. - // "[z-a]" is valid, equivalent to "\[z-a\]" - // split where the last [ was, make sure we don't have - // an invalid re. if so, re-walk the contents of the - // would-be class to re-translate any characters that - // were passed through as-is - // TODO: It would probably be faster to determine this - // without a try/catch and a new RegExp, but it's tricky - // to do safely. For now, this is safe and works. - var cs = pattern.substring(classStart + 1, i) - try { - RegExp('[' + cs + ']') - } catch (er) { - // not a valid class! - var sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' - hasMagic = hasMagic || sp[1] - inClass = false - continue - } +var SaxParser = function(callbacks) { + var parser = new bindings.SaxParser(); - // finish up the class. - hasMagic = true - inClass = false - re += c - continue + // attach callbacks + for (var callback in callbacks) { + parser.on(callback, callbacks[callback]); + } - default: - // swallow any state char that wasn't consumed - clearStateChar() + return parser; +}; - if (escaping) { - // no need - escaping = false - } else if (reSpecials[c] - && !(c === '^' && inClass)) { - re += '\\' - } +// Overriding the prototype, like util.inherit, wipes out the native binding. +// Copy over the methods instead. +for (var k in events.EventEmitter.prototype) + bindings.SaxParser.prototype[k] = events.EventEmitter.prototype[k]; - re += c +var SaxPushParser = function(callbacks) { + var parser = new bindings.SaxPushParser(); - } // switch - } // for + // attach callbacks + for (var callback in callbacks) { + parser.on(callback, callbacks[callback]); + } - // handle the case where we left a class open. - // "[abc" is valid, equivalent to "\[abc" - if (inClass) { - // split where the last [ was, and escape it - // this is a huge pita. We now have to re-walk - // the contents of the would-be class to re-translate - // any characters that were passed through as-is - cs = pattern.substr(classStart + 1) - sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + '\\[' + sp[0] - hasMagic = hasMagic || sp[1] - } + return parser; +}; - // handle the case where we had a +( thing at the *end* - // of the pattern. - // each pattern list stack adds 3 chars, and we need to go through - // and escape any | chars that were passed through as-is for the regexp. - // Go through and escape them, taking care not to double-escape any - // | chars that were already escaped. - for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { - var tail = re.slice(pl.reStart + pl.open.length) - this.debug('setting tail', re, pl) - // maybe some even number of \, then maybe 1 \, followed by a | - tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { - if (!$2) { - // the | isn't already escaped, so escape it. - $2 = '\\' - } +// Overriding the prototype, like util.inherit, wipes out the native binding. +// Copy over the methods instead. +for (var k in events.EventEmitter.prototype) + bindings.SaxPushParser.prototype[k] = events.EventEmitter.prototype[k]; - // need to escape all those slashes *again*, without escaping the - // one that we need for escaping the | character. As it works out, - // escaping an even number of slashes can be done by simply repeating - // it exactly after itself. That's why this trick works. - // - // I am sorry that you have to see this. - return $1 + $1 + $2 + '|' - }) +module.exports.SaxParser = SaxParser; +module.exports.SaxPushParser = SaxPushParser; - this.debug('tail=%j\n %s', tail, tail, pl, re) - var t = pl.type === '*' ? star - : pl.type === '?' ? qmark - : '\\' + pl.type - hasMagic = true - re = re.slice(0, pl.reStart) + t + '\\(' + tail - } - // handle trailing things that only matter at the very end. - clearStateChar() - if (escaping) { - // trailing \\ - re += '\\\\' - } +/***/ }), - // only need to apply the nodot start if the re starts with - // something that could conceivably capture a dot - var addPatternStart = false - switch (re.charAt(0)) { - case '[': case '.': case '(': addPatternStart = true - } +/***/ 2036: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - // Hack to work around lack of negative lookbehind in JS - // A pattern like: *.!(x).!(y|z) needs to ensure that a name - // like 'a.xyz.yz' doesn't match. So, the first negative - // lookahead, has to look ALL the way ahead, to the end of - // the pattern. - for (var n = negativeLists.length - 1; n > -1; n--) { - var nl = negativeLists[n] +var bindings = __nccwpck_require__(1463); - var nlBefore = re.slice(0, nl.reStart) - var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) - var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) - var nlAfter = re.slice(nl.reEnd) +/// create a new element on the given document +/// @param doc the Document to create the element for +/// @param name the element name +/// @param {String} [contenn] element content +/// @constructor - nlLast += nlAfter - // Handle nested stuff like *(*.js|!(*.json)), where open parens - // mean that we should *not* include the ) in the bit that is considered - // "after" the negated section. - var openParensBefore = nlBefore.split('(').length - 1 - var cleanAfter = nlAfter - for (i = 0; i < openParensBefore; i++) { - cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') +function Text(doc, content) { + if (!doc) { + throw new Error('document argument required'); } - nlAfter = cleanAfter - var dollar = '' - if (nlAfter === '' && isSub !== SUBPARSE) { - dollar = '$' + if (!(doc instanceof bindings.Document)) { + throw new Error('document argument must be an instance of Document'); } - var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast - re = newRe - } - // if the re is not "" at this point, then we need to make sure - // it doesn't match against an empty path part. - // Otherwise a/* will match a/, which it should not. - if (re !== '' && hasMagic) { - re = '(?=.)' + re - } + if (!content) { + throw new Error('content argument required'); + } - if (addPatternStart) { - re = patternStart + re - } + return new bindings.Text(doc, content); +} - // parsing just a piece of a larger pattern. - if (isSub === SUBPARSE) { - return [re, hasMagic] - } +Text.prototype = bindings.Text.prototype; - // skip the regexp for non-magical patterns - // unescape anything in it, though, so that it'll be - // an exact match against a file etc. - if (!hasMagic) { - return globUnescape(pattern) - } +module.exports = Text; - var flags = options.nocase ? 'i' : '' - try { - var regExp = new RegExp('^' + re + '$', flags) - } catch (er) /* istanbul ignore next - should be impossible */ { - // If it was an invalid regular expression, then it can't match - // anything. This trick looks for a character after the end of - // the string, which is of course impossible, except in multi-line - // mode, but it's not a /m regex. - return new RegExp('$.') - } - regExp._glob = pattern - regExp._src = re +/***/ }), - return regExp +/***/ 3973: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +module.exports = minimatch +minimatch.Minimatch = Minimatch + +var path = (function () { try { return __nccwpck_require__(1017) } catch (e) {}}()) || { + sep: '/' } +minimatch.sep = path.sep -minimatch.makeRe = function (pattern, options) { - return new Minimatch(pattern, options || {}).makeRe() +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = __nccwpck_require__(3717) + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } } -Minimatch.prototype.makeRe = makeRe -function makeRe () { - if (this.regexp || this.regexp === false) return this.regexp +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' - // at this point, this.set is a 2d array of partial - // pattern strings, or "**". - // - // It's better to use .match(). This function shouldn't - // be used, really, but it's pretty convenient sometimes, - // when you just want to work with a regex. - var set = this.set +// * => any number of characters +var star = qmark + '*?' - if (!set.length) { - this.regexp = false - return this.regexp - } - var options = this.options +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' - var twoStar = options.noglobstar ? star - : options.dot ? twoStarDot - : twoStarNoDot - var flags = options.nocase ? 'i' : '' +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' - var re = set.map(function (pattern) { - return pattern.map(function (p) { - return (p === GLOBSTAR) ? twoStar - : (typeof p === 'string') ? regExpEscape(p) - : p._src - }).join('\\\/') - }).join('|') +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') - // must match entire pattern - // ending in a * or ** will make it less strict. - re = '^(?:' + re + ')$' +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} - // can match anything, as long as it's not this. - if (this.negate) re = '^(?!' + re + ').*$' +// normalizes slashes. +var slashSplit = /\/+/ - try { - this.regexp = new RegExp(re, flags) - } catch (ex) /* istanbul ignore next - should be impossible */ { - this.regexp = false +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) } - return this.regexp } -minimatch.match = function (list, pattern, options) { - options = options || {} - var mm = new Minimatch(pattern, options) - list = list.filter(function (f) { - return mm.match(f) +function ext (a, b) { + b = b || {} + var t = {} + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + Object.keys(b).forEach(function (k) { + t[k] = b[k] }) - if (mm.options.nonull && !list.length) { - list.push(pattern) - } - return list + return t } -Minimatch.prototype.match = function match (f, partial) { - if (typeof partial === 'undefined') partial = this.partial - this.debug('match', f, this.pattern) - // short-circuit in the case of busted things. - // comments, etc. - if (this.comment) return false - if (this.empty) return f === '' +minimatch.defaults = function (def) { + if (!def || typeof def !== 'object' || !Object.keys(def).length) { + return minimatch + } - if (f === '/' && partial) return true + var orig = minimatch - var options = this.options + var m = function minimatch (p, pattern, options) { + return orig(p, pattern, ext(def, options)) + } - // windows: need to use /, not \ - if (path.sep !== '/') { - f = f.split(path.sep).join('/') + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + m.Minimatch.defaults = function defaults (options) { + return orig.defaults(ext(def, options)).Minimatch } - // treat the test path as a set of pathparts. - f = f.split(slashSplit) - this.debug(this.pattern, 'split', f) + m.filter = function filter (pattern, options) { + return orig.filter(pattern, ext(def, options)) + } - // just ONE of the pattern sets in this.set needs to match - // in order for it to be valid. If negating, then just one - // match means that we have failed. - // Either way, return on the first hit. + m.defaults = function defaults (options) { + return orig.defaults(ext(def, options)) + } - var set = this.set - this.debug(this.pattern, 'set', set) + m.makeRe = function makeRe (pattern, options) { + return orig.makeRe(pattern, ext(def, options)) + } - // Find the basename of the path by looking for the last non-empty segment - var filename - var i - for (i = f.length - 1; i >= 0; i--) { - filename = f[i] - if (filename) break + m.braceExpand = function braceExpand (pattern, options) { + return orig.braceExpand(pattern, ext(def, options)) } - for (i = 0; i < set.length; i++) { - var pattern = set[i] - var file = f - if (options.matchBase && pattern.length === 1) { - file = [filename] - } - var hit = this.matchOne(file, pattern, partial) - if (hit) { - if (options.flipNegate) return true - return !this.negate - } + m.match = function (list, pattern, options) { + return orig.match(list, pattern, ext(def, options)) } - // didn't get any hits. this is success if it's a negative - // pattern, failure otherwise. - if (options.flipNegate) return false - return this.negate + return m } -// set partial to true to test if, for example, -// "/a/b" matches the start of "/*/b/*/d" -// Partial means, if you run out of file before you run -// out of pattern, then that's fine, as long as all -// the parts match. -Minimatch.prototype.matchOne = function (file, pattern, partial) { - var options = this.options - - this.debug('matchOne', - { 'this': this, file: file, pattern: pattern }) - - this.debug('matchOne', file.length, pattern.length) - - for (var fi = 0, - pi = 0, - fl = file.length, - pl = pattern.length - ; (fi < fl) && (pi < pl) - ; fi++, pi++) { - this.debug('matchOne loop') - var p = pattern[pi] - var f = file[fi] - - this.debug(pattern, p, f) - - // should be impossible. - // some invalid regexp stuff in the set. - /* istanbul ignore if */ - if (p === false) return false - - if (p === GLOBSTAR) { - this.debug('GLOBSTAR', [pattern, p, f]) - - // "**" - // a/**/b/**/c would match the following: - // a/b/x/y/z/c - // a/x/y/z/b/c - // a/b/x/b/x/c - // a/b/c - // To do this, take the rest of the pattern after - // the **, and see if it would match the file remainder. - // If so, return success. - // If not, the ** "swallows" a segment, and try again. - // This is recursively awful. - // - // a/**/b/**/c matching a/b/x/y/z/c - // - a matches a - // - doublestar - // - matchOne(b/x/y/z/c, b/**/c) - // - b matches b - // - doublestar - // - matchOne(x/y/z/c, c) -> no - // - matchOne(y/z/c, c) -> no - // - matchOne(z/c, c) -> no - // - matchOne(c, c) yes, hit - var fr = fi - var pr = pi + 1 - if (pr === pl) { - this.debug('** at the end') - // a ** at the end will just swallow the rest. - // We have found a match. - // however, it will not swallow /.x, unless - // options.dot is set. - // . and .. are *never* matched by **, for explosively - // exponential reasons. - for (; fi < fl; fi++) { - if (file[fi] === '.' || file[fi] === '..' || - (!options.dot && file[fi].charAt(0) === '.')) return false - } - return true - } +Minimatch.defaults = function (def) { + return minimatch.defaults(def).Minimatch +} - // ok, let's see if we can swallow whatever we can. - while (fr < fl) { - var swallowee = file[fr] +function minimatch (p, pattern, options) { + assertValidPattern(pattern) - this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + if (!options) options = {} - // XXX remove this slice. Just pass the start index. - if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { - this.debug('globstar found match!', fr, fl, swallowee) - // found a match. - return true - } else { - // can't swallow "." or ".." ever. - // can only swallow ".foo" when explicitly asked. - if (swallowee === '.' || swallowee === '..' || - (!options.dot && swallowee.charAt(0) === '.')) { - this.debug('dot detected!', file, fr, pattern, pr) - break - } + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } - // ** swallows a segment, and continue. - this.debug('globstar swallow a segment, and continue') - fr++ - } - } + return new Minimatch(pattern, options).match(p) +} - // no match was found. - // However, in partial mode, we can't say this is necessarily over. - // If there's more *pattern* left, then - /* istanbul ignore if */ - if (partial) { - // ran out of file - this.debug('\n>>> no match, partial?', file, fr, pattern, pr) - if (fr === fl) return true - } - return false - } +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } - // something other than ** - // non-magic patterns just have to match exactly - // patterns with magic have been turned into regexps. - var hit - if (typeof p === 'string') { - hit = f === p - this.debug('string match', p, f, hit) - } else { - hit = f.match(p) - this.debug('pattern match', p, f, hit) - } + assertValidPattern(pattern) - if (!hit) return false - } + if (!options) options = {} - // Note: ending in / means that we'll get a final "" - // at the end of the pattern. This can only match a - // corresponding "" at the end of the file. - // If the file ends in /, then it can only match a - // a pattern that ends in /, unless the pattern just - // doesn't have any more for it. But, a/b/ should *not* - // match "a/b/*", even though "" matches against the - // [^/]*? pattern, except in partial mode, where it might - // simply not be reached yet. - // However, a/b/ should still satisfy a/* + pattern = pattern.trim() - // now either we fell off the end of the pattern, or we're done. - if (fi === fl && pi === pl) { - // ran out of pattern and filename at the same time. - // an exact hit! - return true - } else if (fi === fl) { - // ran out of file, but still had pattern left. - // this is ok if we're doing the match as part of - // a glob fs traversal. - return partial - } else /* istanbul ignore else */ if (pi === pl) { - // ran out of pattern, still have file left. - // this is only acceptable if we're on the very last - // empty segment of a file with a trailing slash. - // a/* should match a/b/ - return (fi === fl - 1) && (file[fi] === '') + // windows support: need to use /, not \ + if (!options.allowWindowsEscape && path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') } - // should be unreachable. - /* istanbul ignore next */ - throw new Error('wtf?') -} - -// replace stuff like \* with * -function globUnescape (s) { - return s.replace(/\\(.)/g, '$1') -} + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + this.partial = !!options.partial -function regExpEscape (s) { - return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') + // make the set of regexps etc. + this.make() } +Minimatch.prototype.debug = function () {} -/***/ }), - -/***/ 467: -/***/ ((module, exports, __nccwpck_require__) => { +Minimatch.prototype.make = make +function make () { + var pattern = this.pattern + var options = this.options -"use strict"; + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + // step 1: figure out negation, etc. + this.parseNegate() -Object.defineProperty(exports, "__esModule", ({ value: true })); + // step 2: expand braces + var set = this.globSet = this.braceExpand() -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) } -var Stream = _interopDefault(__nccwpck_require__(2781)); -var http = _interopDefault(__nccwpck_require__(3685)); -var Url = _interopDefault(__nccwpck_require__(7310)); -var whatwgUrl = _interopDefault(__nccwpck_require__(8665)); -var https = _interopDefault(__nccwpck_require__(5687)); -var zlib = _interopDefault(__nccwpck_require__(9796)); + this.debug(this.pattern, set) -// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) -// fix for "Readable" isn't a named export issue -const Readable = Stream.Readable; + this.debug(this.pattern, set) -const BUFFER = Symbol('buffer'); -const TYPE = Symbol('type'); + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) -class Blob { - constructor() { - this[TYPE] = ''; + this.debug(this.pattern, set) - const blobParts = arguments[0]; - const options = arguments[1]; + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) - const buffers = []; - let size = 0; + this.debug(this.pattern, set) - if (blobParts) { - const a = blobParts; - const length = Number(a.length); - for (let i = 0; i < length; i++) { - const element = a[i]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof Blob) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === 'string' ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } + this.set = set +} - this[BUFFER] = Buffer.concat(buffers); +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 - let type = options && options.type !== undefined && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } - } - get size() { - return this[BUFFER].length; - } - get type() { - return this[TYPE]; - } - text() { - return Promise.resolve(this[BUFFER].toString()); - } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); - } - stream() { - const readable = new Readable(); - readable._read = function () {}; - readable.push(this[BUFFER]); - readable.push(null); - return readable; - } - toString() { - return '[object Blob]'; - } - slice() { - const size = this.size; + if (options.nonegate) return - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === undefined) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === undefined) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); - } - const span = Math.max(relativeEnd - relativeStart, 0); + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ + } - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; - } + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate } -Object.defineProperties(Blob.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } -}); +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +} -Object.defineProperty(Blob.prototype, Symbol.toStringTag, { - value: 'Blob', - writable: false, - enumerable: false, - configurable: true -}); +Minimatch.prototype.braceExpand = braceExpand -/** - * fetch-error.js - * - * FetchError interface for operational errors - */ +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options + } else { + options = {} + } + } -/** - * Create FetchError instance - * - * @param String message Error message for human - * @param String type Error type for machine - * @param String systemError For Node.js system error - * @return FetchError - */ -function FetchError(message, type, systemError) { - Error.call(this, message); + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern - this.message = message; - this.type = type; + assertValidPattern(pattern) - // when err.type is `system`, err.code contains system error code - if (systemError) { - this.code = this.errno = systemError.code; + // Thanks to Yeting Li for + // improving this regexp to avoid a ReDOS vulnerability. + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + // shortcut. no need to expand. + return [pattern] } - // hide custom error implementation details from end-users - Error.captureStackTrace(this, this.constructor); + return expand(pattern) } -FetchError.prototype = Object.create(Error.prototype); -FetchError.prototype.constructor = FetchError; -FetchError.prototype.name = 'FetchError'; +var MAX_PATTERN_LENGTH = 1024 * 64 +var assertValidPattern = function (pattern) { + if (typeof pattern !== 'string') { + throw new TypeError('invalid pattern') + } -let convert; -try { - convert = (__nccwpck_require__(2877).convert); -} catch (e) {} + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError('pattern is too long') + } +} -const INTERNALS = Symbol('Body internals'); +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + assertValidPattern(pattern) -// fix an issue where "PassThrough" isn't a named export for node <10 -const PassThrough = Stream.PassThrough; + var options = this.options -/** - * Body mixin - * - * Ref: https://fetch.spec.whatwg.org/#body - * - * @param Stream body Readable stream - * @param Object opts Response options - * @return Void - */ -function Body(body) { - var _this = this; + // shortcuts + if (pattern === '**') { + if (!options.noglobstar) + return GLOBSTAR + else + pattern = '*' + } + if (pattern === '') return '' - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$size = _ref.size; + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this - let size = _ref$size === undefined ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } - if (body == null) { - // body is undefined or null - body = null; - } else if (isURLSearchParams(body)) { - // body is a URLSearchParams - body = Buffer.from(body.toString()); - } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - // body is ArrayBuffer - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - // body is ArrayBufferView - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream) ; else { - // none of the above - // coerce to string then buffer - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) - if (body instanceof Stream) { - body.on('error', function (err) { - const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); - _this[INTERNALS].error = error; - }); - } -} + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } -Body.prototype = { - get body() { - return this[INTERNALS].body; - }, + switch (c) { + /* istanbul ignore next */ + case '/': { + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + } - get bodyUsed() { - return this[INTERNALS].disturbed; - }, + case '\\': + clearStateChar() + escaping = true + continue - /** - * Decode response as ArrayBuffer - * - * @return Promise - */ - arrayBuffer() { - return consumeBody.call(this).then(function (buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); - }, + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) - /** - * Return raw response as Blob - * - * @return Promise - */ - blob() { - let ct = this.headers && this.headers.get('content-type') || ''; - return consumeBody.call(this).then(function (buf) { - return Object.assign( - // Prevent copying - new Blob([], { - type: ct.toLowerCase() - }), { - [BUFFER]: buf - }); - }); - }, + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } - /** - * Decode response as json - * - * @return Promise - */ - json() { - var _this2 = this; + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue - return consumeBody.call(this).then(function (buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); - } - }); - }, + case '(': + if (inClass) { + re += '(' + continue + } - /** - * Decode response as text - * - * @return Promise - */ - text() { - return consumeBody.call(this).then(function (buffer) { - return buffer.toString(); - }); - }, + if (!stateChar) { + re += '\\(' + continue + } - /** - * Decode response as buffer (non-spec api) - * - * @return Promise - */ - buffer() { - return consumeBody.call(this); - }, + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue - /** - * Decode response as text, while automatically detecting the encoding and - * trying to decode to UTF-8 (non-spec api) - * - * @return Promise - */ - textConverted() { - var _this3 = this; + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue + } - return consumeBody.call(this).then(function (buffer) { - return convertBody(buffer, _this3.headers); - }); - } -}; + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) + } + pl.reEnd = re.length + continue -// In browsers, all properties are enumerable. -Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } -}); + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue + } -Body.mixIn = function (proto) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - // istanbul ignore else: future proof - if (!(name in proto)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto, name, desc); - } - } -}; + clearStateChar() + re += '|' + continue -/** - * Consume and convert an entire Body to a Buffer. - * - * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body - * - * @return Promise - */ -function consumeBody() { - var _this4 = this; + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } + if (inClass) { + re += '\\' + c + continue + } - this[INTERNALS].disturbed = true; + inClass = true + classStart = i + reClassStart = re.length + re += c + continue - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } - let body = this.body; + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue + } - // body is null - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } + // finish up the class. + hasMagic = true + inClass = false + re += c + continue - // body is blob - if (isBlob(body)) { - body = body.stream(); - } + default: + // swallow any state char that wasn't consumed + clearStateChar() - // body is buffer - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } - // istanbul ignore if: should never happen - if (!(body instanceof Stream)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } + re += c - // body is stream - // get ready to actually consume the body - let accum = []; - let accumBytes = 0; - let abort = false; + } // switch + } // for - return new Body.Promise(function (resolve, reject) { - let resTimeout; + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } - // allow timeout on slow response body - if (_this4.timeout) { - resTimeout = setTimeout(function () { - abort = true; - reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); - }, _this4.timeout); - } + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } - // handle stream errors - body.on('error', function (err) { - if (err.name === 'AbortError') { - // if the request was aborted, reject with this Error - abort = true; - reject(err); - } else { - // other errors, such as incorrect content-encoding - reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); - } - }); + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) - body.on('data', function (chunk) { - if (abort || chunk === null) { - return; - } + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); - return; - } + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } - accumBytes += chunk.length; - accum.push(chunk); - }); + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } - body.on('end', function () { - if (abort) { - return; - } + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '[': case '.': case '(': addPatternStart = true + } - clearTimeout(resTimeout); + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - // handle streams that have accumulated too much data (issue #414) - reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); - } - }); - }); -} + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) -/** - * Detect buffer encoding and convert to target encoding - * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding - * - * @param Buffer buffer Incoming buffer - * @param String encoding Target encoding - * @return String - */ -function convertBody(buffer, headers) { - if (typeof convert !== 'function') { - throw new Error('The package `encoding` must be installed to use the textConverted() function'); - } + nlLast += nlAfter - const ct = headers.get('content-type'); - let charset = 'utf-8'; - let res, str; + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter - // header - if (ct) { - res = /charset=([^;]*)/i.exec(ct); - } + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } - // no charset in content type, peek at response body for at most 1024 bytes - str = buffer.slice(0, 1024).toString(); + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } - // html5 - if (!res && str) { - res = /= 0; i--) { + filename = f[i] + if (filename) break + } - if (body === null) { - // body is null - dest.end(); - } else if (isBlob(body)) { - body.stream().pipe(dest); - } else if (Buffer.isBuffer(body)) { - // body is buffer - dest.write(body); - dest.end(); - } else { - // body is stream - body.pipe(dest); - } + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate } -// expose Promise -Body.Promise = global.Promise; +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options -/** - * headers.js - * - * Headers class offers convenient helpers - */ + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) -const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/; -const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/; + this.debug('matchOne', file.length, pattern.length) -function validateName(name) { - name = `${name}`; - if (invalidTokenRegex.test(name) || name === '') { - throw new TypeError(`${name} is not a legal HTTP header name`); - } -} + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] -function validateValue(value) { - value = `${value}`; - if (invalidHeaderCharRegex.test(value)) { - throw new TypeError(`${value} is not a legal HTTP header value`); - } -} + this.debug(pattern, p, f) -/** - * Find the key in the map object given a header name. - * - * Returns undefined if not found. - * - * @param String name Header name - * @return String|Undefined - */ -function find(map, name) { - name = name.toLowerCase(); - for (const key in map) { - if (key.toLowerCase() === name) { - return key; - } - } - return undefined; -} + // should be impossible. + // some invalid regexp stuff in the set. + /* istanbul ignore if */ + if (p === false) return false -const MAP = Symbol('map'); -class Headers { - /** - * Headers class - * - * @param Object headers Response headers - * @return Void - */ - constructor() { - let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) - this[MAP] = Object.create(null); + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } - if (init instanceof Headers) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } - } + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) - return; - } + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } - // We don't worry about converting prop to ByteString here as append() - // will handle it. - if (init == null) ; else if (typeof init === 'object') { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== 'function') { - throw new TypeError('Header pairs must be iterable'); - } + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ + } + } - // sequence> - // Note: per spec we have to first exhaust the lists then process them - const pairs = []; - for (const pair of init) { - if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { - throw new TypeError('Each header pair must be iterable'); - } - pairs.push(Array.from(pair)); - } + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + /* istanbul ignore if */ + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + hit = f === p + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError('Each header pair must be a name/value tuple'); - } - this.append(pair[0], pair[1]); - } - } else { - // record - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } - } - } else { - throw new TypeError('Provided initializer must be an object'); - } - } + if (!hit) return false + } - /** - * Return combined header value given name - * - * @param String name Header name - * @return Mixed - */ - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === undefined) { - return null; - } + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* - return this[MAP][key].join(', '); - } + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else /* istanbul ignore else */ if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + return (fi === fl - 1) && (file[fi] === '') + } - /** - * Iterate over all headers - * - * @param Function callback Executed for each item with parameters (value, name, thisArg) - * @param Boolean thisArg `this` context for callback function - * @return Void - */ - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + // should be unreachable. + /* istanbul ignore next */ + throw new Error('wtf?') +} - let pairs = getHeaders(this); - let i = 0; - while (i < pairs.length) { - var _pairs$i = pairs[i]; - const name = _pairs$i[0], - value = _pairs$i[1]; +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i++; - } - } +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} - /** - * Overwrite header values given name - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== undefined ? key : name] = [value]; - } - /** - * Append a value onto existing header - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== undefined) { - this[MAP][key].push(value); - } else { - this[MAP][name] = [value]; - } - } +/***/ }), - /** - * Check for header name existence - * - * @param String name Header name - * @return Boolean - */ - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== undefined; - } +/***/ 467: +/***/ ((module, exports, __nccwpck_require__) => { - /** - * Delete all header values given name - * - * @param String name Header name - * @return Void - */ - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== undefined) { - delete this[MAP][key]; - } - } +"use strict"; - /** - * Return raw headers (non-spec api) - * - * @return Object - */ - raw() { - return this[MAP]; - } - /** - * Get an iterator on keys. - * - * @return Iterator - */ - keys() { - return createHeadersIterator(this, 'key'); - } +Object.defineProperty(exports, "__esModule", ({ value: true })); - /** - * Get an iterator on values. - * - * @return Iterator - */ - values() { - return createHeadersIterator(this, 'value'); - } +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - /** - * Get an iterator on entries. - * - * This is the default iterator of the Headers object. - * - * @return Iterator - */ - [Symbol.iterator]() { - return createHeadersIterator(this, 'key+value'); - } -} -Headers.prototype.entries = Headers.prototype[Symbol.iterator]; +var Stream = _interopDefault(__nccwpck_require__(2781)); +var http = _interopDefault(__nccwpck_require__(3685)); +var Url = _interopDefault(__nccwpck_require__(7310)); +var whatwgUrl = _interopDefault(__nccwpck_require__(8665)); +var https = _interopDefault(__nccwpck_require__(5687)); +var zlib = _interopDefault(__nccwpck_require__(9796)); -Object.defineProperty(Headers.prototype, Symbol.toStringTag, { - value: 'Headers', - writable: false, - enumerable: false, - configurable: true -}); +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js -Object.defineProperties(Headers.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } -}); +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; -function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); - const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind === 'key' ? function (k) { - return k.toLowerCase(); - } : kind === 'value' ? function (k) { - return headers[MAP][k].join(', '); - } : function (k) { - return [k.toLowerCase(), headers[MAP][k].join(', ')]; - }); -} +class Blob { + constructor() { + this[TYPE] = ''; -const INTERNAL = Symbol('internal'); + const blobParts = arguments[0]; + const options = arguments[1]; -function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 - }; - return iterator; -} + const buffers = []; + let size = 0; -const HeadersIteratorPrototype = Object.setPrototypeOf({ - next() { - // istanbul ignore if - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError('Value of `this` is not a HeadersIterator'); + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } } - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, - kind = _INTERNAL.kind, - index = _INTERNAL.index; + this[BUFFER] = Buffer.concat(buffers); - const values = getHeaders(target, kind); - const len = values.length; - if (index >= len) { - return { - value: undefined, - done: true - }; + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; - this[INTERNAL].index = index + 1; + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); - return { - value: values[index], - done: false - }; + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; } -}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); +} -Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: 'HeadersIterator', +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', writable: false, enumerable: false, configurable: true }); /** - * Export the Headers object in a form that Node.js can consume. + * fetch-error.js * - * @param Headers headers - * @return Object + * FetchError interface for operational errors */ -function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); - - // http.request() only supports string as Host header. This hack makes - // specifying custom Host header possible. - const hostHeaderKey = find(headers[MAP], 'Host'); - if (hostHeaderKey !== undefined) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; - } - - return obj; -} /** - * Create a Headers object from an object of headers, ignoring those that do - * not conform to HTTP grammar productions. + * Create FetchError instance * - * @param Object obj Object of headers - * @return Headers + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError */ -function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; - } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; - } - if (headers[MAP][name] === undefined) { - headers[MAP][name] = [val]; - } else { - headers[MAP][name].push(val); - } - } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; - } - } - return headers; +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); } -const INTERNALS$1 = Symbol('Response internals'); +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; -// fix an issue where "STATUS_CODES" aren't a named export for node <10 -const STATUS_CODES = http.STATUS_CODES; +let convert; +try { + convert = (__nccwpck_require__(2877).convert); +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; /** - * Response class + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body * * @param Stream body Readable stream * @param Object opts Response options * @return Void */ -class Response { - constructor() { - let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - Body.call(this, body, opts); +function Body(body) { + var _this = this; - const status = opts.status || 200; - const headers = new Headers(opts.headers); + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; - if (body != null && !headers.has('Content-Type')) { - const contentType = extractContentType(body); - if (contentType) { - headers.append('Content-Type', contentType); - } - } + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; - get url() { - return this[INTERNALS$1].url || ''; + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); } +} - get status() { - return this[INTERNALS$1].status; - } +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, /** - * Convenience property representing if the request ended normally + * Decode response as ArrayBuffer + * + * @return Promise */ - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, - get redirected() { - return this[INTERNALS$1].counter > 0; - } + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, - get statusText() { - return this[INTERNALS$1].statusText; - } + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; - get headers() { - return this[INTERNALS$1].headers; - } + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, /** - * Clone this response + * Decode response as text * - * @return Response + * @return Promise */ - clone() { - return new Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); }); - } -} + }, -Body.mixIn(Response.prototype); + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, -Object.defineProperties(Response.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } -}); + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; -Object.defineProperty(Response.prototype, Symbol.toStringTag, { - value: 'Response', - writable: false, - enumerable: false, - configurable: true -}); + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; -const INTERNALS$2 = Symbol('Request internals'); -const URL = Url.URL || whatwgUrl.URL; +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); -// fix an issue where "format", "parse" aren't a named export for node <10 -const parse_url = Url.parse; -const format_url = Url.format; +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; /** - * Wrapper around `new URL` to handle arbitrary URLs + * Consume and convert an entire Body to a Buffer. * - * @param {string} urlStr - * @return {void} - */ -function parseURL(urlStr) { - /* - Check whether the URL is absolute or not - Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 - Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise */ - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL(urlStr).toString(); +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); } - // Fallback to old implementation for arbitrary URLs - return parse_url(urlStr); -} + this[INTERNALS].disturbed = true; -const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } -/** - * Check if a value is an instance of Request. - * - * @param Mixed input - * @return Boolean - */ -function isRequest(input) { - return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; -} + let body = this.body; -function isAbortSignal(signal) { - const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === 'AbortSignal'); -} + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } -/** - * Request class - * - * @param Mixed input Url or Request instance - * @param Object init Custom options - * @return Void - */ -class Request { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + // body is blob + if (isBlob(body)) { + body = body.stream(); + } - let parsedURL; + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } - // normalize input - if (!isRequest(input)) { - if (input && input.href) { - // in order to support Node.js' Url objects; though WHATWG's URL objects - // will fall into this branch also (since their `toString()` will return - // `href` property anyway) - parsedURL = parseURL(input.href); - } else { - // coerce input to a string before attempting to parse - parsedURL = parseURL(`${input}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); - } + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } - let method = init.method || input.method || 'GET'; - method = method.toUpperCase(); + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; - if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { - throw new TypeError('Request with GET/HEAD method cannot have body'); + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); } - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 + accumBytes += chunk.length; + accum.push(chunk); }); - const headers = new Headers(init.headers || input.headers || {}); - - if (inputBody != null && !headers.has('Content-Type')) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append('Content-Type', contentType); + body.on('end', function () { + if (abort) { + return; } - } - let signal = isRequest(input) ? input.signal : null; - if ('signal' in init) signal = init.signal; - - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError('Expected signal to be an instanceof AbortSignal'); - } + clearTimeout(resTimeout); - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || 'follow', - headers, - parsedURL, - signal - }; + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} - // node-fetch-only options - this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; - this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); } - get method() { - return this[INTERNALS$2].method; - } + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; - get url() { - return format_url(this[INTERNALS$2].parsedURL); + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); } - get headers() { - return this[INTERNALS$2].headers; - } + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); - get redirect() { - return this[INTERNALS$2].redirect; + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; - const send = (options.protocol === 'https:' ? https : http).request; - const signal = request.signal; + this[MAP] = Object.create(null); - let response = null; + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); - const abort = function abort() { - let error = new AbortError('The user aborted a request.'); - reject(error); - if (request.body && request.body instanceof Stream.Readable) { - destroyStream(request.body, error); + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } } - if (!response || !response.body) return; - response.body.emit('error', error); - }; - if (signal && signal.aborted) { - abort(); return; } - const abortAndFinalize = function abortAndFinalize() { - abort(); - finalize(); - }; - - // send request - const req = send(options); - let reqTimeout; - - if (signal) { - signal.addEventListener('abort', abortAndFinalize); - } - - function finalize() { - req.abort(); - if (signal) signal.removeEventListener('abort', abortAndFinalize); - clearTimeout(reqTimeout); - } - - if (request.timeout) { - req.once('socket', function (socket) { - reqTimeout = setTimeout(function () { - reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); - finalize(); - }, request.timeout); - }); - } - - req.on('error', function (err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); - - if (response && response.body) { - destroyStream(response.body, err); - } - - finalize(); - }); - - fixResponseChunkedTransferBadEnding(req, function (err) { - if (signal && signal.aborted) { - return; - } - - if (response && response.body) { - destroyStream(response.body, err); - } - }); - - /* c8 ignore next 18 */ - if (parseInt(process.version.substring(1)) < 14) { - // Before Node.js 14, pipeline() does not fully support async iterators and does not always - // properly handle when the socket close/end events are out of order. - req.on('socket', function (s) { - s.addListener('close', function (hadError) { - // if a data listener is still present we didn't end cleanly - const hasDataListener = s.listenerCount('data') > 0; - - // if end happened before close but the socket didn't emit an error, do it now - if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { - const err = new Error('Premature close'); - err.code = 'ERR_STREAM_PREMATURE_CLOSE'; - response.body.emit('error', err); - } - }); - }); - } - - req.on('response', function (res) { - clearTimeout(reqTimeout); - - const headers = createHeadersLenient(res.headers); - - // HTTP fetch step 5 - if (fetch.isRedirect(res.statusCode)) { - // HTTP fetch step 5.2 - const location = headers.get('Location'); + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } - // HTTP fetch step 5.3 - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); - } catch (err) { - // error here can only be invalid URL in Location: header - // do not throw when options.redirect == manual - // let the user extract the errorneous redirect URL - if (request.redirect !== 'manual') { - reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); - finalize(); - return; + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); } + pairs.push(Array.from(pair)); } - // HTTP fetch step 5.5 - switch (request.redirect) { - case 'error': - reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); - finalize(); - return; - case 'manual': - // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. - if (locationURL !== null) { - // handle corrupted header - try { - headers.set('Location', locationURL); - } catch (err) { - // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request - reject(err); - } - } - break; - case 'follow': - // HTTP-redirect fetch step 2 - if (locationURL === null) { - break; - } - - // HTTP-redirect fetch step 5 - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); - finalize(); - return; - } + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } - // HTTP-redirect fetch step 6 (counter increment) - // Create a new Request object. - const requestOpts = { - headers: new Headers(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size - }; + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } - if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { - for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { - requestOpts.headers.delete(name); - } - } + return this[MAP][key].join(', '); + } - // HTTP-redirect fetch step 9 - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { - reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); - finalize(); - return; - } + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - // HTTP-redirect fetch step 11 - if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { - requestOpts.method = 'GET'; - requestOpts.body = undefined; - requestOpts.headers.delete('content-length'); - } + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; - // HTTP-redirect fetch step 15 - resolve(fetch(new Request(locationURL, requestOpts))); - finalize(); - return; - } - } + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } - // prepare response - res.once('end', function () { - if (signal) signal.removeEventListener('abort', abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } - const response_options = { - url: request.url, - status: res.statusCode, - statusText: res.statusMessage, - headers: headers, - size: request.size, - timeout: request.timeout, - counter: request.counter - }; + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } - // HTTP-network fetch step 12.1.1.3 - const codings = headers.get('Content-Encoding'); + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } - // HTTP-network fetch step 12.1.1.4: handle content codings + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } - // in following scenarios we ignore compression support - // 1. compression support is disabled - // 2. HEAD request - // 3. no Content-Encoding header - // 4. no content response (204) - // 5. content not modified response (304) - if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response(body, response_options); - resolve(response); - return; - } + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } - // For Node v6+ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } - // for gzip - if (codings == 'gzip' || codings == 'x-gzip') { - body = body.pipe(zlib.createGunzip(zlibOptions)); - response = new Response(body, response_options); - resolve(response); - return; - } + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } - // for deflate - if (codings == 'deflate' || codings == 'x-deflate') { - // handle the infamous raw deflate response from old servers - // a hack for old IIS and Apache servers - const raw = res.pipe(new PassThrough$1()); - raw.once('data', function (chunk) { - // see http://stackoverflow.com/questions/37519828 - if ((chunk[0] & 0x0F) === 0x08) { - body = body.pipe(zlib.createInflate()); - } else { - body = body.pipe(zlib.createInflateRaw()); - } - response = new Response(body, response_options); - resolve(response); - }); - raw.on('end', function () { - // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. - if (!response) { - response = new Response(body, response_options); - resolve(response); - } - }); - return; - } + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - // for br - if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { - body = body.pipe(zlib.createBrotliDecompress()); - response = new Response(body, response_options); - resolve(response); - return; - } +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); - // otherwise, use response as-is - response = new Response(body, response_options); - resolve(response); - }); +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); - writeToStream(req, request); +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; }); } -function fixResponseChunkedTransferBadEnding(request, errorCallback) { - let socket; - request.on('socket', function (s) { - socket = s; - }); +const INTERNAL = Symbol('internal'); - request.on('response', function (response) { - const headers = response.headers; +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} - if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { - response.once('close', function (hadError) { - // if a data listener is still present we didn't end cleanly - const hasDataListener = socket.listenerCount('data') > 0; +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } - if (hasDataListener && !hadError) { - const err = new Error('Premature close'); - err.code = 'ERR_STREAM_PREMATURE_CLOSE'; - errorCallback(err); - } - }); + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; } - }); -} -function destroyStream(stream, err) { - if (stream.destroy) { - stream.destroy(err); - } else { - // node < 8 - stream.emit('error', err); - stream.end(); + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; } + + return obj; } /** - * Redirect code matching + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. * - * @param Number code Status code - * @return Boolean + * @param Object obj Object of headers + * @return Headers */ -fetch.isRedirect = function (code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; -}; +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} -// expose Promise -fetch.Promise = global.Promise; +const INTERNALS$1 = Symbol('Response internals'); -module.exports = exports = fetch; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports["default"] = exports; -exports.Headers = Headers; -exports.Request = Request; -exports.Response = Response; -exports.FetchError = FetchError; +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; -/***/ }), + Body.call(this, body, opts); -/***/ 1223: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + const status = opts.status || 200; + const headers = new Headers(opts.headers); -var wrappy = __nccwpck_require__(2940) -module.exports = wrappy(once) -module.exports.strict = wrappy(onceStrict) + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } -once.proto = once(function () { - Object.defineProperty(Function.prototype, 'once', { - value: function () { - return once(this) - }, - configurable: true - }) + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } - Object.defineProperty(Function.prototype, 'onceStrict', { - value: function () { - return onceStrict(this) - }, - configurable: true - }) -}) + get url() { + return this[INTERNALS$1].url || ''; + } -function once (fn) { - var f = function () { - if (f.called) return f.value - f.called = true - return f.value = fn.apply(this, arguments) - } - f.called = false - return f -} + get status() { + return this[INTERNALS$1].status; + } -function onceStrict (fn) { - var f = function () { - if (f.called) - throw new Error(f.onceError) - f.called = true - return f.value = fn.apply(this, arguments) - } - var name = fn.name || 'Function wrapped with `once`' - f.onceError = name + " shouldn't be called more than once" - f.called = false - return f -} + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + get redirected() { + return this[INTERNALS$1].counter > 0; + } -/***/ }), + get statusText() { + return this[INTERNALS$1].statusText; + } -/***/ 2043: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + get headers() { + return this[INTERNALS$1].headers; + } -;(function (sax) { // wrapper for non-node envs - sax.parser = function (strict, opt) { return new SAXParser(strict, opt) } - sax.SAXParser = SAXParser - sax.SAXStream = SAXStream - sax.createStream = createStream - - // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns. - // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)), - // since that's the earliest that a buffer overrun could occur. This way, checks are - // as rare as required, but as often as necessary to ensure never crossing this bound. - // Furthermore, buffers are only tested at most once per write(), so passing a very - // large string into write() might have undesirable effects, but this is manageable by - // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme - // edge case, result in creating at most one complete copy of the string passed in. - // Set to Infinity to have unlimited buffers. - sax.MAX_BUFFER_LENGTH = 64 * 1024 - - var buffers = [ - 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype', - 'procInstName', 'procInstBody', 'entity', 'attribName', - 'attribValue', 'cdata', 'script' - ] - - sax.EVENTS = [ - 'text', - 'processinginstruction', - 'sgmldeclaration', - 'doctype', - 'comment', - 'opentagstart', - 'attribute', - 'opentag', - 'closetag', - 'opencdata', - 'cdata', - 'closecdata', - 'error', - 'end', - 'ready', - 'script', - 'opennamespace', - 'closenamespace' - ] - - function SAXParser (strict, opt) { - if (!(this instanceof SAXParser)) { - return new SAXParser(strict, opt) - } - - var parser = this - clearBuffers(parser) - parser.q = parser.c = '' - parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH - parser.opt = opt || {} - parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags - parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase' - parser.tags = [] - parser.closed = parser.closedRoot = parser.sawRoot = false - parser.tag = parser.error = null - parser.strict = !!strict - parser.noscript = !!(strict || parser.opt.noscript) - parser.state = S.BEGIN - parser.strictEntities = parser.opt.strictEntities - parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES) - parser.attribList = [] - - // namespaces form a prototype chain. - // it always points at the current tag, - // which protos to its parent tag. - if (parser.opt.xmlns) { - parser.ns = Object.create(rootNS) - } - - // mostly just for error reporting - parser.trackPosition = parser.opt.position !== false - if (parser.trackPosition) { - parser.position = parser.line = parser.column = 0 - } - emit(parser, 'onready') - } + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} - if (!Object.create) { - Object.create = function (o) { - function F () {} - F.prototype = o - var newf = new F() - return newf - } - } +Body.mixIn(Response.prototype); - if (!Object.keys) { - Object.keys = function (o) { - var a = [] - for (var i in o) if (o.hasOwnProperty(i)) a.push(i) - return a - } - } +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); - function checkBufferLength (parser) { - var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10) - var maxActual = 0 - for (var i = 0, l = buffers.length; i < l; i++) { - var len = parser[buffers[i]].length - if (len > maxAllowed) { - // Text/cdata nodes can get big, and since they're buffered, - // we can get here under normal conditions. - // Avoid issues by emitting the text node now, - // so at least it won't get any bigger. - switch (buffers[i]) { - case 'textNode': - closeText(parser) - break +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); - case 'cdata': - emitNode(parser, 'oncdata', parser.cdata) - parser.cdata = '' - break +const INTERNALS$2 = Symbol('Request internals'); +const URL = Url.URL || whatwgUrl.URL; - case 'script': - emitNode(parser, 'onscript', parser.script) - parser.script = '' - break +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; - default: - error(parser, 'Max buffer length exceeded: ' + buffers[i]) - } - } - maxActual = Math.max(maxActual, len) - } - // schedule the next check for the earliest possible buffer overrun. - var m = sax.MAX_BUFFER_LENGTH - maxActual - parser.bufferCheckPosition = m + parser.position - } +/** + * Wrapper around `new URL` to handle arbitrary URLs + * + * @param {string} urlStr + * @return {void} + */ +function parseURL(urlStr) { + /* + Check whether the URL is absolute or not + Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 + Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 + */ + if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { + urlStr = new URL(urlStr).toString(); + } - function clearBuffers (parser) { - for (var i = 0, l = buffers.length; i < l; i++) { - parser[buffers[i]] = '' - } - } + // Fallback to old implementation for arbitrary URLs + return parse_url(urlStr); +} - function flushBuffers (parser) { - closeText(parser) - if (parser.cdata !== '') { - emitNode(parser, 'oncdata', parser.cdata) - parser.cdata = '' - } - if (parser.script !== '') { - emitNode(parser, 'onscript', parser.script) - parser.script = '' - } - } +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; - SAXParser.prototype = { - end: function () { end(this) }, - write: write, - resume: function () { this.error = null; return this }, - close: function () { return this.write(null) }, - flush: function () { flushBuffers(this) } - } +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} - var Stream - try { - Stream = (__nccwpck_require__(2781).Stream) - } catch (ex) { - Stream = function () {} - } +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} - var streamWraps = sax.EVENTS.filter(function (ev) { - return ev !== 'error' && ev !== 'end' - }) +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - function createStream (strict, opt) { - return new SAXStream(strict, opt) - } + let parsedURL; - function SAXStream (strict, opt) { - if (!(this instanceof SAXStream)) { - return new SAXStream(strict, opt) - } + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parseURL(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parseURL(`${input}`); + } + input = {}; + } else { + parsedURL = parseURL(input.url); + } - Stream.apply(this) + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); - this._parser = new SAXParser(strict, opt) - this.writable = true - this.readable = true + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } - var me = this + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; - this._parser.onend = function () { - me.emit('end') - } + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); - this._parser.onerror = function (er) { - me.emit('error', er) + const headers = new Headers(init.headers || input.headers || {}); - // if didn't throw, then means error was handled. - // go ahead and clear error, so we can write again. - me._parser.error = null - } + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } - this._decoder = null + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; - streamWraps.forEach(function (ev) { - Object.defineProperty(me, 'on' + ev, { - get: function () { - return me._parser['on' + ev] - }, - set: function (h) { - if (!h) { - me.removeAllListeners(ev) - me._parser['on' + ev] = h - return h - } - me.on(ev, h) - }, - enumerable: true, - configurable: false - }) - }) - } + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } - SAXStream.prototype = Object.create(Stream.prototype, { - constructor: { - value: SAXStream - } - }) + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; - SAXStream.prototype.write = function (data) { - if (typeof Buffer === 'function' && - typeof Buffer.isBuffer === 'function' && - Buffer.isBuffer(data)) { - if (!this._decoder) { - var SD = (__nccwpck_require__(1576).StringDecoder) - this._decoder = new SD('utf8') - } - data = this._decoder.write(data) - } + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } - this._parser.write(data.toString()) - this.emit('data', data) - return true - } + get method() { + return this[INTERNALS$2].method; + } - SAXStream.prototype.end = function (chunk) { - if (chunk && chunk.length) { - this.write(chunk) - } - this._parser.end() - return true - } + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } - SAXStream.prototype.on = function (ev, handler) { - var me = this - if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) { - me._parser['on' + ev] = function () { - var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments) - args.splice(0, 0, ev) - me.emit.apply(me, args) - } - } + get headers() { + return this[INTERNALS$2].headers; + } - return Stream.prototype.on.call(me, ev, handler) - } + get redirect() { + return this[INTERNALS$2].redirect; + } - // this really needs to be replaced with character classes. - // XML allows all manner of ridiculous numbers and digits. - var CDATA = '[CDATA[' - var DOCTYPE = 'DOCTYPE' - var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace' - var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/' - var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE } - - // http://www.w3.org/TR/REC-xml/#NT-NameStartChar - // This implementation works on strings, a single character at a time - // as such, it cannot ever support astral-plane characters (10000-EFFFF) - // without a significant breaking change to either this parser, or the - // JavaScript language. Implementation of an emoji-capable xml parser - // is left as an exercise for the reader. - var nameStart = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/ - - var nameBody = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/ - - var entityStart = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/ - var entityBody = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/ - - function isWhitespace (c) { - return c === ' ' || c === '\n' || c === '\r' || c === '\t' - } + get signal() { + return this[INTERNALS$2].signal; + } - function isQuote (c) { - return c === '"' || c === '\'' - } + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} - function isAttribEnd (c) { - return c === '>' || isWhitespace(c) - } +Body.mixIn(Request.prototype); - function isMatch (regex, c) { - return regex.test(c) - } +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); - function notMatch (regex, c) { - return !isMatch(regex, c) - } +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); - var S = 0 - sax.STATE = { - BEGIN: S++, // leading byte order mark or whitespace - BEGIN_WHITESPACE: S++, // leading whitespace - TEXT: S++, // general stuff - TEXT_ENTITY: S++, // & and such. - OPEN_WAKA: S++, // < - SGML_DECL: S++, // - SCRIPT: S++, //